diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml new file mode 100644 index 0000000000..ac9170348d --- /dev/null +++ b/.github/workflows/pr.yml @@ -0,0 +1,19 @@ +name: PR + +on: + pull_request: + types: [opened, edited, synchronize] + +jobs: + check-title: + runs-on: ubuntu-latest + steps: + - name: Check PR Title Prefix + id: title-check + uses: actions/github-script@v7 + with: + script: | + const titlePrefixes = ["feat", "fix", "breaking", "chore"]; + const title = context.payload.pull_request.title.toLowerCase(); + const titleHasValidPrefix = titlePrefixes.some((prefix) => title.startsWith(`${prefix}:`)); + if (!titleHasValidPrefix) { process.exit(-1); } diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index f6f7666034..269112457d 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -1,5 +1,8 @@ name: Publish on: + # Note that the main branch will be used regardless of the branch chosen + # in the web interface. + workflow_dispatch: schedule: - cron: '0 0 * * *' jobs: @@ -7,19 +10,19 @@ jobs: name: Packages if: github.repository == 'AssemblyScript/assemblyscript' runs-on: ubuntu-latest + permissions: + id-token: write + contents: write steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v6 with: ref: main fetch-depth: 0 - - uses: dcodeIO/setup-node-nvm@master + - uses: actions/setup-node@v6 with: node-version: current - name: Install dependencies - run: | # npm>=7 is currently broken: https://github.com/npm/cli/issues/1973 - npm -g install npm@6 - npm -v - npm ci + run: npm ci - name: Build packages run: | VERSION=$(npx aspublish --version) @@ -46,7 +49,6 @@ jobs: - name: Publish packages env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - NPM_TOKEN: ${{ secrets.NPM_TOKEN }} run: | node ./scripts/prepublish if [ $(node -pe "require('./package.json').version") != "0.0.0" ]; then diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 057e4b69d0..b170c52285 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -6,14 +6,17 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v6 + - uses: actions/stale@v9 with: stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed in one week if no further activity occurs. Thank you for your contributions!' stale-issue-label: 'stale' + stale-pr-message: 'This PR has been automatically marked as stale because it has not had recent activity. It will be closed in one week if no further activity occurs. Thank you for your contributions!' + close-pr-message: 'This PR has been automatically closed due to lack of recent activity, but feel free to reopen it as long as you merge in the main branch afterwards.' exempt-issue-labels: 'bug,enhancement,compatibility' + exempt-pr-labels: 'breaking change' + exempt-draft-pr: true exempt-all-milestones: true exempt-all-assignees: true - days-before-stale: 30 + days-before-issue-stale: 30 + days-before-pr-stale: 60 days-before-close: 7 - days-before-pr-stale: -1 - days-before-pr-close: -1 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 5e46805377..550ee0d7ab 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -9,7 +9,7 @@ jobs: name: "Check" runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: "Check that distribution files are unmodified" if: github.event_name == 'pull_request' run: | @@ -27,10 +27,10 @@ jobs: strategy: matrix: os: ["ubuntu", "macos", "windows"] - node_version: ["current", "lts_latest"] + node_version: ["current", "lts/*"] steps: - - uses: actions/checkout@v3 - - uses: dcodeIO/setup-node-nvm@master + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: ${{ matrix.node_version }} - name: Install dependencies @@ -49,8 +49,8 @@ jobs: matrix: target: ["debug", "release"] steps: - - uses: actions/checkout@v3 - - uses: dcodeIO/setup-node-nvm@master + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: current - name: Install dependencies @@ -70,11 +70,8 @@ jobs: runs-on: ubuntu-latest needs: check steps: - - uses: actions/checkout@v3 - - uses: dcodeIO/setup-node-nvm@master - with: - node-mirror: https://nodejs.org/download/v8-canary/ - node-version: 19.0.0-v8-canary202209029fc5a9347b + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 - name: Install dependencies run: npm ci --no-audit - name: Build @@ -83,14 +80,14 @@ jobs: env: ASC_FEATURES: threads,reference-types,gc,exception-handling run: | - npm run test:compiler features/threads features/reference-types features/gc features/exception-handling + npm run test:compiler features/threads features/reference-types features/gc features/exception-handling bindings/esm bindings/raw runtimes: name: "Runtimes" runs-on: ubuntu-latest needs: check steps: - - uses: actions/checkout@v3 - - uses: dcodeIO/setup-node-nvm@master + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: current - name: Install dependencies @@ -114,8 +111,8 @@ jobs: runs-on: ubuntu-latest needs: check steps: - - uses: actions/checkout@v3 - - uses: dcodeIO/setup-node-nvm@master + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 with: node-version: current - name: Install dependencies @@ -127,3 +124,20 @@ jobs: cd lib/loader npm run asbuild npm run test + coverage: + name: "Coverage" + runs-on: ubuntu-latest + needs: check + steps: + - uses: actions/checkout@v4 + - uses: actions/setup-node@v4 + with: + node-version: 24 + - name: Install dependencies + run: npm ci --no-audit + - name: Build + run: npm run build + - name: Collect coverage + run: npx c8 -r none -- npm test + - name: Output coverage summary + run: npx c8 report -r text-summary diff --git a/.gitignore b/.gitignore index 3166d113d2..79bb9e71d8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ node_modules/ *debug.log -dist/ build/ raw/ .history @@ -10,3 +9,10 @@ raw/ cli/index.generated.js src/diagnosticMessages.generated.ts coverage/ + +dist/*.generated.d.ts +dist/*.map +dist/asc.js +dist/assemblyscript.js +dist/importmap.json +dist/web.js diff --git a/NOTICE b/NOTICE index a9ddc72e21..14d821345c 100644 --- a/NOTICE +++ b/NOTICE @@ -55,6 +55,13 @@ under the licensing terms detailed in LICENSE: * CountBleck * Abdul Rauf * Bach Le +* Xinquan Xu +* Matt Johnson-Pint +* Fabián Heredia Montiel +* Jonas Minnberg +* Kam Chehresa +* Mopsgamer <79159094+Mopsgamer@users.noreply.github.com> +* EDM115 Portions of this software are derived from third-party works licensed under the following terms: diff --git a/bin/asinit.js b/bin/asinit.js old mode 100644 new mode 100755 index 5023e5c09a..cb52aad48c --- a/bin/asinit.js +++ b/bin/asinit.js @@ -55,11 +55,20 @@ const asinitOptions = { ], "type": "b", "alias": "y" - } + }, + "noColors": { + "description": "Disables terminal colors.", + "type": "b", + "default": false + }, }; const cliOptions = optionsUtil.parse(process.argv.slice(2), asinitOptions); +if (cliOptions.options.noColors) { + stdoutColors.enabled = false; +} + if (cliOptions.options.help || cliOptions.arguments.length === 0) printHelp(); function printHelp() { @@ -91,7 +100,7 @@ if (/^(\.\.[/\\])*node_modules[/\\]assemblyscript[/\\]/.test(tsconfigBase)) { } const entryFile = path.join(assemblyDir, "index.ts"); const buildDir = path.join(projectDir, "build"); -const testsDir = path.join(projectDir, "tests"); +const testsDir = path.join(projectDir, "test"); const gitignoreFile = path.join(buildDir, ".gitignore"); const packageFile = path.join(projectDir, "package.json"); @@ -106,12 +115,23 @@ const paths = [ [gitignoreFile, "Git configuration that excludes compiled binaries from source control."], [asconfigFile, "Configuration file defining both a 'debug' and a 'release' target."], [packageFile, "Package info containing the necessary commands to compile to WebAssembly."], - [testsIndexFile, "Stater test to check that the module is functioning."], + [testsIndexFile, "Starter test to check that the module is functioning."], [indexHtmlFile, "Starter HTML file that loads the module in a browser."] ]; const formatPath = filePath => "./" + path.relative(projectDir, filePath).replace(/\\/g, "/"); +if (fs.existsSync(packageFile)) { + const pkg = JSON.parse(fs.readFileSync(packageFile)); + if ("type" in pkg && pkg["type"] !== "module") { + console.error(stdoutColors.red([ + `Error: The "type" field in ${formatPath(packageFile)} is set to "${pkg["type"]}".`, + ` asinit requires the "type" field to be set to "module" (ES modules).` + ].join("\n"))); + process.exit(1); + } +} + console.log([ "Version: " + version, "", @@ -338,7 +358,7 @@ function ensurePackageJson() { "asbuild:debug": buildDebug, "asbuild:release": buildRelease, "asbuild": buildAll, - "test": "node tests", + "test": "node --test", "start": "npx serve ." }, "devDependencies": { @@ -370,7 +390,7 @@ function ensurePackageJson() { updated = true; } if (!scripts["test"] || scripts["test"] == npmDefaultTest) { - scripts["test"] = "node tests"; + scripts["test"] = "node --test"; pkg["scripts"] = scripts; updated = true; } @@ -396,7 +416,7 @@ function ensurePackageJson() { } function ensureTestsDirectory() { - console.log("- Making sure that the 'tests' directory exists..."); + console.log("- Making sure that the 'test' directory exists..."); if (!fs.existsSync(testsDir)) { fs.mkdirSync(testsDir); console.log(stdoutColors.green(" Created: ") + testsDir); @@ -407,13 +427,16 @@ function ensureTestsDirectory() { } function ensureTestsIndexJs() { - console.log("- Making sure that 'tests/index.js' exists..."); + console.log("- Making sure that 'test/index.js' exists..."); if (!fs.existsSync(testsIndexFile)) { fs.writeFileSync(testsIndexFile, [ - "import assert from \"assert\";", + "import assert from \"node:assert/strict\";", + "import { it } from \"node:test\";", "import { add } from \"../build/debug.js\";", - "assert.strictEqual(add(1, 2), 3);", - "console.log(\"ok\");" + "", + "it(\"add\", () => {", + " assert.equal(add(1, 2), 3);", + "});" ].join("\n") + "\n"); console.log(stdoutColors.green(" Created: ") + testsIndexFile); } else { diff --git a/cli/index.d.ts b/cli/index.d.ts index c2666db31f..58c7fb4ef6 100644 --- a/cli/index.d.ts +++ b/cli/index.d.ts @@ -165,7 +165,7 @@ export interface APIOptions { /** Reads a file from disk (or memory). */ readFile?: (filename: string, baseDir: string) => (string | null) | Promise; /** Writes a file to disk (or memory). */ - writeFile?: (filename: string, contents: Uint8Array, baseDir: string) => void | Promise; + writeFile?: (filename: string, contents: Uint8Array | string, baseDir: string) => void | Promise; /** Lists all files within a directory. */ listFiles?: (dirname: string, baseDir: string) => (string[] | null) | Promise; /** Handler for diagnostic messages. */ @@ -240,7 +240,8 @@ export function createMemoryStream(fn?: (chunk: Uint8Array | string) => void): M /** Compatible TypeScript compiler options for syntax highlighting etc. */ export const tscOptions: Record; -import { Program, Parser, Module } from "../src"; +import binaryen from "../lib/binaryen"; +import { Program, Parser } from "../src"; /** Compiler transform base class. */ export abstract class Transform { @@ -248,6 +249,9 @@ export abstract class Transform { /** Program reference. */ readonly program: Program; + /** Binaryen reference. */ + readonly binaryen: typeof binaryen; + /** Base directory. */ readonly baseDir: string; @@ -276,5 +280,5 @@ export abstract class Transform { afterInitialize?(program: Program): void | Promise; /** Called when compilation is complete, before the module is being validated. */ - afterCompile?(module: Module): void | Promise; + afterCompile?(module: binaryen.Module): void | Promise; } diff --git a/cli/index.js b/cli/index.js index 5d92e648e8..d6808957f4 100644 --- a/cli/index.js +++ b/cli/index.js @@ -372,7 +372,7 @@ export async function main(argv, options) { let name = features[i].trim(); let flag = assemblyscript[`FEATURE_${toUpperSnakeCase(name)}`]; if (!flag) return prepareResult(Error(`Feature '${name}' is unknown.`)); - assemblyscript.disableFeature(compilerOptions, flag); + assemblyscript.setFeature(compilerOptions, flag, false); } } @@ -383,7 +383,7 @@ export async function main(argv, options) { let name = features[i].trim(); let flag = assemblyscript[`FEATURE_${toUpperSnakeCase(name)}`]; if (!flag) return prepareResult(Error(`Feature '${name}' is unknown.`)); - assemblyscript.enableFeature(compilerOptions, flag); + assemblyscript.setFeature(compilerOptions, flag, true); } } @@ -450,6 +450,7 @@ export async function main(argv, options) { if (typeof transform === "function") { Object.assign(transform.prototype, { program, + binaryen, baseDir, stdout, stderr, @@ -597,7 +598,7 @@ export async function main(argv, options) { return { sourceText, sourcePath }; } - // Gets all pending imported files from the the backlog + // Gets all pending imported files from the backlog function getBacklog(paths = []) { do { let internalPath = assemblyscript.nextFile(program); @@ -944,9 +945,10 @@ export async function main(argv, options) { try { // use superset text format when extension is `.wast`. // Otherwise use official stack IR format (wat). + binaryen.setOptimizeStackIR(true); out = opts.textFile?.endsWith(".wast") ? binaryenModule.emitText() - : binaryenModule.emitStackIR(true); + : binaryenModule.emitStackIR(); } catch (e) { crash("emitText", e); } diff --git a/cli/options.json b/cli/options.json index 6590a92138..f6776dbe26 100644 --- a/cli/options.json +++ b/cli/options.json @@ -221,6 +221,7 @@ " reference-types Reference types and operations.", " gc Garbage collection (WIP).", " stringref String reference types.", + " relaxed-simd Relaxed SIMD operations.", "" ], "TODO_doesNothingYet": [ @@ -228,7 +229,6 @@ " tail-calls Tail call operations.", " multi-value Multi value types.", " memory64 Memory64 operations.", - " relaxed-simd Relaxed SIMD operations.", " extended-const Extended const expressions." ], "type": "S", diff --git a/dist/asc.d.ts b/dist/asc.d.ts new file mode 100644 index 0000000000..17fcb31434 --- /dev/null +++ b/dist/asc.d.ts @@ -0,0 +1,4 @@ +/// +export * from "types:assemblyscript/cli/index"; +import * as asc from "types:assemblyscript/cli/index"; +export default asc; diff --git a/dist/assemblyscript.d.ts b/dist/assemblyscript.d.ts new file mode 100644 index 0000000000..2b2e4a4403 --- /dev/null +++ b/dist/assemblyscript.d.ts @@ -0,0 +1,4 @@ +/// +export * from "types:assemblyscript/src/index"; +import * as assemblyscript from "types:assemblyscript/src/index"; +export default assemblyscript; diff --git a/dist/transform.cjs b/dist/transform.cjs new file mode 100644 index 0000000000..a245e852c8 --- /dev/null +++ b/dist/transform.cjs @@ -0,0 +1 @@ +module.exports = class Transform { /* stub */ }; diff --git a/dist/transform.d.ts b/dist/transform.d.ts new file mode 100644 index 0000000000..14efe05e8f --- /dev/null +++ b/dist/transform.d.ts @@ -0,0 +1 @@ +export { Transform } from "./asc"; diff --git a/dist/transform.js b/dist/transform.js new file mode 100644 index 0000000000..f6c0877686 --- /dev/null +++ b/dist/transform.js @@ -0,0 +1 @@ +export class Transform { /* stub */ }; diff --git a/lib/loader/package-lock.json b/lib/loader/package-lock.json index 5e7995069d..a6d2d6962f 100644 --- a/lib/loader/package-lock.json +++ b/lib/loader/package-lock.json @@ -26,12 +26,13 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "dependencies": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" @@ -77,13 +78,14 @@ } }, "node_modules/@babel/generator": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "dependencies": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "engines": { @@ -91,12 +93,12 @@ } }, "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "dependencies": { - "@jridgewell/set-array": "^1.0.0", + "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.9" }, @@ -123,34 +125,34 @@ } }, "node_modules/@babel/helper-environment-visitor": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", - "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "dependencies": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" @@ -209,21 +211,30 @@ } }, "node_modules/@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "dependencies": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "engines": { "node": ">=6.9.0" @@ -253,13 +264,13 @@ } }, "node_modules/@babel/highlight": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", - "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -267,9 +278,9 @@ } }, "node_modules/@babel/parser": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.3.tgz", - "integrity": "sha512-rL50YcEuHbbauAFAysNsJA4/f89fGTOBRNs9P81sniKnKAr4xULe5AecolcsKbi88xu0ByWYDj/S1AJ3FSFuSQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true, "bin": { "parser": "bin/babel-parser.js" @@ -297,33 +308,33 @@ } }, "node_modules/@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" }, "engines": { "node": ">=6.9.0" } }, "node_modules/@babel/traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", - "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "dependencies": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.18.0", - "@babel/types": "^7.18.2", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" }, @@ -332,12 +343,13 @@ } }, "node_modules/@babel/types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.2.tgz", - "integrity": "sha512-0On6B8A4/+mFUto5WERt3EEuG1NznDirvwca1O8UwXQHVY8g3R7OzYgxXdOfMwLO08UrpUD/2+3Bclyq+/C94Q==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" }, "engines": { @@ -358,9 +370,9 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, "engines": { "node": ">=6.0.0" @@ -376,19 +388,19 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", "dev": true, "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "node_modules/ansi-styles": { @@ -631,7 +643,7 @@ "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true, "engines": { "node": ">=4" @@ -680,9 +692,9 @@ } }, "node_modules/json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, "bin": { "json5": "lib/cli.js" @@ -785,12 +797,13 @@ } }, "@babel/code-frame": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", - "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "requires": { - "@babel/highlight": "^7.16.7" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" } }, "@babel/compat-data": { @@ -823,23 +836,24 @@ } }, "@babel/generator": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", - "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.0.tgz", + "integrity": "sha512-lN85QRR+5IbYrMWM6Y4pE/noaQtg4pNiqeNGX60eqOfo6gtEj6uw/JagelB8vVztSd7R6M5n1+PQkDbHbBRU4g==", "dev": true, "requires": { - "@babel/types": "^7.18.2", - "@jridgewell/gen-mapping": "^0.3.0", + "@babel/types": "^7.23.0", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", "jsesc": "^2.5.1" }, "dependencies": { "@jridgewell/gen-mapping": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", - "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, "requires": { - "@jridgewell/set-array": "^1.0.0", + "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", "@jridgewell/trace-mapping": "^0.3.9" } @@ -859,28 +873,28 @@ } }, "@babel/helper-environment-visitor": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", - "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", + "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", "dev": true }, "@babel/helper-function-name": { - "version": "7.17.9", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", - "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", + "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", "dev": true, "requires": { - "@babel/template": "^7.16.7", - "@babel/types": "^7.17.0" + "@babel/template": "^7.22.15", + "@babel/types": "^7.23.0" } }, "@babel/helper-hoist-variables": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", - "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", + "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" } }, "@babel/helper-module-imports": { @@ -924,18 +938,24 @@ } }, "@babel/helper-split-export-declaration": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", - "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "version": "7.22.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", + "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", "dev": true, "requires": { - "@babel/types": "^7.16.7" + "@babel/types": "^7.22.5" } }, + "@babel/helper-string-parser": { + "version": "7.22.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.22.5.tgz", + "integrity": "sha512-mM4COjgZox8U+JcXQwPijIZLElkgEpO5rsERVDJTc2qfCDfERyob6k5WegS14SX18IIjv+XD+GrqNumY5JRCDw==", + "dev": true + }, "@babel/helper-validator-identifier": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", - "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true }, "@babel/helper-validator-option": { @@ -956,20 +976,20 @@ } }, "@babel/highlight": { - "version": "7.17.12", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", - "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" } }, "@babel/parser": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.3.tgz", - "integrity": "sha512-rL50YcEuHbbauAFAysNsJA4/f89fGTOBRNs9P81sniKnKAr4xULe5AecolcsKbi88xu0ByWYDj/S1AJ3FSFuSQ==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.0.tgz", + "integrity": "sha512-vvPKKdMemU85V9WE/l5wZEmImpCtLqbnTvqDS2U1fJ96KrxoW7KrXhNsNCblQlg8Ck4b85yxdTyelsMUgFUXiw==", "dev": true }, "@babel/plugin-transform-modules-commonjs": { @@ -985,41 +1005,42 @@ } }, "@babel/template": { - "version": "7.16.7", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", - "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "version": "7.22.15", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz", + "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/parser": "^7.16.7", - "@babel/types": "^7.16.7" + "@babel/code-frame": "^7.22.13", + "@babel/parser": "^7.22.15", + "@babel/types": "^7.22.15" } }, "@babel/traverse": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", - "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", + "version": "7.23.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.2.tgz", + "integrity": "sha512-azpe59SQ48qG6nu2CzcMLbxUudtN+dOM9kDbUqGq3HXUJRlo7i8fvPoxQUzYgLZ4cMVmuZgm8vvBpNeRhd6XSw==", "dev": true, "requires": { - "@babel/code-frame": "^7.16.7", - "@babel/generator": "^7.18.2", - "@babel/helper-environment-visitor": "^7.18.2", - "@babel/helper-function-name": "^7.17.9", - "@babel/helper-hoist-variables": "^7.16.7", - "@babel/helper-split-export-declaration": "^7.16.7", - "@babel/parser": "^7.18.0", - "@babel/types": "^7.18.2", + "@babel/code-frame": "^7.22.13", + "@babel/generator": "^7.23.0", + "@babel/helper-environment-visitor": "^7.22.20", + "@babel/helper-function-name": "^7.23.0", + "@babel/helper-hoist-variables": "^7.22.5", + "@babel/helper-split-export-declaration": "^7.22.6", + "@babel/parser": "^7.23.0", + "@babel/types": "^7.23.0", "debug": "^4.1.0", "globals": "^11.1.0" } }, "@babel/types": { - "version": "7.18.2", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.2.tgz", - "integrity": "sha512-0On6B8A4/+mFUto5WERt3EEuG1NznDirvwca1O8UwXQHVY8g3R7OzYgxXdOfMwLO08UrpUD/2+3Bclyq+/C94Q==", + "version": "7.23.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.0.tgz", + "integrity": "sha512-0oIyUfKoI3mSqMvsxBdclDwxXKXAUA8v/apZbc+iSyARYou1o8ZGDxbUYyLFoW2arqS2jDGqJuZvv1d/io1axg==", "dev": true, "requires": { - "@babel/helper-validator-identifier": "^7.16.7", + "@babel/helper-string-parser": "^7.22.5", + "@babel/helper-validator-identifier": "^7.22.20", "to-fast-properties": "^2.0.0" } }, @@ -1034,9 +1055,9 @@ } }, "@jridgewell/resolve-uri": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true }, "@jridgewell/set-array": { @@ -1046,19 +1067,19 @@ "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.13", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", "dev": true }, "@jridgewell/trace-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", - "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", "dev": true, "requires": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, "ansi-styles": { @@ -1231,7 +1252,7 @@ "has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", "dev": true }, "has-property-descriptors": { @@ -1262,9 +1283,9 @@ "dev": true }, "json5": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", - "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true }, "ms": { diff --git a/lib/rtrace/tlsfvis.html b/lib/rtrace/tlsfvis.html index ab3f6548a6..16c022b270 100644 --- a/lib/rtrace/tlsfvis.html +++ b/lib/rtrace/tlsfvis.html @@ -169,8 +169,8 @@

TLSF visualizer

-

- Notes: +

+

Notes:

  • It is expected that there is exactly one block on initialization. This is the remaining space (< 64K) within the last page after static data.
  • It is expected that if two adjacent blocks of size K are freed, the merged block doesn't go into the first level list for K*2 because its size is actually larger than that (K + OVERHEAD + K).
  • @@ -178,7 +178,7 @@

    TLSF visualizer

  • It is expected that after other operations have already been performed, being able to allocate 1GB can't be guaranteed anymore, even if there should be enough space left in absolute terms, if prior subdivision prevents it.
  • It is expected that the second level 0 in first level 0 isn't ever used due to alignment guarantees. Smallest block is 32 bytes (16 bytes overhead + 16 bytes payload if used, respectively linking information if free) in this implementation.
-

+

Implementation constants: ? bits alignment, ? bits first level, ? bits second level, ? B overhead

First level bitmap

@@ -229,7 +229,6 @@

Allocator

-

Segments

Allocations performed above are tracked here so you can free them again. Note that TLSF alone does not keep track of used blocks (unless free'd and put in a free list again). It is expected that adjacent free blocks become merged automatically.

diff --git a/package-lock.json b/package-lock.json index b7bed0db4a..a988bec980 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,393 +9,501 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { - "binaryen": "111.0.0-nightly.20230202", - "long": "^5.2.1" + "binaryen": "123.0.0-nightly.20250530", + "long": "^5.2.4" }, "bin": { "asc": "bin/asc.js", "asinit": "bin/asinit.js" }, "devDependencies": { - "@types/node": "^18.13.0", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", - "diff": "^5.1.0", - "esbuild": "^0.16.17", - "eslint": "^8.33.0", - "glob": "^7.2.0", - "typescript": "~4.7.4" + "@types/node": "^18.19.75", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "as-float": "^1.0.1", + "diff": "^7.0.0", + "esbuild": "^0.25.0", + "eslint": "^8.57.1", + "glob": "^10.4.5", + "typescript": "^5.7.3" }, "engines": { - "node": ">=16.0.0", - "npm": ">=7.0.0" + "node": ">=20", + "npm": ">=10" }, "funding": { "type": "opencollective", "url": "https://opencollective.com/assemblyscript" } }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz", + "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, "node_modules/@esbuild/android-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", - "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz", + "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", - "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz", + "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/android-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", - "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz", + "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "android" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", - "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz", + "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", - "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz", + "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "darwin" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", - "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz", + "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", - "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz", + "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "freebsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", - "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz", + "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==", "cpu": [ "arm" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", - "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz", + "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", - "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz", + "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", - "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz", + "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==", "cpu": [ "loong64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", - "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz", + "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==", "cpu": [ "mips64el" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", - "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz", + "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==", "cpu": [ "ppc64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", - "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz", + "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==", "cpu": [ "riscv64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", - "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz", + "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==", "cpu": [ "s390x" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/linux-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", - "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz", + "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "linux" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz", + "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", - "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz", + "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "netbsd" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz", + "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", - "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz", + "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "openbsd" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", - "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz", + "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "sunos" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", - "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz", + "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==", "cpu": [ "arm64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", - "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz", + "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==", "cpu": [ "ia32" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" } }, "node_modules/@esbuild/win32-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", - "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz", + "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==", "cpu": [ "x64" ], "dev": true, + "license": "MIT", "optional": true, "os": [ "win32" ], "engines": { - "node": ">=12" + "node": ">=18" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, "node_modules/@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, + "license": "MIT", "dependencies": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -410,14 +518,26 @@ "url": "https://opencollective.com/eslint" } }, + "node_modules/@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", + "deprecated": "Use @eslint/config-array instead", "dev": true, + "license": "Apache-2.0", "dependencies": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", "minimatch": "^3.0.5" }, "engines": { @@ -438,10 +558,59 @@ } }, "node_modules/@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", - "dev": true + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", + "deprecated": "Use @eslint/object-schema instead", + "dev": true, + "license": "BSD-3-Clause" + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", @@ -478,38 +647,53 @@ "node": ">= 8" } }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, "node_modules/@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", "dev": true }, "node_modules/@types/node": { - "version": "18.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz", - "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==", - "dev": true + "version": "18.19.75", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.75.tgz", + "integrity": "sha512-UIksWtThob6ZVSyxcOqCLOUNg/dyO1Qvx4McgeuhrEtHTLFTf7BBhEazaE4K806FGTPtzd/2sE90qn4fVr7cyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~5.26.4" + } }, "node_modules/@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz", - "integrity": "sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/type-utils": "5.51.0", - "@typescript-eslint/utils": "5.51.0", + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" }, @@ -531,14 +715,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.51.0.tgz", - "integrity": "sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" }, "engines": { @@ -558,13 +742,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz", - "integrity": "sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -575,13 +759,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz", - "integrity": "sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.51.0", - "@typescript-eslint/utils": "5.51.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -602,9 +786,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz", - "integrity": "sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -615,13 +799,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz", - "integrity": "sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -642,18 +826,18 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.51.0.tgz", - "integrity": "sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", "semver": "^7.3.7" }, "engines": { @@ -668,12 +852,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz", - "integrity": "sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.51.0", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -684,11 +868,18 @@ "url": "https://opencollective.com/typescript-eslint" } }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true, + "license": "MIT", "bin": { "acorn": "bin/acorn" }, @@ -701,6 +892,7 @@ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, + "license": "MIT", "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } @@ -710,6 +902,7 @@ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, + "license": "MIT", "dependencies": { "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", @@ -749,7 +942,8 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true + "dev": true, + "license": "Python-2.0" }, "node_modules/array-union": { "version": "2.1.0", @@ -760,6 +954,13 @@ "node": ">=8" } }, + "node_modules/as-float": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/as-float/-/as-float-1.0.1.tgz", + "integrity": "sha512-TsN1UpoFdtzuKXqqpdnGbFuMYnK/eqMEjd2xVvACG29H/v4KLx+UD+tHRz9v6zO+Ge/AR/uskSruBIPZrchhHw==", + "dev": true, + "license": "MIT" + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -767,11 +968,19 @@ "dev": true }, "node_modules/binaryen": { - "version": "111.0.0-nightly.20230202", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-111.0.0-nightly.20230202.tgz", - "integrity": "sha512-aGMDtxmc8zQHzAamyOBvO38n2e/GuXM0dZCJg+IuG2YUQODTqI37XSkAixS8c0wXn2dgLntDMk1VDblKCsy0GA==", + "version": "123.0.0-nightly.20250530", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-123.0.0-nightly.20250530.tgz", + "integrity": "sha512-d1zPHBN5YlOd3Ff+OUxvVExuFeh8heSnqe+X3bjItFxGLvn4VGBKmrvv7pgy/cRhrIUGuPW138iaWfDhwjyDqg==", + "license": "Apache-2.0", "bin": { + "wasm-as": "bin/wasm-as", + "wasm-ctor-eval": "bin/wasm-ctor-eval", + "wasm-dis": "bin/wasm-dis", + "wasm-merge": "bin/wasm-merge", + "wasm-metadce": "bin/wasm-metadce", "wasm-opt": "bin/wasm-opt", + "wasm-reduce": "bin/wasm-reduce", + "wasm-shell": "bin/wasm-shell", "wasm2js": "bin/wasm2js" } }, @@ -786,12 +995,12 @@ } }, "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "dependencies": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" }, "engines": { "node": ">=8" @@ -802,6 +1011,7 @@ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -843,14 +1053,15 @@ "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, + "license": "MIT", "dependencies": { "path-key": "^3.1.0", "shebang-command": "^2.0.0", @@ -884,10 +1095,11 @@ "dev": true }, "node_modules/diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", "dev": true, + "license": "BSD-3-Clause", "engines": { "node": ">=0.3.1" } @@ -916,41 +1128,59 @@ "node": ">=6.0.0" } }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, "node_modules/esbuild": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", - "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz", + "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==", "dev": true, "hasInstallScript": true, + "license": "MIT", "bin": { "esbuild": "bin/esbuild" }, "engines": { - "node": ">=12" + "node": ">=18" }, "optionalDependencies": { - "@esbuild/android-arm": "0.16.17", - "@esbuild/android-arm64": "0.16.17", - "@esbuild/android-x64": "0.16.17", - "@esbuild/darwin-arm64": "0.16.17", - "@esbuild/darwin-x64": "0.16.17", - "@esbuild/freebsd-arm64": "0.16.17", - "@esbuild/freebsd-x64": "0.16.17", - "@esbuild/linux-arm": "0.16.17", - "@esbuild/linux-arm64": "0.16.17", - "@esbuild/linux-ia32": "0.16.17", - "@esbuild/linux-loong64": "0.16.17", - "@esbuild/linux-mips64el": "0.16.17", - "@esbuild/linux-ppc64": "0.16.17", - "@esbuild/linux-riscv64": "0.16.17", - "@esbuild/linux-s390x": "0.16.17", - "@esbuild/linux-x64": "0.16.17", - "@esbuild/netbsd-x64": "0.16.17", - "@esbuild/openbsd-x64": "0.16.17", - "@esbuild/sunos-x64": "0.16.17", - "@esbuild/win32-arm64": "0.16.17", - "@esbuild/win32-ia32": "0.16.17", - "@esbuild/win32-x64": "0.16.17" + "@esbuild/aix-ppc64": "0.25.0", + "@esbuild/android-arm": "0.25.0", + "@esbuild/android-arm64": "0.25.0", + "@esbuild/android-x64": "0.25.0", + "@esbuild/darwin-arm64": "0.25.0", + "@esbuild/darwin-x64": "0.25.0", + "@esbuild/freebsd-arm64": "0.25.0", + "@esbuild/freebsd-x64": "0.25.0", + "@esbuild/linux-arm": "0.25.0", + "@esbuild/linux-arm64": "0.25.0", + "@esbuild/linux-ia32": "0.25.0", + "@esbuild/linux-loong64": "0.25.0", + "@esbuild/linux-mips64el": "0.25.0", + "@esbuild/linux-ppc64": "0.25.0", + "@esbuild/linux-riscv64": "0.25.0", + "@esbuild/linux-s390x": "0.25.0", + "@esbuild/linux-x64": "0.25.0", + "@esbuild/netbsd-arm64": "0.25.0", + "@esbuild/netbsd-x64": "0.25.0", + "@esbuild/openbsd-arm64": "0.25.0", + "@esbuild/openbsd-x64": "0.25.0", + "@esbuild/sunos-x64": "0.25.0", + "@esbuild/win32-arm64": "0.25.0", + "@esbuild/win32-ia32": "0.25.0", + "@esbuild/win32-x64": "0.25.0" } }, "node_modules/escape-string-regexp": { @@ -966,49 +1196,50 @@ } }, "node_modules/eslint": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", - "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", + "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, + "license": "MIT", "dependencies": { - "@eslint/eslintrc": "^1.4.1", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "bin": { @@ -1034,46 +1265,22 @@ "node": ">=8.0.0" } }, - "node_modules/eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^2.0.0" - }, - "engines": { - "node": "^10.0.0 || ^12.0.0 || >= 14.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - }, - "peerDependencies": { - "eslint": ">=5" - } - }, - "node_modules/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, "node_modules/eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "dependencies": { "esrecurse": "^4.3.0", @@ -1081,6 +1288,9 @@ }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/eslint/node_modules/estraverse": { @@ -1093,14 +1303,15 @@ } }, "node_modules/espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -1110,9 +1321,9 @@ } }, "node_modules/esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -1173,12 +1384,13 @@ "version": "3.1.3", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "dependencies": { "@nodelib/fs.stat": "^2.0.2", @@ -1207,18 +1419,19 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "node_modules/fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "dependencies": { "reusify": "^1.0.4" @@ -1237,9 +1450,9 @@ } }, "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "dependencies": { "to-regex-range": "^5.0.1" @@ -1265,45 +1478,63 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=12.0.0" } }, "node_modules/flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dev": true, + "license": "ISC", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" }, - "engines": { - "node": "*" + "bin": { + "glob": "dist/esm/bin.mjs" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1321,11 +1552,38 @@ "node": ">=10.13.0" } }, + "node_modules/glob/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/glob/node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, + "license": "MIT", "dependencies": { "type-fest": "^0.20.2" }, @@ -1356,10 +1614,10 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "node_modules/has-flag": { @@ -1372,19 +1630,20 @@ } }, "node_modules/ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, "engines": { "node": ">= 4" } }, "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, + "license": "MIT", "dependencies": { "parent-module": "^1.0.0", "resolve-from": "^4.0.0" @@ -1399,7 +1658,7 @@ "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, "engines": { "node": ">=0.8.19" @@ -1408,7 +1667,7 @@ "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "dependencies": { "once": "^1.3.0", @@ -1424,12 +1683,22 @@ "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -1463,24 +1732,31 @@ "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "node_modules/js-sdsl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", - "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/js-sdsl" + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, + "license": "MIT", "dependencies": { "argparse": "^2.0.1" }, @@ -1488,18 +1764,34 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "dev": true, + "license": "MIT" }, "node_modules/json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -1535,21 +1827,17 @@ "dev": true }, "node_modules/long": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", - "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.4.tgz", + "integrity": "sha512-qtzLbJE8hq7VabR3mISmVGtoXP8KGc2Z/AT8OuqlYD7JTR3oqrgwdjnk07wpj1twXxYmgDXgoKVWUG/fReSzHg==", + "license": "Apache-2.0" }, "node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } + "license": "ISC" }, "node_modules/merge2": { "version": "1.4.1", @@ -1561,23 +1849,25 @@ } }, "node_modules/micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, + "license": "MIT", "dependencies": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.3", + "picomatch": "^2.3.1" }, "engines": { "node": ">=8.6" } }, "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, + "license": "ISC", "dependencies": { "brace-expansion": "^1.1.7" }, @@ -1585,6 +1875,16 @@ "node": "*" } }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -1594,7 +1894,7 @@ "node_modules/natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "node_modules/natural-compare-lite": { @@ -1606,24 +1906,24 @@ "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "dependencies": { "wrappy": "1" } }, "node_modules/optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" }, "engines": { "node": ">= 0.8.0" @@ -1659,11 +1959,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, + "license": "MIT", "dependencies": { "callsites": "^3.0.0" }, @@ -1683,7 +1991,7 @@ "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, "engines": { "node": ">=0.10.0" @@ -1698,6 +2006,23 @@ "node": ">=8" } }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -1729,10 +2054,11 @@ } }, "node_modules/punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true, + "license": "MIT", "engines": { "node": ">=6" } @@ -1757,23 +2083,12 @@ } ] }, - "node_modules/regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/mysticatea" - } - }, "node_modules/resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, + "license": "MIT", "engines": { "node": ">=4" } @@ -1803,6 +2118,26 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/run-parallel": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", @@ -1827,9 +2162,9 @@ } }, "node_modules/semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "dependencies": { "lru-cache": "^6.0.0" @@ -1841,6 +2176,18 @@ "node": ">=10" } }, + "node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/shebang-command": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", @@ -1862,6 +2209,18 @@ "node": ">=8" } }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", @@ -1871,6 +2230,76 @@ "node": ">=8" } }, + "node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/string-width/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, "node_modules/strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -1883,11 +2312,26 @@ "node": ">=8" } }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, + "license": "MIT", "engines": { "node": ">=8" }, @@ -1910,7 +2354,7 @@ "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "node_modules/to-regex-range": { @@ -1963,6 +2407,7 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, + "license": "(MIT OR CC0-1.0)", "engines": { "node": ">=10" }, @@ -1971,23 +2416,31 @@ } }, "node_modules/typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", "dev": true, + "license": "Apache-2.0", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" }, "engines": { - "node": ">=4.2.0" + "node": ">=14.17" } }, + "node_modules/undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "dev": true + }, "node_modules/uri-js": { "version": "4.4.1", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", "dev": true, + "license": "BSD-2-Clause", "dependencies": { "punycode": "^2.1.0" } @@ -2007,19 +2460,111 @@ "node": ">= 8" } }, - "node_modules/word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, "engines": { - "node": ">=0.10.0" + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "node_modules/yallist": { @@ -2042,169 +2587,211 @@ } }, "dependencies": { + "@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true + }, + "@esbuild/aix-ppc64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.0.tgz", + "integrity": "sha512-O7vun9Sf8DFjH2UtqK8Ku3LkquL9SZL8OLY1T5NZkA34+wG3OQF7cl4Ql8vdNzM6fzBbYfLaiRLIOZ+2FOCgBQ==", + "dev": true, + "optional": true + }, "@esbuild/android-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", - "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.0.tgz", + "integrity": "sha512-PTyWCYYiU0+1eJKmw21lWtC+d08JDZPQ5g+kFyxP0V+es6VPPSUhM6zk8iImp2jbV6GwjX4pap0JFbUQN65X1g==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", - "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.0.tgz", + "integrity": "sha512-grvv8WncGjDSyUBjN9yHXNt+cq0snxXbDxy5pJtzMKGmmpPxeAmAhWxXI+01lU5rwZomDgD3kJwulEnhTRUd6g==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", - "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.0.tgz", + "integrity": "sha512-m/ix7SfKG5buCnxasr52+LI78SQ+wgdENi9CqyCXwjVR2X4Jkz+BpC3le3AoBPYTC9NHklwngVXvbJ9/Akhrfg==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", - "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.0.tgz", + "integrity": "sha512-mVwdUb5SRkPayVadIOI78K7aAnPamoeFR2bT5nszFUZ9P8UpK4ratOdYbZZXYSqPKMHfS1wdHCJk1P1EZpRdvw==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", - "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.0.tgz", + "integrity": "sha512-DgDaYsPWFTS4S3nWpFcMn/33ZZwAAeAFKNHNa1QN0rI4pUjgqf0f7ONmXf6d22tqTY+H9FNdgeaAa+YIFUn2Rg==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", - "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.0.tgz", + "integrity": "sha512-VN4ocxy6dxefN1MepBx/iD1dH5K8qNtNe227I0mnTRjry8tj5MRk4zprLEdG8WPyAPb93/e4pSgi1SoHdgOa4w==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", - "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.0.tgz", + "integrity": "sha512-mrSgt7lCh07FY+hDD1TxiTyIHyttn6vnjesnPoVDNmDfOmggTLXRv8Id5fNZey1gl/V2dyVK1VXXqVsQIiAk+A==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", - "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.0.tgz", + "integrity": "sha512-vkB3IYj2IDo3g9xX7HqhPYxVkNQe8qTK55fraQyTzTX/fxaDtXiEnavv9geOsonh2Fd2RMB+i5cbhu2zMNWJwg==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", - "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.0.tgz", + "integrity": "sha512-9QAQjTWNDM/Vk2bgBl17yWuZxZNQIF0OUUuPZRKoDtqF2k4EtYbpyiG5/Dk7nqeK6kIJWPYldkOcBqjXjrUlmg==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", - "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.0.tgz", + "integrity": "sha512-43ET5bHbphBegyeqLb7I1eYn2P/JYGNmzzdidq/w0T8E2SsYL1U6un2NFROFRg1JZLTzdCoRomg8Rvf9M6W6Gg==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", - "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.0.tgz", + "integrity": "sha512-fC95c/xyNFueMhClxJmeRIj2yrSMdDfmqJnyOY4ZqsALkDrrKJfIg5NTMSzVBr5YW1jf+l7/cndBfP3MSDpoHw==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", - "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.0.tgz", + "integrity": "sha512-nkAMFju7KDW73T1DdH7glcyIptm95a7Le8irTQNO/qtkoyypZAnjchQgooFUDQhNAy4iu08N79W4T4pMBwhPwQ==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", - "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.0.tgz", + "integrity": "sha512-NhyOejdhRGS8Iwv+KKR2zTq2PpysF9XqY+Zk77vQHqNbo/PwZCzB5/h7VGuREZm1fixhs4Q/qWRSi5zmAiO4Fw==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", - "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.0.tgz", + "integrity": "sha512-5S/rbP5OY+GHLC5qXp1y/Mx//e92L1YDqkiBbO9TQOvuFXM+iDqUNG5XopAnXoRH3FjIUDkeGcY1cgNvnXp/kA==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", - "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.0.tgz", + "integrity": "sha512-XM2BFsEBz0Fw37V0zU4CXfcfuACMrppsMFKdYY2WuTS3yi8O1nFOhil/xhKTmE1nPmVyvQJjJivgDT+xh8pXJA==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", - "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.0.tgz", + "integrity": "sha512-9yl91rHw/cpwMCNytUDxwj2XjFpxML0y9HAOH9pNVQDpQrBxHy01Dx+vaMu0N1CKa/RzBD2hB4u//nfc+Sd3Cw==", + "dev": true, + "optional": true + }, + "@esbuild/netbsd-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.0.tgz", + "integrity": "sha512-RuG4PSMPFfrkH6UwCAqBzauBWTygTvb1nxWasEJooGSJ/NwRw7b2HOwyRTQIU97Hq37l3npXoZGYMy3b3xYvPw==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", - "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.0.tgz", + "integrity": "sha512-jl+qisSB5jk01N5f7sPCsBENCOlPiS/xptD5yxOx2oqQfyourJwIKLRA2yqWdifj3owQZCL2sn6o08dBzZGQzA==", + "dev": true, + "optional": true + }, + "@esbuild/openbsd-arm64": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.0.tgz", + "integrity": "sha512-21sUNbq2r84YE+SJDfaQRvdgznTD8Xc0oc3p3iW/a1EVWeNj/SdUCbm5U0itZPQYRuRTW20fPMWMpcrciH2EJw==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", - "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.0.tgz", + "integrity": "sha512-2gwwriSMPcCFRlPlKx3zLQhfN/2WjJ2NSlg5TKLQOJdV0mSxIcYNTMhk3H3ulL/cak+Xj0lY1Ym9ysDV1igceg==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", - "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.0.tgz", + "integrity": "sha512-bxI7ThgLzPrPz484/S9jLlvUAHYMzy6I0XiU1ZMeAEOBcS0VePBFxh1JjTQt3Xiat5b6Oh4x7UC7IwKQKIJRIg==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", - "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.0.tgz", + "integrity": "sha512-ZUAc2YK6JW89xTbXvftxdnYy3m4iHIkDtK3CLce8wg8M2L+YZhIvO1DKpxrd0Yr59AeNNkTiic9YLf6FTtXWMw==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", - "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.0.tgz", + "integrity": "sha512-eSNxISBu8XweVEWG31/JzjkIGbGIJN/TrRoiSVZwZ6pkC6VX4Im/WV2cz559/TXLcYbcrDN8JtKgd9DJVIo8GA==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", - "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.0.tgz", + "integrity": "sha512-ZENoHJBxA20C2zFzh6AI4fT6RraMzjYw4xKWemRTRmRVtN9c5DcH9r/f2ihEkMjOW5eGgrwCslG/+Y/3bL+DHQ==", "dev": true, "optional": true }, + "@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "requires": { + "eslint-visitor-keys": "^3.3.0" + } + }, + "@eslint-community/regexpp": { + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.0.tgz", + "integrity": "sha512-Cu96Sd2By9mCNTx2iyKOmq10v22jUVQv0lQnlGNy16oE9589yE+QADPbrMGCkA51cKZSg3Pu/aTJVTGfL/qjUA==", + "dev": true + }, "@eslint/eslintrc": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.4.1.tgz", - "integrity": "sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==", + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.4.tgz", + "integrity": "sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==", "dev": true, "requires": { "ajv": "^6.12.4", "debug": "^4.3.2", - "espree": "^9.4.0", + "espree": "^9.6.0", "globals": "^13.19.0", "ignore": "^5.2.0", "import-fresh": "^3.2.1", @@ -2213,14 +2800,20 @@ "strip-json-comments": "^3.1.1" } }, + "@eslint/js": { + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.1.tgz", + "integrity": "sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==", + "dev": true + }, "@humanwhocodes/config-array": { - "version": "0.11.8", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", - "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.13.0.tgz", + "integrity": "sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==", "dev": true, "requires": { - "@humanwhocodes/object-schema": "^1.2.1", - "debug": "^4.1.1", + "@humanwhocodes/object-schema": "^2.0.3", + "debug": "^4.3.1", "minimatch": "^3.0.5" } }, @@ -2231,11 +2824,42 @@ "dev": true }, "@humanwhocodes/object-schema": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", - "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-2.0.3.tgz", + "integrity": "sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==", "dev": true }, + "@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "requires": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "dependencies": { + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, "@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -2262,90 +2886,100 @@ "fastq": "^1.6.0" } }, + "@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true + }, "@types/json-schema": { - "version": "7.0.11", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", - "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "version": "7.0.14", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.14.tgz", + "integrity": "sha512-U3PUjAudAdJBeC2pgN8uTIKgxrb4nlDF3SF0++EldXQvQBGkpFZMSnwQiIoDU77tv45VgNkl/L4ouD+rEomujw==", "dev": true }, "@types/node": { - "version": "18.13.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-18.13.0.tgz", - "integrity": "sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==", - "dev": true + "version": "18.19.75", + "resolved": "https://registry.npmjs.org/@types/node/-/node-18.19.75.tgz", + "integrity": "sha512-UIksWtThob6ZVSyxcOqCLOUNg/dyO1Qvx4McgeuhrEtHTLFTf7BBhEazaE4K806FGTPtzd/2sE90qn4fVr7cyw==", + "dev": true, + "requires": { + "undici-types": "~5.26.4" + } }, "@types/semver": { - "version": "7.3.13", - "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.3.13.tgz", - "integrity": "sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-MMzuxN3GdFwskAnb6fz0orFvhfqi752yjaXylr0Rp4oDg5H0Zn1IuyRhDVvYOwAXoJirx2xuS16I3WjxnAIHiQ==", "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.51.0.tgz", - "integrity": "sha512-wcAwhEWm1RgNd7dxD/o+nnLW8oH+6RK1OGnmbmkj/GGoDPV1WWMVP0FXYQBivKHdwM1pwii3bt//RC62EriIUQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.62.0.tgz", + "integrity": "sha512-TiZzBSJja/LbhNPvk6yc0JrX9XqhQ0hdh6M2svYfsHGejaKFIAGd9MQ+ERIMzLGlN/kZoYIgdxFV0PuljTKXag==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/type-utils": "5.51.0", - "@typescript-eslint/utils": "5.51.0", + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/type-utils": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", - "regexpp": "^3.2.0", "semver": "^7.3.7", "tsutils": "^3.21.0" } }, "@typescript-eslint/parser": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.51.0.tgz", - "integrity": "sha512-fEV0R9gGmfpDeRzJXn+fGQKcl0inIeYobmmUWijZh9zA7bxJ8clPhV9up2ZQzATxAiFAECqPQyMDB4o4B81AaA==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.62.0.tgz", + "integrity": "sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.51.0.tgz", - "integrity": "sha512-gNpxRdlx5qw3yaHA0SFuTjW4rxeYhpHxt491PEcKF8Z6zpq0kMhe0Tolxt0qjlojS+/wArSDlj/LtE69xUJphQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz", + "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==", "dev": true, "requires": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0" + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0" } }, "@typescript-eslint/type-utils": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.51.0.tgz", - "integrity": "sha512-QHC5KKyfV8sNSyHqfNa0UbTbJ6caB8uhcx2hYcWVvJAZYJRBo5HyyZfzMdRx8nvS+GyMg56fugMzzWnojREuQQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.62.0.tgz", + "integrity": "sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.51.0", - "@typescript-eslint/utils": "5.51.0", + "@typescript-eslint/typescript-estree": "5.62.0", + "@typescript-eslint/utils": "5.62.0", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.51.0.tgz", - "integrity": "sha512-SqOn0ANn/v6hFn0kjvLwiDi4AzR++CBZz0NV5AnusT2/3y32jdc0G4woXPWHCumWtUXZKPAS27/9vziSsC9jnw==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz", + "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.51.0.tgz", - "integrity": "sha512-TSkNupHvNRkoH9FMA3w7TazVFcBPveAAmb7Sz+kArY6sLT86PA5Vx80cKlYmd8m3Ha2SwofM1KwraF24lM9FvA==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz", + "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/visitor-keys": "5.51.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/visitor-keys": "5.62.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2354,35 +2988,41 @@ } }, "@typescript-eslint/utils": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.51.0.tgz", - "integrity": "sha512-76qs+5KWcaatmwtwsDJvBk4H76RJQBFe+Gext0EfJdC3Vd2kpY2Pf//OHHzHp84Ciw0/rYoGTDnIAr3uWhhJYw==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz", + "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==", "dev": true, "requires": { + "@eslint-community/eslint-utils": "^4.2.0", "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.51.0", - "@typescript-eslint/types": "5.51.0", - "@typescript-eslint/typescript-estree": "5.51.0", + "@typescript-eslint/scope-manager": "5.62.0", + "@typescript-eslint/types": "5.62.0", + "@typescript-eslint/typescript-estree": "5.62.0", "eslint-scope": "^5.1.1", - "eslint-utils": "^3.0.0", "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.51.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.51.0.tgz", - "integrity": "sha512-Oh2+eTdjHjOFjKA27sxESlA87YPSOJafGCR0md5oeMdh1ZcCfAGCIOL216uTBAkAIptvLIfKQhl7lHxMJet4GQ==", + "version": "5.62.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz", + "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==", "dev": true, "requires": { - "@typescript-eslint/types": "5.51.0", + "@typescript-eslint/types": "5.62.0", "eslint-visitor-keys": "^3.3.0" } }, + "@ungap/structured-clone": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.0.tgz", + "integrity": "sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==", + "dev": true + }, "acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "version": "8.14.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.0.tgz", + "integrity": "sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==", "dev": true }, "acorn-jsx": { @@ -2431,6 +3071,12 @@ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", "dev": true }, + "as-float": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/as-float/-/as-float-1.0.1.tgz", + "integrity": "sha512-TsN1UpoFdtzuKXqqpdnGbFuMYnK/eqMEjd2xVvACG29H/v4KLx+UD+tHRz9v6zO+Ge/AR/uskSruBIPZrchhHw==", + "dev": true + }, "balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", @@ -2438,9 +3084,9 @@ "dev": true }, "binaryen": { - "version": "111.0.0-nightly.20230202", - "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-111.0.0-nightly.20230202.tgz", - "integrity": "sha512-aGMDtxmc8zQHzAamyOBvO38n2e/GuXM0dZCJg+IuG2YUQODTqI37XSkAixS8c0wXn2dgLntDMk1VDblKCsy0GA==" + "version": "123.0.0-nightly.20250530", + "resolved": "https://registry.npmjs.org/binaryen/-/binaryen-123.0.0-nightly.20250530.tgz", + "integrity": "sha512-d1zPHBN5YlOd3Ff+OUxvVExuFeh8heSnqe+X3bjItFxGLvn4VGBKmrvv7pgy/cRhrIUGuPW138iaWfDhwjyDqg==" }, "brace-expansion": { "version": "1.1.11", @@ -2453,12 +3099,12 @@ } }, "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, "requires": { - "fill-range": "^7.0.1" + "fill-range": "^7.1.1" } }, "callsites": { @@ -2495,13 +3141,13 @@ "concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, "cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "requires": { "path-key": "^3.1.0", @@ -2525,9 +3171,9 @@ "dev": true }, "diff": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", - "integrity": "sha512-D+mk+qE8VC/PAUrlAU34N+VfXev0ghe5ywmpqrawphmVZc1bEfn56uo9qpyGp1p4xpzOHkSW4ztBd6L7Xx4ACw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", "dev": true }, "dir-glob": { @@ -2548,34 +3194,49 @@ "esutils": "^2.0.2" } }, + "eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, "esbuild": { - "version": "0.16.17", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", - "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", - "dev": true, - "requires": { - "@esbuild/android-arm": "0.16.17", - "@esbuild/android-arm64": "0.16.17", - "@esbuild/android-x64": "0.16.17", - "@esbuild/darwin-arm64": "0.16.17", - "@esbuild/darwin-x64": "0.16.17", - "@esbuild/freebsd-arm64": "0.16.17", - "@esbuild/freebsd-x64": "0.16.17", - "@esbuild/linux-arm": "0.16.17", - "@esbuild/linux-arm64": "0.16.17", - "@esbuild/linux-ia32": "0.16.17", - "@esbuild/linux-loong64": "0.16.17", - "@esbuild/linux-mips64el": "0.16.17", - "@esbuild/linux-ppc64": "0.16.17", - "@esbuild/linux-riscv64": "0.16.17", - "@esbuild/linux-s390x": "0.16.17", - "@esbuild/linux-x64": "0.16.17", - "@esbuild/netbsd-x64": "0.16.17", - "@esbuild/openbsd-x64": "0.16.17", - "@esbuild/sunos-x64": "0.16.17", - "@esbuild/win32-arm64": "0.16.17", - "@esbuild/win32-ia32": "0.16.17", - "@esbuild/win32-x64": "0.16.17" + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.0.tgz", + "integrity": "sha512-BXq5mqc8ltbaN34cDqWuYKyNhX8D/Z0J1xdtdQ8UcIIIyJyz+ZMKUt58tF3SrZ85jcfN/PZYhjR5uDQAYNVbuw==", + "dev": true, + "requires": { + "@esbuild/aix-ppc64": "0.25.0", + "@esbuild/android-arm": "0.25.0", + "@esbuild/android-arm64": "0.25.0", + "@esbuild/android-x64": "0.25.0", + "@esbuild/darwin-arm64": "0.25.0", + "@esbuild/darwin-x64": "0.25.0", + "@esbuild/freebsd-arm64": "0.25.0", + "@esbuild/freebsd-x64": "0.25.0", + "@esbuild/linux-arm": "0.25.0", + "@esbuild/linux-arm64": "0.25.0", + "@esbuild/linux-ia32": "0.25.0", + "@esbuild/linux-loong64": "0.25.0", + "@esbuild/linux-mips64el": "0.25.0", + "@esbuild/linux-ppc64": "0.25.0", + "@esbuild/linux-riscv64": "0.25.0", + "@esbuild/linux-s390x": "0.25.0", + "@esbuild/linux-x64": "0.25.0", + "@esbuild/netbsd-arm64": "0.25.0", + "@esbuild/netbsd-x64": "0.25.0", + "@esbuild/openbsd-arm64": "0.25.0", + "@esbuild/openbsd-x64": "0.25.0", + "@esbuild/sunos-x64": "0.25.0", + "@esbuild/win32-arm64": "0.25.0", + "@esbuild/win32-ia32": "0.25.0", + "@esbuild/win32-x64": "0.25.0" } }, "escape-string-regexp": { @@ -2585,56 +3246,55 @@ "dev": true }, "eslint": { - "version": "8.33.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.33.0.tgz", - "integrity": "sha512-WjOpFQgKK8VrCnAtl8We0SUOy/oVZ5NHykyMiagV1M9r8IFpIJX7DduK6n1mpfhlG7T1NLWm2SuD8QB7KFySaA==", + "version": "8.57.1", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.1.tgz", + "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "dev": true, "requires": { - "@eslint/eslintrc": "^1.4.1", - "@humanwhocodes/config-array": "^0.11.8", + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.4", + "@eslint/js": "8.57.1", + "@humanwhocodes/config-array": "^0.13.0", "@humanwhocodes/module-importer": "^1.0.1", "@nodelib/fs.walk": "^1.2.8", - "ajv": "^6.10.0", + "@ungap/structured-clone": "^1.2.0", + "ajv": "^6.12.4", "chalk": "^4.0.0", "cross-spawn": "^7.0.2", "debug": "^4.3.2", "doctrine": "^3.0.0", "escape-string-regexp": "^4.0.0", - "eslint-scope": "^7.1.1", - "eslint-utils": "^3.0.0", - "eslint-visitor-keys": "^3.3.0", - "espree": "^9.4.0", - "esquery": "^1.4.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^6.0.1", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "globals": "^13.19.0", - "grapheme-splitter": "^1.0.4", + "graphemer": "^1.4.0", "ignore": "^5.2.0", - "import-fresh": "^3.0.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "is-path-inside": "^3.0.3", - "js-sdsl": "^4.1.4", "js-yaml": "^4.1.0", "json-stable-stringify-without-jsonify": "^1.0.1", "levn": "^0.4.1", "lodash.merge": "^4.6.2", "minimatch": "^3.1.2", "natural-compare": "^1.4.0", - "optionator": "^0.9.1", - "regexpp": "^3.2.0", + "optionator": "^0.9.3", "strip-ansi": "^6.0.1", - "strip-json-comments": "^3.1.0", "text-table": "^0.2.0" }, "dependencies": { "eslint-scope": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz", - "integrity": "sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==", + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, "requires": { "esrecurse": "^4.3.0", @@ -2659,44 +3319,27 @@ "estraverse": "^4.1.1" } }, - "eslint-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz", - "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==", - "dev": true, - "requires": { - "eslint-visitor-keys": "^2.0.0" - }, - "dependencies": { - "eslint-visitor-keys": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", - "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", - "dev": true - } - } - }, "eslint-visitor-keys": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz", - "integrity": "sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true }, "espree": { - "version": "9.4.1", - "resolved": "https://registry.npmjs.org/espree/-/espree-9.4.1.tgz", - "integrity": "sha512-XwctdmTO6SIvCzd9810yyNzIrOrqNYV9Koizx4C/mRhf9uq0o4yHoCEU/670pOxOL/MSraektvSAji79kX90Vg==", + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, "requires": { - "acorn": "^8.8.0", + "acorn": "^8.9.0", "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^3.3.0" + "eslint-visitor-keys": "^3.4.1" } }, "esquery": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz", - "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -2746,9 +3389,9 @@ "dev": true }, "fast-glob": { - "version": "3.2.11", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", - "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, "requires": { "@nodelib/fs.stat": "^2.0.2", @@ -2778,13 +3421,13 @@ "fast-levenshtein": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true }, "fastq": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", - "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, "requires": { "reusify": "^1.0.4" @@ -2800,9 +3443,9 @@ } }, "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, "requires": { "to-regex-range": "^5.0.1" @@ -2819,39 +3462,70 @@ } }, "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, "requires": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" } }, "flatted": { - "version": "3.2.5", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz", - "integrity": "sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, + "foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + } + }, "fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", "dev": true }, "glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", "dev": true, "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "dependencies": { + "brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0" + } + }, + "minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.2" + } + } } }, "glob-parent": { @@ -2864,9 +3538,9 @@ } }, "globals": { - "version": "13.20.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", - "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", "dev": true, "requires": { "type-fest": "^0.20.2" @@ -2886,10 +3560,10 @@ "slash": "^3.0.0" } }, - "grapheme-splitter": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", - "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", "dev": true }, "has-flag": { @@ -2899,15 +3573,15 @@ "dev": true }, "ignore": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", - "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true }, "import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", + "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", "dev": true, "requires": { "parent-module": "^1.0.0", @@ -2917,13 +3591,13 @@ "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true }, "inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", "dev": true, "requires": { "once": "^1.3.0", @@ -2939,7 +3613,13 @@ "is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true }, "is-glob": { @@ -2966,24 +3646,34 @@ "isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true }, - "js-sdsl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.3.0.tgz", - "integrity": "sha512-mifzlm2+5nZ+lEcLJMoBK0/IH/bDg8XnJfd/Wq6IP+xoCjLZsTOnV2QpxlVbX9bMnkl5PdEjNtBJ9Cj1NjifhQ==", - "dev": true + "jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "requires": { + "@isaacs/cliui": "^8.0.2", + "@pkgjs/parseargs": "^0.11.0" + } }, "js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", "dev": true, "requires": { "argparse": "^2.0.1" } }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", @@ -2993,9 +3683,18 @@ "json-stable-stringify-without-jsonify": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, "levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -3022,18 +3721,15 @@ "dev": true }, "long": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/long/-/long-5.2.1.tgz", - "integrity": "sha512-GKSNGeNAtw8IryjjkhZxuKB3JzlcLTwjtiQCHKvqQet81I93kXslhDQruGI/QsddO83mcDToBVy7GqGS/zYf/A==" + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/long/-/long-5.2.4.tgz", + "integrity": "sha512-qtzLbJE8hq7VabR3mISmVGtoXP8KGc2Z/AT8OuqlYD7JTR3oqrgwdjnk07wpj1twXxYmgDXgoKVWUG/fReSzHg==" }, "lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "requires": { - "yallist": "^4.0.0" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, "merge2": { "version": "1.4.1", @@ -3042,24 +3738,30 @@ "dev": true }, "micromatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz", - "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==", + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, "requires": { - "braces": "^3.0.1", - "picomatch": "^2.2.3" + "braces": "^3.0.3", + "picomatch": "^2.3.1" } }, "minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", "dev": true, "requires": { "brace-expansion": "^1.1.7" } }, + "minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true + }, "ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", @@ -3069,7 +3771,7 @@ "natural-compare": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", "dev": true }, "natural-compare-lite": { @@ -3081,24 +3783,24 @@ "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, "requires": { "wrappy": "1" } }, "optionator": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", - "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", "dev": true, "requires": { + "@aashutoshrathi/word-wrap": "^1.2.3", "deep-is": "^0.1.3", "fast-levenshtein": "^2.0.6", "levn": "^0.4.1", "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.3" + "type-check": "^0.4.0" } }, "p-limit": { @@ -3119,6 +3821,12 @@ "p-limit": "^3.0.2" } }, + "package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true + }, "parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", @@ -3137,7 +3845,7 @@ "path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true }, "path-key": { @@ -3146,6 +3854,16 @@ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", "dev": true }, + "path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "requires": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + } + }, "path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", @@ -3165,9 +3883,9 @@ "dev": true }, "punycode": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", - "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", "dev": true }, "queue-microtask": { @@ -3176,12 +3894,6 @@ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", "dev": true }, - "regexpp": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz", - "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==", - "dev": true - }, "resolve-from": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", @@ -3201,6 +3913,22 @@ "dev": true, "requires": { "glob": "^7.1.3" + }, + "dependencies": { + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + } } }, "run-parallel": { @@ -3213,12 +3941,23 @@ } }, "semver": { - "version": "7.3.8", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", - "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", + "version": "7.5.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz", + "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==", "dev": true, "requires": { "lru-cache": "^6.0.0" + }, + "dependencies": { + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + } } }, "shebang-command": { @@ -3236,12 +3975,65 @@ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true }, + "signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true + }, "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true }, + "string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "requires": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "string-width-cjs": { + "version": "npm:string-width@4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + } + } + }, "strip-ansi": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", @@ -3251,6 +4043,15 @@ "ansi-regex": "^5.0.1" } }, + "strip-ansi-cjs": { + "version": "npm:strip-ansi@6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -3269,7 +4070,7 @@ "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", - "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", "dev": true }, "to-regex-range": { @@ -3312,9 +4113,15 @@ "dev": true }, "typescript": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.4.tgz", - "integrity": "sha512-C0WQT0gezHuw6AdY1M2jxUO83Rjf0HP7Sk1DtXj6j1EwkQNZrHAg2XPWlq62oqEhYvONq5pkC2Y9oPljWToLmQ==", + "version": "5.7.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.3.tgz", + "integrity": "sha512-84MVSjMEHP+FQRPy3pX9sTVV/INIex71s9TL2Gm5FG/WG1SqXeKyZ0k7/blY/4FdOzI12CBy1vGc4og/eus0fw==", + "dev": true + }, + "undici-types": { + "version": "5.26.5", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", + "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", "dev": true }, "uri-js": { @@ -3335,16 +4142,74 @@ "isexe": "^2.0.0" } }, - "word-wrap": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", - "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", - "dev": true + "wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "requires": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "dependencies": { + "ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "dev": true + }, + "ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true + }, + "strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "requires": { + "ansi-regex": "^6.0.1" + } + } + } + }, + "wrap-ansi-cjs": { + "version": "npm:wrap-ansi@7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + } + } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", "dev": true }, "yallist": { diff --git a/package.json b/package.json index c8c9fa43bf..627dc00210 100644 --- a/package.json +++ b/package.json @@ -20,23 +20,24 @@ "url": "https://github.com/AssemblyScript/assemblyscript/issues" }, "engines": { - "node": ">=16", - "npm": ">=7" + "node": ">=20", + "npm": ">=10" }, "engineStrict": true, "dependencies": { - "binaryen": "111.0.0-nightly.20230202", - "long": "^5.2.1" + "binaryen": "123.0.0-nightly.20250530", + "long": "^5.2.4" }, "devDependencies": { - "@types/node": "^18.13.0", - "@typescript-eslint/eslint-plugin": "^5.51.0", - "@typescript-eslint/parser": "^5.51.0", - "diff": "^5.1.0", - "esbuild": "^0.16.17", - "eslint": "^8.33.0", - "glob": "^7.2.0", - "typescript": "~4.7.4" + "@types/node": "^18.19.75", + "@typescript-eslint/eslint-plugin": "^5.62.0", + "@typescript-eslint/parser": "^5.62.0", + "as-float": "^1.0.1", + "diff": "^7.0.0", + "esbuild": "^0.25.0", + "eslint": "^8.57.1", + "glob": "^10.4.5", + "typescript": "^5.7.3" }, "type": "module", "exports": { @@ -50,8 +51,8 @@ }, "./transform": { "import": "./dist/transform.js", - "require": "./dist/transform.cjs", - "types": "./dist/transform.d.ts" + "types": "./dist/transform.d.ts", + "require": "./dist/transform.cjs" }, "./binaryen": { "import": "./lib/binaryen.js", @@ -72,12 +73,12 @@ "scripts": { "check": "npm run check:config && npm run check:import && npm run lint", "check:config": "tsc --noEmit -p src --diagnostics --listFiles", - "check:import": "tsc --noEmit --target ESNEXT --module es6 --experimentalDecorators tests/import/index", + "check:import": "tsc --noEmit --target ESNEXT --module nodenext --moduleResolution nodenext --experimentalDecorators tests/import/index", "lint": "eslint --max-warnings 0 --ext js . && eslint --max-warnings 0 --ext ts .", "build": "node scripts/build", "watch": "node scripts/build --watch", "coverage": "npx c8 -- npm test", - "test": "npm run test:parser && npm run test:compiler -- --parallel && npm run test:browser && npm run test:asconfig && npm run test:transform", + "test": "npm run test:parser && npm run test:compiler -- --parallel && npm run test:browser && npm run test:asconfig && npm run test:transform && npm run test:cli", "test:parser": "node --enable-source-maps tests/parser", "test:compiler": "node --enable-source-maps --no-warnings tests/compiler", "test:browser": "node --enable-source-maps tests/browser", @@ -85,6 +86,7 @@ "test:transform": "npm run test:transform:esm && npm run test:transform:cjs", "test:transform:esm": "node bin/asc tests/compiler/empty --transform ./tests/transform/index.js --noEmit && node bin/asc tests/compiler/empty --transform ./tests/transform/simple.js --noEmit", "test:transform:cjs": "node bin/asc tests/compiler/empty --transform ./tests/transform/cjs/index.js --noEmit && node bin/asc tests/compiler/empty --transform ./tests/transform/cjs/simple.js --noEmit", + "test:cli": "node tests/cli/options.js", "asbuild": "npm run asbuild:debug && npm run asbuild:release", "asbuild:debug": "node bin/asc --config src/asconfig.json --target debug", "asbuild:release": "node bin/asc --config src/asconfig.json --target release", diff --git a/scripts/build-dts.js b/scripts/build-dts.js index 00438bc4ab..0493075824 100644 --- a/scripts/build-dts.js +++ b/scripts/build-dts.js @@ -1,32 +1,19 @@ import fs from "fs"; -import glob from "glob"; -import os from "os"; +import { globSync } from "glob"; import pathUtil from "path"; import ts from "typescript"; -import stream from "stream"; -import util from "util"; import { fileURLToPath } from 'url'; +import { debuglog } from "util"; const __dirname = pathUtil.dirname(fileURLToPath(import.meta.url)); +const debug = debuglog("dts"); // © 2015-2019 SitePen, Inc. New BSD License. // see: https://github.com/SitePen/dts-generator -const generate = (function() { +const generate = (() => { // declare some constants so we don't have magic integers without explanation - const DTSLEN = '.d.ts'.length; - const filenameToMid = (function () { - if (pathUtil.sep === '/') { - return function (filename) { - return filename; - }; - } - else { - const separatorExpression = new RegExp(pathUtil.sep.replace('\\', '\\\\'), 'g'); - return function (filename) { - return filename.replace(separatorExpression, '/'); - }; - } - })(); + const DTS = ".d.ts"; + const DTSLEN = DTS.length; /** * A helper function that takes TypeScript diagnostic errors and returns an error @@ -34,8 +21,8 @@ const generate = (function() { * @param diagnostics The array of TypeScript Diagnostic objects */ function getError(diagnostics) { - let message = 'Declaration generation failed'; - diagnostics.forEach(function (diagnostic) { + let message = "Declaration generation failed"; + for (const diagnostic of diagnostics) { // not all errors have an associated file: in particular, problems with a // the tsconfig.json don't; the messageText is enough to diagnose in those // cases. @@ -44,26 +31,27 @@ const generate = (function() { message += `\n${diagnostic.file.fileName}(${position.line + 1},${position.character + 1}): ` + `error TS${diagnostic.code}: ${diagnostic.messageText}`; - } - else { + } else { message += `\nerror TS${diagnostic.code}: ${diagnostic.messageText}`; } - }); + } + const error = new Error(message); - error.name = 'EmitterError'; + error.name = "EmitterError"; return error; } + function getFilenames(baseDir, files) { return files.map(function (filename) { const resolvedFilename = pathUtil.resolve(filename); - if (resolvedFilename.indexOf(baseDir) === 0) { - return resolvedFilename; - } - return pathUtil.resolve(baseDir, filename); + return resolvedFilename.indexOf(baseDir) === 0 + ? resolvedFilename + : pathUtil.resolve(baseDir, filename); }); } + function processTree(sourceFile, replacer) { - let code = ''; + let code = ""; let cursorPosition = 0; function skip(node) { cursorPosition = node.end; @@ -78,8 +66,7 @@ const generate = (function() { if (replacement != null) { code += replacement; skip(node); - } - else { + } else { ts.forEachChild(node, visit); } } @@ -87,6 +74,7 @@ const generate = (function() { code += sourceFile.text.slice(cursorPosition); return code; } + /** * Load and parse a TSConfig File * @param options The dts-generator options to load config into @@ -95,7 +83,7 @@ const generate = (function() { function getTSConfig(fileName) { // TODO this needs a better design than merging stuff into options. // the trouble is what to do when no tsconfig is specified... - const configText = fs.readFileSync(fileName, { encoding: 'utf8' }); + const configText = fs.readFileSync(fileName, { encoding: "utf8" }); const result = ts.parseConfigFileTextToJson(fileName, configText); if (result.error) { throw getError([result.error]); @@ -110,144 +98,95 @@ const generate = (function() { configParseResult.options ]; } - function isNodeKindImportDeclaration(value) { - return value && value.kind === ts.SyntaxKind.ImportDeclaration; - } - function isNodeKindExternalModuleReference(value) { - return value && value.kind === ts.SyntaxKind.ExternalModuleReference; - } - function isNodeKindStringLiteral(value) { - return value && value.kind === ts.SyntaxKind.StringLiteral; - } - function isNodeKindExportDeclaration(value) { - return value && value.kind === ts.SyntaxKind.ExportDeclaration; - } - function isNodeKindExportAssignment(value) { - return value && value.kind === ts.SyntaxKind.ExportAssignment; - } - function isNodeKindModuleDeclaration(value) { - return value && value.kind === ts.SyntaxKind.ModuleDeclaration; - } + + const isNodeKind = kind => value => value?.kind === kind; + const isNodeKindImportDeclaration = isNodeKind(ts.SyntaxKind.ImportDeclaration); + const isNodeKindStringLiteral = isNodeKind(ts.SyntaxKind.StringLiteral); + const isNodeKindExportDeclaration = isNodeKind(ts.SyntaxKind.ExportDeclaration); + const isNodeKindModuleDeclaration = isNodeKind(ts.SyntaxKind.ModuleDeclaration); + function generate(options) { - if (Boolean(options.main) !== Boolean(options.name)) { - if (options.name) { - // since options.name used to do double duty as the prefix, let's be - // considerate and point out that name should be replaced with prefix. - // TODO update this error message when we finalize which version this change - // will be released in. - throw new Error(`name and main must be used together. Perhaps you want prefix instead of - name? In dts-generator version 2.1, name did double duty as the option to - use to prefix module names with, but in >=2.2 the name option was split - into two; prefix is what is now used to prefix imports and module names - in the output.`); - } - else { - throw new Error('name and main must be used together.'); - } - } - const noop = function () { /* nop */ }; - const sendMessage = options.sendMessage || noop; - const verboseMessage = options.verbose ? sendMessage : noop; let compilerOptions = {}; let files = options.files; /* following tsc behaviour, if a project is specified, or if no files are specified then * attempt to load tsconfig.json */ if (options.project || !options.files || options.files.length === 0) { - verboseMessage(`project = "${options.project || options.baseDir}"`); + debug(`project = "${options.project || options.baseDir}"`); // if project isn't specified, use baseDir. If it is and it's a directory, // assume we want tsconfig.json in that directory. If it is a file, though // use that as our tsconfig.json. This allows for projects that have more // than one tsconfig.json file. let tsconfigFilename; - if (options.project) { - if (fs.lstatSync(options.project).isDirectory()) { - tsconfigFilename = pathUtil.join(options.project, 'tsconfig.json'); - } - else { - // project isn't a diretory, it's a file - tsconfigFilename = options.project; - } - } - else { - tsconfigFilename = pathUtil.join(options.baseDir, 'tsconfig.json'); + if (!options.project) { + tsconfigFilename = pathUtil.join(options.baseDir, "tsconfig.json"); + } else if (fs.lstatSync(options.project).isDirectory()) { + tsconfigFilename = pathUtil.join(options.project, "tsconfig.json"); + } else { + // project isn't a directory, it's a file + tsconfigFilename = options.project; } if (fs.existsSync(tsconfigFilename)) { - verboseMessage(` parsing "${tsconfigFilename}"`); + debug(` parsing "${tsconfigFilename}"`); [files, compilerOptions] = getTSConfig(tsconfigFilename); - } - else { - sendMessage(`No "tsconfig.json" found at "${tsconfigFilename}"!`); - return new Promise(function (resolve, reject) { - reject(new SyntaxError('Unable to resolve configuration.')); - }); + } else { + debug(`No "tsconfig.json" found at "${tsconfigFilename}"!`); + throw new Error("Unable to resolve configuration."); } } - const eol = options.eol || os.EOL; - const nonEmptyLineStart = new RegExp(eol + '(?!' + eol + '|$)', 'g'); - const indent = options.indent === undefined ? '\t' : options.indent; + + const nonEmptyLineStart = /\n(?!\n|$)/g; // use input values if tsconfig leaves any of these undefined. // this is for backwards compatibility compilerOptions.declaration = true; - compilerOptions.target = compilerOptions.target || ts.ScriptTarget.Latest; // is this necessary? - compilerOptions.moduleResolution = compilerOptions.moduleResolution || options.moduleResolution; - compilerOptions.outDir = compilerOptions.outDir || options.outDir; + compilerOptions.target ||= ts.ScriptTarget.Latest; // is this necessary? // TODO should compilerOptions.baseDir come into play? const baseDir = pathUtil.resolve(compilerOptions.rootDir || options.project || options.baseDir); const outDir = compilerOptions.outDir; - verboseMessage(`baseDir = "${baseDir}"`); - verboseMessage(`target = ${compilerOptions.target}`); - verboseMessage(`outDir = ${compilerOptions.outDir}`); - verboseMessage(`rootDir = ${compilerOptions.rootDir}`); - verboseMessage(`moduleResolution = ${compilerOptions.moduleResolution}`); + + debug(`baseDir = "${baseDir}"`); + debug(`target = ${compilerOptions.target}`); + debug(`outDir = ${compilerOptions.outDir}`); + debug(`rootDir = ${compilerOptions.rootDir}`); + debug(`moduleResolution = ${compilerOptions.moduleResolution}`); + const filenames = getFilenames(baseDir, files); - verboseMessage('filenames:'); - filenames.forEach(name => { verboseMessage(' ' + name); }); - const excludesMap = {}; - options.exclude = options.exclude || ['node_modules/**/*.d.ts']; - options.exclude && options.exclude.forEach(function (filename) { - glob.sync(filename, { cwd: baseDir }).forEach(function (globFileName) { - excludesMap[filenameToMid(pathUtil.resolve(baseDir, globFileName))] = true; - }); - }); - if (options.exclude) { - verboseMessage('exclude:'); - options.exclude.forEach(name => { verboseMessage(' ' + name); }); + + debug("filenames:"); + for (const name of filenames) debug(" " + name); + + const exclusions = new Set(); + + options.exclude ||= []; + options.exclude.push("node_modules/**/*.d.ts"); + + for (const filename of globSync(options.exclude, { cwd: baseDir })) { + exclusions.add(pathUtil.resolve(baseDir, filename)); } - if (!options.stdout) fs.mkdirSync(pathUtil.dirname(options.out), { recursive: true }); - /* node.js typings are missing the optional mode in createWriteStream options and therefore - * in TS 1.6 the strict object literal checking is throwing, therefore a hammer to the nut */ - const output = options.stdout || fs.createWriteStream(options.out, { mode: parseInt('644', 8) }); + + debug("exclude:"); + for (const name of exclusions) debug(" " + name); + + const output = options.stdout; const host = ts.createCompilerHost(compilerOptions); const program = ts.createProgram(filenames, compilerOptions, host); function writeFile(filename, data) { // Compiler is emitting the non-declaration file, which we do not care about - if (filename.slice(-DTSLEN) !== '.d.ts') { - return; - } + if (filename.slice(-DTSLEN) !== DTS) return; writeDeclaration(ts.createSourceFile(filename, data, compilerOptions.target, true), true); } let declaredExternalModules = []; - return new Promise(function (resolve, reject) { - output.on('close', () => { resolve(undefined); }); - output.on('error', reject); + + { if (options.externs) { - options.externs.forEach(function (path) { - sendMessage(`Writing external dependency ${path}`); - output.write(`/// ` + eol); - }); - } - if (options.types) { - options.types.forEach(function (type) { - sendMessage(`Writing external @types package dependency ${type}`); - output.write(`/// ` + eol); - }); + for (const path of options.externs) { + debug(`Writing external dependency ${path}`); + output.push(`/// \n`); + } } - sendMessage('processing:'); - let mainExportDeclaration = false; - let mainExportAssignment = false; - let foundMain = false; - program.getSourceFiles().forEach(function (sourceFile) { - processTree(sourceFile, function (node) { + + debug("processing:"); + for (const sourceFile of program.getSourceFiles()) { + processTree(sourceFile, node => { if (isNodeKindModuleDeclaration(node)) { const name = node.name; if (isNodeKindStringLiteral(name)) { @@ -256,64 +195,31 @@ const generate = (function() { } return null; }); - }); - program.getSourceFiles().some(function (sourceFile) { + // Source file is a default library, or other dependency from another project, that should not be included in // our bundled output - if (pathUtil.normalize(sourceFile.fileName).indexOf(baseDir + pathUtil.sep) !== 0) { - return; - } - if (excludesMap[filenameToMid(pathUtil.normalize(sourceFile.fileName))]) { - return; - } - sendMessage(` ${sourceFile.fileName}`); + const normalizedFileName = pathUtil.normalize(sourceFile.fileName); + if (normalizedFileName.indexOf(baseDir + pathUtil.sep) !== 0) continue; + if (exclusions.has(normalizedFileName)) continue; + + debug(` ${sourceFile.fileName}`); // Source file is already a declaration file so should does not need to be pre-processed by the emitter - if (sourceFile.fileName.slice(-DTSLEN) === '.d.ts') { + if (sourceFile.fileName.slice(-DTSLEN) === DTS) { writeDeclaration(sourceFile, false); - return; - } - // We can optionally output the main module if there's something to export. - if (options.main && options.main === (options.prefix + filenameToMid(sourceFile.fileName.slice(baseDir.length, -3)))) { - foundMain = true; - ts.forEachChild(sourceFile, function (node) { - mainExportDeclaration = mainExportDeclaration || isNodeKindExportDeclaration(node); - mainExportAssignment = mainExportAssignment || isNodeKindExportAssignment(node); - }); + continue; } const emitOutput = program.emit(sourceFile, writeFile); if (emitOutput.emitSkipped || emitOutput.diagnostics.length > 0) { - reject(getError(emitOutput.diagnostics - .concat(program.getSemanticDiagnostics(sourceFile)) - .concat(program.getSyntacticDiagnostics(sourceFile)) - .concat(program.getDeclarationDiagnostics(sourceFile)))); - return true; - } - }); - if (options.main && !foundMain) { - throw new Error(`main module ${options.main} was not found`); - } - if (options.main) { - output.write(`declare module '${options.name}' {` + eol + indent); - if (compilerOptions.target >= ts.ScriptTarget.ES2015) { - if (mainExportAssignment) { - output.write(`export {default} from '${options.main}';` + eol + indent); - } - if (mainExportDeclaration) { - output.write(`export * from '${options.main}';` + eol); - } + const diagnostics = emitOutput.diagnostics.concat( + program.getSemanticDiagnostics(sourceFile), + program.getSyntacticDiagnostics(sourceFile), + program.getDeclarationDiagnostics(sourceFile) + ); + throw getError(diagnostics); } - else { - output.write(`import main = require('${options.main}');` + eol + indent); - output.write('export = main;' + eol); - } - output.write('}' + eol); - sendMessage(`Aliased main module ${options.name} to ${options.main}`); - } - if (!options.stdout) { - sendMessage(`output to "${options.out}"`); - output.end(); } - }); + } + function writeDeclaration(declarationFile, isOutput) { // resolving is important for dealting with relative outDirs const filename = pathUtil.resolve(declarationFile.fileName); @@ -323,26 +229,27 @@ const generate = (function() { // is also used for. Also if no outDir is used, the compiled code ends up // alongside the source, so use baseDir in that case too. const outputDir = (isOutput && Boolean(outDir)) ? pathUtil.resolve(outDir) : baseDir; - const sourceModuleId = filenameToMid(filename.slice(outputDir.length + 1, -DTSLEN)); - const currentModuleId = filenameToMid(filename.slice(outputDir.length + 1, -DTSLEN)); + // I give up; this needs Windows-to-POSIX conversion: + const sourceModuleId = pathUtil + .relative(outputDir, filename) + .slice(0, -DTSLEN) + .replaceAll(pathUtil.sep, "/"); function resolveModuleImport(moduleId) { const isDeclaredExternalModule = declaredExternalModules.indexOf(moduleId) !== -1; let resolved; if (options.resolveModuleImport) { resolved = options.resolveModuleImport({ importedModuleId: moduleId, - currentModuleId: currentModuleId, - isDeclaredExternalModule: isDeclaredExternalModule + currentModuleId: sourceModuleId, + isDeclaredExternalModule }); } if (!resolved) { // resolve relative imports relative to the current module id. - if (moduleId.charAt(0) === '.') { - resolved = filenameToMid(pathUtil.join(pathUtil.dirname(sourceModuleId), moduleId)); - } - else { - resolved = moduleId; - } + resolved = moduleId.charAt(0) === "." + ? pathUtil.posix.join(pathUtil.posix.dirname(sourceModuleId), moduleId) + : moduleId; + // prefix the import with options.prefix, so that both non-relative imports // and relative imports end up prefixed with options.prefix. We only // do this when no resolveModuleImport function is given so that that @@ -350,97 +257,53 @@ const generate = (function() { // NOTE: we may want to revisit the isDeclaredExternalModule behavior. // discussion is on https://github.com/SitePen/dts-generator/pull/94 // but currently there's no strong argument against this behavior. - if (Boolean(options.prefix) && !isDeclaredExternalModule) { - resolved = `${options.prefix}/${resolved}`; - } + if (!isDeclaredExternalModule) resolved = `${options.prefix}/${resolved}`; } return resolved; } /* For some reason, SourceFile.externalModuleIndicator is missing from 1.6+, so having * to use a sledgehammer on the nut */ if (declarationFile.externalModuleIndicator) { - let resolvedModuleId = sourceModuleId; - if (options.resolveModuleId) { - const resolveModuleIdResult = options.resolveModuleId({ - currentModuleId: currentModuleId - }); - if (resolveModuleIdResult) { - resolvedModuleId = resolveModuleIdResult; - } - else if (options.prefix) { - resolvedModuleId = `${options.prefix}/${resolvedModuleId}`; - } - } - else if (options.prefix) { - resolvedModuleId = `${options.prefix}/${resolvedModuleId}`; - } - output.write('declare module \'' + resolvedModuleId + '\' {' + eol + indent); - const content = processTree(declarationFile, function (node) { - if (isNodeKindExternalModuleReference(node)) { - // TODO figure out if this branch is possible, and if so, write a test - // that covers it. - const expression = node.expression; - // convert both relative and non-relative module names in import = require(...) - // statements. - const resolved = resolveModuleImport(expression.text); - return ` require('${resolved}')`; - } - else if (node.kind === ts.SyntaxKind.DeclareKeyword) { - return ''; - } - else if (isNodeKindStringLiteral(node) && node.parent && - (isNodeKindExportDeclaration(node.parent) || isNodeKindImportDeclaration(node.parent))) { + let resolvedModuleId = `${options.prefix}/${sourceModuleId}`; + output.push(`declare module '${resolvedModuleId}' {\n\t`); + const content = processTree(declarationFile, node => { + if (node.kind === ts.SyntaxKind.DeclareKeyword) return ""; + if ( + isNodeKindStringLiteral(node) && + (isNodeKindExportDeclaration(node.parent) || isNodeKindImportDeclaration(node.parent)) + ) { // This block of code is modifying the names of imported modules const text = node.text; const resolved = resolveModuleImport(text); - if (resolved) { - return ` '${resolved}'`; - } + if (resolved) return ` '${resolved}'`; } }); - output.write(content.replace(nonEmptyLineStart, '$&' + indent)); - output.write(eol + '}' + eol); - } - else { - output.write(declarationFile.text); + output.push(content.replace(nonEmptyLineStart, "$&\t")); + output.push("\n}\n"); + } else { + output.push(declarationFile.text); } } } return generate; })(); -function OutputStream(options) { - stream.Writable.call(this, options); - this.chunks = []; -} -util.inherits(OutputStream, stream.Writable); -OutputStream.prototype._write = function (chunk, enc, cb) { - this.chunks.push(chunk); - cb(); -}; -OutputStream.prototype.toBuffer = function () { - return Buffer.concat(this.chunks); -}; -OutputStream.prototype.toString = function () { - return this.toBuffer().toString("utf8"); -}; - function transformTypes(sourceFile) { let numReplaced = 0; - console.log("transforming:"); + debug("transforming:"); let result = ts.transform(sourceFile, [ - function (context) { + context => { const visit = node => { node = ts.visitEachChild(node, visit, context); if (ts.isTypeNode(node)) { const name = node.getText(sourceFile); switch (name) { // this is wrong, but works - case "bool": ++numReplaced; return ts.createIdentifier("boolean"); + case "bool": ++numReplaced; return context.factory.createIdentifier("boolean"); default: if (!/^(?:Binaryen|Relooper)/.test(name)) break; case "i8": case "i16": case "i32": case "isize": case "u8": case "u16": case "u32": case "usize": - case "f32": case "f64": ++numReplaced; return ts.createIdentifier("number"); + case "f32": case "f64": ++numReplaced; return context.factory.createIdentifier("number"); } } return node; @@ -448,14 +311,14 @@ function transformTypes(sourceFile) { return node => ts.visitNode(node, visit); } ]); - console.log(" replaced " + numReplaced + " AS types with TS types"); + debug(" replaced " + numReplaced + " AS types with TS types"); return result; } const prefix = "types:assemblyscript"; -function generateSrc() { - const stdout = new OutputStream(); +export function generateSrc() { + const stdout = []; generate({ project: pathUtil.resolve(__dirname, "..", "src"), @@ -463,23 +326,19 @@ function generateSrc() { exclude: [ "glue/**", ], - verbose: true, - sendMessage: console.log, - stdout: stdout + stdout }); - stdout.write("\n"); + stdout.push("\n"); generate({ project: pathUtil.resolve(__dirname, "..", "std", "assembly", "shared"), prefix: prefix + "/std/assembly/shared", exclude: [], - verbose: true, - sendMessage: console.log, - stdout: stdout + stdout }); - stdout.write("\n"); + stdout.push("\n"); generate({ project: pathUtil.resolve(__dirname, "..", "src", "glue"), @@ -488,33 +347,20 @@ function generateSrc() { "js/index.ts", "js/node.d.ts" ], - verbose: true, - sendMessage: console.log, - stdout: stdout + stdout }); - const source = stdout.toString().replace(/\/\/\/ ]*>\r?\n/g, ""); + const source = stdout.join("").replace(/\/\/\/ ]*>\r?\n/g, ""); const sourceFile = ts.createSourceFile("assemblyscript.d.ts", source, ts.ScriptTarget.ESNext, false, ts.ScriptKind.TS); const result = transformTypes(sourceFile); - if (!fs.existsSync(pathUtil.join(__dirname, "..", "dist"))) { - fs.mkdirSync(pathUtil.join(__dirname, "..", "dist")); - } fs.writeFileSync( pathUtil.resolve(__dirname, "..", "dist", "assemblyscript.generated.d.ts"), ts.createPrinter().printFile(result.transformed[0]) ); - fs.writeFileSync( - pathUtil.resolve(__dirname, "..", "dist", "assemblyscript.d.ts"), - [ `/// \n`, - `export * from "${prefix}/src/index";\n`, - `import * as assemblyscript from "${prefix}/src/index";\n`, - `export default assemblyscript;\n` - ].join("") - ); } -function generateCli() { - const stdout = new OutputStream(); +export function generateCli() { + const stdout = []; generate({ baseDir: pathUtil.resolve(__dirname, ".."), @@ -525,58 +371,23 @@ function generateCli() { "./assemblyscript.generated.d.ts" ], prefix, - verbose: true, - sendMessage: console.log, - stdout: stdout, + stdout, resolveModuleImport: ({ importedModuleId, currentModuleId }) => { - if (currentModuleId == "cli/index") { - if (importedModuleId == "../src") return prefix + "/src/index"; - } + if (currentModuleId == "cli/index" && importedModuleId == "../src") + return prefix + "/src/index"; + + if (importedModuleId == "binaryen") + return "binaryen"; + return null; }, }); - const source = stdout.toString(); + const source = stdout.join(""); const sourceFile = ts.createSourceFile("asc.d.ts", source, ts.ScriptTarget.ESNext, false, ts.ScriptKind.TS); const result = transformTypes(sourceFile); - if (!fs.existsSync(pathUtil.join(__dirname, "..", "dist"))) { - fs.mkdirSync(pathUtil.join(__dirname, "..", "dist")); - } fs.writeFileSync( pathUtil.resolve(__dirname, "..", "dist", "asc.generated.d.ts"), ts.createPrinter().printFile(result.transformed[0]) ); - fs.writeFileSync( - pathUtil.resolve(__dirname, "..", "dist", "asc.d.ts"), - [ `/// \n`, - `export * from "${prefix}/cli/index";\n`, - `import * as asc from "${prefix}/cli/index";\n`, - `export default asc;\n` - ].join("") - ); } - -function generateTransform() { - fs.writeFileSync( - pathUtil.resolve(__dirname, "..", "dist", "transform.js"), - [ - `export function Transform() { /* stub */ }\n` - ].join("") - ); - fs.writeFileSync( - pathUtil.resolve(__dirname, "..", "dist", "transform.cjs"), - [ - `module.exports = function Transform() { /* stub */ }\n` - ].join("") - ); - fs.writeFileSync( - pathUtil.resolve(__dirname, "..", "dist", "transform.d.ts"), - [ - `export { Transform } from "./asc";\n` - ].join("") - ); -} - -generateSrc(); -generateCli(); -generateTransform(); diff --git a/scripts/build-web.js b/scripts/build-web.js index 619cc03380..fb703a7e24 100644 --- a/scripts/build-web.js +++ b/scripts/build-web.js @@ -1,42 +1,43 @@ -import path from "path"; +import { dirname, join } from "path"; import fs from "fs"; -import { createRequire } from "module"; import { fileURLToPath } from "url"; -const dirname = path.dirname(fileURLToPath(import.meta.url)); -const require = createRequire(import.meta.url); -const pkg = require("../package-lock.json"); +const __dirname = dirname(fileURLToPath(import.meta.url)); -const mainVersion = pkg.version; -const binaryenVersion = pkg.dependencies.binaryen.version; -const longVersion = pkg.dependencies.long.version; +export function buildWeb() { + const pkg = JSON.parse(fs.readFileSync(join(__dirname, "../package-lock.json"))); -const distUrl = mainVersion === "0.0.0" ? `./` : `https://cdn.jsdelivr.net/npm/assemblyscript@${mainVersion}/dist/`; -const binaryenUrl = `https://cdn.jsdelivr.net/npm/binaryen@${binaryenVersion}/index.js`; -const longUrl = `https://cdn.jsdelivr.net/npm/long@${longVersion}/index.js`; -const importmap = { - "imports": { - "assemblyscript": `${distUrl}assemblyscript.js`, - "assemblyscript/asc": `${distUrl}asc.js`, - "binaryen": binaryenUrl, - "long": longUrl - } -}; + const mainVersion = pkg.version; + const binaryenVersion = pkg.dependencies.binaryen.version; + const longVersion = pkg.dependencies.long.version; + + const distUrl = mainVersion === "0.0.0" ? `./` : `https://cdn.jsdelivr.net/npm/assemblyscript@${mainVersion}/dist/`; + const binaryenUrl = `https://cdn.jsdelivr.net/npm/binaryen@${binaryenVersion}/index.js`; + const longUrl = `https://cdn.jsdelivr.net/npm/long@${longVersion}/index.js`; + const importmap = { + "imports": { + "assemblyscript": `${distUrl}assemblyscript.js`, + "assemblyscript/asc": `${distUrl}asc.js`, + "binaryen": binaryenUrl, + "long": longUrl + } + }; -fs.writeFileSync(path.join(dirname, "..", "dist", "importmap.json"), `${JSON.stringify(importmap, null, 2)} -`); -fs.writeFileSync(path.join(dirname, "..", "dist", "web.js"), `var ASSEMBLYSCRIPT_VERSION = ${JSON.stringify(mainVersion)}; -var ASSEMBLYSCRIPT_IMPORTMAP = ${JSON.stringify(importmap, null, 2)}; -if (!document.currentScript.src.includes("noinstall")) { - let elem = document.createElement("script"); - elem.type = "importmap"; - elem.text = JSON.stringify(ASSEMBLYSCRIPT_IMPORTMAP); - document.head.appendChild(elem); -} -if (!document.currentScript.src.includes("noshim")) { - let elem = document.createElement("script"); - elem.async = true; - elem.src = "https://cdn.jsdelivr.net/npm/es-module-shims@1/dist/es-module-shims.wasm.min.js"; - document.head.appendChild(elem); -} -`); + fs.writeFileSync(join(__dirname, "..", "dist", "importmap.json"), `${JSON.stringify(importmap, null, 2)} + `); + fs.writeFileSync(join(__dirname, "..", "dist", "web.js"), `var ASSEMBLYSCRIPT_VERSION = ${JSON.stringify(mainVersion)}; + var ASSEMBLYSCRIPT_IMPORTMAP = ${JSON.stringify(importmap, null, 2)}; + if (!document.currentScript.src.includes("noinstall")) { + let elem = document.createElement("script"); + elem.type = "importmap"; + elem.text = JSON.stringify(ASSEMBLYSCRIPT_IMPORTMAP); + document.head.appendChild(elem); + } + if (!document.currentScript.src.includes("noshim")) { + let elem = document.createElement("script"); + elem.async = true; + elem.src = "https://cdn.jsdelivr.net/npm/es-module-shims@1/dist/es-module-shims.wasm.min.js"; + document.head.appendChild(elem); + } + `); +} \ No newline at end of file diff --git a/scripts/build.js b/scripts/build.js index 043933aa57..ecf0a0f0b3 100644 --- a/scripts/build.js +++ b/scripts/build.js @@ -1,12 +1,14 @@ import fs from "fs"; import path from "path"; import { fileURLToPath } from "url"; -import childProcess from "child_process"; import esbuild from "esbuild"; -import glob from "glob"; +import { globSync } from "glob"; import { createRequire } from "module"; import { stdoutColors } from "../util/terminal.js"; +import {buildWeb} from "./build-web.js"; +import * as dts from "./build-dts.js"; + const require = createRequire(import.meta.url); const dirname = path.dirname(fileURLToPath(import.meta.url)); const watch = process.argv[2] === "--watch"; @@ -61,7 +63,7 @@ const stdlibPlugin = { build.onResolve({ filter: /\bindex\.generated\.js$/ }, args => { return { path: path.join(args.resolveDir, args.path), - watchFiles: glob.sync(path.join(dirname, "..", "std", "assembly") + "/**/*.ts") + watchFiles: globSync(path.join(dirname, "..", "std", "assembly") + "/**/*.ts") .concat([ path.join(dirname, "..", "package.json"), path.join(dirname, "..", "cli", "options.json"), @@ -86,7 +88,7 @@ const stdlibPlugin = { ); const libraryDir = path.join(dirname, "..", "std", "assembly"); const libraryFiles = {}; - for (const file of glob.sync("**/!(*.d).ts", { cwd: libraryDir })) { + for (const file of globSync("**/!(*.d).ts", { cwd: libraryDir, posix: true }).sort()) { libraryFiles[file.replace(/\.ts$/, "")] = bundleFile(path.join(libraryDir, file)); } out.push( @@ -173,22 +175,22 @@ const webPlugin = { setup(build) { build.onEnd(() => { const startTime = Date.now(); - const stdout = []; - console.log(`${time()} - ${"web"} - Starting new build ...`); - childProcess.spawn("node", [ "./build-web.js" ], { - cwd: dirname, - stdio: "pipe" - }).on("data", data => { - stdout.push(data.toString()); - }).on("error", err => { + console.log(`${time()} - web - Starting new build ...`); + + try { + buildWeb(); + const duration = Date.now() - startTime; - console.log(stdout.join("")); - console.log(`${time()} - ${"web"} - ${stdoutColors.red("ERROR")} (had errors, ${duration} ms)`); - }).on("close", code => { - if (code) return; + console.log(`${time()} - web - ${stdoutColors.green("SUCCESS")} (no errors, ${duration} ms)`); + process.exitCode = 0; + } catch (e) { const duration = Date.now() - startTime; - console.log(`${time()} - ${"web"} - ${stdoutColors.green("SUCCESS")} (no errors, ${duration} ms)`); - }); + console.error(e); + console.log(`${time()} - web - ${stdoutColors.red("ERROR")} (had errors, ${duration} ms)`); + process.exitCode = 1; + } finally { + buildingDefinitions = false; + } }); } }; @@ -208,12 +210,20 @@ const common = { bundle: true, sourcemap: true, treeShaking: true, - minify: true, - watch, - incremental: watch + minify: true }; -const srcBuild = esbuild.build({ +async function invokeBuild(options) { + const ctx = await esbuild.context(options); + if (watch) { + await ctx.watch(); + } else { + await ctx.rebuild(); + ctx.dispose(); + } +} + +const srcBuild = invokeBuild({ entryPoints: [ "./src/index.ts" ], tsconfig: "./src/tsconfig.json", outfile: "./dist/assemblyscript.js", @@ -222,7 +232,7 @@ const srcBuild = esbuild.build({ ...common }); -const cliBuild = esbuild.build({ +const cliBuild = invokeBuild({ entryPoints: [ "./cli/index.js" ], tsconfig: "./cli/tsconfig.json", outfile: "./dist/asc.js", @@ -237,25 +247,24 @@ let buildingDefinitions = false; function buildDefinitions() { const startTime = Date.now(); - const stdout = []; - console.log(`${time()} - ${"dts"} - Starting new build ...`); + console.log(`${time()} - dts - Starting new build ...`); buildingDefinitions = true; - childProcess.spawn("node", [ "./build-dts.js" ], { - cwd: dirname, - stdio: "pipe" - }).on("data", data => { - stdout.push(data.toString()); - }).on("error", err => { - buildingDefinitions = false; + + try { + dts.generateSrc(); + dts.generateCli(); + const duration = Date.now() - startTime; - console.log(stdout.join("")); - console.log(`${time()} - ${"dts"} - ${stdoutColors.red("ERROR")} (had errors, ${duration} ms)`); - }).on("close", code => { - buildingDefinitions = false; - if (code) return; + console.log(`${time()} - dts - ${stdoutColors.green("SUCCESS")} (no errors, ${duration} ms)`); + process.exitCode = 0; + } catch (e) { const duration = Date.now() - startTime; - console.log(`${time()} - ${"dts"} - ${stdoutColors.green("SUCCESS")} (no errors, ${duration} ms)`); - }); + console.error(e); + console.log(`${time()} - dts - ${stdoutColors.red("ERROR")} (had errors, ${duration} ms)`); + process.exitCode = 1; + } finally { + buildingDefinitions = false; + } } if (watch) { diff --git a/src/README.md b/src/README.md index 65eb7e260e..55c85e0fc4 100644 --- a/src/README.md +++ b/src/README.md @@ -46,11 +46,11 @@ Uses the AssemblyScript compiler compiled to JavaScript to compile itself to Web Running `asc` with the WebAssembly variant: ```ts -asc [options...] --wasm build/assemblyscript.release-bootstrap.wasm +asc [options...] --wasm build/assemblyscript.release-bootstrap.js ``` Running the compiler tests with the WebAssembly variant: ```ts -npm run test:compiler -- --wasm build/assemblyscript.release-bootstrap.wasm +npm run test:compiler -- --wasm build/assemblyscript.release-bootstrap.js ``` diff --git a/src/ast.ts b/src/ast.ts index da2271ef3d..01d8e9a421 100644 --- a/src/ast.ts +++ b/src/ast.ts @@ -18,7 +18,6 @@ import { CommonFlags, PATH_DELIMITER, LIBRARY_PREFIX, - LIBRARY_SUBST } from "./common"; import { @@ -1668,7 +1667,7 @@ export class Source extends Node { /** Checks if this source represents native code. */ get isNative(): bool { - return this.internalPath == LIBRARY_SUBST; + return this == Source._native; } /** Checks if this source is part of the (standard) library. */ diff --git a/src/bindings/js.ts b/src/bindings/js.ts index c267a069cc..456b2f79ac 100644 --- a/src/bindings/js.ts +++ b/src/bindings/js.ts @@ -13,6 +13,11 @@ import { CommonFlags } from "../common"; +import { + runtimeFunctions, + runtimeGlobals +} from "../compiler"; + import { ElementKind, Element, @@ -300,7 +305,7 @@ export class JSBuilder extends ExportsWalker { sb.push(escapeString(name, CharCode.DoubleQuote)); sb.push("\""); } - if (isPlainFunction(signature, Mode.Import) && !code) { + if (isPlainFunction(signature, Mode.Import) && !code && isIdentifier(name)) { sb.push(": (\n"); indent(sb, this.indentLevel + 1); sb.push("// "); @@ -549,18 +554,10 @@ export class JSBuilder extends ExportsWalker { continue; } let resetPos = sb.length; - sb.push(": Object.assign(Object.create("); - if (moduleName == "env") { - sb.push("globalThis"); - } else { - sb.push("__module"); - sb.push(moduleId.toString()); - } - sb.push("), "); - if (moduleName == "env") { - sb.push("imports.env || {}, "); - } - sb.push("{\n"); + + // Use Object.setPrototypeOf to avoid issues with read-only properties + // on module objects created by bundlers (issue #2659) + sb.push(": Object.setPrototypeOf({\n"); ++this.indentLevel; let numInstrumented = 0; for (let _keys2 = Map_keys(module), j = 0, l = _keys2.length; j < l; ++j) { @@ -593,7 +590,15 @@ export class JSBuilder extends ExportsWalker { sb.push(",\n"); } else { indent(sb, this.indentLevel); - sb.push("}),\n"); + sb.push("}, "); + if (moduleName == "env") { + // TODO: If necessary, use "Object.setPrototypeOf(Object.assign({}, imports.env || {}), globalThis)" + sb.push("Object.assign(Object.create(globalThis), imports.env || {})"); + } else { + sb.push("__module"); + sb.push(moduleId.toString()); + } + sb.push("),\n"); } } --this.indentLevel; @@ -945,22 +950,35 @@ export class JSBuilder extends ExportsWalker { assert(this.indentLevel == 0); if (this.esm) { - sb.push("export const {\n "); + sb.push("export const {\n"); if (this.program.options.exportMemory) { - sb.push("memory,\n "); + sb.push(" memory,\n"); } if (this.program.options.exportTable) { - sb.push("table,\n "); + sb.push(" table,\n"); + } + if (this.program.options.exportRuntime) { + for (let i = 0, k = runtimeFunctions.length; i < k; ++i) { + sb.push(" "); + sb.push(runtimeFunctions[i]); + sb.push(",\n"); + } + for (let i = 0, k = runtimeGlobals.length; i < k; ++i) { + sb.push(" "); + sb.push(runtimeGlobals[i]); + sb.push(",\n"); + } } for (let i = 0, k = exports.length; i < k; ++i) { - if (i > 0) sb.push(",\n "); + sb.push(" "); sb.push(exports[i]); + sb.push(",\n"); } - sb.push(` -} = await (async url => instantiate( + sb.push(`} = await (async url => instantiate( await (async () => { - try { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } - catch { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null); + if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } })(), { `); let needsMaybeDefault = false; diff --git a/src/bindings/tsd.ts b/src/bindings/tsd.ts index a7f65bfd9d..23374fb553 100644 --- a/src/bindings/tsd.ts +++ b/src/bindings/tsd.ts @@ -198,6 +198,20 @@ export class TSDBuilder extends ExportsWalker { indent(sb, this.indentLevel); sb.push(`export ${this.esm ? "declare " : ""}const table: WebAssembly.Table;\n`); } + if (this.program.options.exportRuntime) { + indent(sb, this.indentLevel); + sb.push("// Exported runtime interface\n"); + indent(sb, this.indentLevel); + sb.push(`export ${this.esm ? "declare " : ""}function __new(size: number, id: number): number;\n`); + indent(sb, this.indentLevel); + sb.push(`export ${this.esm ? "declare " : ""}function __pin(ptr: number): number;\n`); + indent(sb, this.indentLevel); + sb.push(`export ${this.esm ? "declare " : ""}function __unpin(ptr: number): void;\n`); + indent(sb, this.indentLevel); + sb.push(`export ${this.esm ? "declare " : ""}function __collect(): void;\n`); + indent(sb, this.indentLevel); + sb.push(`export ${this.esm ? "declare " : ""}const __rtti_base: number;\n`); + } this.walk(); if (!this.esm) { --this.indentLevel; diff --git a/src/builtins.ts b/src/builtins.ts index 8b8dd638cf..f876049603 100644 --- a/src/builtins.ts +++ b/src/builtins.ts @@ -43,7 +43,8 @@ import { NodeKind, LiteralExpression, ArrayLiteralExpression, - IdentifierExpression + IdentifierExpression, + NamedTypeNode } from "./ast"; import { @@ -85,7 +86,9 @@ import { DecoratorFlags, Class, PropertyPrototype, - VariableLikeElement + VariableLikeElement, + Element, + OperatorKind } from "./program"; import { @@ -94,11 +97,13 @@ import { } from "./flow"; import { - ReportMode + ReportMode, + Resolver } from "./resolver"; import { CommonFlags, + CommonNames, Feature, featureToString, TypeinfoFlags @@ -143,8 +148,6 @@ export namespace BuiltinNames { export const isManaged = "~lib/builtins/isManaged"; export const isVoid = "~lib/builtins/isVoid"; - export const bswap = "~lib/builtins/bswap"; - export const add = "~lib/builtins/add"; export const sub = "~lib/builtins/sub"; export const mul = "~lib/builtins/mul"; @@ -193,6 +196,7 @@ export namespace BuiltinNames { export const assert = "~lib/builtins/assert"; export const call_indirect = "~lib/builtins/call_indirect"; export const unchecked = "~lib/builtins/unchecked"; + export const inline_always = "~lib/builtins/inline.always"; export const instantiate = "~lib/builtins/instantiate"; export const idof = "~lib/builtins/idof"; @@ -450,6 +454,17 @@ export namespace BuiltinNames { export const v128_q15mulr_sat = "~lib/builtins/v128.q15mulr_sat"; export const v128_extmul_low = "~lib/builtins/v128.extmul_low"; export const v128_extmul_high = "~lib/builtins/v128.extmul_high"; + export const v128_relaxed_swizzle = "~lib/builtins/v128.relaxed_swizzle"; + export const v128_relaxed_trunc = "~lib/builtins/v128.relaxed_trunc"; + export const v128_relaxed_trunc_zero = "~lib/builtins/v128.relaxed_trunc_zero"; + export const v128_relaxed_madd = "~lib/builtins/v128.relaxed_madd"; + export const v128_relaxed_nmadd = "~lib/builtins/v128.relaxed_nmadd"; + export const v128_relaxed_laneselect = "~lib/builtins/v128.relaxed_laneselect"; + export const v128_relaxed_min = "~lib/builtins/v128.relaxed_min"; + export const v128_relaxed_max = "~lib/builtins/v128.relaxed_max"; + export const v128_relaxed_q15mulr = "~lib/builtins/v128.relaxed_q15mulr"; + export const v128_relaxed_dot = "~lib/builtins/v128.relaxed_dot"; + export const v128_relaxed_dot_add = "~lib/builtins/v128.relaxed_dot_add"; export const i8x16 = "~lib/builtins/i8x16"; export const i16x8 = "~lib/builtins/i16x8"; @@ -544,7 +559,6 @@ export namespace BuiltinNames { export const i16x8_extmul_high_i8x16_s = "~lib/builtins/i16x8.extmul_high_i8x16_s"; export const i16x8_extmul_high_i8x16_u = "~lib/builtins/i16x8.extmul_high_i8x16_u"; export const i16x8_shuffle = "~lib/builtins/i16x8.shuffle"; - export const i16x8_swizzle = "~lib/builtins/i16x8.swizzle"; export const i32x4_splat = "~lib/builtins/i32x4.splat"; export const i32x4_extract_lane = "~lib/builtins/i32x4.extract_lane"; @@ -589,7 +603,6 @@ export namespace BuiltinNames { export const i32x4_extmul_high_i16x8_s = "~lib/builtins/i32x4.extmul_high_i16x8_s"; export const i32x4_extmul_high_i16x8_u = "~lib/builtins/i32x4.extmul_high_i16x8_u"; export const i32x4_shuffle = "~lib/builtins/i32x4.shuffle"; - export const i32x4_swizzle = "~lib/builtins/i32x4.swizzle"; export const i64x2_splat = "~lib/builtins/i64x2.splat"; export const i64x2_extract_lane = "~lib/builtins/i64x2.extract_lane"; @@ -623,7 +636,6 @@ export namespace BuiltinNames { export const i64x2_extmul_high_i32x4_s = "~lib/builtins/i64x2.extmul_high_i32x4_s"; export const i64x2_extmul_high_i32x4_u = "~lib/builtins/i64x2.extmul_high_i32x4_u"; export const i64x2_shuffle = "~lib/builtins/i64x2.shuffle"; - export const i64x2_swizzle = "~lib/builtins/i64x2.swizzle"; export const f32x4_splat = "~lib/builtins/f32x4.splat"; export const f32x4_extract_lane = "~lib/builtins/f32x4.extract_lane"; @@ -653,7 +665,6 @@ export namespace BuiltinNames { export const f32x4_convert_i32x4_u = "~lib/builtins/f32x4.convert_i32x4_u"; export const f32x4_demote_f64x2_zero = "~lib/builtins/f32x4.demote_f64x2_zero"; export const f32x4_shuffle = "~lib/builtins/f32x4.shuffle"; - export const f32x4_swizzle = "~lib/builtins/f32x4.swizzle"; export const f64x2_splat = "~lib/builtins/f64x2.splat"; export const f64x2_extract_lane = "~lib/builtins/f64x2.extract_lane"; @@ -683,7 +694,27 @@ export namespace BuiltinNames { export const f64x2_convert_low_i32x4_u = "~lib/builtins/f64x2.convert_low_i32x4_u"; export const f64x2_promote_low_f32x4 = "~lib/builtins/f64x2.promote_low_f32x4"; export const f64x2_shuffle = "~lib/builtins/f64x2.shuffle"; - export const f64x2_swizzle = "~lib/builtins/f64x2.swizzle"; + + export const i8x16_relaxed_swizzle = "~lib/builtins/i8x16.relaxed_swizzle"; + export const i32x4_relaxed_trunc_f32x4_s = "~lib/builtins/i32x4.relaxed_trunc_f32x4_s"; + export const i32x4_relaxed_trunc_f32x4_u = "~lib/builtins/i32x4.relaxed_trunc_f32x4_u"; + export const i32x4_relaxed_trunc_f64x2_s_zero = "~lib/builtins/i32x4.relaxed_trunc_f64x2_s_zero"; + export const i32x4_relaxed_trunc_f64x2_u_zero = "~lib/builtins/i32x4.relaxed_trunc_f64x2_u_zero"; + export const f32x4_relaxed_madd = "~lib/builtins/f32x4.relaxed_madd"; + export const f32x4_relaxed_nmadd = "~lib/builtins/f32x4.relaxed_nmadd"; + export const f64x2_relaxed_madd = "~lib/builtins/f64x2.relaxed_madd"; + export const f64x2_relaxed_nmadd = "~lib/builtins/f64x2.relaxed_nmadd"; + export const i8x16_relaxed_laneselect = "~lib/builtins/i8x16.relaxed_laneselect"; + export const i16x8_relaxed_laneselect = "~lib/builtins/i16x8.relaxed_laneselect"; + export const i32x4_relaxed_laneselect = "~lib/builtins/i32x4.relaxed_laneselect"; + export const i64x2_relaxed_laneselect = "~lib/builtins/i64x2.relaxed_laneselect"; + export const f32x4_relaxed_min = "~lib/builtins/f32x4.relaxed_min"; + export const f32x4_relaxed_max = "~lib/builtins/f32x4.relaxed_max"; + export const f64x2_relaxed_min = "~lib/builtins/f64x2.relaxed_min"; + export const f64x2_relaxed_max = "~lib/builtins/f64x2.relaxed_max"; + export const i16x8_relaxed_q15mulr_s = "~lib/builtins/i16x8.relaxed_q15mulr_s"; + export const i16x8_relaxed_dot_i8x16_i7x16_s = "~lib/builtins/i16x8.relaxed_dot_i8x16_i7x16_s"; + export const i32x4_relaxed_dot_i8x16_i7x16_add_s = "~lib/builtins/i32x4.relaxed_dot_i8x16_i7x16_add_s"; export const i31_new = "~lib/builtins/i31.new"; export const i31_get = "~lib/builtins/i31.get"; @@ -742,6 +773,17 @@ export namespace BuiltinNames { export const Object = "~lib/object/Object"; } +/** Builtin types context. */ +export class BuiltinTypesContext { + constructor( + public resolver: Resolver, + public node: NamedTypeNode, + public ctxElement: Element, + public ctxTypes: Map | null, + public reportMode: ReportMode + ) {} +} + /** Builtin variable compilation context. */ export class BuiltinVariableContext { constructor( @@ -778,6 +820,9 @@ export class BuiltinFunctionContext { ) {} } +/** Builtin types map. */ +export const builtinTypes = new Map Type | null>(); + /** Builtin functions map. */ export const builtinFunctions = new Map ExpressionRef>(); @@ -785,6 +830,142 @@ export const builtinFunctions = new Map export const builtinVariables_onCompile = new Map void>(); export const builtinVariables_onAccess = new Map ExpressionRef>(); +// === Builtin Types ========================================================================== +function builtin_resolveNativeType(ctx: BuiltinTypesContext): Type | null { + let resolver = ctx.resolver; + let node = ctx.node; + let ctxElement = ctx.ctxElement; + let ctxTypes = ctx.ctxTypes; + let reportMode = ctx.reportMode; + const typeArgumentNode = resolver.ensureOneTypeArgument(node, reportMode); + if (!typeArgumentNode) return null; + let typeArgument = resolver.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode); + if (!typeArgument) return null; + switch (typeArgument.kind) { + case TypeKind.I8: + case TypeKind.I16: + case TypeKind.I32: return Type.i32; + case TypeKind.Isize: if (!resolver.program.options.isWasm64) return Type.i32; + case TypeKind.I64: return Type.i64; + case TypeKind.U8: + case TypeKind.U16: + case TypeKind.U32: + case TypeKind.Bool: return Type.u32; + case TypeKind.Usize: if (!resolver.program.options.isWasm64) return Type.u32; + case TypeKind.U64: return Type.u64; + case TypeKind.F32: return Type.f32; + case TypeKind.F64: return Type.f64; + case TypeKind.V128: return Type.v128; + case TypeKind.Void: return Type.void; + default: assert(false); + } + return null; +} +builtinTypes.set(CommonNames.native, builtin_resolveNativeType); + +function builtin_resolveIndexOfType(ctx: BuiltinTypesContext): Type | null { + let resolver = ctx.resolver; + let node = ctx.node; + let ctxElement = ctx.ctxElement; + let ctxTypes = ctx.ctxTypes; + let reportMode = ctx.reportMode; + const typeArgumentNode = resolver.ensureOneTypeArgument(node, reportMode); + if (!typeArgumentNode) return null; + let typeArgument = resolver.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode); + if (!typeArgument) return null; + let classReference = typeArgument.classReference; + if (!classReference) { + if (reportMode == ReportMode.Report) { + resolver.error( + DiagnosticCode.Index_signature_is_missing_in_type_0, + typeArgumentNode.range, typeArgument.toString() + ); + } + return null; + } + let overload = classReference.lookupOverload(OperatorKind.IndexedGet); + if (overload) { + let parameterTypes = overload.signature.parameterTypes; + if (overload.is(CommonFlags.Static)) { + assert(parameterTypes.length == 2); + return parameterTypes[1]; + } else { + assert(parameterTypes.length == 1); + return parameterTypes[0]; + } + } + if (reportMode == ReportMode.Report) { + resolver.error( + DiagnosticCode.Index_signature_is_missing_in_type_0, + typeArgumentNode.range, typeArgument.toString() + ); + } + return null; +} +builtinTypes.set(CommonNames.indexof, builtin_resolveIndexOfType); + +function builtin_resolveValueOfType(ctx: BuiltinTypesContext): Type | null { + let resolver = ctx.resolver; + let node = ctx.node; + let ctxElement = ctx.ctxElement; + let ctxTypes = ctx.ctxTypes; + let reportMode = ctx.reportMode; + const typeArgumentNode = resolver.ensureOneTypeArgument(node, reportMode); + if (!typeArgumentNode) return null; + let typeArgument = resolver.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode); + if (!typeArgument) return null; + let classReference = typeArgument.getClassOrWrapper(resolver.program); + if (classReference) { + let overload = classReference.lookupOverload(OperatorKind.IndexedGet); + if (overload) return overload.signature.returnType; + } + if (reportMode == ReportMode.Report) { + resolver.error( + DiagnosticCode.Index_signature_is_missing_in_type_0, + typeArgumentNode.range, typeArgument.toString() + ); + } + return null; +} +builtinTypes.set(CommonNames.valueof, builtin_resolveValueOfType); + +function builtin_resolveReturnOfType(ctx: BuiltinTypesContext): Type | null { + let resolver = ctx.resolver; + let node = ctx.node; + let ctxElement = ctx.ctxElement; + let ctxTypes = ctx.ctxTypes; + let reportMode = ctx.reportMode; + const typeArgumentNode = resolver.ensureOneTypeArgument(node, reportMode); + if (!typeArgumentNode) return null; + let typeArgument = resolver.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode); + if (!typeArgument) return null; + let signatureReference = typeArgument.getSignature(); + if (signatureReference) return signatureReference.returnType; + if (reportMode == ReportMode.Report) { + resolver.error( + DiagnosticCode.Type_0_has_no_call_signatures, + typeArgumentNode.range, typeArgument.toString() + ); + } + return null; +} +builtinTypes.set(CommonNames.returnof, builtin_resolveReturnOfType); + +function builtin_resolveNonnullableType(ctx: BuiltinTypesContext): Type | null { + let resolver = ctx.resolver; + let node = ctx.node; + let ctxElement = ctx.ctxElement; + let ctxTypes = ctx.ctxTypes; + let reportMode = ctx.reportMode; + const typeArgumentNode = resolver.ensureOneTypeArgument(node, reportMode); + if (!typeArgumentNode) return null; + let typeArgument = resolver.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode); + if (!typeArgument) return null; + if (!typeArgument.isNullableReference) return typeArgument; + return typeArgument.nonNullableType; +} +builtinTypes.set(CommonNames.nonnull, builtin_resolveNonnullableType); + // === Static type evaluation ================================================================= // helper global used by checkConstantType @@ -1166,181 +1347,6 @@ function builtin_idof(ctx: BuiltinFunctionContext): ExpressionRef { } builtinFunctions.set(BuiltinNames.idof, builtin_idof); -// bswap(value: T) -> T -function builtin_bswap(ctx: BuiltinFunctionContext): ExpressionRef { - let compiler = ctx.compiler; - let module = compiler.module; - if ( - checkTypeOptional(ctx, true) | - checkArgsRequired(ctx, 1) - ) return module.unreachable(); - - let typeArguments = ctx.typeArguments; - let arg0 = typeArguments - ? compiler.compileExpression( - ctx.operands[0], - typeArguments[0].toUnsigned(), - Constraints.ConvImplicit | Constraints.MustWrap - ) - : compiler.compileExpression( - ctx.operands[0], - Type.u32, - Constraints.MustWrap - ); - - let type = compiler.currentType; - if (type.isValue) { - switch (type.kind) { - case TypeKind.Bool: - case TypeKind.I8: - case TypeKind.U8: return arg0; - case TypeKind.I16: - case TypeKind.U16: { - // (x << 8 | x >> 8) - let flow = compiler.currentFlow; - let temp = flow.getTempLocal(type); - flow.setLocalFlag(temp.index, LocalFlags.Wrapped); - - let res = module.binary( - BinaryOp.OrI32, - module.binary( - BinaryOp.ShlI32, - module.local_tee(temp.index, arg0, false), - module.i32(8) - ), - module.binary( - BinaryOp.ShrU32, - module.local_get(temp.index, TypeRef.I32), - module.i32(8) - ) - ); - // avoid wrapping for u16 due to it's already done for input arg - if (type.kind == TypeKind.I16) { - res = compiler.ensureSmallIntegerWrap(res, Type.i16); - } - return res; - } - case TypeKind.I32: - case TypeKind.U32: - case TypeKind.Isize: - case TypeKind.Usize: { - if (type.size == 32) { - // rotl(x & 0xFF00FF00, 8) | rotr(x & 0x00FF00FF, 8) - let flow = compiler.currentFlow; - let temp = flow.getTempLocal(type); - flow.setLocalFlag(temp.index, LocalFlags.Wrapped); - - let res = module.binary( - BinaryOp.OrI32, - module.binary( - BinaryOp.RotlI32, - module.binary( - BinaryOp.AndI32, - module.local_tee(temp.index, arg0, false), - module.i32(0xFF00FF00) - ), - module.i32(8) - ), - module.binary( - BinaryOp.RotrI32, - module.binary( - BinaryOp.AndI32, - module.local_get(temp.index, TypeRef.I32), - module.i32(0x00FF00FF) - ), - module.i32(8) - ), - ); - return res; - } - // fall-through - } - case TypeKind.I64: - case TypeKind.U64: { - // let t = - // ((x >>> 8) & 0x00FF00FF00FF00FF) | - // ((x & 0x00FF00FF00FF00FF) << 8) - // - // let res = - // ((t >>> 16) & 0x0000FFFF0000FFFF) | - // ((t & 0x0000FFFF0000FFFF) << 16) - // - // rotr(res, 32) - - let flow = compiler.currentFlow; - let temp1 = flow.getTempLocal(type); - flow.setLocalFlag(temp1.index, LocalFlags.Wrapped); - let temp2 = flow.getTempLocal(type); - flow.setLocalFlag(temp2.index, LocalFlags.Wrapped); - - // t = ((x >>> 8) & 0x00FF00FF00FF00FF) | ((x & 0x00FF00FF00FF00FF) << 8) - let expr = module.local_tee( - temp2.index, - module.binary( - BinaryOp.OrI64, - module.binary( - BinaryOp.AndI64, - module.binary( - BinaryOp.ShrU64, - module.local_tee(temp1.index, arg0, false), - module.i64(8) - ), - module.i64(0x00FF00FF, 0x00FF00FF) - ), - module.binary( - BinaryOp.ShlI64, - module.binary( - BinaryOp.AndI64, - module.local_get(temp1.index, TypeRef.I64), - module.i64(0x00FF00FF, 0x00FF00FF) - ), - module.i64(8) - ), - ), - false - ); - - // ((t >>> 16) & 0x0000FFFF0000FFFF) | ((t & 0x0000FFFF0000FFFF) << 16) - let res = module.binary( - BinaryOp.OrI64, - module.binary( - BinaryOp.AndI64, - module.binary( - BinaryOp.ShrU64, - expr, - module.i64(16) - ), - module.i64(0x0000FFFF, 0x0000FFFF) - ), - module.binary( - BinaryOp.ShlI64, - module.binary( - BinaryOp.AndI64, - module.local_get(temp2.index, TypeRef.I64), - module.i64(0x0000FFFF, 0x0000FFFF) - ), - module.i64(16) - ), - ); - - // rotr(res, 32) - res = module.binary( - BinaryOp.RotrI64, - res, - module.i64(32) - ); - return res; - } - } - } - compiler.error( - DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, - ctx.reportNode.typeArgumentsRange, "bswap", type.toString() - ); - return module.unreachable(); -} -builtinFunctions.set(BuiltinNames.bswap, builtin_bswap); - // === Math =================================================================================== // NaN @@ -1773,6 +1779,7 @@ function builtin_max(ctx: BuiltinFunctionContext): ExpressionRef { } else { arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit | Constraints.MustWrap); } + // @ts-expect-error let op: BinaryOp = -1; switch (type.kind) { case TypeKind.I8: @@ -1802,8 +1809,7 @@ function builtin_max(ctx: BuiltinFunctionContext): ExpressionRef { module.binary(op, module.local_get(temp1.index, typeRef), module.local_get(temp2.index, typeRef) - ), - typeRef + ) ); return ret; } @@ -1841,6 +1847,7 @@ function builtin_min(ctx: BuiltinFunctionContext): ExpressionRef { } else { arg1 = compiler.compileExpression(operands[1], type, Constraints.ConvImplicit | Constraints.MustWrap); } + // @ts-expect-error let op: BinaryOp = -1; switch (type.kind) { case TypeKind.I8: @@ -1870,8 +1877,7 @@ function builtin_min(ctx: BuiltinFunctionContext): ExpressionRef { module.binary(op, module.local_get(temp1.index, typeRef), module.local_get(temp2.index, typeRef) - ), - typeRef + ) ); return ret; } @@ -3280,7 +3286,7 @@ function builtin_select(ctx: BuiltinFunctionContext): ExpressionRef { operands[2] ); compiler.currentType = type; - return module.select(arg0, arg1, arg2, type.toRef()); + return module.select(arg0, arg1, arg2); } builtinFunctions.set(BuiltinNames.select, builtin_select); @@ -3496,7 +3502,7 @@ function builtin_i31_new(ctx: BuiltinFunctionContext): ExpressionRef { ) return module.unreachable(); let operands = ctx.operands; let arg0 = compiler.compileExpression(operands[0], Type.i32, Constraints.ConvImplicit); - compiler.currentType = Type.i31ref; + compiler.currentType = Type.i31; return module.i31_new(arg0); } builtinFunctions.set(BuiltinNames.i31_new, builtin_i31_new); @@ -3509,7 +3515,7 @@ function builtin_i31_get(ctx: BuiltinFunctionContext): ExpressionRef { checkArgsRequired(ctx, 1) ) return module.unreachable(); let operands = ctx.operands; - let arg0 = compiler.compileExpression(operands[0], Type.i31ref, Constraints.ConvImplicit); + let arg0 = compiler.compileExpression(operands[0], Type.i31.asNullable(), Constraints.ConvImplicit); if (ctx.contextualType.is(TypeFlags.Unsigned)) { compiler.currentType = Type.u32; return module.i31_get(arg0, false); @@ -3626,14 +3632,14 @@ function builtin_assert(ctx: BuiltinFunctionContext): ExpressionRef { // TODO: also check for NaN in float assertions, as in `Boolean(NaN) -> false`? case TypeKind.F32: return module.if(module.binary(BinaryOp.EqF32, arg0, module.f32(0)), abort); case TypeKind.F64: return module.if(module.binary(BinaryOp.EqF64, arg0, module.f64(0)), abort); - case TypeKind.Funcref: - case TypeKind.Externref: - case TypeKind.Anyref: - case TypeKind.Eqref: - case TypeKind.Structref: - case TypeKind.Arrayref: - case TypeKind.I31ref: - case TypeKind.Stringref: + case TypeKind.Func: + case TypeKind.Extern: + case TypeKind.Any: + case TypeKind.Eq: + case TypeKind.Struct: + case TypeKind.Array: + case TypeKind.I31: + case TypeKind.String: case TypeKind.StringviewWTF8: case TypeKind.StringviewWTF16: case TypeKind.StringviewIter: return module.if(module.ref_is_null(arg0), abort); @@ -3707,14 +3713,14 @@ function builtin_assert(ctx: BuiltinFunctionContext): ExpressionRef { ); return ret; } - case TypeKind.Funcref: - case TypeKind.Externref: - case TypeKind.Anyref: - case TypeKind.Eqref: - case TypeKind.Structref: - case TypeKind.Arrayref: - case TypeKind.I31ref: - case TypeKind.Stringref: + case TypeKind.Func: + case TypeKind.Extern: + case TypeKind.Any: + case TypeKind.Eq: + case TypeKind.Struct: + case TypeKind.Array: + case TypeKind.I31: + case TypeKind.String: case TypeKind.StringviewWTF8: case TypeKind.StringviewWTF16: case TypeKind.StringviewIter: { @@ -3759,6 +3765,24 @@ function builtin_unchecked(ctx: BuiltinFunctionContext): ExpressionRef { } builtinFunctions.set(BuiltinNames.unchecked, builtin_unchecked); +// inline.always(expr: *) -> * +function builtin_inline_always(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkTypeAbsent(ctx) | + checkArgsRequired(ctx, 1) + ) return module.unreachable(); + let flow = compiler.currentFlow; + let alreadyInline = flow.is(FlowFlags.InlineContext); + if (!alreadyInline) flow.set(FlowFlags.InlineContext); + // eliminate unnecessary tees by preferring contextualType(=void) + let expr = compiler.compileExpression(ctx.operands[0], ctx.contextualType); + if (!alreadyInline) flow.unset(FlowFlags.InlineContext); + return expr; +} +builtinFunctions.set(BuiltinNames.inline_always, builtin_inline_always); + // call_indirect(index: u32, ...args: *[]) -> T function builtin_call_indirect(ctx: BuiltinFunctionContext): ExpressionRef { let compiler = ctx.compiler; @@ -3782,6 +3806,9 @@ function builtin_call_indirect(ctx: BuiltinFunctionContext): ExpressionRef { let paramTypeRefs = new Array(numOperands); for (let i = 0; i < numOperands; ++i) { operandExprs[i] = compiler.compileExpression(operands[1 + i], Type.auto); + if (compiler.currentType.isManaged) { + operandExprs[i] = module.tostack(operandExprs[i]); + } paramTypeRefs[i] = compiler.currentType.toRef(); } compiler.currentType = returnType; @@ -4889,7 +4916,7 @@ function builtin_v128_load_lane(ctx: BuiltinFunctionContext): ExpressionRef { } builtinFunctions.set(BuiltinNames.v128_load_lane, builtin_v128_load_lane); -// v128.store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize) -> v128 +// v128.store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize) -> void function builtin_v128_store_lane(ctx: BuiltinFunctionContext): ExpressionRef { let compiler = ctx.compiler; let module = compiler.module; @@ -4931,7 +4958,7 @@ function builtin_v128_store_lane(ctx: BuiltinFunctionContext): ExpressionRef { } } } - compiler.currentType = Type.v128; + compiler.currentType = Type.void; if (type.isValue) { let maxIdx = (16 / assert(type.byteSize)) - 1; if (idx < 0 || idx > maxIdx) { @@ -6346,7 +6373,8 @@ function builtin_v128_not(ctx: BuiltinFunctionContext): ExpressionRef { } builtinFunctions.set(BuiltinNames.v128_not, builtin_v128_not); -function builtin_v128_bitwise_ternary(ctx: BuiltinFunctionContext, op: SIMDTernaryOp): ExpressionRef { +// v128.bitselect(v1: v128, v2: v128, c: v128) -> v128 +function builtin_v128_bitselect(ctx: BuiltinFunctionContext): ExpressionRef { let compiler = ctx.compiler; let module = compiler.module; if ( @@ -6361,12 +6389,7 @@ function builtin_v128_bitwise_ternary(ctx: BuiltinFunctionContext, op: SIMDTerna let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit); let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit); - return module.simd_ternary(op, arg0, arg1, arg2); -} - -// v128.bitselect(v1: v128, v2: v128, c: v128) -> v128 -function builtin_v128_bitselect(ctx: BuiltinFunctionContext): ExpressionRef { - return builtin_v128_bitwise_ternary(ctx, SIMDTernaryOp.Bitselect); + return module.simd_ternary(SIMDTernaryOp.Bitselect, arg0, arg1, arg2); } builtinFunctions.set(BuiltinNames.v128_bitselect, builtin_v128_bitselect); @@ -6701,83 +6724,445 @@ function builtin_v128_extmul_high(ctx: BuiltinFunctionContext): ExpressionRef { } builtinFunctions.set(BuiltinNames.v128_extmul_high, builtin_v128_extmul_high); -// === Internal runtime ======================================================================= +// === Relaxed SIMD =========================================================================== -// __visit_globals(cookie: u32) -> void -function builtin_visit_globals(ctx: BuiltinFunctionContext): ExpressionRef { +// v128.relaxed_swizzle(a: v128, s: v128) -> v128 +function builtin_v128_relaxed_swizzle(ctx: BuiltinFunctionContext): ExpressionRef { let compiler = ctx.compiler; let module = compiler.module; if ( + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | checkTypeAbsent(ctx) | - checkArgsRequired(ctx, 1) // cookie + checkArgsRequired(ctx, 2) ) { - compiler.currentType = Type.void; + compiler.currentType = Type.v128; return module.unreachable(); } let operands = ctx.operands; - let arg0 = compiler.compileExpression(operands[0], Type.u32, Constraints.ConvImplicit); - compiler.runtimeFeatures |= RuntimeFeatures.visitGlobals; - compiler.currentType = Type.void; - return module.call(BuiltinNames.visit_globals, [ arg0 ], TypeRef.None); + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit); + return module.binary(BinaryOp.RelaxedSwizzleI8x16, arg0, arg1); } -builtinFunctions.set(BuiltinNames.visit_globals, builtin_visit_globals); +builtinFunctions.set(BuiltinNames.v128_relaxed_swizzle, builtin_v128_relaxed_swizzle); -// __visit_members(ref: usize, cookie: u32) -> void -function builtin_visit_members(ctx: BuiltinFunctionContext): ExpressionRef { +// v128.relaxed_trunc(a: v128) -> v128 +function builtin_v128_relaxed_trunc(ctx: BuiltinFunctionContext): ExpressionRef { let compiler = ctx.compiler; let module = compiler.module; if ( - checkTypeAbsent(ctx) | - checkArgsRequired(ctx, 2) // ref, cookie + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | + checkTypeRequired(ctx) | + checkArgsRequired(ctx, 1) ) { - compiler.currentType = Type.void; + compiler.currentType = Type.v128; return module.unreachable(); } let operands = ctx.operands; - let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit); - let arg1 = compiler.compileExpression(operands[1], Type.u32, Constraints.ConvImplicit); - compiler.runtimeFeatures |= RuntimeFeatures.visitMembers; - compiler.currentType = Type.void; - return module.call(BuiltinNames.visit_members, [ arg0, arg1 ], TypeRef.None); -} -builtinFunctions.set(BuiltinNames.visit_members, builtin_visit_members); - -// === Inline assembler ======================================================================= - -// TODO: Operators can't be just deferred (don't have a corresponding generic built-in) -// add, sub, mul, div_s, div_u, rem_s, rem_u -// and, or, xor, shl, shr_u, shr_s -// eq, eqz, ne, lt_s, lt_u, le_s, le_u, gt_s, gt_u, ge_s, ge_u - -// i32.clz -> clz -function builtin_i32_clz(ctx: BuiltinFunctionContext): ExpressionRef { - checkTypeAbsent(ctx); - ctx.typeArguments = [ Type.i32 ]; - ctx.contextualType = Type.i32; - return builtin_clz(ctx); -} -builtinFunctions.set(BuiltinNames.i32_clz, builtin_i32_clz); - -// i64.clz -> clz -function builtin_i64_clz(ctx: BuiltinFunctionContext): ExpressionRef { - checkTypeAbsent(ctx); - ctx.typeArguments = [ Type.i64 ]; - ctx.contextualType = Type.i64; - return builtin_clz(ctx); + let typeArguments = ctx.typeArguments!; + let type = typeArguments[0]; + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + if (type.isValue) { + switch (type.kind) { + case TypeKind.Isize: { + if (compiler.options.isWasm64) break; + // fall-through + } + case TypeKind.I32: return module.unary(UnaryOp.RelaxedTruncF32x4ToI32x4, arg0); + case TypeKind.Usize: { + if (compiler.options.isWasm64) break; + // fall-through + } + case TypeKind.U32: return module.unary(UnaryOp.RelaxedTruncF32x4ToU32x4, arg0); + } + } + compiler.error( + DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, + ctx.reportNode.typeArgumentsRange, "v128.relaxed_trunc", type.toString() + ); + return module.unreachable(); } -builtinFunctions.set(BuiltinNames.i64_clz, builtin_i64_clz); +builtinFunctions.set(BuiltinNames.v128_relaxed_trunc, builtin_v128_relaxed_trunc); -// i32.ctz -> ctz -function builtin_i32_ctz(ctx: BuiltinFunctionContext): ExpressionRef { - checkTypeAbsent(ctx); - ctx.typeArguments = [ Type.i32 ]; - ctx.contextualType = Type.i32; - return builtin_ctz(ctx); +// v128.relaxed_trunc_zero(a: v128) -> v128 +function builtin_v128_relaxed_trunc_zero(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | + checkTypeRequired(ctx) | + checkArgsRequired(ctx, 1) + ) { + compiler.currentType = Type.v128; + return module.unreachable(); + } + let operands = ctx.operands; + let typeArguments = ctx.typeArguments!; + let type = typeArguments[0]; + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + if (type.isValue) { + switch (type.kind) { + case TypeKind.Isize: { + if (compiler.options.isWasm64) break; + // fall-through + } + case TypeKind.I32: return module.unary(UnaryOp.RelaxedTruncF64x2ToI32x4Zero, arg0); + case TypeKind.Usize: { + if (compiler.options.isWasm64) break; + // fall-through + } + case TypeKind.U32: return module.unary(UnaryOp.RelaxedTruncF64x2ToU32x4Zero, arg0); + } + } + compiler.error( + DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, + ctx.reportNode.typeArgumentsRange, "v128.relaxed_trunc_zero", type.toString() + ); + return module.unreachable(); } -builtinFunctions.set(BuiltinNames.i32_ctz, builtin_i32_ctz); +builtinFunctions.set(BuiltinNames.v128_relaxed_trunc_zero, builtin_v128_relaxed_trunc_zero); -// i64.ctz -> ctz -function builtin_i64_ctz(ctx: BuiltinFunctionContext): ExpressionRef { +// v128.relaxed_madd(a: v128, b: v128, c: v128) -> v128 +function builtin_v128_relaxed_madd(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | + checkTypeRequired(ctx) | + checkArgsRequired(ctx, 3) + ) { + compiler.currentType = Type.v128; + return module.unreachable(); + } + let operands = ctx.operands; + let typeArguments = ctx.typeArguments!; + let type = typeArguments[0]; + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit); + let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit); + if (type.isValue) { + switch (type.kind) { + case TypeKind.F32: return module.simd_ternary(SIMDTernaryOp.RelaxedMaddF32x4, arg0, arg1, arg2); + case TypeKind.F64: return module.simd_ternary(SIMDTernaryOp.RelaxedMaddF64x2, arg0, arg1, arg2); + } + } + compiler.error( + DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, + ctx.reportNode.typeArgumentsRange, "v128.relaxed_madd", type.toString() + ); + return module.unreachable(); +} +builtinFunctions.set(BuiltinNames.v128_relaxed_madd, builtin_v128_relaxed_madd); + +// v128.relaxed_nmadd(a: v128, b: v128, c: v128) -> v128 +function builtin_v128_relaxed_nmadd(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | + checkTypeRequired(ctx) | + checkArgsRequired(ctx, 3) + ) { + compiler.currentType = Type.v128; + return module.unreachable(); + } + let operands = ctx.operands; + let typeArguments = ctx.typeArguments!; + let type = typeArguments[0]; + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit); + let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit); + if (type.isValue) { + switch (type.kind) { + case TypeKind.F32: return module.simd_ternary(SIMDTernaryOp.RelaxedNmaddF32x4, arg0, arg1, arg2); + case TypeKind.F64: return module.simd_ternary(SIMDTernaryOp.RelaxedNmaddF64x2, arg0, arg1, arg2); + } + } + compiler.error( + DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, + ctx.reportNode.typeArgumentsRange, "v128.relaxed_nmadd", type.toString() + ); + return module.unreachable(); +} +builtinFunctions.set(BuiltinNames.v128_relaxed_nmadd, builtin_v128_relaxed_nmadd); + +// v128.relaxed_laneselect(a: v128, b: v128, m: v128) -> v128 +function builtin_v128_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | + checkTypeRequired(ctx) | + checkArgsRequired(ctx, 3) + ) { + compiler.currentType = Type.v128; + return module.unreachable(); + } + let operands = ctx.operands; + let typeArguments = ctx.typeArguments!; + let type = typeArguments[0]; + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit); + let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit); + if (type.isValue) { + switch (type.kind) { + case TypeKind.I8: + case TypeKind.U8: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI8x16, arg0, arg1, arg2); + case TypeKind.I16: + case TypeKind.U16: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI16x8, arg0, arg1, arg2); + case TypeKind.I32: + case TypeKind.U32: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI32x4, arg0, arg1, arg2); + case TypeKind.I64: + case TypeKind.U64: return module.simd_ternary(SIMDTernaryOp.RelaxedLaneselectI64x2, arg0, arg1, arg2); + case TypeKind.Isize: + case TypeKind.Usize: { + return module.simd_ternary( + compiler.options.isWasm64 + ? SIMDTernaryOp.RelaxedLaneselectI64x2 + : SIMDTernaryOp.RelaxedLaneselectI32x4, + arg0, arg1, arg2 + ); + } + } + } + compiler.error( + DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, + ctx.reportNode.typeArgumentsRange, "v128.relaxed_laneselect", type.toString() + ); + return module.unreachable(); +} +builtinFunctions.set(BuiltinNames.v128_relaxed_laneselect, builtin_v128_relaxed_laneselect); + +// v128.relaxed_min(a: v128, b: v128) -> v128 +function builtin_v128_relaxed_min(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | + checkTypeRequired(ctx) | + checkArgsRequired(ctx, 2) + ) { + compiler.currentType = Type.v128; + return module.unreachable(); + } + let operands = ctx.operands; + let typeArguments = ctx.typeArguments!; + let type = typeArguments[0]; + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit); + if (type.isValue) { + switch (type.kind) { + case TypeKind.F32: return module.binary(BinaryOp.RelaxedMinF32x4, arg0, arg1); + case TypeKind.F64: return module.binary(BinaryOp.RelaxedMinF64x2, arg0, arg1); + } + } + compiler.error( + DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, + ctx.reportNode.typeArgumentsRange, "v128.relaxed_min", type.toString() + ); + return module.unreachable(); +} +builtinFunctions.set(BuiltinNames.v128_relaxed_min, builtin_v128_relaxed_min); + +// v128.relaxed_max(a: v128, b: v128) -> v128 +function builtin_v128_relaxed_max(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | + checkTypeRequired(ctx) | + checkArgsRequired(ctx, 2) + ) { + compiler.currentType = Type.v128; + return module.unreachable(); + } + let operands = ctx.operands; + let typeArguments = ctx.typeArguments!; + let type = typeArguments[0]; + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit); + if (type.isValue) { + switch (type.kind) { + case TypeKind.F32: return module.binary(BinaryOp.RelaxedMaxF32x4, arg0, arg1); + case TypeKind.F64: return module.binary(BinaryOp.RelaxedMaxF64x2, arg0, arg1); + } + } + compiler.error( + DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, + ctx.reportNode.typeArgumentsRange, "v128.relaxed_max", type.toString() + ); + return module.unreachable(); +} +builtinFunctions.set(BuiltinNames.v128_relaxed_max, builtin_v128_relaxed_max); + +// v128.relaxed_q15mulr(a: v128, b: v128) -> v128 +function builtin_v128_relaxed_q15mulr(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | + checkTypeRequired(ctx) | + checkArgsRequired(ctx, 2) + ) { + compiler.currentType = Type.v128; + return module.unreachable(); + } + let operands = ctx.operands; + let typeArguments = ctx.typeArguments!; + let type = typeArguments[0]; + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit); + if (type.isValue) { + switch (type.kind) { + case TypeKind.I16: return module.binary(BinaryOp.RelaxedQ15MulrI16x8, arg0, arg1); + } + } + compiler.error( + DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, + ctx.reportNode.typeArgumentsRange, "v128.relaxed_q15mulr", type.toString() + ); + return module.unreachable(); +} +builtinFunctions.set(BuiltinNames.v128_relaxed_q15mulr, builtin_v128_relaxed_q15mulr); + +// v128.relaxed_dot(a: v128, b: v128) -> v128 +function builtin_v128_relaxed_dot(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | + checkArgsRequired(ctx, 2) | + checkTypeRequired(ctx) + ) { + compiler.currentType = Type.v128; + return module.unreachable(); + } + let operands = ctx.operands; + let typeArguments = ctx.typeArguments!; + let type = typeArguments[0]; + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit); + switch (type.kind) { + case TypeKind.I16: return module.binary(BinaryOp.RelaxedDotI8x16I7x16ToI16x8, arg0, arg1); + } + compiler.error( + DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, + ctx.reportNode.typeArgumentsRange, "v128.relaxed_dot", type.toString() + ); + return module.unreachable(); +} +builtinFunctions.set(BuiltinNames.v128_relaxed_dot, builtin_v128_relaxed_dot); + +// v128.relaxed_dot_add(a: v128, b: v128, c: v128) -> v128 +function builtin_v128_relaxed_dot_add(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkFeatureEnabled(ctx, Feature.RelaxedSimd) | + checkArgsRequired(ctx, 3) | + checkTypeRequired(ctx) + ) { + compiler.currentType = Type.v128; + return module.unreachable(); + } + let operands = ctx.operands; + let typeArguments = ctx.typeArguments!; + let type = typeArguments[0]; + let arg0 = compiler.compileExpression(operands[0], Type.v128, Constraints.ConvImplicit); + let arg1 = compiler.compileExpression(operands[1], Type.v128, Constraints.ConvImplicit); + let arg2 = compiler.compileExpression(operands[2], Type.v128, Constraints.ConvImplicit); + switch (type.kind) { + // TOOD: emulate relaxed_dot_add of i16 with multiple instructions? + case TypeKind.Isize: { + if (compiler.options.isWasm64) break; + // fall-through + } + case TypeKind.I32: return module.simd_ternary(SIMDTernaryOp.RelaxedDotI8x16I7x16AddToI32x4, arg0, arg1, arg2); + } + compiler.error( + DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, + ctx.reportNode.typeArgumentsRange, "v128.relaxed_dot_add", type.toString() + ); + return module.unreachable(); +} +builtinFunctions.set(BuiltinNames.v128_relaxed_dot_add, builtin_v128_relaxed_dot_add); + +// === Internal runtime ======================================================================= + +// __visit_globals(cookie: u32) -> void +function builtin_visit_globals(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkTypeAbsent(ctx) | + checkArgsRequired(ctx, 1) // cookie + ) { + compiler.currentType = Type.void; + return module.unreachable(); + } + let operands = ctx.operands; + let arg0 = compiler.compileExpression(operands[0], Type.u32, Constraints.ConvImplicit); + compiler.runtimeFeatures |= RuntimeFeatures.visitGlobals; + compiler.currentType = Type.void; + return module.call(BuiltinNames.visit_globals, [ arg0 ], TypeRef.None); +} +builtinFunctions.set(BuiltinNames.visit_globals, builtin_visit_globals); + +// __visit_members(ref: usize, cookie: u32) -> void +function builtin_visit_members(ctx: BuiltinFunctionContext): ExpressionRef { + let compiler = ctx.compiler; + let module = compiler.module; + if ( + checkTypeAbsent(ctx) | + checkArgsRequired(ctx, 2) // ref, cookie + ) { + compiler.currentType = Type.void; + return module.unreachable(); + } + let operands = ctx.operands; + let arg0 = compiler.compileExpression(operands[0], compiler.options.usizeType, Constraints.ConvImplicit); + let arg1 = compiler.compileExpression(operands[1], Type.u32, Constraints.ConvImplicit); + compiler.runtimeFeatures |= RuntimeFeatures.visitMembers; + compiler.currentType = Type.void; + return module.call(BuiltinNames.visit_members, [ arg0, arg1 ], TypeRef.None); +} +builtinFunctions.set(BuiltinNames.visit_members, builtin_visit_members); + +// === Inline assembler ======================================================================= + +// TODO: Operators can't be just deferred (don't have a corresponding generic built-in) +// add, sub, mul, div_s, div_u, rem_s, rem_u +// and, or, xor, shl, shr_u, shr_s +// eq, eqz, ne, lt_s, lt_u, le_s, le_u, gt_s, gt_u, ge_s, ge_u + +// i32.clz -> clz +function builtin_i32_clz(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i32 ]; + ctx.contextualType = Type.i32; + return builtin_clz(ctx); +} +builtinFunctions.set(BuiltinNames.i32_clz, builtin_i32_clz); + +// i64.clz -> clz +function builtin_i64_clz(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i64 ]; + ctx.contextualType = Type.i64; + return builtin_clz(ctx); +} +builtinFunctions.set(BuiltinNames.i64_clz, builtin_i64_clz); + +// i32.ctz -> ctz +function builtin_i32_ctz(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i32 ]; + ctx.contextualType = Type.i32; + return builtin_ctz(ctx); +} +builtinFunctions.set(BuiltinNames.i32_ctz, builtin_i32_ctz); + +// i64.ctz -> ctz +function builtin_i64_ctz(ctx: BuiltinFunctionContext): ExpressionRef { checkTypeAbsent(ctx); ctx.typeArguments = [ Type.i64 ]; ctx.contextualType = Type.i64; @@ -8688,6 +9073,7 @@ builtinFunctions.set(BuiltinNames.i8x16_shuffle, builtin_i8x16_shuffle); // i8x16.swizzle -> v128.swizzle function builtin_i8x16_swizzle(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); ctx.typeArguments = null; ctx.contextualType = Type.v128; return builtin_v128_swizzle(ctx); @@ -9117,14 +9503,6 @@ function builtin_i16x8_shuffle(ctx: BuiltinFunctionContext): ExpressionRef { } builtinFunctions.set(BuiltinNames.i16x8_shuffle, builtin_i16x8_shuffle); -// i16x8.swizzle -> v128.swizzle -function builtin_i16x8_swizzle(ctx: BuiltinFunctionContext): ExpressionRef { - ctx.typeArguments = null; - ctx.contextualType = Type.v128; - return builtin_v128_swizzle(ctx); -} -builtinFunctions.set(BuiltinNames.i16x8_swizzle, builtin_i16x8_swizzle); - // i32x4.splat -> v128.splat function builtin_i32x4_splat(ctx: BuiltinFunctionContext): ExpressionRef { checkTypeAbsent(ctx); @@ -9512,14 +9890,6 @@ function builtin_i32x4_shuffle(ctx: BuiltinFunctionContext): ExpressionRef { } builtinFunctions.set(BuiltinNames.i32x4_shuffle, builtin_i32x4_shuffle); -// i32x4.swizzle -> v128.swizzle -function builtin_i32x4_swizzle(ctx: BuiltinFunctionContext): ExpressionRef { - ctx.typeArguments = null; - ctx.contextualType = Type.v128; - return builtin_v128_swizzle(ctx); -} -builtinFunctions.set(BuiltinNames.i32x4_swizzle, builtin_i32x4_swizzle); - // i64x2.splat -> v128.splat function builtin_i64x2_splat(ctx: BuiltinFunctionContext): ExpressionRef { checkTypeAbsent(ctx); @@ -9772,14 +10142,6 @@ function builtin_i64x2_shuffle(ctx: BuiltinFunctionContext): ExpressionRef { } builtinFunctions.set(BuiltinNames.i64x2_shuffle, builtin_i64x2_shuffle); -// i64x2.swizzle -> v128.swizzle -function builtin_i64x2_swizzle(ctx: BuiltinFunctionContext): ExpressionRef { - ctx.typeArguments = null; - ctx.contextualType = Type.v128; - return builtin_v128_swizzle(ctx); -} -builtinFunctions.set(BuiltinNames.i64x2_swizzle, builtin_i64x2_swizzle); - // f32x4.splat -> v128.splat function builtin_f32x4_splat(ctx: BuiltinFunctionContext): ExpressionRef { checkTypeAbsent(ctx); @@ -10032,14 +10394,6 @@ function builtin_f32x4_shuffle(ctx: BuiltinFunctionContext): ExpressionRef { } builtinFunctions.set(BuiltinNames.f32x4_shuffle, builtin_f32x4_shuffle); -// f32x4.swizzle -> v128.swizzle -function builtin_f32x4_swizzle(ctx: BuiltinFunctionContext): ExpressionRef { - ctx.typeArguments = null; - ctx.contextualType = Type.v128; - return builtin_v128_swizzle(ctx); -} -builtinFunctions.set(BuiltinNames.f32x4_swizzle, builtin_f32x4_swizzle); - // f64x2.splat -> v128.splat function builtin_f64x2_splat(ctx: BuiltinFunctionContext): ExpressionRef { checkTypeAbsent(ctx); @@ -10292,13 +10646,185 @@ function builtin_f64x2_shuffle(ctx: BuiltinFunctionContext): ExpressionRef { } builtinFunctions.set(BuiltinNames.f64x2_shuffle, builtin_f64x2_shuffle); -// f64x2.swizzle -> v128.swizzle -function builtin_f64x2_swizzle(ctx: BuiltinFunctionContext): ExpressionRef { +// i8x16.relaxed_swizzle -> v128.relaxed_swizzle +function builtin_i8x16_relaxed_swizzle(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); ctx.typeArguments = null; ctx.contextualType = Type.v128; - return builtin_v128_swizzle(ctx); + return builtin_v128_relaxed_swizzle(ctx); +} +builtinFunctions.set(BuiltinNames.i8x16_relaxed_swizzle, builtin_i8x16_relaxed_swizzle); + +// i32x4.relaxed_trunc_f32x4_s -> v128.relaxed_trunc +function builtin_i32x4_relaxed_trunc_f32x4_s(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i32 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_trunc(ctx); } -builtinFunctions.set(BuiltinNames.f64x2_swizzle, builtin_f64x2_swizzle); +builtinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f32x4_s, builtin_i32x4_relaxed_trunc_f32x4_s); + +// i32x4.relaxed_trunc_f32x4_u -> v128.relaxed_trunc +function builtin_i32x4_relaxed_trunc_f32x4_u(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.u32 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_trunc(ctx); +} +builtinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f32x4_u, builtin_i32x4_relaxed_trunc_f32x4_u); + +// i32x4.relaxed_trunc_f64x2_s_zero -> v128.relaxed_trunc_zero +function builtin_i32x4_relaxed_trunc_f64x2_s_zero(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i32 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_trunc_zero(ctx); +} +builtinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f64x2_s_zero, builtin_i32x4_relaxed_trunc_f64x2_s_zero); + +// i32x4.relaxed_trunc_f64x2_u_zero -> v128.relaxed_trunc_zero +function builtin_i32x4_relaxed_trunc_f64x2_u_zero(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.u32 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_trunc_zero(ctx); +} +builtinFunctions.set(BuiltinNames.i32x4_relaxed_trunc_f64x2_u_zero, builtin_i32x4_relaxed_trunc_f64x2_u_zero); + +// f32x4.relaxed_madd -> v128.relaxed_madd +function builtin_f32x4_relaxed_madd(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.f32 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_madd(ctx); +} +builtinFunctions.set(BuiltinNames.f32x4_relaxed_madd, builtin_f32x4_relaxed_madd); + +// f32x4.relaxed_nmadd -> v128.relaxed_nmadd +function builtin_f32x4_relaxed_nmadd(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.f32 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_nmadd(ctx); +} +builtinFunctions.set(BuiltinNames.f32x4_relaxed_nmadd, builtin_f32x4_relaxed_nmadd); + +// f64x2.relaxed_madd -> v128.relaxed_madd +function builtin_f64x2_relaxed_madd(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.f64 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_madd(ctx); +} +builtinFunctions.set(BuiltinNames.f64x2_relaxed_madd, builtin_f64x2_relaxed_madd); + +// f64x2.relaxed_nmadd -> v128.relaxed_nmadd +function builtin_f64x2_relaxed_nmadd(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.f64 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_nmadd(ctx); +} +builtinFunctions.set(BuiltinNames.f64x2_relaxed_nmadd, builtin_f64x2_relaxed_nmadd); + +// i8x16.relaxed_laneselect -> v128.relaxed_laneselect +function builtin_i8x16_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i8 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_laneselect(ctx); +} +builtinFunctions.set(BuiltinNames.i8x16_relaxed_laneselect, builtin_i8x16_relaxed_laneselect); + +// i16x8.relaxed_laneselect -> v128.relaxed_laneselect +function builtin_i16x8_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i16 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_laneselect(ctx); +} +builtinFunctions.set(BuiltinNames.i16x8_relaxed_laneselect, builtin_i16x8_relaxed_laneselect); + +// i32x4.relaxed_laneselect -> v128.relaxed_laneselect +function builtin_i32x4_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i32 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_laneselect(ctx); +} +builtinFunctions.set(BuiltinNames.i32x4_relaxed_laneselect, builtin_i32x4_relaxed_laneselect); + +// i64x2.relaxed_laneselect -> v128.relaxed_laneselect +function builtin_i64x2_relaxed_laneselect(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i64 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_laneselect(ctx); +} +builtinFunctions.set(BuiltinNames.i64x2_relaxed_laneselect, builtin_i64x2_relaxed_laneselect); + +// f32x4.relaxed_min -> v128.relaxed_min +function builtin_f32x4_relaxed_min(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.f32 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_min(ctx); +} +builtinFunctions.set(BuiltinNames.f32x4_relaxed_min, builtin_f32x4_relaxed_min); + +// f32x4.relaxed_max -> v128.relaxed_max +function builtin_f32x4_relaxed_max(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.f32 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_max(ctx); +} +builtinFunctions.set(BuiltinNames.f32x4_relaxed_max, builtin_f32x4_relaxed_max); + +// f64x2.relaxed_min -> v128.relaxed_min +function builtin_f64x2_relaxed_min(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.f64 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_min(ctx); +} +builtinFunctions.set(BuiltinNames.f64x2_relaxed_min, builtin_f64x2_relaxed_min); + +// f64x2.relaxed_max -> v128.relaxed_max +function builtin_f64x2_relaxed_max(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.f64 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_max(ctx); +} +builtinFunctions.set(BuiltinNames.f64x2_relaxed_max, builtin_f64x2_relaxed_max); + +// i16x8.relaxed_q15mulr_s -> v128.relaxed_q15mulr +function builtin_i16x8_relaxed_q15mulr_s(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i16 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_q15mulr(ctx); +} +builtinFunctions.set(BuiltinNames.i16x8_relaxed_q15mulr_s, builtin_i16x8_relaxed_q15mulr_s); + +// i16x8.relaxed_dot_i8x16_i7x16_s -> v128.relaxed_dot +function builtin_i16x8_relaxed_dot_i8x16_i7x16_s(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i16 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_dot(ctx); +} +builtinFunctions.set(BuiltinNames.i16x8_relaxed_dot_i8x16_i7x16_s, builtin_i16x8_relaxed_dot_i8x16_i7x16_s); + +// i32x4.relaxed_dot_i8x16_i7x16_add_s -> v128.relaxed_dot_add +function builtin_i32x4_relaxed_dot_i8x16_i7x16_add_s(ctx: BuiltinFunctionContext): ExpressionRef { + checkTypeAbsent(ctx); + ctx.typeArguments = [ Type.i32 ]; + ctx.contextualType = Type.v128; + return builtin_v128_relaxed_dot_add(ctx); +} +builtinFunctions.set(BuiltinNames.i32x4_relaxed_dot_i8x16_i7x16_add_s, builtin_i32x4_relaxed_dot_i8x16_i7x16_add_s); // === Internal helpers ======================================================================= @@ -10437,20 +10963,14 @@ function ensureVisitMembersOf(compiler: Compiler, instance: Class): void { assert(fieldOffset >= 0); needsTempValue = true; body.push( - // if ($2 = value) __visit($2, $1) - module.if( - module.local_tee(2, - module.load(sizeTypeSize, false, - module.local_get(0, sizeTypeRef), - sizeTypeRef, fieldOffset - ), - false // internal - ), - module.call(visitInstance.internalName, [ - module.local_get(2, sizeTypeRef), // value - module.local_get(1, TypeRef.I32) // cookie - ], TypeRef.None) - ) + // __visit(load($this, fieldOffset), $cookie) + module.call(visitInstance.internalName, [ + module.load(sizeTypeSize, false, + module.local_get(0, sizeTypeRef), + sizeTypeRef, fieldOffset + ), // value + module.local_get(1, TypeRef.I32) // cookie + ], TypeRef.None) ); } } diff --git a/src/common.ts b/src/common.ts index 8e03684d05..3cc25a0845 100644 --- a/src/common.ts +++ b/src/common.ts @@ -81,7 +81,9 @@ export const enum CommonFlags { // Other /** Is quoted. */ - Quoted = 1 << 30 + Quoted = 1 << 30, + /** Is internally nullable. */ + InternallyNullable = 1 << 31 } /** Path delimiter inserted between file system levels. */ @@ -126,17 +128,17 @@ export namespace CommonNames { export const f32 = "f32"; export const f64 = "f64"; export const v128 = "v128"; - export const funcref = "funcref"; - export const externref = "externref"; - export const anyref = "anyref"; - export const eqref = "eqref"; - export const structref = "structref"; - export const arrayref = "arrayref"; - export const i31ref = "i31ref"; - export const stringref = "stringref"; - export const stringview_wtf8 = "stringview_wtf8"; - export const stringview_wtf16 = "stringview_wtf16"; - export const stringview_iter = "stringview_iter"; + export const ref_func = "ref_func"; + export const ref_extern = "ref_extern"; + export const ref_any = "ref_any"; + export const ref_eq = "ref_eq"; + export const ref_struct = "ref_struct"; + export const ref_array = "ref_array"; + export const ref_i31 = "ref_i31"; + export const ref_string = "ref_string"; + export const ref_stringview_wtf8 = "ref_stringview_wtf8"; + export const ref_stringview_wtf16 = "ref_stringview_wtf16"; + export const ref_stringview_iter = "ref_stringview_iter"; export const i8x16 = "i8x16"; export const u8x16 = "u8x16"; export const i16x8 = "i16x8"; @@ -192,6 +194,8 @@ export namespace CommonNames { export const ASC_VERSION_MAJOR = "ASC_VERSION_MAJOR"; export const ASC_VERSION_MINOR = "ASC_VERSION_MINOR"; export const ASC_VERSION_PATCH = "ASC_VERSION_PATCH"; + // enums + export const EnumToString = "__enum_to_string"; // classes export const I8 = "I8"; export const I16 = "I16"; @@ -207,13 +211,14 @@ export namespace CommonNames { export const F32 = "F32"; export const F64 = "F64"; export const V128 = "V128"; - export const Funcref = "Funcref"; - export const Externref = "Externref"; - export const Anyref = "Anyref"; - export const Eqref = "Eqref"; - export const Structref = "Structref"; - export const Arrayref = "Arrayref"; - export const I31ref = "I31ref"; + export const RefFunc = "RefFunc"; + export const RefExtern = "RefExtern"; + export const RefAny = "RefAny"; + export const RefEq = "RefEq"; + export const RefStruct = "RefStruct"; + export const RefArray = "RefArray"; + export const RefI31 = "RefI31"; + export const RefString = "RefString"; export const String = "String"; export const RegExp = "RegExp"; export const Object = "Object"; diff --git a/src/compiler.ts b/src/compiler.ts index 25e094503a..36f09ab8aa 100644 --- a/src/compiler.ts +++ b/src/compiler.ts @@ -48,18 +48,17 @@ import { getBlockChildCount, getBlockChildAt, getBlockName, - getLocalSetValue, getGlobalGetName, isGlobalMutable, getSideEffects, SideEffects, SwitchBuilder, ExpressionRunnerFlags, - isConstZero, isConstNegZero, isConstExpressionNaN, ensureType, - createType + createType, + getConstValueInteger } from "./module"; import { @@ -93,7 +92,8 @@ import { PropertyPrototype, IndexSignature, File, - mangleInternalName + mangleInternalName, + TypeDefinition } from "./program"; import { @@ -180,7 +180,9 @@ import { findDecorator, isTypeOmitted, - Source + Source, + TypeDeclaration, + ParameterKind } from "./ast"; import { @@ -221,6 +223,12 @@ import { lowerRequiresExportRuntime } from "./bindings/js"; +/** Features enabled by default. */ +export const defaultFeatures = Feature.MutableGlobals + | Feature.SignExtension + | Feature.NontrappingF2I + | Feature.BulkMemory; + /** Compiler options. */ export class Options { constructor() { /* as internref */ } @@ -261,11 +269,8 @@ export class Options { tableBase: u32 = 0; /** Global aliases, mapping alias names as the key to internal names to be aliased as the value. */ globalAliases: Map | null = null; - /** Features to activate by default. These are the finished proposals. */ - features: Feature = Feature.MutableGlobals - | Feature.SignExtension - | Feature.NontrappingF2I - | Feature.BulkMemory; + /** Features to activate by default. */ + features: Feature = defaultFeatures; /** If true, disallows unsafe features in user code. */ noUnsafe: bool = false; /** If true, enables pedantic diagnostics. */ @@ -317,6 +322,27 @@ export class Options { return this.optimizeLevelHint > 0 || this.shrinkLevelHint > 0; } + /** Sets whether a feature is enabled. */ + setFeature(feature: Feature, on: bool = true): void { + if (on) { + // Enabling Stringref also enables GC + if (feature & Feature.Stringref) feature |= Feature.GC; + // Enabling GC also enables Reference Types + if (feature & Feature.GC) feature |= Feature.ReferenceTypes; + // Enabling Relaxed SIMD also enables SIMD + if (feature & Feature.RelaxedSimd) feature |= Feature.Simd; + this.features |= feature; + } else { + // Disabling Reference Types also disables GC + if (feature & Feature.ReferenceTypes) feature |= Feature.GC; + // Disabling GC also disables Stringref + if (feature & Feature.GC) feature |= Feature.Stringref; + // Disabling SIMD also disables Relaxed SIMD + if (feature & Feature.Simd) feature |= Feature.RelaxedSimd; + this.features &= ~feature; + } + } + /** Tests if a specific feature is activated. */ hasFeature(feature: Feature): bool { return (this.features & feature) != 0; @@ -394,9 +420,9 @@ export namespace ExportNames { } /** Functions to export if `--exportRuntime` is set. */ -const runtimeFunctions = [ "__new", "__pin", "__unpin", "__collect" ]; +export const runtimeFunctions = [ "__new", "__pin", "__unpin", "__collect" ]; /** Globals to export if `--exportRuntime` is set. */ -const runtimeGlobals = [ "__rtti_base" ]; +export const runtimeGlobals = [ "__rtti_base" ]; /** Compiler interface. */ export class Compiler extends DiagnosticEmitter { @@ -424,6 +450,8 @@ export class Compiler extends DiagnosticEmitter { memorySegments: MemorySegment[] = []; /** Map of already compiled static string segments. */ stringSegments: Map = new Map(); + /** Set of static GC object offsets. tostack is unnecessary for them. */ + staticGcObjectOffsets: Map> = new Map(); /** Function table being compiled. First elem is blank. */ functionTable: Function[] = []; /** Arguments length helper global. */ @@ -509,6 +537,12 @@ export class Compiler extends DiagnosticEmitter { // initialize lookup maps, built-ins, imports, exports, etc. this.program.initialize(); + + // Binaryen treats all function references as being leaked to the outside world when + // the module isn't marked as closed-world (see WebAssembly/binaryen#7135). Therefore, + // we should mark the module as closed-world when we're definitely sure it is. + module.setClosedWorld(true); + // obtain the main start function let startFunctionInstance = this.currentFlow.targetFunction; assert(startFunctionInstance.internalName == BuiltinNames.start); @@ -830,6 +864,7 @@ export class Compiler extends DiagnosticEmitter { ImportNames.DefaultNamespace, ImportNames.Table ); + module.setClosedWorld(false); if (options.pedantic && options.willOptimize) { this.pedantic( DiagnosticCode.Importing_the_table_disables_some_indirect_call_optimizations, @@ -839,6 +874,7 @@ export class Compiler extends DiagnosticEmitter { } if (options.exportTable) { module.addTableExport(CommonNames.DefaultTable, ExportNames.Table); + module.setClosedWorld(false); if (options.pedantic && options.willOptimize) { this.pedantic( DiagnosticCode.Exporting_the_table_disables_some_indirect_call_optimizations, @@ -950,6 +986,7 @@ export class Compiler extends DiagnosticEmitter { } } } + if (functionInstance.signature.returnType.kind == TypeKind.Func) this.module.setClosedWorld(false); } return; } @@ -980,6 +1017,7 @@ export class Compiler extends DiagnosticEmitter { this.desiresExportRuntime = true; } } + if (global.type.kind == TypeKind.Func) this.module.setClosedWorld(false); } if (global.type == Type.v128) { this.warning( @@ -1132,7 +1170,7 @@ export class Compiler extends DiagnosticEmitter { // Resolve type if annotated if (typeNode) { - let resolvedType = this.resolver.resolveType(typeNode, global.parent); // reports + let resolvedType = this.resolver.resolveType(typeNode, null, global.parent); // reports if (!resolvedType) { global.set(CommonFlags.Errored); pendingElements.delete(global); @@ -1357,7 +1395,14 @@ export class Compiler extends DiagnosticEmitter { findDecorator(DecoratorKind.Inline, global.decoratorNodes)!.range, "inline" ); } - module.addGlobal(internalName, typeRef, true, this.makeZero(type)); + let internalType = type; + if (type.isExternalReference && !type.is(TypeFlags.Nullable)) { + // There is no default value for non-nullable external references, so + // make the global nullable internally and use `null`. + global.set(CommonFlags.InternallyNullable); + internalType = type.asNullable(); + } + module.addGlobal(internalName, internalType.toRef(), true, this.makeZero(internalType)); this.currentBody.push( module.global_set(internalName, initExpr) ); @@ -1477,6 +1522,49 @@ export class Compiler extends DiagnosticEmitter { return true; } + private ensureEnumToString(enumElement: Enum, reportNode: Node): string | null { + if (enumElement.toStringFunctionName) return enumElement.toStringFunctionName; + + if (!this.compileEnum(enumElement)) return null; + if (enumElement.is(CommonFlags.Const)) { + this.errorRelated( + DiagnosticCode.A_const_enum_member_can_only_be_accessed_using_a_string_literal, + reportNode.range, enumElement.identifierNode.range + ); + return null; + } + + let members = enumElement.members; + if (!members) return null; + + let module = this.module; + const isInline = enumElement.hasDecorator(DecoratorFlags.Inline); + + const functionName = `${enumElement.internalName}#${CommonNames.EnumToString}`; + enumElement.toStringFunctionName = functionName; + + let exprs = new Array(); + // when the values are the same, TS returns the last enum value name that appears + for (let _keys = Map_keys(members), _values = Map_values(members), i = 1, k = _keys.length; i <= k; ++i) { + let enumValueName = unchecked(_keys[k - i]); + let member = unchecked(_values[k - i]); + if (member.kind != ElementKind.EnumValue) continue; + let enumValue = member; + const enumValueExpr = isInline + ? module.i32(i64_low(enumValue.constantIntegerValue)) + : module.global_get(enumValue.internalName, TypeRef.I32); + let expr = module.if( + module.binary(BinaryOp.EqI32, enumValueExpr, module.local_get(0, TypeRef.I32)), + module.return(this.ensureStaticString(enumValueName)) + ); + exprs.push(expr); + } + exprs.push(module.unreachable()); + module.addFunction(functionName, TypeRef.I32, TypeRef.I32, null, module.block(null, exprs, TypeRef.I32)); + + return functionName; + } + // === Functions ================================================================================ /** Compiles a priorly resolved function. */ @@ -1757,7 +1845,7 @@ export class Compiler extends DiagnosticEmitter { // Implicitly return `this` if the flow falls through if (!flow.is(FlowFlags.Terminates)) { stmts.push( - module.local_get(thisLocal.index, this.options.sizeTypeRef) + module.local_get(thisLocal.index, thisLocal.type.toRef()) ); flow.set(FlowFlags.Returns | FlowFlags.ReturnsNonNull | FlowFlags.Terminates); } @@ -1895,7 +1983,16 @@ export class Compiler extends DiagnosticEmitter { stringSegment = this.addRuntimeMemorySegment(buf); segments.set(stringValue, stringSegment); } - return i64_add(stringSegment.offset, i64_new(totalOverhead)); + let stringOffset = i64_add(stringSegment.offset, i64_new(totalOverhead)); + let staticGcObjectOffsets = this.staticGcObjectOffsets; + if (staticGcObjectOffsets.has(i64_high(stringOffset))) { + assert(staticGcObjectOffsets.get(i64_high(stringOffset))).add(i64_low(stringOffset)); + } else { + let s = new Set(); + s.add(i64_low(stringOffset)); + staticGcObjectOffsets.set(i64_high(stringOffset), s); + } + return stringOffset; } /** Writes a series of static values of the specified type to a buffer. */ @@ -2207,13 +2304,7 @@ export class Compiler extends DiagnosticEmitter { break; } case NodeKind.TypeDeclaration: { - // TODO: integrate inner type declaration into flow - this.error( - DiagnosticCode.Not_implemented_0, - statement.range, - "Inner type alias" - ); - stmt = module.unreachable(); + stmt = this.compileTypeDeclaration(statement); break; } case NodeKind.Module: { @@ -2274,6 +2365,24 @@ export class Compiler extends DiagnosticEmitter { return this.module.flatten(stmts); } + private compileTypeDeclaration(statement: TypeDeclaration): ExpressionRef { + let flow = this.currentFlow; + let name = statement.name.text; + let existedTypeAlias = flow.lookupScopedTypeAlias(name); + if (existedTypeAlias) { + this.errorRelated( + DiagnosticCode.Duplicate_identifier_0, + statement.range, + existedTypeAlias.declaration.range, + name + ); + return this.module.unreachable(); + } + let element = new TypeDefinition(name, flow.sourceFunction, statement, DecoratorFlags.None); + flow.addScopedTypeAlias(name, element); + return this.module.nop(); + } + private compileBreakStatement( statement: BreakStatement ): ExpressionRef { @@ -2550,11 +2659,20 @@ export class Compiler extends DiagnosticEmitter { bodyStmts.length = 1; } + if (condKind == ConditionKind.True) { + // Body executes at least once + flow.inherit(bodyFlow); + } else { + // Otherwise executes conditionally + flow.mergeBranch(bodyFlow); + } + // Compile the incrementor if it possibly executes let possiblyLoops = possiblyContinues || possiblyFallsThrough; if (possiblyLoops) { let incrementor = statement.incrementor; if (incrementor) { + this.currentFlow = flow; bodyStmts.push( this.compileExpression(incrementor, Type.void, Constraints.ConvImplicit | Constraints.WillDrop) ); @@ -2572,14 +2690,6 @@ export class Compiler extends DiagnosticEmitter { } } - // Body executes at least once - if (condKind == ConditionKind.True) { - flow.inherit(bodyFlow); - - // Otherwise executes conditionally - } else { - flow.mergeBranch(bodyFlow); - } // Finalize outerFlow.inherit(flow); @@ -2759,19 +2869,18 @@ export class Compiler extends DiagnosticEmitter { let numCases = cases.length; // Compile the condition (always executes) - let condExpr = this.compileExpression(statement.condition, Type.u32, - Constraints.ConvImplicit - ); - + let condExpr = this.compileExpression(statement.condition, Type.auto); + let condType = this.currentType; + // Shortcut if there are no cases if (!numCases) return module.drop(condExpr); // Assign the condition to a temporary local as we compare it multiple times let outerFlow = this.currentFlow; - let tempLocal = outerFlow.getTempLocal(Type.u32); + let tempLocal = outerFlow.getTempLocal(condType); let tempLocalIndex = tempLocal.index; let breaks = new Array(1 + numCases); - breaks[0] = module.local_set(tempLocalIndex, condExpr, false); // u32 + breaks[0] = module.local_set(tempLocalIndex, condExpr, condType.isManaged); // Make one br_if per labeled case and leave it to Binaryen to optimize the // sequence of br_ifs to a br_table according to optimization levels @@ -2784,14 +2893,24 @@ export class Compiler extends DiagnosticEmitter { defaultIndex = i; continue; } - breaks[breakIndex++] = module.br(`case${i}|${label}`, - module.binary(BinaryOp.EqI32, - module.local_get(tempLocalIndex, TypeRef.I32), - this.compileExpression(assert(case_.label), Type.u32, - Constraints.ConvImplicit - ) - ) + + // Compile the equality expression for this case + const left = statement.condition; + const leftExpr = module.local_get(tempLocalIndex, condType.toRef()); + const leftType = condType; + const right = case_.label!; + const rightExpr = this.compileExpression(assert(case_.label), condType, Constraints.ConvImplicit); + const rightType = this.currentType; + const equalityExpr = this.compileCommutativeCompareBinaryExpressionFromParts( + Token.Equals_Equals, + left, leftExpr, leftType, + right, rightExpr, rightType, + condType, + statement ); + + // Add it to the list of breaks + breaks[breakIndex++] = module.br(`case${i}|${label}`, equalityExpr); } // If there is a default case, break to it, otherwise break out of the switch @@ -2931,7 +3050,7 @@ export class Compiler extends DiagnosticEmitter { let initializerNode = declaration.initializer; if (typeNode) { type = resolver.resolveType( // reports - typeNode, + typeNode, flow, flow.sourceFunction, cloneMap(flow.contextualTypeArguments) ); @@ -3602,43 +3721,29 @@ export class Compiler extends DiagnosticEmitter { // int to float } else if (fromType.isIntegerValue && toType.isFloatValue) { - + // Clear extra bits. + expr = this.ensureSmallIntegerWrap(expr, fromType); + let op: UnaryOp; // int to f32 if (toType.kind == TypeKind.F32) { if (fromType.isLongIntegerValue) { - expr = module.unary( - fromType.isSignedIntegerValue - ? UnaryOp.ConvertI64ToF32 - : UnaryOp.ConvertU64ToF32, - expr - ); + if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI64ToF32; + else op = UnaryOp.ConvertU64ToF32; } else { - expr = module.unary( - fromType.isSignedIntegerValue - ? UnaryOp.ConvertI32ToF32 - : UnaryOp.ConvertU32ToF32, - expr - ); + if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI32ToF32; + else op = UnaryOp.ConvertU32ToF32; } - // int to f64 } else { if (fromType.isLongIntegerValue) { - expr = module.unary( - fromType.isSignedIntegerValue - ? UnaryOp.ConvertI64ToF64 - : UnaryOp.ConvertU64ToF64, - expr - ); + if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI64ToF64; + else op = UnaryOp.ConvertU64ToF64; } else { - expr = module.unary( - fromType.isSignedIntegerValue - ? UnaryOp.ConvertI32ToF64 - : UnaryOp.ConvertU32ToF64, - expr - ); + if (fromType.isSignedIntegerValue) op = UnaryOp.ConvertI32ToF64; + else op = UnaryOp.ConvertU32ToF64; } } + expr = module.unary(op, expr); // v128 to bool } else if (fromType == Type.v128 && toType.isBooleanValue) { @@ -3698,7 +3803,7 @@ export class Compiler extends DiagnosticEmitter { case AssertionKind.As: { let flow = this.currentFlow; let toType = this.resolver.resolveType( // reports - assert(expression.toType), + assert(expression.toType), flow, flow.sourceFunction, cloneMap(flow.contextualTypeArguments) ); @@ -3752,270 +3857,222 @@ export class Compiler extends DiagnosticEmitter { private i32PowInstance: Function | null = null; private i64PowInstance: Function | null = null; - private compileBinaryExpression( + /** compile `==` `===` `!=` `!==` BinaryExpression */ + private compileCommutativeCompareBinaryExpression( + expression: BinaryExpression, + contextualType: Type, + ): ExpressionRef { + + const left = expression.left; + const leftExpr = this.compileExpression(left, contextualType); + const leftType = this.currentType; + + const right = expression.right; + const rightExpr = this.compileExpression(right, leftType); + const rightType = this.currentType; + + return this.compileCommutativeCompareBinaryExpressionFromParts( + expression.operator, + left, leftExpr, leftType, + right, rightExpr, rightType, + contextualType, + expression + ); + } + + /** + * compile `==` `===` `!=` `!==` BinaryExpression, from previously compiled left and right expressions. + * + * This is split from `compileCommutativeCompareBinaryExpression` so that the logic can be reused + * for switch cases in `compileSwitchStatement`, where the left expression only should be compiled once. + */ + private compileCommutativeCompareBinaryExpressionFromParts( + operator: Token, + left: Expression, + leftExpr: ExpressionRef, + leftType: Type, + right: Expression, + rightExpr: ExpressionRef, + rightType: Type, + contextualType: Type, + reportNode: Node + ): ExpressionRef { + + let module = this.module; + let operatorString = operatorTokenToString(operator); + + // check operator overload + const operatorKind = OperatorKind.fromBinaryToken(operator); + const leftOverload = leftType.lookupOverload(operatorKind, this.program); + const rightOverload = rightType.lookupOverload(operatorKind, this.program); + if (leftOverload && rightOverload && leftOverload != rightOverload) { + this.error( + DiagnosticCode.Ambiguous_operator_overload_0_conflicting_overloads_1_and_2, + reportNode.range, + operatorString, + leftOverload.internalName, + rightOverload.internalName + ); + this.currentType = contextualType; + return module.unreachable(); + } + if (leftOverload) { + return this.compileCommutativeBinaryOverload( + leftOverload, + left, leftExpr, leftType, + right, rightExpr, rightType, + reportNode + ); + } + if (rightOverload) { + return this.compileCommutativeBinaryOverload( + rightOverload, + right, rightExpr, rightType, + left, leftExpr, leftType, + reportNode + ); + } + const signednessIsRelevant = false; + const commonType = Type.commonType(leftType, rightType, contextualType, signednessIsRelevant); + if (!commonType) { + this.error( + DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, + reportNode.range, + operatorString, + leftType.toString(), + rightType.toString() + ); + this.currentType = contextualType; + return module.unreachable(); + } + + if (commonType.isFloatValue) { + if (isConstExpressionNaN(module, rightExpr) || isConstExpressionNaN(module, leftExpr)) { + this.warning( + DiagnosticCode._NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead, + reportNode.range + ); + } + if (isConstNegZero(rightExpr) || isConstNegZero(leftExpr)) { + this.warning( + DiagnosticCode.Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters, + reportNode.range + ); + } + } + + leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left); + leftType = commonType; + rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right); + rightType = commonType; + + this.currentType = Type.bool; + switch (operator) { + case Token.Equals_Equals_Equals: + case Token.Equals_Equals: + return this.makeEq(leftExpr, rightExpr, commonType, reportNode); + case Token.Exclamation_Equals_Equals: + case Token.Exclamation_Equals: + return this.makeNe(leftExpr, rightExpr, commonType, reportNode); + default: + assert(false); + return module.unreachable(); + } + } + + /** compile `>` `>=` `<` `<=` BinaryExpression */ + private compileNonCommutativeCompareBinaryExpression( expression: BinaryExpression, contextualType: Type, - constraints: Constraints ): ExpressionRef { let module = this.module; let left = expression.left; let right = expression.right; - let leftExpr: ExpressionRef; let leftType: Type; let rightExpr: ExpressionRef; let rightType: Type; let commonType: Type | null; - - let expr: ExpressionRef; - let compound = false; - let operator = expression.operator; - switch (operator) { - case Token.LessThan: { - leftExpr = this.compileExpression(left, contextualType); - leftType = this.currentType; + let operatorString = operatorTokenToString(operator); - // check operator overload - let classReference = leftType.getClassOrWrapper(this.program); - if (classReference) { - let overload = classReference.lookupOverload(OperatorKind.Lt); - if (overload) { - expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression); - break; - } - } - - rightExpr = this.compileExpression(right, leftType); - rightType = this.currentType; - commonType = Type.commonType(leftType, rightType, contextualType, true); - if (!commonType || !commonType.isNumericValue) { - this.error( - DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, - expression.range, "<", leftType.toString(), rightType.toString() - ); - this.currentType = contextualType; - return module.unreachable(); - } - - leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left); - leftType = commonType; - rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right); - rightType = commonType; - - expr = this.makeLt(leftExpr, rightExpr, commonType); - this.currentType = Type.bool; - break; - } - case Token.GreaterThan: { - leftExpr = this.compileExpression(left, contextualType); - leftType = this.currentType; - - // check operator overload - let classReference = leftType.getClassOrWrapper(this.program); - if (classReference) { - let overload = classReference.lookupOverload(OperatorKind.Gt); - if (overload) { - expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression); - break; - } - } - - rightExpr = this.compileExpression(right, leftType); - rightType = this.currentType; - commonType = Type.commonType(leftType, rightType, contextualType, true); - if (!commonType || !commonType.isNumericValue) { - this.error( - DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, - expression.range, ">", leftType.toString(), rightType.toString() - ); - this.currentType = contextualType; - return module.unreachable(); - } - - leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left); - leftType = commonType; - rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right); - rightType = commonType; - - expr = this.makeGt(leftExpr, rightExpr, commonType); - this.currentType = Type.bool; - break; - } - case Token.LessThan_Equals: { - leftExpr = this.compileExpression(left, contextualType); - leftType = this.currentType; + leftExpr = this.compileExpression(left, contextualType); + leftType = this.currentType; + + // check operator overload + const operatorKind = OperatorKind.fromBinaryToken(operator); + const leftOverload = leftType.lookupOverload(operatorKind, this.program); + if (leftOverload) return this.compileBinaryOverload(leftOverload, left, leftExpr, leftType, right, expression); - // check operator overload - let classReference = leftType.getClassOrWrapper(this.program); - if (classReference) { - let overload = classReference.lookupOverload(OperatorKind.Le); - if (overload) { - expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression); - break; - } - } + rightExpr = this.compileExpression(right, leftType); + rightType = this.currentType; - rightExpr = this.compileExpression(right, leftType); - rightType = this.currentType; - commonType = Type.commonType(leftType, rightType, contextualType, true); - if (!commonType || !commonType.isNumericValue) { - this.error( - DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, - expression.range, "<=", leftType.toString(), rightType.toString() - ); - this.currentType = contextualType; - return module.unreachable(); - } + const signednessIsRelevant = true; + commonType = Type.commonType(leftType, rightType, contextualType, signednessIsRelevant); + if (!commonType || !commonType.isNumericValue) { + this.error( + DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, + expression.range, + operatorString, + leftType.toString(), + rightType.toString() + ); + this.currentType = contextualType; + return module.unreachable(); + } - leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left); - leftType = commonType; - rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right); - rightType = commonType; + leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left); + leftType = commonType; + rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right); + rightType = commonType; - expr = this.makeLe(leftExpr, rightExpr, commonType); - this.currentType = Type.bool; - break; - } - case Token.GreaterThan_Equals: { - leftExpr = this.compileExpression(left, contextualType); - leftType = this.currentType; + this.currentType = Type.bool; + switch (operator) { + case Token.LessThan: + return this.makeLt(leftExpr, rightExpr, commonType); + case Token.GreaterThan: + return this.makeGt(leftExpr, rightExpr, commonType); + case Token.LessThan_Equals: + return this.makeLe(leftExpr, rightExpr, commonType); + case Token.GreaterThan_Equals: + return this.makeGe(leftExpr, rightExpr, commonType); + default: + assert(false); + return module.unreachable(); + } + } - // check operator overload - let classReference = leftType.getClassOrWrapper(this.program); - if (classReference) { - let overload = classReference.lookupOverload(OperatorKind.Ge); - if (overload) { - expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression); - break; - } - } + private compileBinaryExpression( + expression: BinaryExpression, + contextualType: Type, + constraints: Constraints + ): ExpressionRef { + let module = this.module; + let left = expression.left; + let right = expression.right; - rightExpr = this.compileExpression(right, leftType); - rightType = this.currentType; - commonType = Type.commonType(leftType, rightType, contextualType, true); - if (!commonType || !commonType.isNumericValue) { - this.error( - DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, - expression.range, ">=", leftType.toString(), rightType.toString() - ); - this.currentType = contextualType; - return module.unreachable(); - } + let leftExpr: ExpressionRef; + let leftType: Type; + let rightExpr: ExpressionRef; + let rightType: Type; + let commonType: Type | null; - leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left); - leftType = commonType; - rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right); - rightType = commonType; + let expr: ExpressionRef; + let compound = false; - expr = this.makeGe(leftExpr, rightExpr, commonType); - this.currentType = Type.bool; - break; + let operator = expression.operator; + switch (operator) { + case Token.LessThan: + case Token.GreaterThan: + case Token.LessThan_Equals: + case Token.GreaterThan_Equals:{ + return this.compileNonCommutativeCompareBinaryExpression(expression, contextualType); } - case Token.Equals_Equals_Equals: - case Token.Equals_Equals: { - leftExpr = this.compileExpression(left, contextualType); - leftType = this.currentType; - - // check operator overload - let classReference = leftType.getClassOrWrapper(this.program); - if (classReference) { - let overload = classReference.lookupOverload(OperatorKind.Eq); - if (overload) { - expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression); - break; - } - } - - rightExpr = this.compileExpression(right, leftType); - rightType = this.currentType; - commonType = Type.commonType(leftType, rightType, contextualType); - if (!commonType) { - this.error( - DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, - expression.range, operatorTokenToString(expression.operator), leftType.toString(), rightType.toString() - ); - this.currentType = contextualType; - return module.unreachable(); - } - if (commonType.isFloatValue) { - if ( - isConstExpressionNaN(module, rightExpr) || - isConstExpressionNaN(module, leftExpr) - ) { - this.warning( - DiagnosticCode._NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead, - expression.range - ); - } - if (isConstNegZero(rightExpr) || isConstNegZero(leftExpr)) { - this.warning( - DiagnosticCode.Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters, - expression.range - ); - } - } - leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left); - leftType = commonType; - rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right); - rightType = commonType; - - expr = this.makeEq(leftExpr, rightExpr, commonType, expression); - this.currentType = Type.bool; - break; - } + case Token.Equals_Equals: case Token.Exclamation_Equals_Equals: case Token.Exclamation_Equals: { - leftExpr = this.compileExpression(left, contextualType); - leftType = this.currentType; - - // check operator overload - let classReference = leftType.getClass(); - if (classReference) { - let overload = classReference.lookupOverload(OperatorKind.Ne); - if (overload) { - expr = this.compileBinaryOverload(overload, left, leftExpr, leftType, right, expression); - break; - } - } - - rightExpr = this.compileExpression(right, leftType); - rightType = this.currentType; - commonType = Type.commonType(leftType, rightType, contextualType); - if (!commonType) { - this.error( - DiagnosticCode.Operator_0_cannot_be_applied_to_types_1_and_2, - expression.range, operatorTokenToString(expression.operator), leftType.toString(), rightType.toString() - ); - this.currentType = contextualType; - return module.unreachable(); - } - if (commonType.isFloatValue) { - if ( - isConstExpressionNaN(module, rightExpr) || - isConstExpressionNaN(module, leftExpr) - ) { - this.warning( - DiagnosticCode._NaN_does_not_compare_equal_to_any_other_value_including_itself_Use_isNaN_x_instead, - expression.range - ); - } - if (isConstNegZero(rightExpr) || isConstNegZero(leftExpr)) { - this.warning( - DiagnosticCode.Comparison_with_0_0_is_sign_insensitive_Use_Object_is_x_0_0_if_the_sign_matters, - expression.range - ); - } - } - leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left); - leftType = commonType; - rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right); - rightType = commonType; - - expr = this.makeNe(leftExpr, rightExpr, commonType, expression); - this.currentType = Type.bool; - break; + return this.compileCommutativeCompareBinaryExpression(expression, contextualType); } case Token.Equals: { return this.compileAssignment(left, right, contextualType); @@ -4559,19 +4616,31 @@ export class Compiler extends DiagnosticEmitter { } leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left); leftType = commonType; + + // This is sometimes needed to make the left trivial + let leftPrecompExpr = module.runExpression(leftExpr, ExpressionRunnerFlags.PreserveSideeffects); + if (leftPrecompExpr) leftExpr = leftPrecompExpr; + rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right); rightType = commonType; - // simplify if copying left is trivial - if (expr = module.tryCopyTrivialExpression(leftExpr)) { + let condExpr = this.makeIsTrueish(leftExpr, this.currentType, left); + let condKind = this.evaluateCondition(condExpr); + + if (condKind != ConditionKind.Unknown) { + // simplify if left is a constant + expr = condKind == ConditionKind.True + ? rightExpr + : leftExpr; + } else if (expr = module.tryCopyTrivialExpression(leftExpr)) { + // simplify if copying left is trivial expr = module.if( - this.makeIsTrueish(leftExpr, this.currentType, left), + condExpr, rightExpr, expr ); - - // if not possible, tee left to a temp } else { + // if not possible, tee left to a temp let tempLocal = flow.getTempLocal(leftType); if (!flow.canOverflow(leftExpr, leftType)) flow.setLocalFlag(tempLocal.index, LocalFlags.Wrapped); if (flow.isNonnull(leftExpr, leftType)) flow.setLocalFlag(tempLocal.index, LocalFlags.NonNull); @@ -4639,19 +4708,31 @@ export class Compiler extends DiagnosticEmitter { let possiblyNull = leftType.is(TypeFlags.Nullable) && rightType.is(TypeFlags.Nullable); leftExpr = this.convertExpression(leftExpr, leftType, commonType, false, left); leftType = commonType; + + // This is sometimes needed to make the left trivial + let leftPrecompExpr = module.runExpression(leftExpr, ExpressionRunnerFlags.PreserveSideeffects); + if (leftPrecompExpr) leftExpr = leftPrecompExpr; + rightExpr = this.convertExpression(rightExpr, rightType, commonType, false, right); rightType = commonType; - // simplify if copying left is trivial - if (expr = module.tryCopyTrivialExpression(leftExpr)) { + let condExpr = this.makeIsTrueish(leftExpr, this.currentType, left); + let condKind = this.evaluateCondition(condExpr); + + if (condKind != ConditionKind.Unknown) { + // simplify if left is a constant + expr = condKind == ConditionKind.True + ? leftExpr + : rightExpr; + } else if (expr = module.tryCopyTrivialExpression(leftExpr)) { + // otherwise, simplify if copying left is trivial expr = module.if( - this.makeIsTrueish(leftExpr, leftType, left), + condExpr, expr, rightExpr ); - - // if not possible, tee left to a temp. local } else { + // if not possible, tee left to a temp. local let temp = flow.getTempLocal(leftType); let tempIndex = temp.index; if (!flow.canOverflow(leftExpr, leftType)) flow.setLocalFlag(tempIndex, LocalFlags.Wrapped); @@ -4682,6 +4763,7 @@ export class Compiler extends DiagnosticEmitter { default: { assert(false); expr = this.module.unreachable(); + break; } } if (!compound) return expr; @@ -4854,17 +4936,17 @@ export class Compiler extends DiagnosticEmitter { module.binary(BinaryOp.EqI8x16, leftExpr, rightExpr) ); } - case TypeKind.Eqref: - case TypeKind.Structref: - case TypeKind.Arrayref: - case TypeKind.I31ref: return module.ref_eq(leftExpr, rightExpr); - case TypeKind.Stringref: return module.string_eq(leftExpr, rightExpr); + case TypeKind.Eq: + case TypeKind.Struct: + case TypeKind.Array: + case TypeKind.I31: return module.ref_eq(leftExpr, rightExpr); + case TypeKind.String: return module.string_eq(leftExpr, rightExpr); case TypeKind.StringviewWTF8: case TypeKind.StringviewWTF16: case TypeKind.StringviewIter: - case TypeKind.Funcref: - case TypeKind.Externref: - case TypeKind.Anyref: { + case TypeKind.Func: + case TypeKind.Extern: + case TypeKind.Any: { this.error( DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, reportNode.range, @@ -4904,15 +4986,15 @@ export class Compiler extends DiagnosticEmitter { module.binary(BinaryOp.NeI8x16, leftExpr, rightExpr) ); } - case TypeKind.Eqref: - case TypeKind.Structref: - case TypeKind.Arrayref: - case TypeKind.I31ref: { + case TypeKind.Eq: + case TypeKind.Struct: + case TypeKind.Array: + case TypeKind.I31: { return module.unary(UnaryOp.EqzI32, module.ref_eq(leftExpr, rightExpr) ); } - case TypeKind.Stringref: { + case TypeKind.String: { return module.unary(UnaryOp.EqzI32, module.string_eq(leftExpr, rightExpr) ); @@ -4920,9 +5002,9 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.StringviewWTF8: case TypeKind.StringviewWTF16: case TypeKind.StringviewIter: - case TypeKind.Funcref: - case TypeKind.Externref: - case TypeKind.Anyref: { + case TypeKind.Func: + case TypeKind.Extern: + case TypeKind.Any: { this.error( DiagnosticCode.Operation_0_cannot_be_applied_to_type_1, reportNode.range, @@ -5010,8 +5092,7 @@ export class Compiler extends DiagnosticEmitter { return module.select( module.i32(1), module.binary(BinaryOp.EqI32, rightExpr, module.i32(0)), - leftExpr, - TypeRef.I32 + leftExpr ); } case TypeKind.I8: @@ -5549,6 +5630,29 @@ export class Compiler extends DiagnosticEmitter { return this.makeCallDirect(operatorInstance, [ leftExpr, rightExpr ], reportNode); } + + private compileCommutativeBinaryOverload( + operatorInstance: Function, + first: Expression, + firstExpr: ExpressionRef, + firstType: Type, + second: Expression, + secondExpr: ExpressionRef, + secondType: Type, + reportNode: Node + ): ExpressionRef { + let signature = operatorInstance.signature; + let parameterTypes = signature.parameterTypes; + if (operatorInstance.is(CommonFlags.Instance)) { + firstExpr = this.convertExpression(firstExpr, firstType, assert(signature.thisType), false, first); + secondExpr = this.convertExpression(secondExpr, secondType, parameterTypes[0], false, second); + } else { + firstExpr = this.convertExpression(firstExpr, firstType, parameterTypes[0], false, first); + secondExpr = this.convertExpression(secondExpr, secondType, parameterTypes[1], false, second); + } + return this.makeCallDirect(operatorInstance, [ firstExpr, secondExpr ], reportNode); + } + private compileAssignment( expression: Expression, valueExpression: Expression, @@ -5565,13 +5669,21 @@ export class Compiler extends DiagnosticEmitter { // to compile just the value, we need to know the target's type let targetType: Type; switch (target.kind) { - case ElementKind.Global: { - if (!this.compileGlobalLazy(target, expression)) { + case ElementKind.Global: + case ElementKind.Local: { + if (target.kind == ElementKind.Global) { + if (!this.compileGlobalLazy(target, expression)) { + return this.module.unreachable(); + } + } else if (!(target).declaredByFlow(flow)) { + // TODO: closures + this.error( + DiagnosticCode.Not_implemented_0, + expression.range, + "Closures" + ); return this.module.unreachable(); } - // fall-through - } - case ElementKind.Local: { if (this.pendingElements.has(target)) { this.error( DiagnosticCode.Variable_0_used_before_its_declaration, @@ -5664,10 +5776,11 @@ export class Compiler extends DiagnosticEmitter { assert(targetType != Type.void); let valueExpr = this.compileExpression(valueExpression, targetType); let valueType = this.currentType; + if (targetType.isNullableReference && this.currentFlow.isNonnull(valueExpr, valueType)) targetType = targetType.nonNullableType; return this.makeAssignment( target, this.convertExpression(valueExpr, valueType, targetType, false, valueExpression), - valueType, + targetType, valueExpression, thisExpression, elementExpression, @@ -5760,6 +5873,7 @@ export class Compiler extends DiagnosticEmitter { return module.unreachable(); } assert(setterInstance.signature.parameterTypes.length == 1); + assert(setterInstance.signature.returnType == Type.void); if (propertyInstance.is(CommonFlags.Instance)) { let thisType = assert(setterInstance.signature.thisType); let thisExpr = this.compileExpression( @@ -5768,28 +5882,29 @@ export class Compiler extends DiagnosticEmitter { Constraints.ConvImplicit | Constraints.IsThis ); if (!tee) return this.makeCallDirect(setterInstance, [ thisExpr, valueExpr ], valueExpression); - let getterInstance = assert((target).getterInstance); - assert(getterInstance.signature.thisType == thisType); - let returnType = getterInstance.signature.returnType; - let returnTypeRef = returnType.toRef(); - let tempThis = flow.getTempLocal(returnType); + let tempLocal = flow.getTempLocal(valueType); + let valueTypeRef = valueType.toRef(); let ret = module.block(null, [ this.makeCallDirect(setterInstance, [ - module.local_tee(tempThis.index, thisExpr, returnType.isManaged), - valueExpr + thisExpr, + module.local_tee(tempLocal.index, valueExpr, valueType.isManaged, valueTypeRef) ], valueExpression), - this.makeCallDirect(getterInstance, [ - module.local_get(tempThis.index, returnTypeRef) - ], valueExpression) - ], returnTypeRef); + module.local_get(tempLocal.index, valueTypeRef), + ], valueTypeRef); + this.currentType = valueType; return ret; } else { if (!tee) return this.makeCallDirect(setterInstance, [ valueExpr ], valueExpression); - let getterInstance = assert((target).getterInstance); - return module.block(null, [ - this.makeCallDirect(setterInstance, [ valueExpr ], valueExpression), - this.makeCallDirect(getterInstance, null, valueExpression) - ], getterInstance.signature.returnType.toRef()); + let tempLocal = flow.getTempLocal(valueType); + let valueTypeRef = valueType.toRef(); + let ret = module.block(null, [ + this.makeCallDirect(setterInstance, [ + module.local_tee(tempLocal.index, valueExpr, valueType.isManaged, valueTypeRef), + ], valueExpression), + module.local_get(tempLocal.index, valueTypeRef), + ], valueTypeRef); + this.currentType = valueType; + return ret; } } case ElementKind.IndexSignature: { @@ -6120,6 +6235,7 @@ export class Compiler extends DiagnosticEmitter { typeArguments = this.resolver.resolveTypeArguments( assert(typeParameterNodes), typeArgumentNodes, + this.currentFlow, this.currentFlow.sourceFunction.parent, cloneMap(this.currentFlow.contextualTypeArguments), // don't update expression @@ -6172,16 +6288,7 @@ export class Compiler extends DiagnosticEmitter { return false; } - // not yet implemented (TODO: maybe some sort of an unmanaged/lightweight array?) let hasRest = signature.hasRest; - if (hasRest) { - this.error( - DiagnosticCode.Not_implemented_0, - reportNode.range, "Rest parameters" - ); - return false; - } - let minimum = signature.requiredParameters; let maximum = signature.parameterTypes.length; @@ -6226,6 +6333,37 @@ export class Compiler extends DiagnosticEmitter { } } + private adjustArgumentsForRestParams( + argumentExpressions: Expression[], + signature: Signature, + reportNode: Node + ) : Expression[] { + + // if no rest args, return the original args + if (!signature.hasRest) { + return argumentExpressions; + } + + // if there are fewer args than params, then the rest args were not provided + // so return the original args + const numArguments = argumentExpressions.length; + const numParams = signature.parameterTypes.length; + if (numArguments < numParams) { + return argumentExpressions; + } + + // make an array literal expression from the rest args + let elements = argumentExpressions.slice(numParams - 1); + let range = new Range(elements[0].range.start, elements[elements.length - 1].range.end); + range.source = reportNode.range.source; + let arrExpr = new ArrayLiteralExpression(elements, range); + + // return the original args, but replace the rest args with the array + const exprs = argumentExpressions.slice(0, numParams - 1); + exprs.push(arrExpr); + return exprs; + } + /** Compiles a direct call to a concrete function. */ compileCallDirect( instance: Function, @@ -6247,6 +6385,9 @@ export class Compiler extends DiagnosticEmitter { } if (instance.hasDecorator(DecoratorFlags.Unsafe)) this.checkUnsafe(reportNode); + argumentExpressions = this.adjustArgumentsForRestParams(argumentExpressions, signature, reportNode); + numArguments = argumentExpressions.length; + // handle call on `this` in constructors let sourceFunction = this.currentFlow.sourceFunction; if (sourceFunction.is(CommonFlags.Constructor) && reportNode.isAccessOnThis) { @@ -6256,7 +6397,8 @@ export class Compiler extends DiagnosticEmitter { } // Inline if explicitly requested - if (instance.hasDecorator(DecoratorFlags.Inline) && (!instance.is(CommonFlags.Overridden) || reportNode.isAccessOnSuper)) { + let inlineRequested = instance.hasDecorator(DecoratorFlags.Inline) || this.currentFlow.is(FlowFlags.InlineContext); + if (inlineRequested && (!instance.is(CommonFlags.Overridden) || reportNode.isAccessOnSuper)) { assert(!instance.is(CommonFlags.Stub)); // doesn't make sense let inlineStack = this.inlineStack; if (inlineStack.includes(instance)) { @@ -6478,7 +6620,11 @@ export class Compiler extends DiagnosticEmitter { let declaration = originalParameterDeclarations[minArguments + i]; let initializer = declaration.initializer; let initExpr: ExpressionRef; - if (initializer) { + if (declaration.parameterKind === ParameterKind.Rest) { + const arrExpr = new ArrayLiteralExpression([], declaration.range.atEnd); + initExpr = this.compileArrayLiteral(arrExpr, type, Constraints.ConvExplicit); + initExpr = module.local_set(operandIndex, initExpr, type.isManaged); + } else if (initializer) { initExpr = this.compileExpression( initializer, type, @@ -6575,20 +6721,22 @@ export class Compiler extends DiagnosticEmitter { ); let overrideInstances = this.resolver.resolveOverrides(instance); if (overrideInstances) { + let mostRecentInheritanceMapping = new Map(); for (let i = 0, k = overrideInstances.length; i < k; ++i) { let overrideInstance = overrideInstances[i]; if (!overrideInstance.is(CommonFlags.Compiled)) continue; // errored - let overrideType = overrideInstance.type; - let originalType = instance.type; - if (!overrideType.isAssignableTo(originalType)) { + + let overrideSignature = overrideInstance.signature; + let originalSignature = instance.signature; + + if (!overrideSignature.isAssignableTo(originalSignature, true)) { this.error( DiagnosticCode.Type_0_is_not_assignable_to_type_1, - overrideInstance.identifierNode.range, overrideType.toString(), originalType.toString() + overrideInstance.identifierNode.range, overrideSignature.toString(), originalSignature.toString() ); continue; } // TODO: additional optional parameters are not permitted by `isAssignableTo` yet - let overrideSignature = overrideInstance.signature; let overrideParameterTypes = overrideSignature.parameterTypes; let overrideNumParameters = overrideParameterTypes.length; let paramExprs = new Array(1 + overrideNumParameters); @@ -6636,7 +6784,13 @@ export class Compiler extends DiagnosticEmitter { if (instanceMembers && instanceMembers.has(instance.declaration.name.text)) { continue; // skip those not inheriting } - builder.addCase(extender.id, stmts); + if ( + !mostRecentInheritanceMapping.has(extender) || + !assert(mostRecentInheritanceMapping.get(extender)).extends(classInstance) + ) { + mostRecentInheritanceMapping.set(extender, classInstance); + builder.addOrReplaceCase(extender.id, stmts); + } } } } @@ -6677,6 +6831,21 @@ export class Compiler extends DiagnosticEmitter { stub.set(CommonFlags.Compiled); } + private needToStack(expr: ExpressionRef): bool { + const precomp = this.module.runExpression(expr, ExpressionRunnerFlags.Default); + // cannot precompute, so must go to stack + if (precomp == 0) return true; + const value = getConstValueInteger(precomp, this.options.isWasm64); + // zero constant doesn't need to go to stack + if (i64_eq(value, i64_zero)) return false; + // static GC objects doesn't need to go to stack + let staticGcObjectOffsets = this.staticGcObjectOffsets; + if (staticGcObjectOffsets.has(i64_high(value))) { + if (assert(staticGcObjectOffsets.get(i64_high(value))).has(i64_low(value))) return false; + } + return true; + } + /** Marks managed call operands for the shadow stack. */ private operandsTostack(signature: Signature, operands: ExpressionRef[]): void { if (!this.options.stackSize) return; @@ -6686,8 +6855,7 @@ export class Compiler extends DiagnosticEmitter { if (thisType) { if (thisType.isManaged) { let operand = operands[0]; - let precomp = module.runExpression(operand, ExpressionRunnerFlags.Default); - if (!isConstZero(precomp)) { // otherwise unnecessary + if (this.needToStack(operand)) { operands[operandIndex] = module.tostack(operand); } } @@ -6700,8 +6868,7 @@ export class Compiler extends DiagnosticEmitter { let paramType = parameterTypes[parameterIndex]; if (paramType.isManaged) { let operand = operands[operandIndex]; - let precomp = module.runExpression(operand, ExpressionRunnerFlags.Default); - if (!isConstZero(precomp)) { // otherwise unnecessary + if (this.needToStack(operand)) { operands[operandIndex] = module.tostack(operand); } } @@ -6856,6 +7023,9 @@ export class Compiler extends DiagnosticEmitter { return this.module.unreachable(); } + argumentExpressions = this.adjustArgumentsForRestParams(argumentExpressions, signature, reportNode); + numArguments = argumentExpressions.length; + let numArgumentsInclThis = thisArg ? numArguments + 1 : numArguments; let operands = new Array(numArgumentsInclThis); let index = 0; @@ -6965,7 +7135,17 @@ export class Compiler extends DiagnosticEmitter { ): ExpressionRef { let module = this.module; let targetExpression = expression.expression; - let targetType = this.resolver.resolveExpression(targetExpression, this.currentFlow); // reports + let resolver = this.resolver; + let targetElement = resolver.lookupExpression(targetExpression, this.currentFlow, Type.auto, ReportMode.Swallow); + if (targetElement && targetElement.kind == ElementKind.Enum) { + const elementExpr = this.compileExpression(expression.elementExpression, Type.i32, Constraints.ConvImplicit); + const toStringFunctionName = this.ensureEnumToString(targetElement, expression); + this.currentType = this.program.stringInstance.type; + if (toStringFunctionName == null) return module.unreachable(); + return module.call(toStringFunctionName, [ elementExpr ], TypeRef.I32); + } + + let targetType = resolver.resolveExpression(targetExpression, this.currentFlow); if (targetType) { let classReference = targetType.getClassOrWrapper(this.program); if (classReference) { @@ -7042,7 +7222,7 @@ export class Compiler extends DiagnosticEmitter { let parameterNode = parameterNodes[i]; if (!isTypeOmitted(parameterNode.type)) { let resolvedType = this.resolver.resolveType( - parameterNode.type, + parameterNode.type, flow, sourceFunction.parent, contextualTypeArguments ); @@ -7062,7 +7242,7 @@ export class Compiler extends DiagnosticEmitter { let returnType = contextualSignature.returnType; if (!isTypeOmitted(signatureNode.returnType)) { let resolvedType = this.resolver.resolveType( - signatureNode.returnType, + signatureNode.returnType, flow, sourceFunction.parent, contextualTypeArguments ); @@ -7092,7 +7272,7 @@ export class Compiler extends DiagnosticEmitter { return module.unreachable(); } let resolvedType = this.resolver.resolveType( - thisTypeNode, + thisTypeNode, flow, sourceFunction.parent, contextualTypeArguments ); @@ -7332,12 +7512,14 @@ export class Compiler extends DiagnosticEmitter { ); } assert(localIndex >= 0); - if (localType.isNullableReference && flow.isLocalFlag(localIndex, LocalFlags.NonNull, false)) { - localType = localType.nonNullableType; + let isNonNull = flow.isLocalFlag(localIndex, LocalFlags.NonNull, false); + if (localType.isNullableReference && isNonNull && (!localType.isExternalReference || this.options.hasFeature(Feature.GC))) { + this.currentType = localType.nonNullableType; + } else { + this.currentType = localType; } - this.currentType = localType; - if (target.parent != flow.targetFunction) { + if (!local.declaredByFlow(flow)) { // TODO: closures this.error( DiagnosticCode.Not_implemented_0, @@ -7346,7 +7528,14 @@ export class Compiler extends DiagnosticEmitter { ); return module.unreachable(); } - return module.local_get(localIndex, localType.toRef()); + let expr = module.local_get(localIndex, localType.toRef()); + if (isNonNull && localType.isNullableExternalReference && this.options.hasFeature(Feature.GC)) { + // If the local's type is nullable, but its value is known to be non-null, propagate + // non-nullability info to Binaryen. Only applicable if GC is enabled, since without + // GC, here incl. typed function references, there is no nullability dimension. + expr = module.ref_as_nonnull(expr); + } + return expr; } case ElementKind.Global: { let global = target; @@ -7424,7 +7613,7 @@ export class Compiler extends DiagnosticEmitter { // TODO: Concrete function types currently map to first class functions implemented in // linear memory (on top of `usize`), leaving only generic `funcref` for use here. In the // future, once functions become Wasm GC objects, the actual signature type can be used. - this.currentType = Type.funcref; + this.currentType = Type.func; return module.ref_func(functionInstance.internalName, ensureType(functionInstance.type)); } let offset = this.ensureRuntimeFunction(functionInstance); @@ -7470,7 +7659,7 @@ export class Compiler extends DiagnosticEmitter { if (isType.kind == NodeKind.NamedType) { let namedType = isType; if (!(namedType.isNullable || namedType.hasTypeArguments)) { - let element = this.resolver.resolveTypeName(namedType.name, flow.sourceFunction, ReportMode.Swallow); + let element = this.resolver.resolveTypeName(namedType.name, flow, flow.sourceFunction, ReportMode.Swallow); if (element && element.kind == ElementKind.ClassPrototype) { let prototype = element; if (prototype.is(CommonFlags.Generic)) { @@ -7482,7 +7671,7 @@ export class Compiler extends DiagnosticEmitter { // Fall back to `instanceof TYPE` let expectedType = this.resolver.resolveType( - expression.isType, + expression.isType, flow, flow.sourceFunction, cloneMap(flow.contextualTypeArguments) ); @@ -8139,11 +8328,9 @@ export class Compiler extends DiagnosticEmitter { let arrayInstance = element; let arrayType = arrayInstance.type; let elementType = arrayInstance.getTypeArgumentsTo(program.arrayPrototype)![0]; - let arrayBufferInstance = assert(program.arrayBufferInstance); // block those here so compiling expressions doesn't conflict let tempThis = flow.getTempLocal(this.options.usizeType); - let tempDataStart = flow.getTempLocal(arrayBufferInstance.type); // compile value expressions and find out whether all are constant let expressions = expression.elementExpressions; @@ -8219,16 +8406,6 @@ export class Compiler extends DiagnosticEmitter { let dataStartProperty = (dataStartMember).instance; if (!dataStartProperty) return module.unreachable(); assert(dataStartProperty.isField && dataStartProperty.memoryOffset >= 0); - stmts.push( - module.local_set(tempDataStart.index, - module.load(arrayType.byteSize, false, - module.local_get(tempThis.index, arrayTypeRef), - arrayTypeRef, - dataStartProperty.memoryOffset - ), - true // ArrayBuffer - ) - ); for (let i = 0; i < length; ++i) { // this[i] = value stmts.push( @@ -8634,7 +8811,7 @@ export class Compiler extends DiagnosticEmitter { let flow = this.currentFlow; // obtain the class being instantiated - let target = this.resolver.resolveTypeName(expression.typeName, flow.sourceFunction); + let target = this.resolver.resolveTypeName(expression.typeName, flow, flow.sourceFunction); if (!target) return module.unreachable(); if (target.kind != ElementKind.ClassPrototype) { this.error( @@ -8670,6 +8847,7 @@ export class Compiler extends DiagnosticEmitter { classInstance = this.resolver.resolveClassInclTypeArguments( classPrototype, typeArguments, + flow, flow.sourceFunction.parent, // relative to caller cloneMap(flow.contextualTypeArguments), expression @@ -8752,7 +8930,7 @@ export class Compiler extends DiagnosticEmitter { classInstance.constructorInstance = instance; let members = classInstance.members; if (!members) classInstance.members = members = new Map(); - members.set("constructor", instance.prototype); + members.set(CommonNames.constructor, instance.prototype); let previousFlow = this.currentFlow; let flow = instance.flow; @@ -8995,10 +9173,29 @@ export class Compiler extends DiagnosticEmitter { } case ElementKind.FunctionPrototype: { let functionPrototype = target; + let typeParameterNodes = functionPrototype.typeParameterNodes; + + if (typeParameterNodes && typeParameterNodes.length != 0) { + this.error( + DiagnosticCode.Type_argument_expected, + expression.range + ); + break; // also diagnose 'not a value at runtime' + } + let functionInstance = this.resolver.resolveFunction(functionPrototype, null); if (!functionInstance) return module.unreachable(); if (!this.compileFunction(functionInstance)) return module.unreachable(); this.currentType = functionInstance.type; + + if (functionInstance.hasDecorator(DecoratorFlags.Builtin)) { + this.error( + DiagnosticCode.Not_implemented_0, + expression.range, "First-class built-ins" + ); + return module.unreachable(); + } + let offset = this.ensureRuntimeFunction(functionInstance); return this.options.isWasm64 ? module.i64(i64_low(offset), i64_high(offset)) @@ -9086,11 +9283,12 @@ export class Compiler extends DiagnosticEmitter { let flow = this.currentFlow; // make a getter for the expression (also obtains the type) - let getValue = this.compileExpression( // reports + const getValueOriginal = this.compileExpression( // reports expression.operand, contextualType.exceptVoid, Constraints.None ); + let getValue: ExpressionRef; // if the value isn't dropped, a temp. local is required to remember the original value, // except if a static overload is found, which reverses the use of a temp. (see below) @@ -9099,16 +9297,17 @@ export class Compiler extends DiagnosticEmitter { tempLocal = flow.getTempLocal(this.currentType); getValue = module.local_tee( tempLocal.index, - getValue, + getValueOriginal, this.currentType.isManaged ); + } else { + getValue = getValueOriginal; } let expr: ExpressionRef; switch (expression.operator) { case Token.Plus_Plus: { - // check operator overload let classReference = this.currentType.getClassOrWrapper(this.program); if (classReference) { @@ -9116,7 +9315,7 @@ export class Compiler extends DiagnosticEmitter { if (overload) { let isInstance = overload.is(CommonFlags.Instance); if (tempLocal && !isInstance) { // revert: static overload simply returns - getValue = getLocalSetValue(getValue); + getValue = getValueOriginal; tempLocal = null; } expr = this.compileUnaryOverload(overload, expression.operand, getValue, expression); @@ -9192,7 +9391,6 @@ export class Compiler extends DiagnosticEmitter { break; } case Token.Minus_Minus: { - // check operator overload let classReference = this.currentType.getClassOrWrapper(this.program); if (classReference) { @@ -9200,11 +9398,11 @@ export class Compiler extends DiagnosticEmitter { if (overload) { let isInstance = overload.is(CommonFlags.Instance); if (tempLocal && !isInstance) { // revert: static overload simply returns - getValue = getLocalSetValue(getValue); + getValue = getValueOriginal; tempLocal = null; } expr = this.compileUnaryOverload(overload, expression.operand, getValue, expression); - if (overload.is(CommonFlags.Instance)) break; + if (isInstance) break; return expr; // here } } @@ -9830,8 +10028,10 @@ export class Compiler extends DiagnosticEmitter { let targetFunction = this.currentFlow.targetFunction; let source = range.source; if (source.debugInfoIndex < 0) source.debugInfoIndex = this.module.addDebugInfoFile(source.normalizedPath); - range.debugInfoRef = expr; - targetFunction.debugLocations.push(range); + // It's possible that an `expr` is seen multiple times, for example when + // first adding debug information for an inner expression and later on for + // an expression supposedly wrapping it, where the wrapping became a noop. + targetFunction.debugLocations.set(expr, range); } /** Checks whether a particular function signature is supported. */ @@ -9897,20 +10097,21 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.F32: return module.f32(0); case TypeKind.F64: return module.f64(0); case TypeKind.V128: return module.v128(v128_zero); - case TypeKind.Funcref: - case TypeKind.Externref: - case TypeKind.Anyref: - case TypeKind.Eqref: - case TypeKind.Structref: - case TypeKind.Arrayref: - case TypeKind.Stringref: + case TypeKind.Func: + case TypeKind.Extern: + case TypeKind.Any: + case TypeKind.Eq: + case TypeKind.Struct: + case TypeKind.Array: + case TypeKind.String: case TypeKind.StringviewWTF8: case TypeKind.StringviewWTF16: case TypeKind.StringviewIter: { - // TODO: what if not nullable? - return module.ref_null(type.toRef()); + if (type.is(TypeFlags.Nullable)) return module.ref_null(type.toRef()); + assert(false); // TODO: check that refs are nullable in callers? + return module.unreachable(); } - case TypeKind.I31ref: { + case TypeKind.I31: { if (type.is(TypeFlags.Nullable)) return module.ref_null(type.toRef()); return module.i31_new(module.i32(0)); } @@ -9935,7 +10136,7 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.U64: return module.i64(1); case TypeKind.F32: return module.f32(1); case TypeKind.F64: return module.f64(1); - case TypeKind.I31ref: return module.i31_new(module.i32(1)); + case TypeKind.I31: return module.i31_new(module.i32(1)); } } @@ -9957,7 +10158,7 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.F32: return module.f32(-1); case TypeKind.F64: return module.f64(-1); case TypeKind.V128: return module.v128(v128_ones); - case TypeKind.I31ref: return module.i31_new(module.i32(-1)); + case TypeKind.I31: return module.i31_new(module.i32(-1)); } } @@ -10056,14 +10257,14 @@ export class Compiler extends DiagnosticEmitter { case TypeKind.V128: { return module.unary(UnaryOp.AnyTrueV128, expr); } - case TypeKind.Funcref: - case TypeKind.Externref: - case TypeKind.Anyref: - case TypeKind.Eqref: - case TypeKind.Structref: - case TypeKind.Arrayref: - case TypeKind.I31ref: - case TypeKind.Stringref: + case TypeKind.Func: + case TypeKind.Extern: + case TypeKind.Any: + case TypeKind.Eq: + case TypeKind.Struct: + case TypeKind.Array: + case TypeKind.I31: + case TypeKind.String: case TypeKind.StringviewWTF8: case TypeKind.StringviewWTF16: case TypeKind.StringviewIter: { @@ -10084,6 +10285,7 @@ export class Compiler extends DiagnosticEmitter { /** Makes a string conversion of the given expression. */ makeToString(expr: ExpressionRef, type: Type, reportNode: Node): ExpressionRef { + let module = this.module; let stringType = this.program.stringInstance.type; if (type == stringType) { return expr; @@ -10100,15 +10302,30 @@ export class Compiler extends DiagnosticEmitter { reportNode )) { this.currentType = stringType; - return this.module.unreachable(); + return module.unreachable(); } if (!type.isStrictlyAssignableTo(assert(toStringSignature.thisType))) { - this.errorRelated( - DiagnosticCode.The_this_types_of_each_signature_are_incompatible, - reportNode.range, toStringInstance.identifierAndSignatureRange + if (!type.is(TypeFlags.Nullable)) { + this.errorRelated( + DiagnosticCode.The_this_types_of_each_signature_are_incompatible, + reportNode.range, toStringInstance.identifierAndSignatureRange + ); + this.currentType = stringType; + return module.unreachable(); + } + + // Attempt to retry on the non-nullable form of the type, wrapped in a ternary: + // `expr ? expr.toString() : "null"` + const tempLocal = this.currentFlow.getTempLocal(type); + return module.if( + module.local_tee(tempLocal.index, expr, type.isManaged), + this.makeToString( + module.local_get(tempLocal.index, type.toRef()), + type.nonNullableType, + reportNode + ), + this.ensureStaticString("null") ); - this.currentType = stringType; - return this.module.unreachable(); } let toStringReturnType = toStringSignature.returnType; if (!toStringReturnType.isStrictlyAssignableTo(stringType)) { @@ -10117,7 +10334,7 @@ export class Compiler extends DiagnosticEmitter { reportNode.range, toStringInstance.identifierAndSignatureRange, toStringReturnType.toString(), stringType.toString() ); this.currentType = stringType; - return this.module.unreachable(); + return module.unreachable(); } return this.makeCallDirect(toStringInstance, [ expr ], reportNode); } @@ -10127,7 +10344,7 @@ export class Compiler extends DiagnosticEmitter { reportNode.range, type.toString(), stringType.toString() ); this.currentType = stringType; - return this.module.unreachable(); + return module.unreachable(); } /** Makes an allocation suitable to hold the data of an instance of the given class. */ diff --git a/src/diagnosticMessages.json b/src/diagnosticMessages.json index 752ec4550d..bd12f1f7e3 100644 --- a/src/diagnosticMessages.json +++ b/src/diagnosticMessages.json @@ -51,6 +51,7 @@ "Index signature accessors in type '{0}' differ in types.": 237, "Initializer, definitive assignment or nullable type expected.": 238, "Definitive assignment has no effect on local variables.": 239, + "Ambiguous operator overload '{0}' (conflicting overloads '{1}' and '{2}').": 240, "Importing the table disables some indirect call optimizations.": 901, "Exporting the table disables some indirect call optimizations.": 902, @@ -119,6 +120,7 @@ "Decorators are not valid here.": 1206, "'abstract' modifier can only appear on a class, method, or property declaration.": 1242, "Method '{0}' cannot have an implementation because it is marked abstract.": 1245, + "An interface property cannot have an initializer.": 1246, "A definite assignment assertion '!' is not permitted in this context.": 1255, "A class may only extend another class.": 1311, "A parameter property cannot be declared using a rest parameter.": 1317, @@ -150,7 +152,6 @@ "Operator '{0}' cannot be applied to types '{1}' and '{2}'.": 2365, "A 'super' call must be the first statement in the constructor.": 2376, "Constructors for derived classes must contain a 'super' call.": 2377, - "Getter and setter accessors do not agree in visibility.": 2379, "'get' and 'set' accessor must have the same type.": 2380, "Overload signatures must all be public, private or protected.": 2385, "Constructor implementation is missing.": 2390, @@ -173,6 +174,7 @@ "Type '{0}' has no property '{1}'.": 2460, "The '{0}' operator cannot be applied to type '{1}'.": 2469, "In 'const' enum declarations member initializer must be constant expression.": 2474, + "A const enum member can only be accessed using a string literal.": 2476, "Export declaration conflicts with exported declaration of '{0}'.": 2484, "'{0}' is referenced directly or indirectly in its own base expression.": 2506, "Cannot create an instance of an abstract class.": 2511, @@ -194,10 +196,12 @@ "Cannot extend a class '{0}'. Class constructor is marked as private.": 2675, "The 'this' types of each signature are incompatible.": 2685, "Namespace '{0}' has no exported member '{1}'.": 2694, + "Namespace can only have declarations.": 2695, "Required type parameters may not follow optional type parameters.": 2706, "Duplicate property '{0}'.": 2718, "Property '{0}' is missing in type '{1}' but required in type '{2}'.": 2741, "Type '{0}' has no call signatures.": 2757, + "Get accessor '{0}' must be at least as accessible as the setter.": 2808, "This member cannot have an 'override' modifier because it is not declared in the base class '{0}'.": 4117, "File '{0}' not found.": 6054, diff --git a/src/diagnostics.ts b/src/diagnostics.ts index 9ca1e3d4e1..963003023b 100644 --- a/src/diagnostics.ts +++ b/src/diagnostics.ts @@ -45,7 +45,6 @@ export const enum DiagnosticCategory { export class Range { source!: Source; - debugInfoRef: usize = 0; constructor(public start: i32, public end: i32) {} diff --git a/src/flow.ts b/src/flow.ts index 3f4838ab3d..ddc7941916 100644 --- a/src/flow.ts +++ b/src/flow.ts @@ -31,7 +31,8 @@ import { TypedElement, mangleInternalName, Property, - PropertyPrototype + PropertyPrototype, + TypeDefinition } from "./program"; import { @@ -145,6 +146,8 @@ export const enum FlowFlags { UncheckedContext = 1 << 15, /** This is a flow compiling a constructor parameter. */ CtorParamContext = 1 << 16, + /** This is a flow where all function calls are inlined if possible. */ + InlineContext = 1 << 17, // masks @@ -250,6 +253,8 @@ export class Flow { breakLabel: string | null = null; /** Scoped local variables. */ scopedLocals: Map | null = null; + /** Scoped type alias. */ + scopedTypeAlias: Map | null = null; /** Local flags. */ localFlags: LocalFlags[] = []; /** Field flags on `this`. Constructors only. */ @@ -405,6 +410,38 @@ export class Flow { falseFlows.set(condExpr, falseFlow); } + addScopedTypeAlias(name: string, definition: TypeDefinition): void { + let scopedTypeAlias = this.scopedTypeAlias; + if (!scopedTypeAlias) this.scopedTypeAlias = scopedTypeAlias = new Map(); + scopedTypeAlias.set(name, definition); + } + + lookupScopedTypeAlias(name: string): TypeDefinition | null { + let current: Flow | null = this; + do { + let scopedTypeAlias = current.scopedTypeAlias; + if (scopedTypeAlias && scopedTypeAlias.has(name)) { + return assert(scopedTypeAlias.get(name)); + } + current = current.parent; + } while (current); + return null; + } + + lookupTypeAlias(name: string): TypeDefinition | null { + let definition: TypeDefinition | null = null; + if (definition = this.lookupScopedTypeAlias(name)) return definition; + + let sourceParent = this.sourceFunction.parent; + if (sourceParent.kind == ElementKind.Function) { + // lookup parent function. + let parentFunction = sourceParent; + return parentFunction.flow.lookupTypeAlias(name); + } + + return null; + } + /** Gets a free temporary local of the specified type. */ getTempLocal(type: Type): Local { let local = this.targetFunction.addLocal(type); diff --git a/src/glue/binaryen.d.ts b/src/glue/binaryen.d.ts index 466a3fac39..fdc2bd7492 100644 --- a/src/glue/binaryen.d.ts +++ b/src/glue/binaryen.d.ts @@ -41,7 +41,6 @@ export type ExpressionRunnerRef = Ref; export type BinaryenModuleAllocateAndWriteResultRef = Ref; export type TypeBuilderRef = Ref; export type TypeBuilderErrorReason = u32; -export type TypeSystem = u32; export declare function _BinaryenTypeCreate(types: ArrayRef, numTypes: u32): TypeRef; export declare function _BinaryenTypeArity(type: TypeRef): u32; @@ -58,9 +57,6 @@ export declare function _BinaryenTypeStructref(): TypeRef; export declare function _BinaryenTypeArrayref(): TypeRef; export declare function _BinaryenTypeI31ref(): TypeRef; export declare function _BinaryenTypeStringref(): TypeRef; -export declare function _BinaryenTypeStringviewWTF8(): TypeRef; -export declare function _BinaryenTypeStringviewWTF16(): TypeRef; -export declare function _BinaryenTypeStringviewIter(): TypeRef; export declare function _BinaryenTypeNullref(): TypeRef; export declare function _BinaryenTypeNullExternref(): TypeRef; export declare function _BinaryenTypeNullFuncref(): TypeRef; @@ -73,9 +69,6 @@ export declare function _BinaryenHeapTypeI31(): HeapTypeRef; export declare function _BinaryenHeapTypeStruct(): HeapTypeRef; export declare function _BinaryenHeapTypeArray(): HeapTypeRef; export declare function _BinaryenHeapTypeString(): HeapTypeRef; -export declare function _BinaryenHeapTypeStringviewWTF8(): HeapTypeRef; -export declare function _BinaryenHeapTypeStringviewWTF16(): HeapTypeRef; -export declare function _BinaryenHeapTypeStringviewIter(): HeapTypeRef; export declare function _BinaryenHeapTypeNone(): HeapTypeRef; export declare function _BinaryenHeapTypeNoext(): HeapTypeRef; export declare function _BinaryenHeapTypeNofunc(): HeapTypeRef; @@ -283,7 +276,7 @@ export declare function _BinaryenBinarySetLeft(expr: ExpressionRef, leftExpr: Ex export declare function _BinaryenBinaryGetRight(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenBinarySetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; -export declare function _BinaryenSelect(module: ModuleRef, conditionExpr: ExpressionRef, ifTrueExpr: ExpressionRef, ifFalseExpr: ExpressionRef, type: TypeRef): ExpressionRef; +export declare function _BinaryenSelect(module: ModuleRef, conditionExpr: ExpressionRef, ifTrueExpr: ExpressionRef, ifFalseExpr: ExpressionRef): ExpressionRef; export declare function _BinaryenSelectGetIfTrue(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenSelectSetIfTrue(expr: ExpressionRef, ifTrueExpr: ExpressionRef): void; export declare function _BinaryenSelectGetIfFalse(expr: ExpressionRef): ExpressionRef; @@ -416,9 +409,9 @@ export declare function _BinaryenSIMDLoadStoreLaneGetVec(expr: ExpressionRef): E export declare function _BinaryenSIMDLoadStoreLaneSetVec(expr: ExpressionRef, vecExpr: ExpressionRef): void; export declare function _BinaryenSIMDLoadStoreLaneIsStore(expr: ExpressionRef): bool; -export declare function _BinaryenMemoryInit(module: ModuleRef, segmentIndex: u32, destExpr: ExpressionRef, offsetExpr: ExpressionRef, sizeExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; -export declare function _BinaryenMemoryInitGetSegment(expr: ExpressionRef): u32; -export declare function _BinaryenMemoryInitSetSegment(expr: ExpressionRef, segmentIndex: u32): void; +export declare function _BinaryenMemoryInit(module: ModuleRef, segmentName: StringRef, destExpr: ExpressionRef, offsetExpr: ExpressionRef, sizeExpr: ExpressionRef, memoryName: StringRef): ExpressionRef; +export declare function _BinaryenMemoryInitGetSegment(expr: ExpressionRef): StringRef; +export declare function _BinaryenMemoryInitSetSegment(expr: ExpressionRef, segmentName: StringRef): void; export declare function _BinaryenMemoryInitGetDest(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenMemoryInitSetDest(expr: ExpressionRef, destExpr: ExpressionRef): void; export declare function _BinaryenMemoryInitGetOffset(expr: ExpressionRef): ExpressionRef; @@ -426,9 +419,9 @@ export declare function _BinaryenMemoryInitSetOffset(expr: ExpressionRef, offset export declare function _BinaryenMemoryInitGetSize(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenMemoryInitSetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; -export declare function _BinaryenDataDrop(module: ModuleRef, segmentIndex: u32): ExpressionRef; -export declare function _BinaryenDataDropGetSegment(expr: ExpressionRef): u32; -export declare function _BinaryenDataDropSetSegment(expr: ExpressionRef, segmentIndex: u32): void; +export declare function _BinaryenDataDrop(module: ModuleRef, segmentName: StringRef): ExpressionRef; +export declare function _BinaryenDataDropGetSegment(expr: ExpressionRef): StringRef; +export declare function _BinaryenDataDropSetSegment(expr: ExpressionRef, segmentName: StringRef): void; export declare function _BinaryenMemoryCopy(module: ModuleRef, destExpr: ExpressionRef, sourceExpr: ExpressionRef, sizeExpr: ExpressionRef, destMemoryName: StringRef, sourceMemoryName: StringRef): ExpressionRef; export declare function _BinaryenMemoryCopyGetDest(expr: ExpressionRef): ExpressionRef; @@ -458,7 +451,7 @@ export declare function _BinaryenRefAsSetOp(expr: ExpressionRef, op: Op): void; export declare function _BinaryenRefAsGetValue(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenRefAsSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; -export declare function _BinaryenRefFunc(module: ModuleRef, funcName: StringRef, type: TypeRef): ExpressionRef; +export declare function _BinaryenRefFunc(module: ModuleRef, funcName: StringRef, type: HeapTypeRef): ExpressionRef; export declare function _BinaryenRefFuncGetFunc(expr: ExpressionRef): StringRef; export declare function _BinaryenRefFuncSetFunc(expr: ExpressionRef, funcName: StringRef): void; @@ -546,9 +539,9 @@ export declare function _BinaryenTupleExtractSetIndex(expr: ExpressionRef, index export declare function _BinaryenPop(module: ModuleRef, type: TypeRef): ExpressionRef; -export declare function _BinaryenI31New(module: ModuleRef, value: ExpressionRef): ExpressionRef; -export declare function _BinaryenI31NewGetValue(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenI31NewSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; +export declare function _BinaryenRefI31(module: ModuleRef, value: ExpressionRef): ExpressionRef; +export declare function _BinaryenRefI31GetValue(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenRefI31SetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; export declare function _BinaryenI31Get(module: ModuleRef, i31Expr: ExpressionRef, signed: bool): ExpressionRef; export declare function _BinaryenI31GetGetI31(expr: ExpressionRef): ExpressionRef; @@ -618,15 +611,29 @@ export declare function _BinaryenArrayNewSetInit(expr: ExpressionRef, initExpr: export declare function _BinaryenArrayNewGetSize(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenArrayNewSetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; -// TODO: BinaryenArrayNewSeg - -export declare function _BinaryenArrayInit(module: ModuleRef, type: HeapTypeRef, values: ArrayRef, numValues: Index): ExpressionRef; -export declare function _BinaryenArrayInitGetNumValues(expr: ExpressionRef): Index; -export declare function _BinaryenArrayInitGetValueAt(expr: ExpressionRef, index: Index): ExpressionRef; -export declare function _BinaryenArrayInitSetValueAt(expr: ExpressionRef, index: Index, valueExpr: ExpressionRef): void; -export declare function _BinaryenArrayInitAppendValue(expr: ExpressionRef, valueExpr: ExpressionRef): Index; -export declare function _BinaryenArrayInitInsertValueAt(expr: ExpressionRef, index: Index, valueExpr: ExpressionRef): void; -export declare function _BinaryenArrayInitRemoveValueAt(expr: ExpressionRef, index: Index): ExpressionRef; +export declare function _BinaryenArrayNewFixed(module: ModuleRef, type: HeapTypeRef, values: ArrayRef, numValues: Index): ExpressionRef; +export declare function _BinaryenArrayNewFixedGetNumValues(expr: ExpressionRef): Index; +export declare function _BinaryenArrayNewFixedGetValueAt(expr: ExpressionRef, index: Index): ExpressionRef; +export declare function _BinaryenArrayNewFixedSetValueAt(expr: ExpressionRef, index: Index, valueExpr: ExpressionRef): void; +export declare function _BinaryenArrayNewFixedAppendValue(expr: ExpressionRef, valueExpr: ExpressionRef): Index; +export declare function _BinaryenArrayNewFixedInsertValueAt(expr: ExpressionRef, index: Index, valueExpr: ExpressionRef): void; +export declare function _BinaryenArrayNewFixedRemoveValueAt(expr: ExpressionRef, index: Index): ExpressionRef; + +export declare function _BinaryenArrayNewData(module: ModuleRef, type: HeapTypeRef, name: StringRef, offset: ExpressionRef, size: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayNewDataGetSegment(expr: ExpressionRef): StringRef; +export declare function _BinaryenArrayNewDataSetSegment(expr: ExpressionRef, segment: StringRef): void; +export declare function _BinaryenArrayNewDataGetOffset(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayNewDataSetOffset(expr: ExpressionRef, offset: ExpressionRef): void; +export declare function _BinaryenArrayNewDataGetSize(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayNewDataSetSize(expr: ExpressionRef, size: ExpressionRef): void; + +export declare function _BinaryenArrayNewElem(module: ModuleRef, type: HeapTypeRef, seg: StringRef, offset: ExpressionRef, size: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayNewElemGetSegment(expr: ExpressionRef): StringRef; +export declare function _BinaryenArrayNewElemSetSegment(expr: ExpressionRef, segment: StringRef): void; +export declare function _BinaryenArrayNewElemGetOffset(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayNewElemSetOffset(expr: ExpressionRef, offset: ExpressionRef): void; +export declare function _BinaryenArrayNewElemGetSize(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayNewElemSetSize(expr: ExpressionRef, size: ExpressionRef): void; export declare function _BinaryenArrayGet(module: ModuleRef, ref: ExpressionRef, index: ExpressionRef, type: TypeRef, signed: bool): ExpressionRef; export declare function _BinaryenArrayGetGetRef(expr: ExpressionRef): ExpressionRef; @@ -648,6 +655,16 @@ export declare function _BinaryenArrayLen(module: ModuleRef, ref: ExpressionRef) export declare function _BinaryenArrayLenGetRef(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenArrayLenSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; +export declare function _BinaryenArrayFill(module: ModuleRef, ref: ExpressionRef, index: ExpressionRef, value: ExpressionRef, size: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayFillGetRef(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayFillSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; +export declare function _BinaryenArrayFillGetIndex(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayFillSetIndex(expr: ExpressionRef, indexExpr: ExpressionRef): void; +export declare function _BinaryenArrayFillGetValue(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayFillSetValue(expr: ExpressionRef, valueExpr: ExpressionRef): void; +export declare function _BinaryenArrayFillGetSize(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayFillSetSize(expr: ExpressionRef, sizeExpr: ExpressionRef): void; + export declare function _BinaryenArrayCopy(module: ModuleRef, destRef: ExpressionRef, destIndex: ExpressionRef, srcRef: ExpressionRef, srcIndex: ExpressionRef, length: ExpressionRef): ExpressionRef; export declare function _BinaryenArrayCopyGetDestRef(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenArrayCopySetDestRef(expr: ExpressionRef, destRefExpr: ExpressionRef): void; @@ -660,19 +677,39 @@ export declare function _BinaryenArrayCopySetSrcIndex(expr: ExpressionRef, srcIn export declare function _BinaryenArrayCopyGetLength(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenArrayCopySetLength(expr: ExpressionRef, lengthExpr: ExpressionRef): void; -export declare function _BinaryenStringNew(module: ModuleRef, op: Op, ptr: ExpressionRef, length: ExpressionRef, start: ExpressionRef, end: ExpressionRef, isTry: bool): ExpressionRef; +export declare function _BinaryenArrayInitData(module: ModuleRef, name: StringRef, ref: ExpressionRef, index: ExpressionRef, offset: ExpressionRef, size: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayInitDataGetSegment(expr: ExpressionRef): StringRef; +export declare function _BinaryenArrayInitDataSetSegment(expr: ExpressionRef, segment: StringRef): void; +export declare function _BinaryenArrayInitDataGetRef(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayInitDataSetRef(expr: ExpressionRef, ref: ExpressionRef): void; +export declare function _BinaryenArrayInitDataGetIndex(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayInitDataSetIndex(expr: ExpressionRef, index: ExpressionRef): void; +export declare function _BinaryenArrayInitDataGetOffset(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayInitDataSetOffset(expr: ExpressionRef, offset: ExpressionRef): void; +export declare function _BinaryenArrayInitDataGetSize(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayInitDataSetSize(expr: ExpressionRef, size: ExpressionRef): void; + +export declare function _BinaryenArrayInitElem(module: ModuleRef, seg: StringRef, ref: ExpressionRef, index: ExpressionRef, offset: ExpressionRef, size: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayInitElemGetSegment(expr: ExpressionRef): StringRef; +export declare function _BinaryenArrayInitElemSetSegment(expr: ExpressionRef, segment: StringRef): void; +export declare function _BinaryenArrayInitElemGetRef(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayInitElemSetRef(expr: ExpressionRef, ref: ExpressionRef): void; +export declare function _BinaryenArrayInitElemGetIndex(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayInitElemSetIndex(expr: ExpressionRef, index: ExpressionRef): void; +export declare function _BinaryenArrayInitElemGetOffset(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayInitElemSetOffset(expr: ExpressionRef, offset: ExpressionRef): void; +export declare function _BinaryenArrayInitElemGetSize(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenArrayInitElemSetSize(expr: ExpressionRef, size: ExpressionRef): void; + +export declare function _BinaryenStringNew(module: ModuleRef, op: Op, ref: ExpressionRef, start: ExpressionRef): ExpressionRef; export declare function _BinaryenStringNewGetOp(expr: ExpressionRef): Op; export declare function _BinaryenStringNewSetOp(expr: ExpressionRef, op: Op): void; -export declare function _BinaryenStringNewGetPtr(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringNewSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; -export declare function _BinaryenStringNewGetLength(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringNewSetLength(expr: ExpressionRef, lengthExpr: ExpressionRef): void; +export declare function _BinaryenStringNewGetRef(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenStringNewSetRef(expr: ExpressionRef, ptrExpr: ExpressionRef): void; export declare function _BinaryenStringNewGetStart(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenStringNewSetStart(expr: ExpressionRef, startExpr: ExpressionRef): void; export declare function _BinaryenStringNewGetEnd(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenStringNewSetEnd(expr: ExpressionRef, endExpr: ExpressionRef): void; -export declare function _BinaryenStringNewIsTry(expr: ExpressionRef): bool; -export declare function _BinaryenStringNewSetTry(expr: ExpressionRef, isTry: bool): void; export declare function _BinaryenStringConst(module: ExpressionRef, name: StringRef): ExpressionRef; export declare function _BinaryenStringConstGetString(expr: ExpressionRef): StringRef; @@ -687,10 +724,10 @@ export declare function _BinaryenStringMeasureSetRef(expr: ExpressionRef, refExp export declare function _BinaryenStringEncode(module: ExpressionRef, op: Op, ref: ExpressionRef, ptr: ExpressionRef, start: ExpressionRef): ExpressionRef; export declare function _BinaryenStringEncodeGetOp(expr: ExpressionRef): Op; export declare function _BinaryenStringEncodeSetOp(expr: ExpressionRef, op: Op): void; -export declare function _BinaryenStringEncodeGetRef(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringEncodeSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; -export declare function _BinaryenStringEncodeGetPtr(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringEncodeSetPtr(expr: ExpressionRef, ptrExpr: ExpressionRef): void; +export declare function _BinaryenStringEncodeGetStr(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenStringEncodeSetStr(expr: ExpressionRef, refExpr: ExpressionRef): void; +export declare function _BinaryenStringEncodeGetArray(expr: ExpressionRef): ExpressionRef; +export declare function _BinaryenStringEncodeSetArray(expr: ExpressionRef, ptrExpr: ExpressionRef): void; export declare function _BinaryenStringEncodeGetStart(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenStringEncodeSetStart(expr: ExpressionRef, startExpr: ExpressionRef): void; @@ -708,41 +745,13 @@ export declare function _BinaryenStringEqSetLeft(expr: ExpressionRef, leftExpr: export declare function _BinaryenStringEqGetRight(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenStringEqSetRight(expr: ExpressionRef, rightExpr: ExpressionRef): void; -export declare function _BinaryenStringAs(module: ExpressionRef, op: Op, ref: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringAsGetOp(expr: ExpressionRef): Op; -export declare function _BinaryenStringAsSetOp(expr: ExpressionRef, op: Op): void; -export declare function _BinaryenStringAsGetRef(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringAsSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - -export declare function _BinaryenStringWTF8Advance(module: ExpressionRef, ref: ExpressionRef, pos: ExpressionRef, bytes: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringWTF8AdvanceGetRef(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringWTF8AdvanceSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; -export declare function _BinaryenStringWTF8AdvanceGetPos(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringWTF8AdvanceSetPos(expr: ExpressionRef, posExpr: ExpressionRef): void; -export declare function _BinaryenStringWTF8AdvanceGetBytes(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringWTF8AdvanceSetBytes(expr: ExpressionRef, bytesExpr: ExpressionRef): void; - export declare function _BinaryenStringWTF16Get(module: ExpressionRef, ref: ExpressionRef, pos: ExpressionRef): ExpressionRef; export declare function _BinaryenStringWTF16GetGetRef(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenStringWTF16GetSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; export declare function _BinaryenStringWTF16GetGetPos(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenStringWTF16GetSetPos(expr: ExpressionRef, posExpr: ExpressionRef): void; -export declare function _BinaryenStringIterNext(module: ExpressionRef, ref: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringIterNextGetRef(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringIterNextSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; - -export declare function _BinaryenStringIterMove(module: ExpressionRef, op: Op, ref: ExpressionRef, num: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringIterMoveGetOp(expr: ExpressionRef): Op; -export declare function _BinaryenStringIterMoveSetOp(expr: ExpressionRef, op: Op): void; -export declare function _BinaryenStringIterMoveGetRef(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringIterMoveSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; -export declare function _BinaryenStringIterMoveGetNum(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringIterMoveSetNum(expr: ExpressionRef, numExpr: ExpressionRef): void; - -export declare function _BinaryenStringSliceWTF(module: ExpressionRef, op: Op, ref: ExpressionRef, start: ExpressionRef, end: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringSliceWTFGetOp(expr: ExpressionRef): Op; -export declare function _BinaryenStringSliceWTFSetOp(expr: ExpressionRef, op: Op): void; +export declare function _BinaryenStringSliceWTF(module: ExpressionRef, ref: ExpressionRef, start: ExpressionRef, end: ExpressionRef): ExpressionRef; export declare function _BinaryenStringSliceWTFGetRef(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenStringSliceWTFSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; export declare function _BinaryenStringSliceWTFGetStart(expr: ExpressionRef): ExpressionRef; @@ -750,12 +759,6 @@ export declare function _BinaryenStringSliceWTFSetStart(expr: ExpressionRef, sta export declare function _BinaryenStringSliceWTFGetEnd(expr: ExpressionRef): ExpressionRef; export declare function _BinaryenStringSliceWTFSetEnd(expr: ExpressionRef, endExpr: ExpressionRef): void; -export declare function _BinaryenStringSliceIter(module: ExpressionRef, ref: ExpressionRef, num: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringSliceIterGetRef(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringSliceIterSetRef(expr: ExpressionRef, refExpr: ExpressionRef): void; -export declare function _BinaryenStringSliceIterGetNum(expr: ExpressionRef): ExpressionRef; -export declare function _BinaryenStringSliceIterSetNum(expr: ExpressionRef, numExpr: ExpressionRef): void; - export declare function _BinaryenAddFunction(module: ModuleRef, name: StringRef, params: TypeRef, results: TypeRef, varTypes: ArrayRef, numVarTypes: Index, body: ExpressionRef): FunctionRef; export declare function _BinaryenGetFunction(module: ModuleRef, name: StringRef): FunctionRef; export declare function _BinaryenRemoveFunction(module: ModuleRef, name: StringRef): void; @@ -767,12 +770,15 @@ export declare function _BinaryenFunctionGetParams(func: FunctionRef): TypeRef; export declare function _BinaryenFunctionGetResults(func: FunctionRef): TypeRef; export declare function _BinaryenFunctionGetNumVars(func: FunctionRef): Index; export declare function _BinaryenFunctionGetVar(func: FunctionRef, index: Index): TypeRef; +export declare function _BinaryenFunctionAddVar(func: FunctionRef, type: TypeRef): Index; export declare function _BinaryenFunctionGetNumLocals(func: FunctionRef): Index; export declare function _BinaryenFunctionHasLocalName(func: FunctionRef, index: Index): bool; export declare function _BinaryenFunctionGetLocalName(func: FunctionRef, index: Index): StringRef; export declare function _BinaryenFunctionSetLocalName(func: FunctionRef, index: Index, name: StringRef): void; export declare function _BinaryenFunctionGetBody(func: FunctionRef): ExpressionRef; export declare function _BinaryenFunctionSetBody(func: FunctionRef, bodyExpr: ExpressionRef): void; +export declare function _BinaryenFunctionGetType(func: FunctionRef): HeapTypeRef; +export declare function _BinaryenFunctionSetType(func: FunctionRef, type: HeapTypeRef): void; export declare function _BinaryenFunctionOptimize(func: FunctionRef, module: ModuleRef): void; export declare function _BinaryenFunctionRunPasses(func: FunctionRef, module: ModuleRef, passes: ArrayRef, numPasses: Index): void; export declare function _BinaryenFunctionSetDebugLocation(func: FunctionRef, expr: ExpressionRef, fileIndex: Index, lineNumber: Index, columnNumber: Index): void; @@ -828,6 +834,8 @@ export declare function _BinaryenTableSetInitial(table: TableRef, initial: Index export declare function _BinaryenTableHasMax(table: TableRef): bool; export declare function _BinaryenTableGetMax(table: TableRef): Index; export declare function _BinaryenTableSetMax(table: TableRef, max: Index): void; +export declare function _BinaryenTableGetType(table: TableRef): TypeRef; +export declare function _BinaryenTableSetType(table: TableRef, type: TypeRef): void; export declare function _BinaryenAddActiveElementSegment(module: ModuleRef, table: StringRef, name: StringRef, funcNames: ArrayRef, numFuncNames: Index, offset: ExpressionRef): ElementSegmentRef; export declare function _BinaryenAddPassiveElementSegment(module: ModuleRef, name: StringRef, funcNames: ArrayRef, numFuncNames: Index): ElementSegmentRef; @@ -836,13 +844,15 @@ export declare function _BinaryenGetNumElementSegments(module: ModuleRef, name: export declare function _BinaryenGetElementSegment(module: ModuleRef, name: StringRef): ElementSegmentRef; export declare function _BinaryenGetElementSegmentByIndex(module: ModuleRef, index: Index): ElementSegmentRef; -export declare function _BinaryenSetMemory(module: ModuleRef, initial: Index, maximum: Index, exportName: StringRef, segments: ArrayRef>, segmentPassive: ArrayRef, segmentOffsets: ArrayRef, segmentSizes: ArrayRef, numSegments: Index, shared: bool, memory64: bool, name: StringRef): void; +export declare function _BinaryenSetMemory(module: ModuleRef, initial: Index, maximum: Index, exportName: StringRef, segmentNames: ArrayRef, segmentDatas: ArrayRef>, segmentPassive: ArrayRef, segmentOffsets: ArrayRef, segmentSizes: ArrayRef, numSegments: Index, shared: bool, memory64: bool, name: StringRef): void; export declare function _BinaryenGetNumMemorySegments(module: ModuleRef): Index; -export declare function _BinaryenGetMemorySegmentByteOffset(module: ModuleRef, index: Index): u32; -export declare function _BinaryenGetMemorySegmentByteLength(module: ModuleRef, id: Index): usize; -export declare function _BinaryenCopyMemorySegmentData(module: ModuleRef, id: Index, buffer: ArrayRef): void; +export declare function _BinaryenGetMemorySegmentByteOffset(module: ModuleRef, segmentName: StringRef): u32; +export declare function _BinaryenGetMemorySegmentByteLength(module: ModuleRef, segmentName: StringRef): usize; +export declare function _BinaryenCopyMemorySegmentData(module: ModuleRef, segmentName: StringRef, buffer: ArrayRef): void; +export declare function _BinaryenAddDataSegment(module: ModuleRef, segmentName: StringRef, memoryName: StringRef, segmentPassive: bool, segmentOffset: ExpressionRef, segmentData: ArrayRef, segmentSize: Index): void; export declare function _BinaryenSetStart(module: ModuleRef, start: FunctionRef): void; +export declare function _BinaryenGetStart(module: ModuleRef): FunctionRef; export declare function _BinaryenModuleParse(text: StringRef): ModuleRef; export declare function _BinaryenModulePrint(module: ModuleRef): void; @@ -850,12 +860,12 @@ export declare function _BinaryenModulePrintAsmjs(module: ModuleRef): void; export declare function _BinaryenModuleValidate(module: ModuleRef): i32; export declare function _BinaryenModuleOptimize(module: ModuleRef): void; export declare function _BinaryenModuleRunPasses(module: ModuleRef, passes: ArrayRef, numPasses: Index): void; -export declare function _BinaryenModuleAutoDrop(module: ModuleRef): void; export declare function _BinaryenSizeofAllocateAndWriteResult(): i32; export declare function _BinaryenModuleAllocateAndWrite(resultOut: BinaryenModuleAllocateAndWriteResultRef, module: ModuleRef, sourceMapUrl: StringRef): void; export declare function _BinaryenModuleAllocateAndWriteText(module: ModuleRef): StringRef; -export declare function _BinaryenModuleAllocateAndWriteStackIR(module: ModuleRef, optimize: bool): StringRef; +export declare function _BinaryenModuleAllocateAndWriteStackIR(module: ModuleRef): StringRef; export declare function _BinaryenModuleRead(input: ArrayRef, inputSize: usize): ModuleRef; +export declare function _BinaryenModuleReadWithFeatures(input: ArrayRef, inputSize: usize, featureFlags: FeatureFlags): ModuleRef; export declare function _BinaryenModuleInterpret(module: ModuleRef): void; export declare function _BinaryenModuleAddDebugInfoFileName(module: ModuleRef, filename: StringRef): Index; export declare function _BinaryenModuleGetDebugInfoFileName(module: ModuleRef, index: Index): StringRef; @@ -881,16 +891,14 @@ export declare function _ExpressionRunnerRunAndDispose(runner: ExpressionRunnerR export declare function _TypeBuilderCreate(size: Index): TypeBuilderRef; export declare function _TypeBuilderGrow(builder: TypeBuilderRef, count: Index): void; export declare function _TypeBuilderGetSize(builder: TypeBuilderRef): Index; -export declare function _TypeBuilderSetBasicHeapType(builder: TypeBuilderRef, index: Index, basicHeapType: HeapTypeRef): void; export declare function _TypeBuilderSetSignatureType(builder: TypeBuilderRef, index: Index, paramTypes: TypeRef, resultTypes: TypeRef): void; export declare function _TypeBuilderSetStructType(builder: TypeBuilderRef, index: Index, fieldTypes: ArrayRef, fieldPackedTypes: ArrayRef, fieldMutables: ArrayRef, numFields: i32): void; export declare function _TypeBuilderSetArrayType(builder: TypeBuilderRef, index: Index, elementType: TypeRef, elementPackedTyype: PackedType, elementMutable: bool): void; -export declare function _TypeBuilderIsBasic(builder: TypeBuilderRef, index: Index): bool; -export declare function _TypeBuilderGetBasic(builder: TypeBuilderRef, index: Index): HeapTypeRef; export declare function _TypeBuilderGetTempHeapType(builder: TypeBuilderRef, index: Index): HeapTypeRef; export declare function _TypeBuilderGetTempTupleType(builder: TypeBuilderRef, types: ArrayRef, numTypes: Index): TypeRef; export declare function _TypeBuilderGetTempRefType(builder: TypeBuilderRef, heapType: HeapTypeRef, nullable: bool): TypeRef; export declare function _TypeBuilderSetSubType(builder: TypeBuilderRef, index: Index, superType: HeapTypeRef): void; +export declare function _TypeBuilderSetOpen(builder: TypeBuilderRef, index: Index): void; export declare function _TypeBuilderCreateRecGroup(builder: TypeBuilderRef, index: Index, length: Index): void; export declare function _TypeBuilderBuildAndDispose(builder: TypeBuilderRef, heapTypes: ArrayRef, errorIndex: Pointer, errorReason: Pointer): bool; export declare function _BinaryenModuleSetTypeName(module: ModuleRef, heapType: HeapTypeRef, name: StringRef): void; @@ -902,15 +910,26 @@ export declare function _BinaryenGetShrinkLevel(): i32; export declare function _BinaryenSetShrinkLevel(level: i32): void; export declare function _BinaryenGetDebugInfo(): bool; export declare function _BinaryenSetDebugInfo(on: bool): void; +export declare function _BinaryenGetTrapsNeverHappen(): bool; +export declare function _BinaryenSetTrapsNeverHappen(on: bool): void; +export declare function _BinaryenGetClosedWorld(): bool; +export declare function _BinaryenSetClosedWorld(on: bool): void; export declare function _BinaryenGetLowMemoryUnused(): bool; export declare function _BinaryenSetLowMemoryUnused(on: bool): void; export declare function _BinaryenGetZeroFilledMemory(): bool; export declare function _BinaryenSetZeroFilledMemory(on: bool): void; export declare function _BinaryenGetFastMath(): bool; export declare function _BinaryenSetFastMath(on: bool): void; +export declare function _BinaryenGetGenerateStackIR(): bool; +export declare function _BinaryenSetGenerateStackIR(on: bool): void; +export declare function _BinaryenGetOptimizeStackIR(): bool; +export declare function _BinaryenSetOptimizeStackIR(on: bool): void; export declare function _BinaryenGetPassArgument(key: StringRef): StringRef; export declare function _BinaryenSetPassArgument(key: StringRef, value: StringRef): void; export declare function _BinaryenClearPassArguments(): void; +export declare function _BinaryenHasPassToSkip(pass: StringRef): bool; +export declare function _BinaryenAddPassToSkip(pass: StringRef): void; +export declare function _BinaryenClearPassesToSkip(): void; export declare function _BinaryenGetAlwaysInlineMaxSize(): Index; export declare function _BinaryenSetAlwaysInlineMaxSize(size: Index): void; export declare function _BinaryenGetFlexibleInlineMaxSize(): Index; @@ -919,8 +938,6 @@ export declare function _BinaryenGetOneCallerInlineMaxSize(): Index; export declare function _BinaryenSetOneCallerInlineMaxSize(size: Index): void; export declare function _BinaryenGetAllowInliningFunctionsWithLoops(): bool; export declare function _BinaryenSetAllowInliningFunctionsWithLoops(enabled: bool): void; -export declare function _BinaryenGetTypeSystem(): TypeSystem; -export declare function _BinaryenSetTypeSystem(typeSystem: TypeSystem): void; // Helpers diff --git a/src/glue/binaryen.js b/src/glue/binaryen.js index fe503e6f5c..295afb7635 100644 --- a/src/glue/binaryen.js +++ b/src/glue/binaryen.js @@ -21,9 +21,6 @@ export const { _BinaryenTypeStructref, _BinaryenTypeArrayref, _BinaryenTypeStringref, - _BinaryenTypeStringviewWTF8, - _BinaryenTypeStringviewWTF16, - _BinaryenTypeStringviewIter, _BinaryenTypeNullref, _BinaryenTypeNullExternref, _BinaryenTypeNullFuncref, @@ -35,10 +32,8 @@ export const { _BinaryenHeapTypeI31, _BinaryenHeapTypeStruct, _BinaryenHeapTypeArray, + // _BinaryenHeapTypeExn, _BinaryenHeapTypeString, - _BinaryenHeapTypeStringviewWTF8, - _BinaryenHeapTypeStringviewWTF16, - _BinaryenHeapTypeStringviewIter, _BinaryenHeapTypeNone, _BinaryenHeapTypeNoext, _BinaryenHeapTypeNofunc, @@ -504,9 +499,9 @@ export const { _BinaryenPop, - _BinaryenI31New, - _BinaryenI31NewGetValue, - _BinaryenI31NewSetValue, + _BinaryenRefI31, + _BinaryenRefI31GetValue, + _BinaryenRefI31SetValue, _BinaryenI31Get, _BinaryenI31GetGetI31, @@ -576,13 +571,29 @@ export const { _BinaryenArrayNewGetSize, _BinaryenArrayNewSetSize, - _BinaryenArrayInit, - _BinaryenArrayInitGetNumValues, - _BinaryenArrayInitGetValueAt, - _BinaryenArrayInitSetValueAt, - _BinaryenArrayInitAppendValue, - _BinaryenArrayInitInsertValueAt, - _BinaryenArrayInitRemoveValueAt, + _BinaryenArrayNewFixed, + _BinaryenArrayNewFixedGetNumValues, + _BinaryenArrayNewFixedGetValueAt, + _BinaryenArrayNewFixedSetValueAt, + _BinaryenArrayNewFixedAppendValue, + _BinaryenArrayNewFixedInsertValueAt, + _BinaryenArrayNewFixedRemoveValueAt, + + _BinaryenArrayNewData, + _BinaryenArrayNewDataGetSegment, + _BinaryenArrayNewDataSetSegment, + _BinaryenArrayNewDataGetOffset, + _BinaryenArrayNewDataSetOffset, + _BinaryenArrayNewDataGetSize, + _BinaryenArrayNewDataSetSize, + + _BinaryenArrayNewElem, + _BinaryenArrayNewElemGetSegment, + _BinaryenArrayNewElemSetSegment, + _BinaryenArrayNewElemGetOffset, + _BinaryenArrayNewElemSetOffset, + _BinaryenArrayNewElemGetSize, + _BinaryenArrayNewElemSetSize, _BinaryenArrayGet, _BinaryenArrayGetGetRef, @@ -604,6 +615,16 @@ export const { _BinaryenArrayLenGetRef, _BinaryenArrayLenSetRef, + _BinaryenArrayFill, + _BinaryenArrayFillGetRef, + _BinaryenArrayFillSetRef, + _BinaryenArrayFillGetIndex, + _BinaryenArrayFillSetIndex, + _BinaryenArrayFillGetValue, + _BinaryenArrayFillSetValue, + _BinaryenArrayFillGetSize, + _BinaryenArrayFillSetSize, + _BinaryenArrayCopy, _BinaryenArrayCopyGetDestRef, _BinaryenArrayCopySetDestRef, @@ -616,19 +637,39 @@ export const { _BinaryenArrayCopyGetLength, _BinaryenArrayCopySetLength, + _BinaryenArrayInitData, + _BinaryenArrayInitDataGetSegment, + _BinaryenArrayInitDataSetSegment, + _BinaryenArrayInitDataGetRef, + _BinaryenArrayInitDataSetRef, + _BinaryenArrayInitDataGetIndex, + _BinaryenArrayInitDataSetIndex, + _BinaryenArrayInitDataGetOffset, + _BinaryenArrayInitDataSetOffset, + _BinaryenArrayInitDataGetSize, + _BinaryenArrayInitDataSetSize, + + _BinaryenArrayInitElem, + _BinaryenArrayInitElemGetSegment, + _BinaryenArrayInitElemSetSegment, + _BinaryenArrayInitElemGetRef, + _BinaryenArrayInitElemSetRef, + _BinaryenArrayInitElemGetIndex, + _BinaryenArrayInitElemSetIndex, + _BinaryenArrayInitElemGetOffset, + _BinaryenArrayInitElemSetOffset, + _BinaryenArrayInitElemGetSize, + _BinaryenArrayInitElemSetSize, + _BinaryenStringNew, _BinaryenStringNewGetOp, _BinaryenStringNewSetOp, - _BinaryenStringNewGetPtr, - _BinaryenStringNewSetPtr, - _BinaryenStringNewGetLength, - _BinaryenStringNewSetLength, + _BinaryenStringNewGetRef, + _BinaryenStringNewSetRef, _BinaryenStringNewGetStart, _BinaryenStringNewSetStart, _BinaryenStringNewGetEnd, _BinaryenStringNewSetEnd, - _BinaryenStringNewIsTry, - _BinaryenStringNewSetTry, _BinaryenStringConst, _BinaryenStringConstGetString, @@ -643,10 +684,10 @@ export const { _BinaryenStringEncode, _BinaryenStringEncodeGetOp, _BinaryenStringEncodeSetOp, - _BinaryenStringEncodeGetRef, - _BinaryenStringEncodeSetRef, - _BinaryenStringEncodeGetPtr, - _BinaryenStringEncodeSetPtr, + _BinaryenStringEncodeGetStr, + _BinaryenStringEncodeSetStr, + _BinaryenStringEncodeGetArray, + _BinaryenStringEncodeSetArray, _BinaryenStringEncodeGetStart, _BinaryenStringEncodeSetStart, @@ -664,41 +705,13 @@ export const { _BinaryenStringEqGetRight, _BinaryenStringEqSetRight, - _BinaryenStringAs, - _BinaryenStringAsGetOp, - _BinaryenStringAsSetOp, - _BinaryenStringAsGetRef, - _BinaryenStringAsSetRef, - - _BinaryenStringWTF8Advance, - _BinaryenStringWTF8AdvanceGetRef, - _BinaryenStringWTF8AdvanceSetRef, - _BinaryenStringWTF8AdvanceGetPos, - _BinaryenStringWTF8AdvanceSetPos, - _BinaryenStringWTF8AdvanceGetBytes, - _BinaryenStringWTF8AdvanceSetBytes, - _BinaryenStringWTF16Get, _BinaryenStringWTF16GetGetRef, _BinaryenStringWTF16GetSetRef, _BinaryenStringWTF16GetGetPos, _BinaryenStringWTF16GetSetPos, - _BinaryenStringIterNext, - _BinaryenStringIterNextGetRef, - _BinaryenStringIterNextSetRef, - - _BinaryenStringIterMove, - _BinaryenStringIterMoveGetOp, - _BinaryenStringIterMoveSetOp, - _BinaryenStringIterMoveGetRef, - _BinaryenStringIterMoveSetRef, - _BinaryenStringIterMoveGetNum, - _BinaryenStringIterMoveSetNum, - _BinaryenStringSliceWTF, - _BinaryenStringSliceWTFGetOp, - _BinaryenStringSliceWTFSetOp, _BinaryenStringSliceWTFGetRef, _BinaryenStringSliceWTFSetRef, _BinaryenStringSliceWTFGetStart, @@ -706,12 +719,6 @@ export const { _BinaryenStringSliceWTFGetEnd, _BinaryenStringSliceWTFSetEnd, - _BinaryenStringSliceIter, - _BinaryenStringSliceIterGetRef, - _BinaryenStringSliceIterSetRef, - _BinaryenStringSliceIterGetNum, - _BinaryenStringSliceIterSetNum, - _BinaryenAddFunction, _BinaryenGetFunction, _BinaryenRemoveFunction, @@ -723,12 +730,15 @@ export const { _BinaryenFunctionGetResults, _BinaryenFunctionGetNumVars, _BinaryenFunctionGetVar, + _BinaryenFunctionAddVar, _BinaryenFunctionGetNumLocals, _BinaryenFunctionHasLocalName, _BinaryenFunctionGetLocalName, _BinaryenFunctionSetLocalName, _BinaryenFunctionGetBody, _BinaryenFunctionSetBody, + _BinaryenFunctionGetType, + _BinaryenFunctionSetType, _BinaryenFunctionOptimize, _BinaryenFunctionRunPasses, _BinaryenFunctionSetDebugLocation, @@ -784,6 +794,8 @@ export const { _BinaryenTableHasMax, _BinaryenTableGetMax, _BinaryenTableSetMax, + _BinaryenTableGetType, + _BinaryenTableSetType, _BinaryenAddActiveElementSegment, _BinaryenAddPassiveElementSegment, @@ -797,8 +809,10 @@ export const { _BinaryenGetMemorySegmentByteOffset, _BinaryenGetMemorySegmentByteLength, _BinaryenCopyMemorySegmentData, + _BinaryenAddDataSegment, _BinaryenSetStart, + _BinaryenGetStart, _BinaryenModuleParse, _BinaryenModulePrint, @@ -806,12 +820,12 @@ export const { _BinaryenModuleValidate, _BinaryenModuleOptimize, _BinaryenModuleRunPasses, - _BinaryenModuleAutoDrop, _BinaryenSizeofAllocateAndWriteResult, _BinaryenModuleAllocateAndWrite, _BinaryenModuleAllocateAndWriteText, _BinaryenModuleAllocateAndWriteStackIR, _BinaryenModuleRead, + _BinaryenModuleReadWithFeatures, _BinaryenModuleInterpret, _BinaryenModuleAddDebugInfoFileName, _BinaryenModuleGetDebugInfoFileName, @@ -837,16 +851,14 @@ export const { _TypeBuilderCreate, _TypeBuilderGrow, _TypeBuilderGetSize, - _TypeBuilderSetBasicHeapType, _TypeBuilderSetSignatureType, _TypeBuilderSetStructType, _TypeBuilderSetArrayType, - _TypeBuilderIsBasic, - _TypeBuilderGetBasic, _TypeBuilderGetTempHeapType, _TypeBuilderGetTempTupleType, _TypeBuilderGetTempRefType, _TypeBuilderSetSubType, + _TypeBuilderSetOpen, _TypeBuilderCreateRecGroup, _TypeBuilderBuildAndDispose, _BinaryenModuleSetTypeName, @@ -858,15 +870,26 @@ export const { _BinaryenSetShrinkLevel, _BinaryenGetDebugInfo, _BinaryenSetDebugInfo, + _BinaryenGetTrapsNeverHappen, + _BinaryenSetTrapsNeverHappen, + _BinaryenGetClosedWorld, + _BinaryenSetClosedWorld, _BinaryenGetLowMemoryUnused, _BinaryenSetLowMemoryUnused, _BinaryenGetZeroFilledMemory, _BinaryenSetZeroFilledMemory, _BinaryenGetFastMath, _BinaryenSetFastMath, + _BinaryenGetGenerateStackIR, + _BinaryenSetGenerateStackIR, + _BinaryenGetOptimizeStackIR, + _BinaryenSetOptimizeStackIR, _BinaryenGetPassArgument, _BinaryenSetPassArgument, _BinaryenClearPassArguments, + _BinaryenHasPassToSkip, + _BinaryenAddPassToSkip, + _BinaryenClearPassesToSkip, _BinaryenGetAlwaysInlineMaxSize, _BinaryenSetAlwaysInlineMaxSize, _BinaryenGetFlexibleInlineMaxSize, @@ -875,8 +898,6 @@ export const { _BinaryenSetOneCallerInlineMaxSize, _BinaryenGetAllowInliningFunctionsWithLoops, _BinaryenSetAllowInliningFunctionsWithLoops, - _BinaryenGetTypeSystem, - _BinaryenSetTypeSystem, // Helpers diff --git a/src/glue/js/float.d.ts b/src/glue/js/float.d.ts index 8694f03b52..b116ad846c 100644 --- a/src/glue/js/float.d.ts +++ b/src/glue/js/float.d.ts @@ -7,3 +7,4 @@ declare function f32_as_i32(value: f32): i32; declare function i32_as_f32(value: i32): f32; declare function f64_as_i64(value: f64): i64; declare function i64_as_f64(value: i64): f64; +declare function f64_pow(value: f64, exponent: f64): f64; diff --git a/src/glue/js/float.js b/src/glue/js/float.js index 090af6cf96..6b68fdfef1 100644 --- a/src/glue/js/float.js +++ b/src/glue/js/float.js @@ -3,6 +3,8 @@ * @license Apache-2.0 */ +import { f64_pow } from "as-float"; + /* eslint-disable no-undef */ const F64 = new Float64Array(1); @@ -29,3 +31,5 @@ globalThis.i64_as_f64 = function i64_as_f64(value) { I32[1] = i64_high(value); return F64[0]; }; + +globalThis.f64_pow = f64_pow; diff --git a/src/index-wasm.ts b/src/index-wasm.ts index a43202657d..ec51de73da 100644 --- a/src/index-wasm.ts +++ b/src/index-wasm.ts @@ -23,7 +23,8 @@ import { import { Compiler, Options, - UncheckedBehavior + UncheckedBehavior, + defaultFeatures } from "./compiler"; import { @@ -201,15 +202,14 @@ export const FEATURE_RELAXED_SIMD = Feature.RelaxedSimd; export const FEATURE_EXTENDED_CONST = Feature.ExtendedConst; /** String references. */ export const FEATURE_STRINGREF = Feature.Stringref; - -/** Enables a specific feature. */ -export function enableFeature(options: Options, feature: Feature): void { - options.features |= feature; -} - -/** Disables a specific feature. */ -export function disableFeature(options: Options, feature: Feature): void { - options.features &= ~feature; +/** All features. */ +export const FEATURES_ALL = Feature.All; +/** Default features. */ +export const FEATURES_DEFAULT = defaultFeatures; + +/** Sets whether a specific feature is enabled. */ +export function setFeature(options: Options, feature: Feature, on: bool): void { + options.setFeature(feature, on); } /** Gives the compiler a hint at the optimize levels that will be used later on. */ diff --git a/src/module.ts b/src/module.ts index 3beecf5f70..2719f60c50 100644 --- a/src/module.ts +++ b/src/module.ts @@ -78,9 +78,6 @@ export namespace TypeRef { export const Arrayref = binaryen._BinaryenTypeArrayref(); export const I31ref = binaryen._BinaryenTypeI31ref(); export const Stringref = binaryen._BinaryenTypeStringref(); - export const StringviewWTF8 = binaryen._BinaryenTypeStringviewWTF8(); - export const StringviewWTF16 = binaryen._BinaryenTypeStringviewWTF16(); - export const StringviewIter = binaryen._BinaryenTypeStringviewIter(); export const Noneref = binaryen._BinaryenTypeNullref(); export const Nofuncref = binaryen._BinaryenTypeNullFuncref(); export const Noexternref = binaryen._BinaryenTypeNullExternref(); @@ -102,20 +99,18 @@ export namespace HeapTypeRef { // // where (...) represents the concrete subtypes - export const Extern: HeapTypeRef = 0 /* _BinaryenHeapTypeExt */; - export const Func: HeapTypeRef = 1 /* _BinaryenHeapTypeFunc */; - export const Any: HeapTypeRef = 2 /* _BinaryenHeapTypeAny */; - export const Eq: HeapTypeRef = 3 /* _BinaryenHeapTypeEq */; - export const I31: HeapTypeRef = 4 /* _BinaryenHeapTypeI31 */; - export const Struct: HeapTypeRef = 5 /* _BinaryenHeapTypeStruct */; - export const Array: HeapTypeRef = 6 /* _BinaryenHeapTypeArray */; - export const String: HeapTypeRef = 7 /* _BinaryenHeapTypeString */; - export const StringviewWTF8: HeapTypeRef = 8 /* _BinaryenHeapTypeStringviewWTF8 */; - export const StringviewWTF16: HeapTypeRef = 9 /* _BinaryenHeapTypeStringviewWTF16 */; - export const StringviewIter: HeapTypeRef = 10 /* _BinaryenHeapTypeStringviewIter */; - export const None: HeapTypeRef = 11 /* _BinaryenHeapTypeNone */; - export const Noextern: HeapTypeRef = 12 /* _BinaryenHeapTypeNoext */; - export const Nofunc: HeapTypeRef = 13 /* _BinaryenHeapTypeNofunc */; + export const Extern: HeapTypeRef = 8 /* _BinaryenHeapTypeExt */; + export const Func: HeapTypeRef = 16 /* _BinaryenHeapTypeFunc */; + export const Any: HeapTypeRef = 32 /* _BinaryenHeapTypeAny */; + export const Eq: HeapTypeRef = 40 /* _BinaryenHeapTypeEq */; + export const I31: HeapTypeRef = 48 /* _BinaryenHeapTypeI31 */; + export const Struct: HeapTypeRef = 56 /* _BinaryenHeapTypeStruct */; + export const Array: HeapTypeRef = 64 /* _BinaryenHeapTypeArray */; + export const Exn: HeapTypeRef = 7 /* TODO: BinaryenHeapTypeExn */; + export const String: HeapTypeRef = 80 /* _BinaryenHeapTypeString */; + export const None: HeapTypeRef = 88 /* _BinaryenHeapTypeNone */; + export const Noextern: HeapTypeRef = 96 /* _BinaryenHeapTypeNoext */; + export const Nofunc: HeapTypeRef = 104 /* _BinaryenHeapTypeNofunc */; export function isBottom(ht: HeapTypeRef): bool { return binaryen._BinaryenHeapTypeIsBottom(ht); @@ -141,7 +136,7 @@ export namespace HeapTypeRef { b = t; } switch (a) { - case HeapTypeRef.Extern: + case HeapTypeRef.Extern: return b == HeapTypeRef.String ? a : -1; case HeapTypeRef.Func: return -1; case HeapTypeRef.Any: return a; case HeapTypeRef.Eq: { @@ -159,11 +154,7 @@ export namespace HeapTypeRef { ? HeapTypeRef.Eq : HeapTypeRef.Any; } - case HeapTypeRef.Array: - case HeapTypeRef.String: - case HeapTypeRef.StringviewWTF8: - case HeapTypeRef.StringviewWTF16: - case HeapTypeRef.StringviewIter: return HeapTypeRef.Any; + case HeapTypeRef.Array: return HeapTypeRef.Any; } assert(false); return -1; @@ -202,13 +193,6 @@ export namespace TypeBuilderErrorReason { } } -/** Type system constants. */ -export type TypeSystem = binaryen.TypeSystem; -export namespace TypeSystem { - export const Isorecursive: TypeSystem = 0 /* _BinaryenTypeSystemIsorecursive */; - export const Nominal: TypeSystem = 1 /* _BinaryenTypeSystemNominal */; -} - /** Binaryen feature constants. */ export const enum FeatureFlags { MVP = 0 /* _BinaryenFeatureMVP */, @@ -224,14 +208,19 @@ export const enum FeatureFlags { MultiValue = 512 /* _BinaryenFeatureMultivalue */, GC = 1024 /* _BinaryenFeatureGC */, Memory64 = 2048 /* _BinaryenFeatureMemory64 */, - RelaxedSIMD = 8192 /* _BinaryenFeatureRelaxedSIMD */, - ExtendedConst = 16384 /* _BinaryenFeatureExtendedConst */, - Stringref = 32768 /* _BinaryenFeatureStrings */, - MultiMemory = 65536 /* _BinaryenFeatureMultiMemories */, - All = 126975 /* _BinaryenFeatureAll */ -} - -/** Binaryen expression id constants. */ + RelaxedSIMD = 4096 /* _BinaryenFeatureRelaxedSIMD */, + ExtendedConst = 8192 /* _BinaryenFeatureExtendedConst */, + Stringref = 16384 /* _BinaryenFeatureStrings */, + MultiMemory = 32768 /* _BinaryenFeatureMultiMemory */, + StackSwitching = 65536 /* _BinaryenFeatureStackSwitching */, + SharedEverything = 131072 /* _BinaryenFeatureSharedEverything */, + FP16 = 262144 /* _BinaryenFeatureFP16 */, + BulkMemoryOpt = 524288 /* _BinaryenFeatureBulkMemoryOpt */, + CallIndirectOverlong = 1048576 /* _BinaryenFeatureCallIndirectOverlong */, + All = 4194303 /* _BinaryenFeatureAll */ +} + +/** Binaryen expression id constants. See wasm-delegations.def in Binaryen. */ export const enum ExpressionId { Invalid = 0 /* _BinaryenInvalidId */, Block = 1 /* _BinaryenBlockId */, @@ -282,41 +271,54 @@ export const enum ExpressionId { TableSet = 46 /* _BinaryenTableSetId */, TableSize = 47 /* _BinaryenTableSizeId */, TableGrow = 48 /* _BinaryenTableGrowId */, - Try = 49 /* _BinaryenTryId */, - Throw = 50 /* _BinaryenThrowId */, - Rethrow = 51 /* _BinaryenRethrowId */, - TupleMake = 52 /* _BinaryenTupleMakeId */, - TupleExtract = 53 /* _BinaryenTupleExtractId */, - I31New = 54 /* _BinaryenI31NewId */, - I31Get = 55 /* _BinaryenI31GetId */, - CallRef = 56 /* _BinaryenCallRefId */, - RefTest = 57 /* _BinaryenRefTestId */, - RefCast = 58 /* _BinaryenRefCastId */, - BrOn = 59 /* _BinaryenBrOnId */, - StructNew = 60 /* _BinaryenStructNewId */, - StructGet = 61 /* _BinaryenStructGetId */, - StructSet = 62 /* _BinaryenStructSetId */, - ArrayNew = 63 /* _BinaryenArrayNewId */, - ArrayNewSeg = 64 /* TODO_BinaryenArraySegId */, - ArrayInit = 65 /* _BinaryenArrayInitId */, - ArrayGet = 66 /* _BinaryenArrayGetId */, - ArraySet = 67 /* _BinaryenArraySetId */, - ArrayLen = 68 /* _BinaryenArrayLenId */, - ArrayCopy = 69 /* _BinaryenArrayCopyId */, - RefAs = 70 /* _BinaryenRefAsId */, - StringNew = 71 /* _BinaryenStringNewId */, - StringConst = 72 /* _BinaryenStringConstId */, - StringMeasure = 73 /* _BinaryenStringMeasureId */, - StringEncode = 74 /* _BinaryenStringEncodeId */, - StringConcat = 75 /* _BinaryenStringConcatId */, - StringEq = 76 /* _BinaryenStringEqId */, - StringAs = 77 /* _BinaryenStringAsId */, - StringWTF8Advance = 78 /* _BinaryenStringWTF8AdvanceId */, - StringWTF16Get = 79 /* _BinaryenStringWTF16GetId */, - StringIterNext = 80 /* _BinaryenStringIterNextId */, - StringIterMove = 81 /* _BinaryenStringIterMoveId */, - StringSliceWTF = 82 /* _BinaryenStringSliceWTFId */, - StringSliceIter = 83 /* _BinaryenStringSliceIterId */ + TableFill = 49 /* _BinaryenTableFillId */, + TableCopy = 50 /* _BinaryenTableCopyId */, + TableInit = 51 /* _BinaryenTableInitId */, + Try = 52 /* _BinaryenTryId */, + TryTable = 53 /* _BinaryenTryTableId */, + Throw = 54 /* _BinaryenThrowId */, + Rethrow = 55 /* _BinaryenRethrowId */, + ThrowRef = 56 /* _BinaryenThrowRefId */, + TupleMake = 57 /* _BinaryenTupleMakeId */, + TupleExtract = 58 /* _BinaryenTupleExtractId */, + RefI31 = 59 /* _BinaryenRefI31Id */, + I31Get = 60 /* _BinaryenI31GetId */, + CallRef = 61 /* _BinaryenCallRefId */, + RefTest = 62 /* _BinaryenRefTestId */, + RefCast = 63 /* _BinaryenRefCastId */, + RefGetDesc = 64 /* _BinaryenRefGetDescId */, + BrOn = 65 /* _BinaryenBrOnId */, + StructNew = 66 /* _BinaryenStructNewId */, + StructGet = 67 /* _BinaryenStructGetId */, + StructSet = 68 /* _BinaryenStructSetId */, + StructRMW = 69 /* _BinaryenStructRMWId */, + StructCmpxchg = 70 /* _BinaryenStructCmpxchgId */, + ArrayNew = 71 /* _BinaryenArrayNewId */, + ArrayNewData = 72 /* _BinaryenArrayNewDataId */, + ArrayNewElem = 73 /* _BinaryenArrayNewElemId */, + ArrayNewFixed = 74 /* _BinaryenArrayNewFixedId */, + ArrayGet = 75 /* _BinaryenArrayGetId */, + ArraySet = 76 /* _BinaryenArraySetId */, + ArrayLen = 77 /* _BinaryenArrayLenId */, + ArrayCopy = 78 /* _BinaryenArrayCopyId */, + ArrayFill = 79 /* _BinaryenArrayFillId */, + ArrayInitData = 80 /* _BinaryenArrayInitDataId */, + ArrayInitElem = 81 /* _BinaryenArrayInitElemId */, + RefAs = 82 /* _BinaryenRefAsId */, + StringNew = 83 /* _BinaryenStringNewId */, + StringConst = 84 /* _BinaryenStringConstId */, + StringMeasure = 85 /* _BinaryenStringMeasureId */, + StringEncode = 86 /* _BinaryenStringEncodeId */, + StringConcat = 87 /* _BinaryenStringConcatId */, + StringEq = 88 /* _BinaryenStringEqId */, + StringWTF16Get = 89 /* _BinaryenStringWTF16GetId */, + StringSliceWTF = 90 /* _BinaryenStringSliceWTFId */, + ContNew = 91 /* _BinaryenContNewId */, + ContBind = 92 /* _BinaryenContBindId */, + Suspend = 93 /* _BinaryenSuspendId */, + Resume = 94 /* _BinaryenResumeId */, + ResumeThrow = 95 /* _BinaryenResumeThrowId */, + StackSwitch = 96 /* _BinaryenStackSwitchId */ } /** Binaryen external kind constants. */ @@ -509,97 +511,95 @@ export const enum UnaryOp { AllTrueI64x2 = 83 /* _BinaryenAllTrueVecI64x2 */, /** i64x2.bitmask */ BitmaskI64x2 = 84 /* _BinaryenBitmaskVecI64x2 */, + // FIXME FIXME FIXME DONT FORGET TODO: F16 (not in C API yet) /** f32x4.abs */ - AbsF32x4 = 85 /* _BinaryenAbsVecF32x4 */, + AbsF32x4 = 92 /* _BinaryenAbsVecF32x4 */, /** f32x4.neg */ - NegF32x4 = 86 /* _BinaryenNegVecF32x4 */, + NegF32x4 = 93 /* _BinaryenNegVecF32x4 */, /** f32x4.sqrt */ - SqrtF32x4 = 87 /* _BinaryenSqrtVecF32x4 */, + SqrtF32x4 = 94 /* _BinaryenSqrtVecF32x4 */, /** f32x4.ceil */ - CeilF32x4 = 88 /* _BinaryenCeilVecF32x4 */, + CeilF32x4 = 95 /* _BinaryenCeilVecF32x4 */, /** f32x4.floor */ - FloorF32x4 = 89 /* _BinaryenFloorVecF32x4 */, + FloorF32x4 = 96 /* _BinaryenFloorVecF32x4 */, /** f32x4.trunc */ - TruncF32x4 = 90 /* BinaryenTruncVecF32x4 */, + TruncF32x4 = 97 /* _BinaryenTruncVecF32x4 */, /** f32x4.nearest */ - NearestF32x4 = 91 /* BinaryenNearestVecF32x4 */, + NearestF32x4 = 98 /* _BinaryenNearestVecF32x4 */, /** f64x2.abs */ - AbsF64x2 = 92 /* _BinaryenAbsVecF64x2 */, + AbsF64x2 = 99 /* _BinaryenAbsVecF64x2 */, /** f64x2.neg */ - NegF64x2 = 93 /* _BinaryenNegVecF64x2 */, + NegF64x2 = 100 /* _BinaryenNegVecF64x2 */, /** f64x2.sqrt */ - SqrtF64x2 = 94 /* _BinaryenSqrtVecF64x2 */, + SqrtF64x2 = 101 /* _BinaryenSqrtVecF64x2 */, /** f64x2.ceil */ - CeilF64x2 = 95 /* _BinaryenCeilVecF64x2 */, + CeilF64x2 = 102 /* _BinaryenCeilVecF64x2 */, /** f64x2.floor */ - FloorF64x2 = 96 /* _BinaryenFloorVecF64x2 */, + FloorF64x2 = 103 /* _BinaryenFloorVecF64x2 */, /** f64x2.trunc */ - TruncF64x2 = 97 /* _BinaryenTruncVecF64x2 */, + TruncF64x2 = 104 /* _BinaryenTruncVecF64x2 */, /** f64x2.nearest */ - NearestF64x2 = 98 /* _BinaryenNearestVecF64x2 */, + NearestF64x2 = 105 /* _BinaryenNearestVecF64x2 */, /** i16x8.extadd_pairwise_i8x16_s */ - ExtaddPairwiseI8x16ToI16x8 = 99 /* _BinaryenExtAddPairwiseSVecI8x16ToI16x8 */, + ExtaddPairwiseI8x16ToI16x8 = 106 /* _BinaryenExtAddPairwiseSVecI8x16ToI16x8 */, /** i16x8.extadd_pairwise.i8x16_u */ - ExtaddPairwiseU8x16ToU16x8 = 100 /* _BinaryenExtAddPairwiseUVecI8x16ToI16x8 */, + ExtaddPairwiseU8x16ToU16x8 = 107 /* _BinaryenExtAddPairwiseUVecI8x16ToI16x8 */, /** i32x4.extadd_pairwise.i16x8_s */ - ExtaddPairwiseI16x8ToI32x4 = 101 /* _BinaryenExtAddPairwiseSVecI16x8ToI32x4 */, + ExtaddPairwiseI16x8ToI32x4 = 108 /* _BinaryenExtAddPairwiseSVecI16x8ToI32x4 */, /** i32x4.extadd_pairwise.i64x8_u */ - ExtaddPairwiseU16x8ToU32x4 = 102 /* _BinaryenExtAddPairwiseUVecI16x8ToI32x4 */, + ExtaddPairwiseU16x8ToU32x4 = 109 /* _BinaryenExtAddPairwiseUVecI16x8ToI32x4 */, /** i32x4.trunc_sat_f32x4_s */ - TruncSatF32x4ToI32x4 = 103 /* _BinaryenTruncSatSVecF32x4ToVecI32x4 */, + TruncSatF32x4ToI32x4 = 110 /* _BinaryenTruncSatSVecF32x4ToVecI32x4 */, /** i32x4.trunc_sat_f32x4_u */ - TruncSatF32x4ToU32x4 = 104 /* _BinaryenTruncSatUVecF32x4ToVecI32x4 */, + TruncSatF32x4ToU32x4 = 111 /* _BinaryenTruncSatUVecF32x4ToVecI32x4 */, /** f32x4.convert_i32x4_s */ - ConvertI32x4ToF32x4 = 105 /* _BinaryenConvertSVecI32x4ToVecF32x4 */, + ConvertI32x4ToF32x4 = 112 /* _BinaryenConvertSVecI32x4ToVecF32x4 */, /** f32x4.convert_i32x4_u */ - ConvertU32x4ToF32x4 = 106 /* _BinaryenConvertUVecI32x4ToVecF32x4 */, + ConvertU32x4ToF32x4 = 113 /* _BinaryenConvertUVecI32x4ToVecF32x4 */, /** i16x8.extend_low_i8x16_s */ - ExtendLowI8x16ToI16x8 = 107 /* _BinaryenExtendLowSVecI8x16ToVecI16x8 */, + ExtendLowI8x16ToI16x8 = 114 /* _BinaryenExtendLowSVecI8x16ToVecI16x8 */, /** i16x8.extend_high_i8x16_s */ - ExtendHighI8x16ToI16x8 = 108 /* _BinaryenExtendHighSVecI8x16ToVecI16x8 */, + ExtendHighI8x16ToI16x8 = 115 /* _BinaryenExtendHighSVecI8x16ToVecI16x8 */, /** i16x8.extend_low_i8x16_u */ - ExtendLowU8x16ToU16x8 = 109 /* _BinaryenExtendLowUVecI8x16ToVecI16x8 */, + ExtendLowU8x16ToU16x8 = 116 /* _BinaryenExtendLowUVecI8x16ToVecI16x8 */, /** i16x8.extend_high_i8x16_u */ - ExtendHighU8x16ToU16x8 = 110 /* _BinaryenExtendHighUVecI8x16ToVecI16x8 */, + ExtendHighU8x16ToU16x8 = 117 /* _BinaryenExtendHighUVecI8x16ToVecI16x8 */, /** i32x4.extend_low_i16x8_s */ - ExtendLowI16x8ToI32x4 = 111 /* _BinaryenExtendLowSVecI16x8ToVecI32x4 */, + ExtendLowI16x8ToI32x4 = 118 /* _BinaryenExtendLowSVecI16x8ToVecI32x4 */, /** i32x4.extend_high_i16x8_s */ - ExtendHighI16x8ToI32x4 = 112 /* _BinaryenExtendHighSVecI16x8ToVecI32x4 */, + ExtendHighI16x8ToI32x4 = 119 /* _BinaryenExtendHighSVecI16x8ToVecI32x4 */, /** i32x4.extend_low_i16x8_u */ - ExtendLowU16x8ToU32x4 = 113 /* _BinaryenExtendLowUVecI16x8ToVecI32x4 */, + ExtendLowU16x8ToU32x4 = 120 /* _BinaryenExtendLowUVecI16x8ToVecI32x4 */, /** i32x4.extend_high_i16x8_u */ - ExtendHighU16x8ToU32x4 = 114 /* _BinaryenExtendHighUVecI16x8ToVecI32x4 */, + ExtendHighU16x8ToU32x4 = 121 /* _BinaryenExtendHighUVecI16x8ToVecI32x4 */, /** i64x2.extend_low_i32x4_s */ - ExtendLowI32x4ToI64x2 = 115 /* _BinaryenExtendLowSVecI32x4ToVecI64x2 */, + ExtendLowI32x4ToI64x2 = 122 /* _BinaryenExtendLowSVecI32x4ToVecI64x2 */, /** i64x2.extend_high_i32x4_s */ - ExtendHighI32x4ToI64x2 = 116 /* _BinaryenExtendHighSVecI32x4ToVecI64x2 */, + ExtendHighI32x4ToI64x2 = 123 /* _BinaryenExtendHighSVecI32x4ToVecI64x2 */, /** i64x2.extend_low_i32x4_u */ - ExtendLowU32x4ToU64x2 = 117 /* _BinaryenExtendLowUVecI32x4ToVecI64x2 */, + ExtendLowU32x4ToU64x2 = 124 /* _BinaryenExtendLowUVecI32x4ToVecI64x2 */, /** i64x2.extend_high_i32x4_u */ - ExtendHighU32x4ToU64x2 = 118 /* _BinaryenExtendHighUVecI32x4ToVecI64x2 */, + ExtendHighU32x4ToU64x2 = 125 /* _BinaryenExtendHighUVecI32x4ToVecI64x2 */, /** f32x4.convert_i32x4_s */ - ConvertLowI32x4ToF64x2 = 119 /* _BinaryenConvertLowSVecI32x4ToVecF64x2 */, + ConvertLowI32x4ToF64x2 = 126 /* _BinaryenConvertLowSVecI32x4ToVecF64x2 */, /** f32x4.convert_i32x4_u */ - ConvertLowU32x4ToF64x2 = 120 /* _BinaryenConvertLowUVecI32x4ToVecF64x2 */, + ConvertLowU32x4ToF64x2 = 127 /* _BinaryenConvertLowUVecI32x4ToVecF64x2 */, /** i32x4.trunc_sat_f64x2_s_zero */ - TruncSatF64x2ToI32x4Zero = 121 /* _BinaryenTruncSatZeroSVecF64x2ToVecI32x4 */, + TruncSatF64x2ToI32x4Zero = 128 /* _BinaryenTruncSatZeroSVecF64x2ToVecI32x4 */, /** i32x4.trunc_sat_f64x2_u_zero */ - TruncSatF64x2ToU32x4Zero = 122 /* _BinaryenTruncSatZeroUVecF64x2ToVecI32x4 */, + TruncSatF64x2ToU32x4Zero = 129 /* _BinaryenTruncSatZeroUVecF64x2ToVecI32x4 */, /** f32x4.demote_f64x2_zero */ - DemoteZeroF64x2ToF32x4 = 123 /* _BinaryenDemoteZeroVecF64x2ToVecF32x4 */, + DemoteZeroF64x2ToF32x4 = 130 /* _BinaryenDemoteZeroVecF64x2ToVecF32x4 */, /** f64x2.promote_low_f32x4 */ - PromoteLowF32x4ToF64x2 = 124 /* _BinaryenPromoteLowVecF32x4ToVecF64x2 */, - - // see: https://github.com/WebAssembly/relaxed-simd - + PromoteLowF32x4ToF64x2 = 131 /* _BinaryenPromoteLowVecF32x4ToVecF64x2 */, /** i32x4.relaxed_trunc_f32x4_s */ - RelaxedTruncF32x4ToI32x4 = 125 /* TODO_BinaryenRelaxedTruncSVecF32x4ToVecI32x4 */, + RelaxedTruncF32x4ToI32x4 = 132 /* _BinaryenRelaxedTruncSVecF32x4ToVecI32x4 */, /** i32x4.relaxed_trunc_f32x4_u */ - RelaxedTruncF32x4ToU32x4 = 126 /* TODO_BinaryenRelaxedTruncUVecF32x4ToVecI32x4 */, + RelaxedTruncF32x4ToU32x4 = 133 /* _BinaryenRelaxedTruncUVecF32x4ToVecI32x4 */, /** i32x4.relaxed_trunc_f64x2_s_zero */ - RelaxedTruncF64x2ToI32x4Zero = 127 /* TODO_BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4 */, + RelaxedTruncF64x2ToI32x4Zero = 134 /* _BinaryenRelaxedTruncZeroSVecF64x2ToVecI32x4 */, /** i32x4.relaxed_trunc_f64x2_u_zero */ - RelaxedTruncF64x2ToU32x4Zero = 128 /* TODO_BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4 */, + RelaxedTruncF64x2ToU32x4Zero = 135 /* _BinaryenRelaxedTruncZeroUVecF64x2ToVecI32x4 */, _last = RelaxedTruncF64x2ToU32x4Zero, @@ -845,190 +845,187 @@ export const enum BinaryOp { /** i64x2.ge_s */ GeI64x2 = 111 /* _BinaryenGeSVecI64x2 */, /** f32x4.eq */ - EqF32x4 = 112 /* _BinaryenEqVecF32x4 */, + EqF32x4 = 118 /* _BinaryenEqVecF32x4 */, /** f32x4.ne */ - NeF32x4 = 113 /* _BinaryenNeVecF32x4 */, + NeF32x4 = 119 /* _BinaryenNeVecF32x4 */, /** f32x4.lt */ - LtF32x4 = 114 /* _BinaryenLtVecF32x4 */, + LtF32x4 = 120 /* _BinaryenLtVecF32x4 */, /** f32x4.gt */ - GtF32x4 = 115 /* _BinaryenGtVecF32x4 */, + GtF32x4 = 121 /* _BinaryenGtVecF32x4 */, /** f32x4.le */ - LeF32x4 = 116 /* _BinaryenLeVecF32x4 */, + LeF32x4 = 122 /* _BinaryenLeVecF32x4 */, /** f32x4.ge */ - GeF32x4 = 117 /* _BinaryenGeVecF32x4 */, + GeF32x4 = 123 /* _BinaryenGeVecF32x4 */, /** f64x2.eq */ - EqF64x2 = 118 /* _BinaryenEqVecF64x2 */, + EqF64x2 = 124 /* _BinaryenEqVecF64x2 */, /** f64x2.ne */ - NeF64x2 = 119 /* _BinaryenNeVecF64x2 */, + NeF64x2 = 125 /* _BinaryenNeVecF64x2 */, /** f64x2.lt */ - LtF64x2 = 120 /* _BinaryenLtVecF64x2 */, + LtF64x2 = 126 /* _BinaryenLtVecF64x2 */, /** f64x2.gt */ - GtF64x2 = 121 /* _BinaryenGtVecF64x2 */, + GtF64x2 = 127 /* _BinaryenGtVecF64x2 */, /** f64x2.le */ - LeF64x2 = 122 /* _BinaryenLeVecF64x2 */, + LeF64x2 = 128 /* _BinaryenLeVecF64x2 */, /** f64x2.ge */ - GeF64x2 = 123 /* _BinaryenGeVecF64x2 */, + GeF64x2 = 129 /* _BinaryenGeVecF64x2 */, /** v128.and */ - AndV128 = 124 /* _BinaryenAndVec128 */, + AndV128 = 130 /* _BinaryenAndVec128 */, /** v128.or */ - OrV128 = 125 /* _BinaryenOrVec128 */, + OrV128 = 131 /* _BinaryenOrVec128 */, /** v128.xor */ - XorV128 = 126 /* _BinaryenXorVec128 */, + XorV128 = 132 /* _BinaryenXorVec128 */, /** v128.andnot */ - AndnotV128 = 127 /* _BinaryenAndNotVec128 */, + AndnotV128 = 133 /* _BinaryenAndNotVec128 */, /** i8x16.add */ - AddI8x16 = 128 /* _BinaryenAddVecI8x16 */, + AddI8x16 = 134 /* _BinaryenAddVecI8x16 */, /** i8x16.add_sat_s */ - AddSatI8x16 = 129 /* _BinaryenAddSatSVecI8x16 */, + AddSatI8x16 = 135 /* _BinaryenAddSatSVecI8x16 */, /** i8x16.add_sat_u */ - AddSatU8x16 = 130 /* _BinaryenAddSatUVecI8x16 */, + AddSatU8x16 = 136 /* _BinaryenAddSatUVecI8x16 */, /** i8x16.sub */ - SubI8x16 = 131 /* _BinaryenSubVecI8x16 */, + SubI8x16 = 137 /* _BinaryenSubVecI8x16 */, /** i8x16.sub_sat_s */ - SubSatI8x16 = 132 /* _BinaryenSubSatSVecI8x16 */, + SubSatI8x16 = 138 /* _BinaryenSubSatSVecI8x16 */, /** i8x16.sub_sat_u */ - SubSatU8x16 = 133 /* _BinaryenSubSatUVecI8x16 */, + SubSatU8x16 = 139 /* _BinaryenSubSatUVecI8x16 */, /** i8x16.min_s */ - MinI8x16 = 134 /* _BinaryenMinSVecI8x16 */, + MinI8x16 = 140 /* _BinaryenMinSVecI8x16 */, /** i8x16.min_u */ - MinU8x16 = 135 /* _BinaryenMinUVecI8x16 */, + MinU8x16 = 141 /* _BinaryenMinUVecI8x16 */, /** i8x16.max_s */ - MaxI8x16 = 136 /* _BinaryenMaxSVecI8x16 */, + MaxI8x16 = 142 /* _BinaryenMaxSVecI8x16 */, /** i8x16.max_u */ - MaxU8x16 = 137 /* _BinaryenMaxUVecI8x16 */, + MaxU8x16 = 143 /* _BinaryenMaxUVecI8x16 */, /** i8x16.avgr_u */ - AvgrU8x16 = 138 /* _BinaryenAvgrUVecI8x16 */, + AvgrU8x16 = 144 /* _BinaryenAvgrUVecI8x16 */, /** i16x8.add */ - AddI16x8 = 139 /* _BinaryenAddVecI16x8 */, + AddI16x8 = 145 /* _BinaryenAddVecI16x8 */, /** i16x8.add_sat_s */ - AddSatI16x8 = 140 /* _BinaryenAddSatSVecI16x8 */, + AddSatI16x8 = 146 /* _BinaryenAddSatSVecI16x8 */, /** i16x8.add_sat_u */ - AddSatU16x8 = 141 /* _BinaryenAddSatUVecI16x8 */, + AddSatU16x8 = 147 /* _BinaryenAddSatUVecI16x8 */, /** i16x8.sub */ - SubI16x8 = 142 /* _BinaryenSubVecI16x8 */, + SubI16x8 = 148 /* _BinaryenSubVecI16x8 */, /** i16x8.sub_sat_s */ - SubSatI16x8 = 143 /* _BinaryenSubSatSVecI16x8 */, + SubSatI16x8 = 149 /* _BinaryenSubSatSVecI16x8 */, /** i16x8.sub_sat_u */ - SubSatU16x8 = 144 /* _BinaryenSubSatUVecI16x8 */, + SubSatU16x8 = 150 /* _BinaryenSubSatUVecI16x8 */, /** i16x8.mul */ - MulI16x8 = 145 /* _BinaryenMulVecI16x8 */, + MulI16x8 = 151 /* _BinaryenMulVecI16x8 */, /** i16x8.min_s */ - MinI16x8 = 146 /* _BinaryenMinSVecI16x8 */, + MinI16x8 = 152 /* _BinaryenMinSVecI16x8 */, /** i16x8.min_u */ - MinU16x8 = 147 /* _BinaryenMinUVecI16x8 */, + MinU16x8 = 153 /* _BinaryenMinUVecI16x8 */, /** i16x8.max_s */ - MaxI16x8 = 148 /* _BinaryenMaxSVecI16x8 */, + MaxI16x8 = 154 /* _BinaryenMaxSVecI16x8 */, /** i16x8.max_u */ - MaxU16x8 = 149 /* _BinaryenMaxUVecI16x8 */, + MaxU16x8 = 155 /* _BinaryenMaxUVecI16x8 */, /** i16x8.avgr_u */ - AvgrU16x8 = 150 /* _BinaryenAvgrUVecI16x8 */, + AvgrU16x8 = 156 /* _BinaryenAvgrUVecI16x8 */, /** i16x8.q15mulr_sat_s */ - Q15mulrSatI16x8 = 151 /* _BinaryenQ15MulrSatSVecI16x8 */, + Q15mulrSatI16x8 = 157 /* _BinaryenQ15MulrSatSVecI16x8 */, /** i16x8.extmul_low_i8x16_s */ - ExtmulLowI16x8 = 152 /* _BinaryenExtMulLowSVecI16x8 */, + ExtmulLowI16x8 = 158 /* _BinaryenExtMulLowSVecI16x8 */, /** i16x8.extmul_high_i8x16_s */ - ExtmulHighI16x8 = 153 /* _BinaryenExtMulHighSVecI16x8 */, + ExtmulHighI16x8 = 159 /* _BinaryenExtMulHighSVecI16x8 */, /** i16x8.extmul_low_i8x16_u */ - ExtmulLowU16x8 = 154 /* _BinaryenExtMulLowUVecI16x8 */, + ExtmulLowU16x8 = 160 /* _BinaryenExtMulLowUVecI16x8 */, /** i16x8.extmul_high_i8x16_u */ - ExtmulHighU16x8 = 155 /* _BinaryenExtMulHighUVecI16x8 */, + ExtmulHighU16x8 = 161 /* _BinaryenExtMulHighUVecI16x8 */, /** i32x4.add */ - AddI32x4 = 156 /* _BinaryenAddVecI32x4 */, + AddI32x4 = 162 /* _BinaryenAddVecI32x4 */, /** i32x4.sub */ - SubI32x4 = 157 /* _BinaryenSubVecI32x4 */, + SubI32x4 = 163 /* _BinaryenSubVecI32x4 */, /** i32x4.mul */ - MulI32x4 = 158 /* _BinaryenMulVecI32x4 */, + MulI32x4 = 164 /* _BinaryenMulVecI32x4 */, /** i32x4.min_s */ - MinI32x4 = 159 /* _BinaryenMinSVecI32x4 */, + MinI32x4 = 165 /* _BinaryenMinSVecI32x4 */, /** i32x4.min_u */ - MinU32x4 = 160 /* _BinaryenMinUVecI32x4 */, + MinU32x4 = 166 /* _BinaryenMinUVecI32x4 */, /** i32x4.max_s */ - MaxI32x4 = 161 /* _BinaryenMaxSVecI32x4 */, + MaxI32x4 = 167 /* _BinaryenMaxSVecI32x4 */, /** i32x4.max_u */ - MaxU32x4 = 162 /* _BinaryenMaxUVecI32x4 */, + MaxU32x4 = 168 /* _BinaryenMaxUVecI32x4 */, /** i32x4.dot_i16x8_s */ - DotI16x8 = 163 /* _BinaryenDotSVecI16x8ToVecI32x4 */, + DotI16x8 = 169 /* _BinaryenDotSVecI16x8ToVecI32x4 */, /** i32x4.extmul_low_i16x8_s */ - ExtmulLowI32x4 = 164 /* _BinaryenExtMulLowSVecI32x4 */, + ExtmulLowI32x4 = 170 /* _BinaryenExtMulLowSVecI32x4 */, /** i32x4.extmul_high_i16x8_s */ - ExtmulHighI32x4 = 165 /* _BinaryenExtMulHighSVecI32x4 */, + ExtmulHighI32x4 = 171 /* _BinaryenExtMulHighSVecI32x4 */, /** i32x4.extmul_low_i16x8_u */ - ExtmulLowU32x4 = 166 /* _BinaryenExtMulLowUVecI32x4 */, + ExtmulLowU32x4 = 172 /* _BinaryenExtMulLowUVecI32x4 */, /** i32x4.extmul_high_i16x8_u */ - ExtmulHighU32x4 = 167 /* _BinaryenExtMulHighUVecI32x4 */, + ExtmulHighU32x4 = 173 /* _BinaryenExtMulHighUVecI32x4 */, /** i64x2.add */ - AddI64x2 = 168 /* _BinaryenAddVecI64x2 */, + AddI64x2 = 174 /* _BinaryenAddVecI64x2 */, /** i64x2.sub */ - SubI64x2 = 169 /* _BinaryenSubVecI64x2 */, + SubI64x2 = 175 /* _BinaryenSubVecI64x2 */, /** i64x2.mul */ - MulI64x2 = 170 /* _BinaryenMulVecI64x2 */, + MulI64x2 = 176 /* _BinaryenMulVecI64x2 */, /** i64x2.extmul_low_i32x4_s */ - ExtmulLowI64x2 = 171 /* _BinaryenExtMulLowSVecI64x2 */, + ExtmulLowI64x2 = 177 /* _BinaryenExtMulLowSVecI64x2 */, /** i64x2.extmul_high_i32x4_s */ - ExtmulHighI64x2 = 172 /* _BinaryenExtMulHighSVecI64x2 */, + ExtmulHighI64x2 = 178 /* _BinaryenExtMulHighSVecI64x2 */, /** i64x2.extmul_low_i32x4_u */ - ExtmulLowU64x2 = 173 /* _BinaryenExtMulLowUVecI64x2 */, + ExtmulLowU64x2 = 179 /* _BinaryenExtMulLowUVecI64x2 */, /** i64x2.extmul_high_i32x4_u */ - ExtmulHighU64x2 = 174 /* _BinaryenExtMulHighUVecI64x2 */, + ExtmulHighU64x2 = 180 /* _BinaryenExtMulHighUVecI64x2 */, /** f32x4.add */ - AddF32x4 = 175 /* _BinaryenAddVecF32x4 */, + AddF32x4 = 189 /* _BinaryenAddVecF32x4 */, /** f32x4.sub */ - SubF32x4 = 176 /* _BinaryenSubVecF32x4 */, + SubF32x4 = 190 /* _BinaryenSubVecF32x4 */, /** f32x4.mul */ - MulF32x4 = 177 /* _BinaryenMulVecF32x4 */, + MulF32x4 = 191 /* _BinaryenMulVecF32x4 */, /** f32x4.div */ - DivF32x4 = 178 /* _BinaryenDivVecF32x4 */, + DivF32x4 = 192 /* _BinaryenDivVecF32x4 */, /** f32x4.min */ - MinF32x4 = 179 /* _BinaryenMinVecF32x4 */, + MinF32x4 = 193 /* _BinaryenMinVecF32x4 */, /** f32x4.max */ - MaxF32x4 = 180 /* _BinaryenMaxVecF32x4 */, + MaxF32x4 = 194 /* _BinaryenMaxVecF32x4 */, /** f32x4.pmin */ - PminF32x4 = 181 /* _BinaryenPMinVecF32x4 */, + PminF32x4 = 195 /* _BinaryenPMinVecF32x4 */, /** f32x4.pmax */ - PmaxF32x4 = 182 /* _BinaryenPMaxVecF32x4 */, + PmaxF32x4 = 196 /* _BinaryenPMaxVecF32x4 */, /** f64x2.add */ - AddF64x2 = 183 /* _BinaryenAddVecF64x2 */, + AddF64x2 = 197 /* _BinaryenAddVecF64x2 */, /** f64x2.sub */ - SubF64x2 = 184 /* _BinaryenSubVecF64x2 */, + SubF64x2 = 198 /* _BinaryenSubVecF64x2 */, /** f64x2.mul */ - MulF64x2 = 185 /* _BinaryenMulVecF64x2 */, + MulF64x2 = 199 /* _BinaryenMulVecF64x2 */, /** f64x2.div */ - DivF64x2 = 186 /* _BinaryenDivVecF64x2 */, + DivF64x2 = 200 /* _BinaryenDivVecF64x2 */, /** f64x2.min */ - MinF64x2 = 187 /* _BinaryenMinVecF64x2 */, + MinF64x2 = 201 /* _BinaryenMinVecF64x2 */, /** f64x2.max */ - MaxF64x2 = 188 /* _BinaryenMaxVecF64x2 */, + MaxF64x2 = 202 /* _BinaryenMaxVecF64x2 */, /** f64x2.pmin */ - PminF64x2 = 189 /* _BinaryenPMinVecF64x2 */, + PminF64x2 = 203 /* _BinaryenPMinVecF64x2 */, /** f64x2.pmax */ - PmaxF64x2 = 190 /* _BinaryenPMaxVecF64x2 */, + PmaxF64x2 = 204 /* _BinaryenPMaxVecF64x2 */, /** i8x16.narrow_i16x8_s */ - NarrowI16x8ToI8x16 = 191 /* _BinaryenNarrowSVecI16x8ToVecI8x16 */, + NarrowI16x8ToI8x16 = 205 /* _BinaryenNarrowSVecI16x8ToVecI8x16 */, /** i8x16.narrow_i16x8_u */ - NarrowU16x8ToU8x16 = 192 /* _BinaryenNarrowUVecI16x8ToVecI8x16 */, + NarrowU16x8ToU8x16 = 206 /* _BinaryenNarrowUVecI16x8ToVecI8x16 */, /** i16x8.narrow_i32x4_s */ - NarrowI32x4ToI16x8 = 193 /* _BinaryenNarrowSVecI32x4ToVecI16x8 */, + NarrowI32x4ToI16x8 = 207 /* _BinaryenNarrowSVecI32x4ToVecI16x8 */, /** i16x8.narrow_i32x4_u */ - NarrowU32x4ToU16x8 = 194 /* _BinaryenNarrowUVecI32x4ToVecI16x8 */, + NarrowU32x4ToU16x8 = 208 /* _BinaryenNarrowUVecI32x4ToVecI16x8 */, /** i8x16.swizzle */ - SwizzleI8x16 = 195 /* _BinaryenSwizzleVecI8x16 */, - - // see: https://github.com/WebAssembly/relaxed-simd - + SwizzleI8x16 = 209 /* _BinaryenSwizzleVecI8x16 */, /** i8x16.relaxed_swizzle */ - RelaxedSwizzleI8x16 = 196 /* TODO_BinaryenRelaxedSwizzleVecI8x16 */, + RelaxedSwizzleI8x16 = 210 /* _BinaryenRelaxedSwizzleVecI8x16 */, /** f32x4.relaxed_min */ - RelaxedMinF32x4 = 197 /* TODO_BinaryenRelaxedMinVecF32x4 */, + RelaxedMinF32x4 = 211 /* _BinaryenRelaxedMinVecF32x4 */, /** f32x4.relaxed_max */ - RelaxedMaxF32x4 = 198 /* TODO_BinaryenRelaxedMaxVecF32x4 */, + RelaxedMaxF32x4 = 212 /* _BinaryenRelaxedMaxVecF32x4 */, /** f64x2.relaxed_min */ - RelaxedMinF64x2 = 199 /* TODO_BinaryenRelaxedMinVecF64x2 */, + RelaxedMinF64x2 = 213 /* _BinaryenRelaxedMinVecF64x2 */, /** f64x2.relaxed_max */ - RelaxedMaxF64x2 = 200 /* TODO_BinaryenRelaxedMaxVecF64x2 */, + RelaxedMaxF64x2 = 214 /* _BinaryenRelaxedMaxVecF64x2 */, /** i16x8.relaxed_q15mulr_s */ - RelaxedQ15MulrI16x8 = 201 /* TODO_BinaryenRelaxedQ15MulrSVecI16x8 */, + RelaxedQ15MulrI16x8 = 215 /* _BinaryenRelaxedQ15MulrSVecI16x8 */, /** i16x8.relaxed_dot_i8x16_i7x16_s */ - RelaxedDotI8x16I7x16ToI16x8 = 202 /* TODO_BinaryenDotI8x16I7x16SToVecI16x8 */, + RelaxedDotI8x16I7x16ToI16x8 = 216 /* _BinaryenDotI8x16I7x16SToVecI16x8 */, _last = RelaxedDotI8x16I7x16ToI16x8, @@ -1117,9 +1114,9 @@ export const enum SIMDExtractOp { /** i32x4.extract_lane_u */ ExtractLaneI64x2 = 5 /* _BinaryenExtractLaneVecI64x2 */, /** i64x2.extract_lane_s */ - ExtractLaneF32x4 = 6 /* _BinaryenExtractLaneVecF32x4 */, + ExtractLaneF32x4 = 7 /* _BinaryenExtractLaneVecF32x4 */, /** i64x2.extract_lane_u */ - ExtractLaneF64x2 = 7 /* _BinaryenExtractLaneVecF64x2 */, + ExtractLaneF64x2 = 8 /* _BinaryenExtractLaneVecF64x2 */, } /** Binaryen SIMD replace operation constants. */ @@ -1133,9 +1130,9 @@ export const enum SIMDReplaceOp { /** i64x2.replace_lane */ ReplaceLaneI64x2 = 3 /* _BinaryenReplaceLaneVecI64x2 */, /** f32x4.replace_lane */ - ReplaceLaneF32x4 = 4 /* _BinaryenReplaceLaneVecF32x4 */, + ReplaceLaneF32x4 = 5 /* _BinaryenReplaceLaneVecF32x4 */, /** f64x2.replace_lane */ - ReplaceLaneF64x2 = 5 /* _BinaryenReplaceLaneVecF64x2 */ + ReplaceLaneF64x2 = 6 /* _BinaryenReplaceLaneVecF64x2 */ } /** Binaryen SIMD shift operation constants. */ @@ -1219,36 +1216,40 @@ export const enum SIMDTernaryOp { /** v128.bitselect */ Bitselect = 0 /* _BinaryenBitselectVec128 */, - // see: https://github.com/WebAssembly/relaxed-simd + // Relaxed SIMD for F16 + /** f16x8.relaxed_madd */ + RelaxedMaddVecF16x8 = 1 /* TODO_BinaryenRelaxedMaddVecF16x8 */, + /** f16x8.relaxed_nmadd */ + RelaxedNmaddVecF16x8 = 2 /* TODO_BinaryenRelaxedNmaddVecF16x8 */, /** f32x4.relaxed_madd */ - RelaxedMaddF32x4 = 1 /* TODO_BinaryenRelaxedFmaVecF32x4 */, + RelaxedMaddF32x4 = 3 /* _BinaryenRelaxedMaddVecF32x4 */, /** f32x4.relaxed_nmadd */ - RelaxedNmaddF32x4 = 2 /* TODO_BinaryenRelaxedFmsVecF32x4 */, + RelaxedNmaddF32x4 = 4 /* _BinaryenRelaxedNmaddVecF32x4 */, /** f64x2.relaxed_madd */ - RelaxedMaddF64x2 = 3 /* TODO_BinaryenRelaxedFmaVecF64x2 */, + RelaxedMaddF64x2 = 5 /* _BinaryenRelaxedMaddVecF64x2 */, /** f64x2.relaxed_nmadd */ - RelaxedNmaddF64x2 = 4 /* TODO_BinaryenRelaxedFmsVecF64x2 */, + RelaxedNmaddF64x2 = 6 /* _BinaryenRelaxedNmaddVecF64x2 */, /** i8x16.relaxed_laneselect */ - RelaxedLaneselectI8x16 = 5 /* TODO_BinaryenLaneselectI8x16 */, + RelaxedLaneselectI8x16 = 7 /* _BinaryenLaneselectI8x16 */, /** i16x8.relaxed_laneselect */ - RelaxedLaneselectI16x8 = 6 /* TODO_BinaryenLaneselectI16x8 */, + RelaxedLaneselectI16x8 = 8 /* _BinaryenLaneselectI16x8 */, /** i32x4.relaxed_laneselect */ - RelaxedLaneselectI32x4 = 7 /* TODO_BinaryenLaneselectI32x4 */, + RelaxedLaneselectI32x4 = 9 /* _BinaryenLaneselectI32x4 */, /** i64x2.relaxed_laneselect */ - RelaxedLaneselectI64x2 = 8 /* TODO_BinaryenLaneselectI64x2 */, + RelaxedLaneselectI64x2 = 10 /* _BinaryenLaneselectI64x2 */, /** i32x4.relaxed_dot_i8x16_i7x16_add_s */ - RelaxedDotI8x16I7x16AddToI32x4 = 9 /* TODO_BinaryenDotI8x16I7x16AddSToVecI32x4 */, + RelaxedDotI8x16I7x16AddToI32x4 = 11 /* _BinaryenDotI8x16I7x16AddSToVecI32x4 */, } /** Binaryen RefAs operation constants. */ export const enum RefAsOp { /** ref.as_non_null */ NonNull = 0 /* _BinaryenRefAsNonNull */, - /** extern.internalize */ - ExternInternalize = 1 /* _BinaryenRefAsExternInternalize */, - /** extern.externalize */ - ExternExternalize = 2 /* _BinaryenRefAsExternExternalize */ + /** any.convert_extern */ + ExternInternalize = 1 /* _BinaryenRefAsAnyConvertExtern */, + /** extern.convert_any */ + ExternExternalize = 2 /* _BinaryenRefAsExternConvertAny */ } /** Binaryen BrOn operation constants. */ @@ -1265,54 +1266,28 @@ export const enum BrOnOp { /** Binaryen StringNew operation constants. */ export const enum StringNewOp { - /** string.new_wtf8 utf8 */ - UTF8 = 0 /* _BinaryenStringNewUTF8 */, - /** string.new_wtf8 wtf8 */ - WTF8 = 1 /* _BinaryenStringNewWTF8 */, - /** string.new_wtf8 replace */ - Replace = 2 /* _BinaryenStringNewReplace */, - /** string.new_wtf16 */ - WTF16 = 3 /* _BinaryenStringNewWTF16 */, - /** string.new_wtf8_array utf8 */ - UTF8Array = 4 /* _BinaryenStringNewUTF8Array */, - /** string.new_wtf8_array wtf8 */ - WTF8Array = 5 /* _BinaryenStringNewWTF8Array */, /** string.new_wtf8_array replace */ - ReplaceArray = 6 /* _BinaryenStringNewReplaceArray */, + LossyUTF8Array = 0 /* _BinaryenStringNewLossyUTF8Array */, /** string.new_wtf16_array */ - WTF16Array = 7 /* _BinaryenStringNewWTF16Array */, + WTF16Array = 1 /* _BinaryenStringNewWTF16Array */, /** string.from_code_point */ - FromCodePoint = 8 /* _BinaryenStringNewFromCodePoint */ + FromCodePoint = 2 /* _BinaryenStringNewFromCodePoint */ } /** Binaryen StringMeasure operation constants. */ export const enum StringMeasureOp { /** string.measure_wtf8 utf8 */ UTF8 = 0 /* _BinaryenStringMeasureUTF8 */, - /** string.measure_wtf8 wtf8 */ - WTF8 = 1 /* _BinaryenStringMeasureWTF8 */, /** string.measure_wtf16 */ - WTF16 = 2 /* _BinaryenStringMeasureWTF16 */, - /** string.is_usv_sequence */ - IsUSV = 3 /* _BinaryenStringMeasureIsUSV */, - /** stringview_wtf16.length */ - WTF16View = 4 /* _BinaryenStringMeasureWTF16View */ + WTF16 = 1 /* _BinaryenStringMeasureWTF16 */, } /** Binaryen StringEncode operation constants. */ export const enum StringEncodeOp { - /** string.encode_wtf8 utf8 */ - UTF8 = 0 /* _BinaryenStringEncodeUTF8 */, - /** string.encode_wtf8 wtf8 */ - WTF8 = 1 /* _BinaryenStringEncodeWTF8 */, - /** string.encode_wtf16 */ - WTF16 = 2 /* _BinaryenStringEncodeWTF16 */, - /** string.encode_wtf8_array utf8 */ - UTF8Array = 3 /* _BinaryenStringEncodeUTF8Array */, - /** string.encode_wtf8_array wtf8 */ - WTF8Array = 4 /* _BinaryenStringEncodeWTF8Array */, + /** string.encode_lossy_utf8_array utf8 */ + LossyUTF8Array = 0 /* _BinaryenStringEncodeLossyUTF8Array */, /** string.encode_wtf16_array */ - WTF16Array = 5 /* _BinaryenStringEncodeWTF16Array */ + WTF16Array = 1 /* _BinaryenStringEncodeWTF16Array */ } /** Binaryen StringEq operation constants. */ @@ -1323,37 +1298,10 @@ export const enum StringEqOp { Compare = 1 /* _BinaryenStringEqCompare */ } -/** Binaryen StringAs operation constants. */ -export const enum StringAsOp { - /** string.as_wtf8 */ - WTF8 = 0 /* _BinaryenStringAsWTF8 */, - /** string.as_wtf16 */ - WTF16 = 1 /* _BinaryenStringAsWTF16 */, - /** string.as_iter */ - Iter = 2 /* _BinaryenStringAsIter */ -} - -/** Binaryen StringIterMove operation constants. */ -export const enum StringIterMoveOp { - /** stringview_iter.advance */ - Advance = 0 /* _BinaryenStringIterMoveAdvance */, - /** stringview_iter.rewind */ - Rewind = 1 /* _BinaryenStringIterMoveRewind */ -} - -/** Binaryen StringSlice operation constants. */ -export const enum StringSliceWTFOp { - /** stringview_wtf8.slice */ - WTF8 = 0 /* _BinaryenStringSliceWTF8 */, - /** stringview_wtf16.slice */ - WTF16 = 1 /* _BinaryenStringSliceWTF16 */ -} - /** Binaryen expression runner flags. */ export const enum ExpressionRunnerFlags { Default = 0 /* _ExpressionRunnerFlagsDefault */, - PreserveSideeffects = 1 /* _ExpressionRunnerFlagsPreserveSideeffects */, - TraverseCalls = 2 /* _ExpressionRunnerFlagsTraverseCalls */ + PreserveSideeffects = 1 /* _ExpressionRunnerFlagsPreserveSideeffects */ } export class MemorySegment { @@ -1376,7 +1324,6 @@ export class Module { ) { assert(sizeType == TypeRef.I32 || sizeType == TypeRef.I64); this.lit = binaryen._malloc(binaryen._BinaryenSizeofLiteral()); - binaryen._BinaryenSetTypeSystem(TypeSystem.Nominal); } private lit: usize; @@ -1840,10 +1787,9 @@ export class Module { select( ifTrue: ExpressionRef, ifFalse: ExpressionRef, - condition: ExpressionRef, - type: TypeRef + condition: ExpressionRef ): ExpressionRef { - return binaryen._BinaryenSelect(this.ref, condition, ifTrue, ifFalse, type); + return binaryen._BinaryenSelect(this.ref, condition, ifTrue, ifFalse); } switch( @@ -2118,13 +2064,13 @@ export class Module { type: TypeRef ): ExpressionRef { let cStr = this.allocStringCached(name); - return binaryen._BinaryenRefFunc(this.ref, cStr, type); + return binaryen._BinaryenRefFunc(this.ref, cStr, binaryen._BinaryenTypeGetHeapType(type)); } i31_new( value: ExpressionRef ): ExpressionRef { - return binaryen._BinaryenI31New(this.ref, value); + return binaryen._BinaryenRefI31(this.ref, value); } i31_get( @@ -2400,36 +2346,43 @@ export class Module { name: string = CommonNames.DefaultMemory, shared: bool = false ): void { - let cStr1 = this.allocStringCached(exportName); - let cStr2 = this.allocStringCached(name); + let cExportName = this.allocStringCached(exportName); + let cName = this.allocStringCached(name); let k = segments.length; let segs = new Array(k); - let psvs = new Uint8Array(k); - let offs = new Array(k); - let sizs = new Array(k); + let isPassive = new Uint8Array(k); + let offsets = new Array(k); + let sizes = new Array(k); for (let i = 0; i < k; ++i) { let segment = unchecked(segments[i]); let buffer = segment.buffer; let offset = segment.offset; unchecked(segs[i] = allocU8Array(buffer)); - unchecked(psvs[i] = 0); // no passive segments currently - unchecked(offs[i] = target == Target.Wasm64 + unchecked(isPassive[i] = 0); // no passive segments currently + unchecked(offsets[i] = target == Target.Wasm64 ? this.i64(i64_low(offset), i64_high(offset)) : this.i32(i64_low(offset)) ); - unchecked(sizs[i] = buffer.length); + unchecked(sizes[i] = buffer.length); } - let cArr1 = allocPtrArray(segs); - let cArr2 = allocU8Array(psvs); - let cArr3 = allocPtrArray(offs); - let cArr4 = allocU32Array(sizs); + let cSegs = allocPtrArray(segs); + let cIsPassive = allocU8Array(isPassive); + let cOffsets = allocPtrArray(offsets); + let cSizes = allocU32Array(sizes); binaryen._BinaryenSetMemory( - this.ref, initial, maximum, cStr1, cArr1, cArr2, cArr3, cArr4, k, shared, false, cStr2 + this.ref, + initial, maximum, + cExportName, + 0, cSegs, cIsPassive, + cOffsets, cSizes, + k, + shared, false, + cName ); - binaryen._free(cArr4); - binaryen._free(cArr3); - binaryen._free(cArr2); - binaryen._free(cArr1); + binaryen._free(cSizes); + binaryen._free(cOffsets); + binaryen._free(cIsPassive); + binaryen._free(cSegs); for (let i = k - 1; i >= 0; --i) { binaryen._free(unchecked(segs[i])); } @@ -2518,6 +2471,14 @@ export class Module { binaryen._BinaryenSetDebugInfo(on); } + getClosedWorld(): bool { + return binaryen._BinaryenGetClosedWorld(); + } + + setClosedWorld(on: bool): void { + binaryen._BinaryenSetClosedWorld(on); + } + getLowMemoryUnused(): bool { return binaryen._BinaryenGetLowMemoryUnused(); } @@ -2542,6 +2503,22 @@ export class Module { binaryen._BinaryenSetFastMath(on); } + getGenerateStackIR(): bool { + return binaryen._BinaryenGetGenerateStackIR(); + } + + setGenerateStackIR(on: bool): void { + binaryen._BinaryenSetGenerateStackIR(on); + } + + getOptimizeStackIR(): bool { + return binaryen._BinaryenGetOptimizeStackIR(); + } + + setOptimizeStackIR(on: bool): void { + binaryen._BinaryenSetOptimizeStackIR(on); + } + getPassArgument(key: string): string | null { let cStr = this.allocStringCached(key); let ptr = binaryen._BinaryenGetPassArgument(cStr); @@ -2597,6 +2574,7 @@ export class Module { } setFeatures(featureFlags: FeatureFlags): void { + if (featureFlags & FeatureFlags.BulkMemory) featureFlags |= FeatureFlags.BulkMemoryOpt; binaryen._BinaryenModuleSetFeatures(this.ref, featureFlags); } @@ -2632,6 +2610,11 @@ export class Module { this.setFastMath(true); this.clearPassArguments(); + // OptimizationOptions#parse in src/tools/optimization-options.h + const stackIR = optimizeLevel >= 2 || shrinkLevel >= 1; + this.setGenerateStackIR(stackIR); + this.setOptimizeStackIR(stackIR); + // Tweak inlining limits based on optimization levels if (optimizeLevel >= 2 && shrinkLevel == 0) { this.setAlwaysInlineMaxSize(12); @@ -2868,7 +2851,7 @@ export class Module { toText(watFormat: bool = true): string { let textPtr = watFormat - ? binaryen._BinaryenModuleAllocateAndWriteStackIR(this.ref, true) + ? binaryen._BinaryenModuleAllocateAndWriteStackIR(this.ref) : binaryen._BinaryenModuleAllocateAndWriteText(this.ref); let text = readString(textPtr); if (textPtr) binaryen._free(textPtr); @@ -2957,7 +2940,7 @@ export class Module { case ExpressionId.Const: case ExpressionId.RefNull: case ExpressionId.RefFunc: - case ExpressionId.I31New: return true; + case ExpressionId.RefI31: return true; case ExpressionId.Binary: { if (this.getFeatures() & FeatureFlags.ExtendedConst) { switch (getBinaryOp(expr)) { @@ -3055,6 +3038,18 @@ export function getConstValueI64High(expr: ExpressionRef): i32 { return binaryen._BinaryenConstGetValueI64High(expr); } +export function getConstValueInteger(expr: ExpressionRef, isWasm64: bool): i64 { + let lo: i32 = 0; + let hi: i32 = 0; + if (isWasm64) { + lo = getConstValueI64Low(expr); + hi = getConstValueI64High(expr); + } else { + lo = getConstValueI32(expr); + } + return i64_new(lo, hi); +} + export function getConstValueF32(expr: ExpressionRef): f32 { return binaryen._BinaryenConstGetValueF32(expr); } @@ -3412,16 +3407,32 @@ export class SwitchBuilder { this.condition = condition; } + /** Links a case to the specified branch, replace old case if it is linked. */ + addOrReplaceCase(value: i32, code: ExpressionRef[]): void { + const valueIndex = this.values.indexOf(value); + const codeIndex = this.addCode(code); + if (valueIndex >= 0) { + this.indexes[valueIndex] = codeIndex; + } else { + this.values.push(value); + this.indexes.push(codeIndex); + } + } + /** Links a case to the specified branch. */ addCase(value: i32, code: ExpressionRef[]): void { + this.values.push(value); + this.indexes.push(this.addCode(code)); + } + + private addCode(code: ExpressionRef[]): i32 { let cases = this.cases; let index = cases.indexOf(code); if (index < 0) { index = cases.length; cases.push(code); } - this.values.push(value); - this.indexes.push(index); + return index; } /** Links the default branch. */ @@ -3711,7 +3722,6 @@ export function ensureType(type: Type): TypeRef { // @ts-ignore: Wasm only assert(sizeof() == 4); // ABI code below assumes 32-bit pointers } - assert(binaryen._BinaryenGetTypeSystem() == TypeSystem.Nominal); let builder = binaryen._TypeBuilderCreate(0); let seen = new Map(); prepareType(builder, seen, type); // drop temp return @@ -3788,39 +3798,30 @@ function tryEnsureBasicType(type: Type): TypeRef { case TypeKind.F32: return TypeRef.F32; case TypeKind.F64: return TypeRef.F64; case TypeKind.V128: return TypeRef.V128; - case TypeKind.Funcref: { + case TypeKind.Func: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Func, type.is(TypeFlags.Nullable)); } - case TypeKind.Externref: { + case TypeKind.Extern: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Extern, type.is(TypeFlags.Nullable)); } - case TypeKind.Anyref: { + case TypeKind.Any: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Any, type.is(TypeFlags.Nullable)); } - case TypeKind.Eqref: { + case TypeKind.Eq: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Eq, type.is(TypeFlags.Nullable)); } - case TypeKind.Structref: { + case TypeKind.Struct: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Struct, type.is(TypeFlags.Nullable)); } - case TypeKind.Arrayref: { + case TypeKind.Array: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Array, type.is(TypeFlags.Nullable)); } - case TypeKind.I31ref: { + case TypeKind.I31: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.I31, type.is(TypeFlags.Nullable)); } - case TypeKind.Stringref: { + case TypeKind.String: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.String, type.is(TypeFlags.Nullable)); } - case TypeKind.StringviewWTF8: { - return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF8, type.is(TypeFlags.Nullable)); - } - case TypeKind.StringviewWTF16: { - return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF16, type.is(TypeFlags.Nullable)); - } - case TypeKind.StringviewIter: { - return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewIter, type.is(TypeFlags.Nullable)); - } case TypeKind.Void: assert(false); // invalid here } return 0; // non-basic diff --git a/src/parser.ts b/src/parser.ts index 3bcee57681..7c69843973 100644 --- a/src/parser.ts +++ b/src/parser.ts @@ -398,9 +398,14 @@ export class Parser extends DiagnosticEmitter { tn.range(declareStart, declareEnd), "declare" ); // recoverable } - if (!namespace) { + if (namespace) { + this.error( + DiagnosticCode.Namespace_can_only_have_declarations, + tn.range(startPos) + ); + } else { statement = this.parseStatement(tn, true); - } // TODO: else? + } } break; } @@ -626,7 +631,7 @@ export class Parser extends DiagnosticEmitter { } // ... | type while (tn.skip(Token.Bar)) { - let nextType = this.parseType(tn, false, true); + let nextType = this.parseType(tn, true, false); if (!nextType) return null; let typeIsNull = type.kind == NodeKind.NamedType && (type).isNull; let nextTypeIsNull = nextType.kind == NodeKind.NamedType && (nextType).isNull; diff --git a/src/passes/pass.ts b/src/passes/pass.ts index 8272fbd967..b61e17f1e8 100644 --- a/src/passes/pass.ts +++ b/src/passes/pass.ts @@ -175,9 +175,9 @@ import { _BinaryenRefEqSetLeft, _BinaryenRefEqSetRight, _BinaryenFunctionSetBody, - _BinaryenI31NewGetValue, + _BinaryenRefI31GetValue, _BinaryenI31GetGetI31, - _BinaryenI31NewSetValue, + _BinaryenRefI31SetValue, _BinaryenI31GetSetI31, _BinaryenCallRefGetNumOperands, _BinaryenCallRefGetOperandAt, @@ -195,8 +195,8 @@ import { _BinaryenStructGetGetIndex, _BinaryenArrayNewGetSize, _BinaryenArrayNewGetInit, - _BinaryenArrayInitGetNumValues, - _BinaryenArrayInitGetValueAt, + _BinaryenArrayNewFixedGetNumValues, + _BinaryenArrayNewFixedGetValueAt, _BinaryenArrayGetGetRef, _BinaryenArrayGetGetIndex, _BinaryenArraySetGetRef, @@ -208,32 +208,22 @@ import { _BinaryenArrayCopyGetSrcRef, _BinaryenArrayCopyGetSrcIndex, _BinaryenArrayCopyGetLength, - _BinaryenStringNewGetPtr, - _BinaryenStringNewGetLength, + _BinaryenStringNewGetRef, _BinaryenStringNewGetStart, _BinaryenStringNewGetEnd, _BinaryenStringMeasureGetRef, - _BinaryenStringEncodeGetPtr, - _BinaryenStringEncodeGetRef, + _BinaryenStringEncodeGetArray, + _BinaryenStringEncodeGetStr, _BinaryenStringEncodeGetStart, _BinaryenStringConcatGetLeft, _BinaryenStringConcatGetRight, _BinaryenStringEqGetLeft, _BinaryenStringEqGetRight, - _BinaryenStringAsGetRef, - _BinaryenStringWTF8AdvanceGetRef, - _BinaryenStringWTF8AdvanceGetPos, - _BinaryenStringWTF8AdvanceGetBytes, _BinaryenStringWTF16GetGetRef, _BinaryenStringWTF16GetGetPos, - _BinaryenStringIterNextGetRef, - _BinaryenStringIterMoveGetRef, - _BinaryenStringIterMoveGetNum, _BinaryenStringSliceWTFGetRef, _BinaryenStringSliceWTFGetStart, _BinaryenStringSliceWTFGetEnd, - _BinaryenStringSliceIterGetRef, - _BinaryenStringSliceIterGetNum, _BinaryenCallRefSetOperandAt, _BinaryenCallRefSetTarget, _BinaryenRefTestSetRef, @@ -257,33 +247,23 @@ import { _BinaryenArrayCopySetSrcIndex, _BinaryenArrayCopySetLength, _BinaryenRefAsSetValue, - _BinaryenStringNewSetPtr, - _BinaryenStringNewSetLength, + _BinaryenStringNewSetRef, _BinaryenStringNewSetStart, _BinaryenStringNewSetEnd, _BinaryenStringMeasureSetRef, - _BinaryenStringEncodeSetRef, - _BinaryenStringEncodeSetPtr, + _BinaryenStringEncodeSetStr, + _BinaryenStringEncodeSetArray, _BinaryenStringEncodeSetStart, _BinaryenStringConcatSetLeft, _BinaryenStringConcatSetRight, _BinaryenStringEqSetLeft, _BinaryenStringEqSetRight, - _BinaryenStringAsSetRef, - _BinaryenStringWTF8AdvanceSetRef, - _BinaryenStringWTF8AdvanceSetPos, - _BinaryenStringWTF8AdvanceSetBytes, _BinaryenStringWTF16GetSetRef, _BinaryenStringWTF16GetSetPos, - _BinaryenStringIterNextSetRef, - _BinaryenStringIterMoveSetRef, - _BinaryenStringIterMoveSetNum, _BinaryenStringSliceWTFSetRef, _BinaryenStringSliceWTFSetStart, _BinaryenStringSliceWTFSetEnd, - _BinaryenStringSliceIterSetRef, - _BinaryenStringSliceIterSetNum, - _BinaryenArrayInitSetValueAt + _BinaryenArrayNewFixedSetValueAt } from "../glue/binaryen"; /** Base class of custom Binaryen visitors. */ @@ -512,7 +492,7 @@ export abstract class Visitor { // unimp } - visitI31New(expr: ExpressionRef): void { + visitRefI31(expr: ExpressionRef): void { // unimp } @@ -552,7 +532,7 @@ export abstract class Visitor { // unimp } - visitArrayInit(expr: ExpressionRef): void { + visitArrayNewFixed(expr: ExpressionRef): void { // unimp } @@ -1040,11 +1020,11 @@ export abstract class Visitor { this.visitTupleExtract(expr); break; } - case ExpressionId.I31New: { + case ExpressionId.RefI31: { this.stack.push(expr); - this.visit(_BinaryenI31NewGetValue(expr)); + this.visit(_BinaryenRefI31GetValue(expr)); assert(this.stack.pop() == expr); - this.visitI31New(expr); + this.visitRefI31(expr); break; } case ExpressionId.I31Get: { @@ -1127,16 +1107,16 @@ export abstract class Visitor { this.visitArrayNew(expr); break; } - case ExpressionId.ArrayInit: { - let numValues = _BinaryenArrayInitGetNumValues(expr); + case ExpressionId.ArrayNewFixed: { + let numValues = _BinaryenArrayNewFixedGetNumValues(expr); if (numValues) { this.stack.push(expr); for (let i: Index = 0; i < numValues; ++i) { - this.visit(_BinaryenArrayInitGetValueAt(expr, i)); + this.visit(_BinaryenArrayNewFixedGetValueAt(expr, i)); } assert(this.stack.pop() == expr); } - this.visitArrayInit(expr); + this.visitArrayNewFixed(expr); break; } case ExpressionId.ArrayGet: { @@ -1183,9 +1163,7 @@ export abstract class Visitor { } case ExpressionId.StringNew: { this.stack.push(expr); - this.visit(_BinaryenStringNewGetPtr(expr)); - let length = _BinaryenStringNewGetLength(expr); // LM only - if (length) this.visit(length); + this.visit(_BinaryenStringNewGetRef(expr)); let start = _BinaryenStringNewGetStart(expr); // GC only if (start) this.visit(start); let end = _BinaryenStringNewGetEnd(expr); // GC only @@ -1209,8 +1187,8 @@ export abstract class Visitor { } case ExpressionId.StringEncode: { this.stack.push(expr); - this.visit(_BinaryenStringEncodeGetRef(expr)); - this.visit(_BinaryenStringEncodeGetPtr(expr)); + this.visit(_BinaryenStringEncodeGetStr(expr)); + this.visit(_BinaryenStringEncodeGetArray(expr)); let start = _BinaryenStringEncodeGetStart(expr); // GC only if (start) this.visit(start); assert(this.stack.pop() == expr); @@ -1233,22 +1211,6 @@ export abstract class Visitor { this.visitStringEq(expr); break; } - case ExpressionId.StringAs: { - this.stack.push(expr); - this.visit(_BinaryenStringAsGetRef(expr)); - assert(this.stack.pop() == expr); - this.visitStringAs(expr); - break; - } - case ExpressionId.StringWTF8Advance: { - this.stack.push(expr); - this.visit(_BinaryenStringWTF8AdvanceGetRef(expr)); - this.visit(_BinaryenStringWTF8AdvanceGetPos(expr)); - this.visit(_BinaryenStringWTF8AdvanceGetBytes(expr)); - assert(this.stack.pop() == expr); - this.visitStringWTF8Advance(expr); - break; - } case ExpressionId.StringWTF16Get: { this.stack.push(expr); this.visit(_BinaryenStringWTF16GetGetRef(expr)); @@ -1257,21 +1219,6 @@ export abstract class Visitor { this.visitStringWTF16Get(expr); break; } - case ExpressionId.StringIterNext: { - this.stack.push(expr); - this.visit(_BinaryenStringIterNextGetRef(expr)); - assert(this.stack.pop() == expr); - this.visitStringIterNext(expr); - break; - } - case ExpressionId.StringIterMove: { - this.stack.push(expr); - this.visit(_BinaryenStringIterMoveGetRef(expr)); - this.visit(_BinaryenStringIterMoveGetNum(expr)); - assert(this.stack.pop() == expr); - this.visitStringIterMove(expr); - break; - } case ExpressionId.StringSliceWTF: { this.stack.push(expr); this.visit(_BinaryenStringSliceWTFGetRef(expr)); @@ -1281,14 +1228,6 @@ export abstract class Visitor { this.visitStringSliceWTF(expr); break; } - case ExpressionId.StringSliceIter: { - this.stack.push(expr); - this.visit(_BinaryenStringSliceIterGetRef(expr)); - this.visit(_BinaryenStringSliceIterGetNum(expr)); - assert(this.stack.pop() == expr); - this.visitStringSliceIter(expr); - break; - } default: throw new Error("unexpected expression kind"); } this._currentExpression = previousExpression; @@ -1884,10 +1823,10 @@ export function replaceChild( } break; } - case ExpressionId.I31New: { - let value = _BinaryenI31NewGetValue(parent); + case ExpressionId.RefI31: { + let value = _BinaryenRefI31GetValue(parent); if (value == search) { - _BinaryenI31NewSetValue(parent, replacement); + _BinaryenRefI31SetValue(parent, replacement); return value; } break; @@ -1985,12 +1924,12 @@ export function replaceChild( } break; } - case ExpressionId.ArrayInit: { - let numValues = _BinaryenArrayInitGetNumValues(parent); + case ExpressionId.ArrayNewFixed: { + let numValues = _BinaryenArrayNewFixedGetNumValues(parent); for (let i: Index = 0; i < numValues; ++i) { - let value = _BinaryenArrayInitGetValueAt(parent, i); + let value = _BinaryenArrayNewFixedGetValueAt(parent, i); if (value == search) { - _BinaryenArrayInitSetValueAt(parent, i, replacement); + _BinaryenArrayNewFixedSetValueAt(parent, i, replacement); return value; } } @@ -2072,16 +2011,11 @@ export function replaceChild( break; } case ExpressionId.StringNew: { - let ptr = _BinaryenStringNewGetPtr(parent); + let ptr = _BinaryenStringNewGetRef(parent); if (ptr == search) { - _BinaryenStringNewSetPtr(parent, replacement); + _BinaryenStringNewSetRef(parent, replacement); return ptr; } - let length = _BinaryenStringNewGetLength(parent); - if (length == search) { - _BinaryenStringNewSetLength(parent, replacement); - return length; - } let start = _BinaryenStringNewGetStart(parent); if (start == search) { _BinaryenStringNewSetStart(parent, replacement); @@ -2106,14 +2040,14 @@ export function replaceChild( break; } case ExpressionId.StringEncode: { - let ref = _BinaryenStringEncodeGetRef(parent); + let ref = _BinaryenStringEncodeGetStr(parent); if (ref == search) { - _BinaryenStringEncodeSetRef(parent, replacement); + _BinaryenStringEncodeSetStr(parent, replacement); return ref; } - let ptr = _BinaryenStringEncodeGetPtr(parent); + let ptr = _BinaryenStringEncodeGetArray(parent); if (ptr == search) { - _BinaryenStringEncodeSetPtr(parent, replacement); + _BinaryenStringEncodeSetArray(parent, replacement); return ptr; } let start = _BinaryenStringEncodeGetStart(parent); @@ -2149,32 +2083,6 @@ export function replaceChild( } break; } - case ExpressionId.StringAs: { - let ref = _BinaryenStringAsGetRef(parent); - if (ref == search) { - _BinaryenStringAsSetRef(parent, replacement); - return ref; - } - break; - } - case ExpressionId.StringWTF8Advance: { - let ref = _BinaryenStringWTF8AdvanceGetRef(parent); - if (ref == search) { - _BinaryenStringWTF8AdvanceSetRef(parent, replacement); - return ref; - } - let pos = _BinaryenStringWTF8AdvanceGetPos(parent); - if (pos == search) { - _BinaryenStringWTF8AdvanceSetPos(parent, replacement); - return pos; - } - let bytes = _BinaryenStringWTF8AdvanceGetBytes(parent); - if (bytes == search) { - _BinaryenStringWTF8AdvanceSetBytes(parent, replacement); - return bytes; - } - break; - } case ExpressionId.StringWTF16Get: { let ref = _BinaryenStringWTF16GetGetRef(parent); if (ref == search) { @@ -2188,27 +2096,6 @@ export function replaceChild( } break; } - case ExpressionId.StringIterNext: { - let ref = _BinaryenStringIterNextGetRef(parent); - if (ref == search) { - _BinaryenStringIterNextSetRef(parent, replacement); - return ref; - } - break; - } - case ExpressionId.StringIterMove: { - let ref = _BinaryenStringIterMoveGetRef(parent); - if (ref == search) { - _BinaryenStringIterMoveSetRef(parent, replacement); - return ref; - } - let num = _BinaryenStringIterMoveGetNum(parent); - if (num == search) { - _BinaryenStringIterMoveSetNum(parent, replacement); - return num; - } - break; - } case ExpressionId.StringSliceWTF: { let ref = _BinaryenStringSliceWTFGetRef(parent); if (ref == search) { @@ -2227,19 +2114,6 @@ export function replaceChild( } break; } - case ExpressionId.StringSliceIter: { - let ref = _BinaryenStringSliceIterGetRef(parent); - if (ref == search) { - _BinaryenStringSliceIterSetRef(parent, replacement); - return ref; - } - let num = _BinaryenStringSliceIterGetNum(parent); - if (num == search) { - _BinaryenStringSliceIterSetNum(parent, replacement); - return num; - } - break; - } default: throw new Error("unexpected expression id"); } return 0; diff --git a/src/passes/shadowstack.ts b/src/passes/shadowstack.ts index 468009202e..d34997ed08 100644 --- a/src/passes/shadowstack.ts +++ b/src/passes/shadowstack.ts @@ -159,18 +159,21 @@ 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 ( + let isFound = false; + while ( _BinaryenExpressionGetId(expr) == ExpressionId.Call && module.readStringCached(_BinaryenCallGetTarget(expr)) == BuiltinNames.tostack ) { assert(_BinaryenCallGetNumOperands(expr) == 1); - return _BinaryenCallGetOperandAt(expr, 0); + expr = _BinaryenCallGetOperandAt(expr, 0); + isFound = true; } - return 0; + if (!isFound) return 0; + return expr; } /** Tests whether a `value` matched by `matchTostack` needs a slot. */ -function needsSlot(module: Module, value: ExpressionRef): bool { +function needsSlot(value: ExpressionRef): bool { switch (_BinaryenExpressionGetId(value)) { // no need to stack null pointers case ExpressionId.Const: return !isConstZero(value); @@ -344,13 +347,13 @@ export class ShadowStackPass extends Pass { let operand = operands[i]; let match = matchPattern(module, operand); if (!match) continue; - if (!needsSlot(module, match)) { + if (!needsSlot(match)) { operands[i] = match; continue; } let currentFunction = this.currentFunction; let numLocals = _BinaryenFunctionGetNumLocals(currentFunction); - let slotIndex = this.noteSlot(currentFunction, numLocals + this.callSlotOffset + i); + let slotIndex = this.noteSlot(currentFunction, numLocals + this.callSlotOffset + numSlots); let temp = this.getSharedTemp(currentFunction, this.ptrType); let stmts = new Array(); // t = value @@ -434,7 +437,7 @@ export class ShadowStackPass extends Pass { let value = _BinaryenLocalSetGetValue(localSet); let match = matchPattern(module, value); if (!match) return; - if (!needsSlot(module, match)) { + if (!needsSlot(match)) { _BinaryenLocalSetSetValue(localSet, match); return; } diff --git a/src/program.ts b/src/program.ts index 18ebd57a6d..8bcf1bfa19 100644 --- a/src/program.ts +++ b/src/program.ts @@ -116,6 +116,7 @@ import { import { Module, + ExpressionRef, FunctionRef, MemorySegment, getFunctionName @@ -389,8 +390,10 @@ export namespace OperatorKind { case Token.GreaterThan_GreaterThan_Equals: return OperatorKind.BitwiseShr; case Token.GreaterThan_GreaterThan_GreaterThan: case Token.GreaterThan_GreaterThan_GreaterThan_Equals: return OperatorKind.BitwiseShrU; - case Token.Equals_Equals: return OperatorKind.Eq; - case Token.Exclamation_Equals: return OperatorKind.Ne; + case Token.Equals_Equals: + case Token.Equals_Equals_Equals: return OperatorKind.Eq; + case Token.Exclamation_Equals: + case Token.Exclamation_Equals_Equals: return OperatorKind.Ne; case Token.GreaterThan: return OperatorKind.Gt; case Token.GreaterThan_Equals: return OperatorKind.Ge; case Token.LessThan: return OperatorKind.Lt; @@ -1014,17 +1017,17 @@ export class Program extends DiagnosticEmitter { // compiler needs to check this condition whenever such a value is created // respectively stored or loaded. this.registerNativeType(CommonNames.v128, Type.v128); - this.registerNativeType(CommonNames.funcref, Type.funcref); - this.registerNativeType(CommonNames.externref, Type.externref); - this.registerNativeType(CommonNames.anyref, Type.anyref); - this.registerNativeType(CommonNames.eqref, Type.eqref); - this.registerNativeType(CommonNames.structref, Type.structref); - this.registerNativeType(CommonNames.arrayref, Type.arrayref); - this.registerNativeType(CommonNames.i31ref, Type.i31ref); - this.registerNativeType(CommonNames.stringref, Type.stringref); - this.registerNativeType(CommonNames.stringview_wtf8, Type.stringview_wtf8); - this.registerNativeType(CommonNames.stringview_wtf16, Type.stringview_wtf16); - this.registerNativeType(CommonNames.stringview_iter, Type.stringview_iter); + this.registerNativeType(CommonNames.ref_func, Type.func); + this.registerNativeType(CommonNames.ref_extern, Type.extern); + this.registerNativeType(CommonNames.ref_any, Type.any); + this.registerNativeType(CommonNames.ref_eq, Type.eq); + this.registerNativeType(CommonNames.ref_struct, Type.struct); + this.registerNativeType(CommonNames.ref_array, Type.array); + this.registerNativeType(CommonNames.ref_i31, Type.i31); + this.registerNativeType(CommonNames.ref_string, Type.string); + this.registerNativeType(CommonNames.ref_stringview_wtf8, Type.stringview_wtf8); + this.registerNativeType(CommonNames.ref_stringview_wtf16, Type.stringview_wtf16); + this.registerNativeType(CommonNames.ref_stringview_iter, Type.stringview_iter); // register compiler hints this.registerConstantInteger(CommonNames.ASC_TARGET, Type.i32, @@ -1288,14 +1291,17 @@ export class Program extends DiagnosticEmitter { this.registerWrapperClass(Type.f64, CommonNames.F64); if (options.hasFeature(Feature.Simd)) this.registerWrapperClass(Type.v128, CommonNames.V128); if (options.hasFeature(Feature.ReferenceTypes)) { - this.registerWrapperClass(Type.funcref, CommonNames.Funcref); - this.registerWrapperClass(Type.externref, CommonNames.Externref); + this.registerWrapperClass(Type.func, CommonNames.RefFunc); + this.registerWrapperClass(Type.extern, CommonNames.RefExtern); if (options.hasFeature(Feature.GC)) { - this.registerWrapperClass(Type.anyref, CommonNames.Anyref); - this.registerWrapperClass(Type.eqref, CommonNames.Eqref); - this.registerWrapperClass(Type.structref, CommonNames.Structref); - this.registerWrapperClass(Type.arrayref, CommonNames.Arrayref); - this.registerWrapperClass(Type.i31ref, CommonNames.I31ref); + this.registerWrapperClass(Type.any, CommonNames.RefAny); + this.registerWrapperClass(Type.eq, CommonNames.RefEq); + this.registerWrapperClass(Type.struct, CommonNames.RefStruct); + this.registerWrapperClass(Type.array, CommonNames.RefArray); + this.registerWrapperClass(Type.i31, CommonNames.RefI31); + } + if (options.hasFeature(Feature.Stringref)) { + this.registerWrapperClass(Type.string, CommonNames.RefString); } } @@ -1304,7 +1310,7 @@ export class Program extends DiagnosticEmitter { for (let i = 0, k = queuedExtends.length; i < k; ++i) { let thisPrototype = queuedExtends[i]; let extendsNode = assert(thisPrototype.extendsNode); // must be present if in queuedExtends - let baseElement = resolver.resolveTypeName(extendsNode.name, thisPrototype.parent); + let baseElement = resolver.resolveTypeName(extendsNode.name, null, thisPrototype.parent); if (!baseElement) continue; if (thisPrototype.kind == ElementKind.ClassPrototype) { if (baseElement.kind == ElementKind.ClassPrototype) { @@ -1401,7 +1407,7 @@ export class Program extends DiagnosticEmitter { let implementsNodes = assert(thisPrototype.implementsNodes); // must be present if in queuedImplements for (let j = 0, l = implementsNodes.length; j < l; ++j) { let implementsNode = implementsNodes[j]; - let interfaceElement = resolver.resolveTypeName(implementsNode.name, thisPrototype.parent); + let interfaceElement = resolver.resolveTypeName(implementsNode.name, null, thisPrototype.parent); if (!interfaceElement) continue; if (interfaceElement.kind == ElementKind.InterfacePrototype) { let interfacePrototype = interfaceElement; @@ -1950,18 +1956,20 @@ export class Program extends DiagnosticEmitter { checkTypeSupported(type: Type, reportNode: Node): bool { switch (type.kind) { case TypeKind.V128: return this.checkFeatureEnabled(Feature.Simd, reportNode); - case TypeKind.Funcref: - case TypeKind.Externref: + case TypeKind.Func: + case TypeKind.Extern: + // Non-nullability is introduced by typed function references (here part of GC) + if (!type.is(TypeFlags.Nullable)) return this.checkFeatureEnabled(Feature.GC, reportNode); return this.checkFeatureEnabled(Feature.ReferenceTypes, reportNode); - case TypeKind.Anyref: - case TypeKind.Eqref: - case TypeKind.Structref: - case TypeKind.Arrayref: - case TypeKind.I31ref: { + case TypeKind.Any: + case TypeKind.Eq: + case TypeKind.Struct: + case TypeKind.Array: + case TypeKind.I31: { return this.checkFeatureEnabled(Feature.ReferenceTypes, reportNode) && this.checkFeatureEnabled(Feature.GC, reportNode); } - case TypeKind.Stringref: + case TypeKind.String: case TypeKind.StringviewWTF8: case TypeKind.StringviewWTF16: case TypeKind.StringviewIter: { @@ -2665,6 +2673,10 @@ export class Program extends DiagnosticEmitter { /** Parent interface. */ parent: InterfacePrototype ): void { + let initializer = declaration.initializer; + if (initializer) { + this.error(DiagnosticCode.An_interface_property_cannot_have_an_initializer, initializer.range); + } let typeNode = declaration.type; if (!typeNode) typeNode = Node.createOmittedType(declaration.name.range.atEnd); this.initializeProperty( @@ -3078,6 +3090,13 @@ export abstract class Element { return (this.flags & vis) == (other.flags & vis); } + visibilityNoLessThan(other: Element): bool { + if (this.isPublic) return true; // public is a most frequent case + if (this.is(CommonFlags.Private)) return other.is(CommonFlags.Private); + if (this.is(CommonFlags.Protected)) return other.isAny(CommonFlags.Private | CommonFlags.Protected); + return assert(false); + } + /** Tests if this element is bound to a class. */ get isBound(): bool { let parent = this.parent; @@ -3366,7 +3385,7 @@ export class TypeDefinition extends TypedElement { constructor( /** Simple name. */ name: string, - /** Parent element, usually a file or namespace. */ + /** Parent element. */ parent: Element, /** Declaration reference. */ declaration: TypeDeclaration, @@ -3430,7 +3449,7 @@ export class Namespace extends DeclaredElement { /** An enum. */ export class Enum extends TypedElement { - + toStringFunctionName: string | null = null; /** Constructs a new enum. */ constructor( /** Simple name. */ @@ -3633,6 +3652,10 @@ export class Local extends VariableLikeElement { assert(type != Type.void); this.setType(type); } + + declaredByFlow(flow: Flow): bool { + return this.parent == flow.targetFunction; + } } /** A yet unresolved function prototype. */ @@ -3744,8 +3767,8 @@ export class Function extends TypedElement { contextualTypeArguments: Map | null; /** Default control flow. */ flow!: Flow; - /** Remembered debug locations. */ - debugLocations: Range[] = []; + /** Ordered debug locations by Binaryen expression reference. */ + debugLocations: Map = new Map(); /** Function reference, if compiled. */ ref: FunctionRef = 0; /** Varargs stub for calling with omitted arguments. */ @@ -3913,12 +3936,13 @@ export class Function extends TypedElement { addDebugInfo(module: Module, ref: FunctionRef): void { if (this.program.options.sourceMap) { let debugLocations = this.debugLocations; - for (let i = 0, k = debugLocations.length; i < k; ++i) { - let range = debugLocations[i]; + for (let _keys = Map_keys(debugLocations), i = 0, k = _keys.length; i < k; ++i) { + let expressionRef = _keys[i]; + let range = assert(debugLocations.get(expressionRef)); let source = range.source; module.setDebugLocation( ref, - range.debugInfoRef, + expressionRef, source.debugInfoIndex, source.lineAt(range.start), source.columnAt() - 1 // source maps are 0-based @@ -4159,6 +4183,17 @@ export class Property extends VariableLikeElement { get isField(): bool { return this.prototype.isField; } + + checkVisibility(diag: DiagnosticEmitter): void { + let propertyGetter = this.getterInstance; + let propertySetter = this.setterInstance; + if (propertyGetter && propertySetter && !propertyGetter.visibilityNoLessThan(propertySetter)) { + diag.errorRelated( + DiagnosticCode.Get_accessor_0_must_be_at_least_as_accessible_as_the_setter, + propertyGetter.identifierNode.range, propertySetter.identifierNode.range, propertyGetter.identifierNode.text + ); + } + } } /** A resolved index signature. */ diff --git a/src/resolver.ts b/src/resolver.ts index c54f555993..0823838fa2 100644 --- a/src/resolver.ts +++ b/src/resolver.ts @@ -103,7 +103,9 @@ import { } from "./tokenizer"; import { - BuiltinNames + BuiltinNames, + builtinTypes, + BuiltinTypesContext } from "./builtins"; /** Indicates whether errors are reported or not. */ @@ -142,6 +144,8 @@ export class Resolver extends DiagnosticEmitter { resolveType( /** The type to resolve. */ node: TypeNode, + /** The flow */ + flow: Flow | null, /** Contextual element. */ ctxElement: Element, /** Contextual types, i.e. `T`. */ @@ -160,21 +164,11 @@ export class Resolver extends DiagnosticEmitter { let resolved: Type | null = null; switch (node.kind) { case NodeKind.NamedType: { - resolved = this.resolveNamedType( - node, - ctxElement, - ctxTypes, - reportMode - ); + resolved = this.resolveNamedType(node, flow, ctxElement, ctxTypes, reportMode); break; } case NodeKind.FunctionType: { - resolved = this.resolveFunctionType( - node, - ctxElement, - ctxTypes, - reportMode - ); + resolved = this.resolveFunctionType(node, flow, ctxElement, ctxTypes, reportMode); break; } default: assert(false); @@ -187,6 +181,8 @@ export class Resolver extends DiagnosticEmitter { private resolveNamedType( /** The type to resolve. */ node: NamedTypeNode, + /** The flow */ + flow: Flow | null, /** Contextual element. */ ctxElement: Element, /** Contextual types, i.e. `T`. */ @@ -212,7 +208,7 @@ export class Resolver extends DiagnosticEmitter { } } if (node.isNullable) { - if (type.isInternalReference) return type.asNullable(); + if (type.isReference) return type.asNullable(); if (reportMode == ReportMode.Report) { this.error( DiagnosticCode.Type_0_cannot_be_nullable, @@ -225,7 +221,7 @@ export class Resolver extends DiagnosticEmitter { } // Look up in context - let element = this.resolveTypeName(nameNode, ctxElement, reportMode); + let element = this.resolveTypeName(nameNode, flow, ctxElement, reportMode); if (!element) return null; // Use shadow type if present (i.e. namespace sharing a type) @@ -264,6 +260,7 @@ export class Resolver extends DiagnosticEmitter { let instance = this.resolveClassInclTypeArguments( element, typeArgumentNodes, + flow, ctxElement, cloneMap(ctxTypes), // don't inherit node, @@ -290,7 +287,7 @@ export class Resolver extends DiagnosticEmitter { } let type = typeDefinition.type; if (node.isNullable) { - if (type.isInternalReference) return type.asNullable(); + if (type.isReference) return type.asNullable(); if (reportMode == ReportMode.Report) { this.error( DiagnosticCode.Type_0_cannot_be_nullable, @@ -304,11 +301,11 @@ export class Resolver extends DiagnosticEmitter { // Handle special built-in types if (isSimpleType) { let text = nameNode.identifier.text; - if (text == CommonNames.native) return this.resolveBuiltinNativeType(node, ctxElement, ctxTypes, reportMode); - if (text == CommonNames.indexof) return this.resolveBuiltinIndexofType(node, ctxElement, ctxTypes, reportMode); - if (text == CommonNames.valueof) return this.resolveBuiltinValueofType(node, ctxElement, ctxTypes, reportMode); - if (text == CommonNames.returnof) return this.resolveBuiltinReturnTypeType(node, ctxElement, ctxTypes, reportMode); - if (text == CommonNames.nonnull) return this.resolveBuiltinNotNullableType(node, ctxElement, ctxTypes, reportMode); + if (builtinTypes.has(text)) { + let fn = assert(builtinTypes.get(text)); + let ctx = new BuiltinTypesContext(this, node, ctxElement, ctxTypes, reportMode); + return fn(ctx); + } } // Resolve normally @@ -318,6 +315,7 @@ export class Resolver extends DiagnosticEmitter { typeArguments = this.resolveTypeArguments( typeParameterNodes, typeArgumentNodes, + flow, ctxElement, ctxTypes = cloneMap(ctxTypes), // update node, @@ -332,13 +330,14 @@ export class Resolver extends DiagnosticEmitter { } let type = this.resolveType( typeDefinition.typeNode, + flow, element, ctxTypes, reportMode ); if (!type) return null; if (node.isNullable) { - if (type.isInternalReference) return type.asNullable(); + if (type.isReference) return type.asNullable(); if (reportMode == ReportMode.Report) { this.error( DiagnosticCode.Type_0_cannot_be_nullable, @@ -361,6 +360,8 @@ export class Resolver extends DiagnosticEmitter { private resolveFunctionType( /** The type to resolve. */ node: FunctionTypeNode, + /** The flow */ + flow: Flow | null, /** Contextual element. */ ctxElement: Element, /** Contextual types, i.e. `T`. */ @@ -373,6 +374,7 @@ export class Resolver extends DiagnosticEmitter { if (explicitThisType) { thisType = this.resolveType( explicitThisType, + flow, ctxElement, ctxTypes, reportMode @@ -392,7 +394,7 @@ export class Resolver extends DiagnosticEmitter { break; } case ParameterKind.Rest: { - assert(i == numParameters); + assert(i == numParameters - 1); hasRest = true; break; } @@ -409,6 +411,7 @@ export class Resolver extends DiagnosticEmitter { } let parameterType = this.resolveType( parameterTypeNode, + flow, ctxElement, ctxTypes, reportMode @@ -429,6 +432,7 @@ export class Resolver extends DiagnosticEmitter { } else { returnType = this.resolveType( returnTypeNode, + flow, ctxElement, ctxTypes, reportMode @@ -439,138 +443,6 @@ export class Resolver extends DiagnosticEmitter { return node.isNullable ? signature.type.asNullable() : signature.type; } - private resolveBuiltinNativeType( - /** The type to resolve. */ - node: NamedTypeNode, - /** Contextual element. */ - ctxElement: Element, - /** Contextual types, i.e. `T`. */ - ctxTypes: Map | null = null, - /** How to proceed with eventual diagnostics. */ - reportMode: ReportMode = ReportMode.Report - ): Type | null { - const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode); - if (!typeArgumentNode) return null; - let typeArgument = this.resolveType(typeArgumentNode, ctxElement, ctxTypes, reportMode); - if (!typeArgument) return null; - switch (typeArgument.kind) { - case TypeKind.I8: - case TypeKind.I16: - case TypeKind.I32: return Type.i32; - case TypeKind.Isize: if (!this.program.options.isWasm64) return Type.i32; - case TypeKind.I64: return Type.i64; - case TypeKind.U8: - case TypeKind.U16: - case TypeKind.U32: - case TypeKind.Bool: return Type.u32; - case TypeKind.Usize: if (!this.program.options.isWasm64) return Type.u32; - case TypeKind.U64: return Type.u64; - case TypeKind.F32: return Type.f32; - case TypeKind.F64: return Type.f64; - case TypeKind.V128: return Type.v128; - case TypeKind.Void: return Type.void; - default: assert(false); - } - return null; - } - - private resolveBuiltinIndexofType( - /** The type to resolve. */ - node: NamedTypeNode, - /** Contextual element. */ - ctxElement: Element, - /** Contextual types, i.e. `T`. */ - ctxTypes: Map | null = null, - /** How to proceed with eventual diagnostics. */ - reportMode: ReportMode = ReportMode.Report - ): Type | null { - const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode); - if (!typeArgumentNode) return null; - let typeArgument = this.resolveType(typeArgumentNode, ctxElement, ctxTypes, reportMode); - if (!typeArgument) return null; - let classReference = typeArgument.classReference; - if (!classReference) { - if (reportMode == ReportMode.Report) { - this.error( - DiagnosticCode.Index_signature_is_missing_in_type_0, - typeArgumentNode.range, typeArgument.toString() - ); - } - return null; - } - let overload = classReference.lookupOverload(OperatorKind.IndexedGet); - if (overload) { - let parameterTypes = overload.signature.parameterTypes; - if (overload.is(CommonFlags.Static)) { - assert(parameterTypes.length == 2); - return parameterTypes[1]; - } else { - assert(parameterTypes.length == 1); - return parameterTypes[0]; - } - } - if (reportMode == ReportMode.Report) { - this.error( - DiagnosticCode.Index_signature_is_missing_in_type_0, - typeArgumentNode.range, typeArgument.toString() - ); - } - return null; - } - - private resolveBuiltinValueofType( - /** The type to resolve. */ - node: NamedTypeNode, - /** Contextual element. */ - ctxElement: Element, - /** Contextual types, i.e. `T`. */ - ctxTypes: Map | null = null, - /** How to proceed with eventual diagnostics. */ - reportMode: ReportMode = ReportMode.Report - ): Type | null { - const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode); - if (!typeArgumentNode) return null; - let typeArgument = this.resolveType(typeArgumentNode, ctxElement, ctxTypes, reportMode); - if (!typeArgument) return null; - let classReference = typeArgument.getClassOrWrapper(this.program); - if (classReference) { - let overload = classReference.lookupOverload(OperatorKind.IndexedGet); - if (overload) return overload.signature.returnType; - } - if (reportMode == ReportMode.Report) { - this.error( - DiagnosticCode.Index_signature_is_missing_in_type_0, - typeArgumentNode.range, typeArgument.toString() - ); - } - return null; - } - - private resolveBuiltinReturnTypeType( - /** The type to resolve. */ - node: NamedTypeNode, - /** Contextual element. */ - ctxElement: Element, - /** Contextual types, i.e. `T`. */ - ctxTypes: Map | null = null, - /** How to proceed with eventualy diagnostics. */ - reportMode: ReportMode = ReportMode.Report - ): Type | null { - const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode); - if (!typeArgumentNode) return null; - let typeArgument = this.resolveType(typeArgumentNode, ctxElement, ctxTypes, reportMode); - if (!typeArgument) return null; - let signatureReference = typeArgument.getSignature(); - if (signatureReference) return signatureReference.returnType; - if (reportMode == ReportMode.Report) { - this.error( - DiagnosticCode.Type_0_has_no_call_signatures, - typeArgumentNode.range, typeArgument.toString() - ); - } - return null; - } - private resolveBuiltinNotNullableType( /** The type to resolve. */ node: NamedTypeNode, @@ -583,7 +455,7 @@ export class Resolver extends DiagnosticEmitter { ): Type | null { const typeArgumentNode = this.ensureOneTypeArgument(node, reportMode); if (!typeArgumentNode) return null; - let typeArgument = this.resolveType(typeArgumentNode, ctxElement, ctxTypes, reportMode); + let typeArgument = this.resolveType(typeArgumentNode, null, ctxElement, ctxTypes, reportMode); if (!typeArgument) return null; if (!typeArgument.isNullableReference) return typeArgument; return typeArgument.nonNullableType; @@ -593,12 +465,16 @@ export class Resolver extends DiagnosticEmitter { resolveTypeName( /** The type name to resolve. */ node: TypeName, + /** The flow */ + flow: Flow | null, /** Contextual element. */ ctxElement: Element, /** How to proceed with eventual diagnostics. */ reportMode: ReportMode = ReportMode.Report ): Element | null { - let element = ctxElement.lookup(node.identifier.text, true); + let element: Element | null = null; + if (flow) element = flow.lookupTypeAlias(node.identifier.text); + if (!element) element = ctxElement.lookup(node.identifier.text, true); if (!element) { if (reportMode == ReportMode.Report) { this.error( @@ -632,6 +508,8 @@ export class Resolver extends DiagnosticEmitter { typeParameters: TypeParameterNode[], /** Type argument nodes provided. */ typeArgumentNodes: TypeNode[] | null, + /** Flow */ + flow: Flow | null, /** Contextual element. */ ctxElement: Element, /** Contextual types, i.e. `T`. Updated in place with the new set of contextual types. */ @@ -641,9 +519,8 @@ export class Resolver extends DiagnosticEmitter { /** How to proceed with eventual diagnostics. */ reportMode: ReportMode = ReportMode.Report ): Type[] | null { - var - minParameterCount = 0, - maxParameterCount = 0; + let minParameterCount = 0; + let maxParameterCount = 0; for (let i = 0, k = typeParameters.length; i < k; ++i) { if (!typeParameters[i].defaultType) ++minParameterCount; ++maxParameterCount; @@ -672,12 +549,14 @@ export class Resolver extends DiagnosticEmitter { let type = i < argumentCount ? this.resolveType( // reports typeArgumentNodes![i], + flow, ctxElement, oldCtxTypes, // update reportMode ) : this.resolveType( // reports assert(typeParameters[i].defaultType), + flow, ctxElement, cloneMap(ctxTypes), // don't update reportMode @@ -722,109 +601,179 @@ export class Resolver extends DiagnosticEmitter { // infer generic call if type arguments have been omitted if (prototype.is(CommonFlags.Generic)) { - let contextualTypeArguments = cloneMap(ctxFlow.contextualTypeArguments); + let resolvedTypeArguments = this.inferGenericTypeArguments( + node, + prototype, + prototype.typeParameterNodes, + ctxFlow, + reportMode, + ); + if (!resolvedTypeArguments) { + return null; + } + return this.resolveFunction( + prototype, + resolvedTypeArguments, + cloneMap(ctxFlow.contextualTypeArguments), + reportMode + ); + } - // fill up contextual types with auto for each generic component - let typeParameterNodes = assert(prototype.typeParameterNodes); - let numTypeParameters = typeParameterNodes.length; - let typeParameterNames = new Set(); - for (let i = 0; i < numTypeParameters; ++i) { - let name = typeParameterNodes[i].name.text; - contextualTypeArguments.set(name, Type.auto); - typeParameterNames.add(name); - } - - let parameterNodes = prototype.functionTypeNode.parameters; - let numParameters = parameterNodes.length; - let argumentNodes = node.args; - let numArguments = argumentNodes.length; - - // infer types with generic components while updating contextual types - for (let i = 0; i < numParameters; ++i) { - let argumentExpression = i < numArguments - ? argumentNodes[i] - : parameterNodes[i].initializer; - if (!argumentExpression) { - // optional but not have initializer should be handled in the other place - if (parameterNodes[i].parameterKind == ParameterKind.Optional) { - continue; - } - // missing initializer -> too few arguments - if (reportMode == ReportMode.Report) { + // otherwise resolve the non-generic call as usual + return this.resolveFunction(prototype, null, new Map(), reportMode); + } + + private inferGenericTypeArguments( + node: Expression, + prototype: FunctionPrototype, + typeParameterNodes: TypeParameterNode[] | null, + ctxFlow: Flow, + reportMode: ReportMode = ReportMode.Report, + ): Type[] | null { + + if (!typeParameterNodes) { + return null; + } + + let contextualTypeArguments = cloneMap(ctxFlow.contextualTypeArguments); + + // fill up contextual types with auto for each generic component + let numTypeParameters = typeParameterNodes.length; + let typeParameterNames = new Set(); + for (let i = 0; i < numTypeParameters; ++i) { + let name = typeParameterNodes[i].name.text; + contextualTypeArguments.set(name, Type.auto); + typeParameterNames.add(name); + } + + let parameterNodes = prototype.functionTypeNode.parameters; + let numParameters = parameterNodes.length; + + let argumentNodes: Expression[]; + let argumentsRange: Range; + switch (node.kind) { + case NodeKind.Call: { + const expr = node as CallExpression; + argumentNodes = expr.args; + argumentsRange = expr.argumentsRange; + break; + } + case NodeKind.New: { + const expr = node as NewExpression; + argumentNodes = expr.args; + argumentsRange = expr.argumentsRange; + break; + } + default: { + assert(false); + return null; + } + } + + let numArguments = argumentNodes.length; + + // infer types with generic components while updating contextual types + for (let i = 0; i < numParameters; ++i) { + let argumentExpression = i < numArguments + ? argumentNodes[i] + : parameterNodes[i].initializer; + if (!argumentExpression) { + // optional but not have initializer should be handled in the other place + if (parameterNodes[i].parameterKind == ParameterKind.Optional) { + continue; + } + if (reportMode == ReportMode.Report) { + if (parameterNodes[i].parameterKind == ParameterKind.Rest) { + // rest params are optional, but one element is needed for type inference + this.error( + DiagnosticCode.Type_argument_expected, + argumentsRange.atEnd + ); + } else { + // missing initializer -> too few arguments this.error( DiagnosticCode.Expected_0_arguments_but_got_1, node.range, numParameters.toString(), numArguments.toString() ); } - return null; } - let typeNode = parameterNodes[i].type; - if (typeNode.hasGenericComponent(typeParameterNodes)) { - let type = this.resolveExpression(argumentExpression, ctxFlow, Type.auto, ReportMode.Swallow); - if (type) { - this.propagateInferredGenericTypes( - typeNode, - type, - prototype, - contextualTypeArguments, - typeParameterNames - ); - } + return null; + } + let typeNode = parameterNodes[i].type; + if (parameterNodes[i].parameterKind == ParameterKind.Rest) { + typeNode = ( typeNode).typeArguments![0]; + } + if (typeNode.hasGenericComponent(typeParameterNodes)) { + let type = this.resolveExpression(argumentExpression, ctxFlow, Type.auto, ReportMode.Swallow); + if (type) { + this.propagateInferredGenericTypes( + typeNode, + type, + prototype, + contextualTypeArguments, + typeParameterNames + ); } } + } - // apply concrete types to the generic function signature - let resolvedTypeArguments = new Array(numTypeParameters); - for (let i = 0; i < numTypeParameters; ++i) { - let typeParameterNode = typeParameterNodes[i]; - let name = typeParameterNode.name.text; - if (contextualTypeArguments.has(name)) { - let inferredType = assert(contextualTypeArguments.get(name)); - if (inferredType != Type.auto) { - resolvedTypeArguments[i] = inferredType; - continue; + // apply concrete types to the generic function signature + let resolvedTypeArguments = new Array(numTypeParameters); + for (let i = 0; i < numTypeParameters; ++i) { + let typeParameterNode = typeParameterNodes[i]; + let name = typeParameterNode.name.text; + if (contextualTypeArguments.has(name)) { + let inferredType = assert(contextualTypeArguments.get(name)); + if (inferredType != Type.auto) { + resolvedTypeArguments[i] = inferredType; + continue; + } + let defaultType = typeParameterNode.defaultType; + if (defaultType) { + // Default parameters are resolved in context of the called function, not the calling function + let parent = prototype.parent; + let defaultTypeContextualTypeArguments: Map | null = null; + if (parent.kind == ElementKind.Class) { + defaultTypeContextualTypeArguments = (parent).contextualTypeArguments; + } else if (parent.kind == ElementKind.Function) { + defaultTypeContextualTypeArguments = (parent).contextualTypeArguments; } - let defaultType = typeParameterNode.defaultType; - if (defaultType) { - // Default parameters are resolved in context of the called function, not the calling function - let parent = prototype.parent; - let defaultTypeContextualTypeArguments: Map | null = null; - if (parent.kind == ElementKind.Class) { - defaultTypeContextualTypeArguments = (parent).contextualTypeArguments; - } else if (parent.kind == ElementKind.Function) { - defaultTypeContextualTypeArguments = (parent).contextualTypeArguments; - } - let resolvedDefaultType = this.resolveType( - defaultType, - prototype, - defaultTypeContextualTypeArguments, - reportMode - ); - if (!resolvedDefaultType) return null; - resolvedTypeArguments[i] = resolvedDefaultType; - continue; - } - } - // unused template, e.g. `function test(): void {...}` called as `test()` - // invalid because the type is effectively unknown inside the function body - if (reportMode == ReportMode.Report) { - this.error( - DiagnosticCode.Type_argument_expected, - node.expression.range.atEnd + let resolvedDefaultType = this.resolveType( + defaultType, + null, + prototype, + defaultTypeContextualTypeArguments, + reportMode ); + if (!resolvedDefaultType) return null; + resolvedTypeArguments[i] = resolvedDefaultType; + continue; } - return null; } - return this.resolveFunction( - prototype, - resolvedTypeArguments, - cloneMap(ctxFlow.contextualTypeArguments), - reportMode - ); + // unused template, e.g. `function test(): void {...}` called as `test()` + // invalid because the type is effectively unknown inside the function body + if (reportMode == ReportMode.Report) { + let range: Range; + switch (node.kind) { + case NodeKind.Call: + range = (node).expression.range; + break; + case NodeKind.New: + range = (node).typeName.range; + break; + default: + assert(false); + return null; + } + this.error( + DiagnosticCode.Type_argument_expected, + range.atEnd + ); + } + return null; } - // otherwise resolve the non-generic call as usual - return this.resolveFunction(prototype, null, new Map(), reportMode); + return resolvedTypeArguments; } /** Updates contextual types with a possibly encapsulated inferred type. */ @@ -846,7 +795,7 @@ export class Resolver extends DiagnosticEmitter { if (typeArgumentNodes && typeArgumentNodes.length > 0) { // foo(bar: Array) let classReference = type.classReference; if (classReference) { - let classPrototype = this.resolveTypeName(namedTypeNode.name, ctxElement); + let classPrototype = this.resolveTypeName(namedTypeNode.name, null, ctxElement); if (!classPrototype || classPrototype.kind != ElementKind.ClassPrototype) return; if (classReference.prototype == classPrototype) { let typeArguments = classReference.typeArguments; @@ -1306,7 +1255,7 @@ export class Resolver extends DiagnosticEmitter { if (global.is(CommonFlags.Resolved)) return true; let typeNode = global.typeNode; let type = typeNode - ? this.resolveType(typeNode, global.parent, null, reportMode) + ? this.resolveType(typeNode, null, global.parent, null, reportMode) : this.resolveExpression( assert(global.initializerNode), global.file.startFunction.flow, @@ -1363,7 +1312,18 @@ export class Resolver extends DiagnosticEmitter { } case ElementKind.Property: { // someInstance.prop let propertyInstance = target; - let getterInstance = assert(propertyInstance.getterInstance); // must have a getter + let getterInstance = propertyInstance.getterInstance; + if (!getterInstance) { + // In TS, getters without setters return `undefined`. Since AS doesn't have + // undefined, we instead diagnose it at compile time, but this isn't + // compatible with TS. + let setterInstance = assert(propertyInstance.setterInstance); + this.errorRelated( + DiagnosticCode.Property_0_only_has_a_setter_and_is_missing_a_getter, + targetNode.range, setterInstance.declaration.range, propertyInstance.name + ); + return null; + } let type = getterInstance.signature.returnType; let classReference = type.getClassOrWrapper(this.program); if (!classReference) { @@ -1413,7 +1373,7 @@ export class Resolver extends DiagnosticEmitter { let shadowType = target.shadowType; if (shadowType) { if (!shadowType.is(CommonFlags.Resolved)) { - let resolvedType = this.resolveType(shadowType.typeNode, shadowType.parent, null, reportMode); + let resolvedType = this.resolveType(shadowType.typeNode, null, shadowType.parent, null, reportMode); if (resolvedType) shadowType.setType(resolvedType); } let classReference = shadowType.type.classReference; @@ -1440,8 +1400,10 @@ export class Resolver extends DiagnosticEmitter { case ElementKind.InterfacePrototype: case ElementKind.Class: case ElementKind.Interface: { + let classLikeTarget = target; + let findBase = false; do { - let member = target.getMember(propertyName); + let member = classLikeTarget.getMember(propertyName); if (member) { if (member.kind == ElementKind.PropertyPrototype) { let propertyInstance = this.resolveProperty(member, reportMode); @@ -1458,34 +1420,32 @@ export class Resolver extends DiagnosticEmitter { this.currentElementExpression = null; return member; // instance FIELD, static GLOBAL, FUNCTION_PROTOTYPE, PROPERTY... } - // traverse inherited static members on the base prototype if target is a class prototype - if ( - target.kind == ElementKind.ClassPrototype || - target.kind == ElementKind.InterfacePrototype - ) { - let classPrototype = target; - let basePrototype = classPrototype.basePrototype; - if (basePrototype) { - target = basePrototype; - } else { + findBase = false; + switch (classLikeTarget.kind) { + case ElementKind.ClassPrototype: + case ElementKind.InterfacePrototype: { + // traverse inherited static members on the base prototype if target is a class prototype + let classPrototype = classLikeTarget; + let basePrototype = classPrototype.basePrototype; + if (basePrototype) { + findBase = true; + classLikeTarget = basePrototype; + } break; } - // traverse inherited instance members on the base class if target is a class instance - } else if ( - target.kind == ElementKind.Class || - target.kind == ElementKind.Interface - ) { - let classInstance = target; - let baseInstance = classInstance.base; - if (baseInstance) { - target = baseInstance; - } else { + case ElementKind.Class: + case ElementKind.Interface: { + // traverse inherited instance members on the base class if target is a class instance + let classInstance = classLikeTarget; + let baseInstance = classInstance.base; + if (baseInstance) { + findBase = true; + classLikeTarget = baseInstance; + } break; } - } else { - break; } - } while (true); + } while (findBase); break; } default: { // enums or other namespace-like elements @@ -1697,6 +1657,7 @@ export class Resolver extends DiagnosticEmitter { case AssertionKind.Prefix: { let type = this.resolveType( assert(node.toType), // must be set if not NONNULL + null, ctxFlow.sourceFunction, ctxFlow.contextualTypeArguments, reportMode @@ -1753,6 +1714,7 @@ export class Resolver extends DiagnosticEmitter { case AssertionKind.Prefix: { return this.resolveType( assert(node.toType), + null, ctxFlow.sourceFunction, ctxFlow.contextualTypeArguments, reportMode @@ -2648,12 +2610,13 @@ export class Resolver extends DiagnosticEmitter { /** How to proceed with eventual diagnostics. */ reportMode: ReportMode = ReportMode.Report ): Element | null { - let element = this.resolveTypeName(node.typeName, ctxFlow.sourceFunction, reportMode); + let element = this.resolveTypeName(node.typeName, ctxFlow, ctxFlow.sourceFunction, reportMode); if (!element) return null; if (element.kind == ElementKind.ClassPrototype) { return this.resolveClassInclTypeArguments( element, node.typeArguments, + ctxFlow, ctxFlow.sourceFunction, cloneMap(ctxFlow.contextualTypeArguments), node, @@ -2733,7 +2696,7 @@ export class Resolver extends DiagnosticEmitter { const declaration = node.declaration; const signature = declaration.signature; const body = declaration.body; - let functionType = this.resolveType(signature, ctxFlow.sourceFunction, ctxFlow.contextualTypeArguments, reportMode); + let functionType = this.resolveType(signature, null, ctxFlow.sourceFunction, ctxFlow.contextualTypeArguments, reportMode); if ( functionType && declaration.arrowKind != ArrowKind.None && @@ -2832,6 +2795,7 @@ export class Resolver extends DiagnosticEmitter { if (explicitThisType) { thisType = this.resolveType( explicitThisType, + null, prototype.parent, // relative to function ctxTypes, reportMode @@ -2848,10 +2812,13 @@ export class Resolver extends DiagnosticEmitter { let numSignatureParameters = signatureParameters.length; let parameterTypes = new Array(numSignatureParameters); let requiredParameters = 0; + let hasRest = false; for (let i = 0; i < numSignatureParameters; ++i) { let parameterDeclaration = signatureParameters[i]; if (parameterDeclaration.parameterKind == ParameterKind.Default) { requiredParameters = i + 1; + } else if (parameterDeclaration.parameterKind == ParameterKind.Rest) { + hasRest = true; } let typeNode = parameterDeclaration.type; if (isTypeOmitted(typeNode)) { @@ -2865,6 +2832,7 @@ export class Resolver extends DiagnosticEmitter { } let parameterType = this.resolveType( typeNode, + null, prototype.parent, // relative to function ctxTypes, reportMode @@ -2901,6 +2869,7 @@ export class Resolver extends DiagnosticEmitter { } let type = this.resolveType( typeNode, + null, prototype.parent, // relative to function ctxTypes, reportMode @@ -2909,7 +2878,7 @@ export class Resolver extends DiagnosticEmitter { returnType = type; } - let signature = Signature.create(this.program, parameterTypes, returnType, thisType, requiredParameters); + let signature = Signature.create(this.program, parameterTypes, returnType, thisType, requiredParameters, hasRest); let nameInclTypeParameters = prototype.name; if (instanceKey.length) nameInclTypeParameters += `<${instanceKey}>`; @@ -3015,6 +2984,7 @@ export class Resolver extends DiagnosticEmitter { resolvedTypeArguments = this.resolveTypeArguments( // reports assert(prototype.typeParameterNodes), typeArgumentNodes, + null, ctxElement, ctxTypes, // update reportNode, @@ -3060,7 +3030,7 @@ export class Resolver extends DiagnosticEmitter { assert(!unboundOverridePrototype.isBound); let unboundOverrideParent = unboundOverridePrototype.parent; let classInstances: Map | null; - assert(unboundOverrideParent.kind == ElementKind.ClassPrototype); + assert(unboundOverrideParent.kind == ElementKind.ClassPrototype || unboundOverrideParent.kind == ElementKind.InterfacePrototype); classInstances = (unboundOverrideParent).instances; if (!classInstances) continue; for (let _values = Map_values(classInstances), j = 0, l = _values.length; j < l; ++j) { @@ -3163,6 +3133,7 @@ export class Resolver extends DiagnosticEmitter { let base = this.resolveClassInclTypeArguments( basePrototype, extendsNode.typeArguments, + null, prototype.parent, // relative to derived class cloneMap(ctxTypes), // don't inherit extendsNode, @@ -3203,6 +3174,7 @@ export class Resolver extends DiagnosticEmitter { let iface = this.resolveClassInclTypeArguments( interfacePrototype, implementsNode.typeArguments, + null, prototype.parent, cloneMap(ctxTypes), implementsNode, @@ -3384,7 +3356,6 @@ export class Resolver extends DiagnosticEmitter { // Resolve instance members let prototype = instance.prototype; let instanceMemberPrototypes = prototype.instanceMembers; - let properties = new Array(); if (instanceMemberPrototypes) { // TODO: for (let member of instanceMemberPrototypes.values()) { for (let _values = Map_values(instanceMemberPrototypes), i = 0, k = _values.length; i < k; ++i) { @@ -3407,6 +3378,14 @@ export class Resolver extends DiagnosticEmitter { if (boundInstance) { let fieldType = boundInstance.type; if (fieldType == Type.void) break; // failed to resolve earlier + if (fieldType.isExternalReference) { + this.error( + DiagnosticCode.Not_implemented_0, + assert(boundPrototype.typeNode).range, + "Reference typed fields" + ); + break; + } let needsLayout = true; if (base) { let existingMember = base.getMember(boundPrototype.name); @@ -3456,26 +3435,6 @@ export class Resolver extends DiagnosticEmitter { } } - // Check that property getters and setters match - for (let i = 0, k = properties.length; i < k; ++i) { - let property = properties[i]; - let propertyGetter = property.getterInstance; - if (!propertyGetter) { - this.error( - DiagnosticCode.Property_0_only_has_a_setter_and_is_missing_a_getter, - property.identifierNode.range, property.name - ); - } else { - let propertySetter = property.setterInstance; - if (propertySetter && !propertyGetter.visibilityEquals(propertySetter)) { - this.errorRelated( - DiagnosticCode.Getter_and_setter_accessors_do_not_agree_in_visibility, - propertyGetter.identifierNode.range, propertySetter.identifierNode.range - ); - } - } - } - if (instance.kind != ElementKind.Interface) { // Check that all required members are implemented @@ -3612,6 +3571,8 @@ export class Resolver extends DiagnosticEmitter { prototype: ClassPrototype, /** Type arguments provided to be resolved. */ typeArgumentNodes: TypeNode[] | null, + /** Flow of {@link typeArgumentNodes} */ + flow: Flow | null, /** Contextual element. */ ctxElement: Element, /** Contextual types, i.e. `T`. */ @@ -3625,14 +3586,34 @@ export class Resolver extends DiagnosticEmitter { // Resolve type arguments if generic if (prototype.is(CommonFlags.Generic)) { - resolvedTypeArguments = this.resolveTypeArguments( // reports - assert(prototype.typeParameterNodes), // must be present if generic - typeArgumentNodes, - ctxElement, - ctxTypes, // update - reportNode, - reportMode - ); + + // find the constructor prototype, which may be on a base class + let constructorPrototype: FunctionPrototype | null = null; + for (let p: ClassPrototype | null = prototype; p && !constructorPrototype; p = p.basePrototype) { + constructorPrototype = p.constructorPrototype; + } + + // if no type arguments are provided, try to infer them from the constructor call + if (!typeArgumentNodes && constructorPrototype && flow && ctxTypes.size == 0) { + resolvedTypeArguments = this.inferGenericTypeArguments( + reportNode as NewExpression, + constructorPrototype, + prototype.typeParameterNodes, + flow, + ); + } else { + // resolve them from the provided type argument nodes + resolvedTypeArguments = this.resolveTypeArguments( // reports + assert(prototype.typeParameterNodes), // must be present if generic + typeArgumentNodes, + flow, + ctxElement, + ctxTypes, // update + reportNode, + reportMode + ); + } + if (!resolvedTypeArguments) return null; // Otherwise make sure that no type arguments have been specified @@ -3699,10 +3680,11 @@ export class Resolver extends DiagnosticEmitter { } } } + instance.checkVisibility(this); return instance; } - private ensureOneTypeArgument( + ensureOneTypeArgument( /** The type to resolve. */ node: NamedTypeNode, /** How to proceed with eventual diagnostics. */ diff --git a/src/tokenizer.ts b/src/tokenizer.ts index a4bf9e9aa4..08a9e10dec 100644 --- a/src/tokenizer.ts +++ b/src/tokenizer.ts @@ -463,9 +463,11 @@ export class Tokenizer extends DiagnosticEmitter { end: i32 = 0; pos: i32 = 0; + // @ts-expect-error token: Token = -1; tokenPos: i32 = 0; + // @ts-expect-error nextToken: Token = -1; nextTokenPos: i32 = 0; nextTokenOnNewLine: OnNewLine = OnNewLine.Unknown; @@ -1055,6 +1057,7 @@ export class Tokenizer extends DiagnosticEmitter { } clearNextToken(): void { + // @ts-expect-error this.nextToken = -1; this.nextTokenPos = 0; this.nextTokenOnNewLine = OnNewLine.Unknown; diff --git a/src/tsconfig.json b/src/tsconfig.json index 082bb02ec8..a6acaae80a 100644 --- a/src/tsconfig.json +++ b/src/tsconfig.json @@ -3,7 +3,6 @@ "compilerOptions": { "target": "esnext", "outDir": "../build", - "types" : ["node"], "allowJs": false, "sourceMap": true, "skipLibCheck": true, diff --git a/src/types.ts b/src/types.ts index cf97538bf6..6a07f6fbc8 100644 --- a/src/types.ts +++ b/src/types.ts @@ -10,7 +10,9 @@ import { import { Class, Program, - DecoratorFlags + DecoratorFlags, + OperatorKind, + Function } from "./program"; import { @@ -68,21 +70,21 @@ export const enum TypeKind { // references (keep in same order as in Binaryen) /** External reference. */ - Externref, + Extern, /** Function reference. */ - Funcref, + Func, /** Any reference. */ - Anyref, + Any, /** Equatable reference. */ - Eqref, + Eq, /** Struct reference. */ - Structref, + Struct, /** Array reference. */ - Arrayref, + Array, /** 31-bit integer reference. */ - I31ref, + I31, /** String reference. */ - Stringref, + String, /** WTF8 string view. */ StringviewWTF8, /** WTF16 string view. */ @@ -278,6 +280,11 @@ export class Type { return this.is(TypeFlags.External | TypeFlags.Reference); } + /** Tests if this type represents a nullable external object. */ + get isNullableExternalReference(): bool { + return this.is(TypeFlags.Nullable | TypeFlags.External | TypeFlags.Reference); + } + /** Gets the underlying class of this type, if any. */ getClass(): Class | null { return this.isInternalReference @@ -315,6 +322,14 @@ export class Type { return null; } + lookupOverload(kind: OperatorKind, program: Program): Function | null { + let classReference = this.getClassOrWrapper(program); + if (classReference) { + return classReference.lookupOverload(kind); + } + return null; + } + /** Gets the underlying function signature of this type, if any. */ getSignature(): Signature | null { return this.isInternalReference @@ -365,15 +380,15 @@ export class Type { /** Gets the corresponding non-nullable type. */ get nonNullableType(): Type { - if (this.isExternalReference) { - return this; // TODO - } - return assert(this._nonNullableType); // set either in ctor or asNullable + // Every type has a corresponding non-nullable type + return assert(this._nonNullableType); } /** Gets the corresponding nullable type, if applicable. */ get nullableType(): Type | null { - return this._nullableType; // set either in ctor or asNullable + return this.isReference + ? this.asNullable() // Every reference type has a corresponding nullable type + : null; // Other types do not have a nullable type } /** Computes the sign-extending shift in the target type. */ @@ -395,13 +410,13 @@ export class Type { /** Composes the respective nullable type of this type. */ asNullable(): Type { - assert(this.isInternalReference); + assert(this.isReference); let nullableType = this._nullableType; if (!nullableType) { assert(!this.isNullableReference); this._nullableType = nullableType = new Type(this.kind, this.flags | TypeFlags.Nullable, this.size); - nullableType.classReference = this.classReference; // either a class reference - nullableType.signatureReference = this.signatureReference; // or a function reference + nullableType.classReference = this.classReference; + nullableType.signatureReference = this.signatureReference; nullableType._nonNullableType = this; } return nullableType; @@ -457,7 +472,7 @@ export class Type { } else if (this.isExternalReference) { if ( this.kind == target.kind || - (target.kind == TypeKind.Anyref && this.kind != TypeKind.Externref) + (target.kind == TypeKind.Any && this.kind != TypeKind.Extern) ) { return true; } @@ -583,6 +598,39 @@ export class Type { return null; } + /** Converts this type's kind to a string. */ + kindToString(): string { + switch (this.kind) { + case TypeKind.Bool: return CommonNames.bool; + case TypeKind.I8: return CommonNames.i8; + case TypeKind.I16: return CommonNames.i16; + case TypeKind.I32: return CommonNames.i32; + case TypeKind.I64: return CommonNames.i64; + case TypeKind.Isize: return CommonNames.isize; + case TypeKind.U8: return CommonNames.u8; + case TypeKind.U16: return CommonNames.u16; + case TypeKind.U32: return CommonNames.u32; + case TypeKind.U64: return CommonNames.u64; + case TypeKind.Usize: return CommonNames.usize; + case TypeKind.F32: return CommonNames.f32; + case TypeKind.F64: return CommonNames.f64; + case TypeKind.V128: return CommonNames.v128; + case TypeKind.Func: return CommonNames.ref_func; + case TypeKind.Extern: return CommonNames.ref_extern; + case TypeKind.Any: return CommonNames.ref_any; + case TypeKind.Eq: return CommonNames.ref_eq; + case TypeKind.Struct: return CommonNames.ref_struct; + case TypeKind.Array: return CommonNames.ref_array; + case TypeKind.I31: return CommonNames.ref_i31; + case TypeKind.String: return CommonNames.ref_string; + case TypeKind.StringviewWTF8: return CommonNames.ref_stringview_wtf8; + case TypeKind.StringviewWTF16: return CommonNames.ref_stringview_wtf16; + case TypeKind.StringviewIter: return CommonNames.ref_stringview_iter; + default: assert(false); + case TypeKind.Void: return CommonNames.void_; + } + } + /** Converts this type to a string. */ toString(validWat: bool = false): string { const nullablePostfix = validWat ? "|null" : " | null"; @@ -598,38 +646,17 @@ export class Type { return this.isNullableReference ? `(${signatureReference.toString(validWat)})${nullablePostfix}` : signatureReference.toString(validWat); + } else { + return this.isNullableReference + ? `${this.kindToString()}${nullablePostfix}` + : this.kindToString(); } } } - switch (this.kind) { - case TypeKind.Bool: return CommonNames.bool; - case TypeKind.I8: return CommonNames.i8; - case TypeKind.I16: return CommonNames.i16; - case TypeKind.I32: return CommonNames.i32; - case TypeKind.I64: return CommonNames.i64; - case TypeKind.Isize: return CommonNames.isize; - case TypeKind.U8: return CommonNames.u8; - case TypeKind.U16: return CommonNames.u16; - case TypeKind.U32: return CommonNames.u32; - case TypeKind.U64: return CommonNames.u64; - case TypeKind.Usize: return CommonNames.usize; - case TypeKind.F32: return CommonNames.f32; - case TypeKind.F64: return CommonNames.f64; - case TypeKind.V128: return CommonNames.v128; - case TypeKind.Funcref: return CommonNames.funcref; - case TypeKind.Externref: return CommonNames.externref; - case TypeKind.Anyref: return CommonNames.anyref; - case TypeKind.Eqref: return CommonNames.eqref; - case TypeKind.Structref: return CommonNames.structref; - case TypeKind.Arrayref: return CommonNames.arrayref; - case TypeKind.I31ref: return CommonNames.i31ref; - case TypeKind.Stringref: return CommonNames.stringref; - case TypeKind.StringviewWTF8: return CommonNames.stringview_wtf8; - case TypeKind.StringviewWTF16: return CommonNames.stringview_wtf16; - case TypeKind.StringviewIter: return CommonNames.stringview_iter; - default: assert(false); - case TypeKind.Void: return CommonNames.void_; + if (this == Type.auto) { + return "auto"; } + return this.kindToString(); } // Binaryen specific @@ -651,39 +678,30 @@ export class Type { case TypeKind.F32: return TypeRef.F32; case TypeKind.F64: return TypeRef.F64; case TypeKind.V128: return TypeRef.V128; - case TypeKind.Funcref: { + case TypeKind.Func: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Func, this.is(TypeFlags.Nullable)); } - case TypeKind.Externref: { + case TypeKind.Extern: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Extern, this.is(TypeFlags.Nullable)); } - case TypeKind.Anyref: { + case TypeKind.Any: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Any, this.is(TypeFlags.Nullable)); } - case TypeKind.Eqref: { + case TypeKind.Eq: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Eq, this.is(TypeFlags.Nullable)); } - case TypeKind.Structref: { + case TypeKind.Struct: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Struct, this.is(TypeFlags.Nullable)); } - case TypeKind.Arrayref: { + case TypeKind.Array: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.Array, this.is(TypeFlags.Nullable)); } - case TypeKind.I31ref: { + case TypeKind.I31: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.I31, this.is(TypeFlags.Nullable)); } - case TypeKind.Stringref: { + case TypeKind.String: { return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.String, this.is(TypeFlags.Nullable)); } - case TypeKind.StringviewWTF8: { - return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF8, this.is(TypeFlags.Nullable)); - } - case TypeKind.StringviewWTF16: { - return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewWTF16, this.is(TypeFlags.Nullable)); - } - case TypeKind.StringviewIter: { - return binaryen._BinaryenTypeFromHeapType(HeapTypeRef.StringviewIter, this.is(TypeFlags.Nullable)); - } case TypeKind.Void: return TypeRef.None; } // TODO: not used yet @@ -818,80 +836,69 @@ export class Type { TypeFlags.Value, 128 ); - /** Function reference. */ - static readonly funcref: Type = new Type(TypeKind.Funcref, + /** Non-nullable function reference (`ref func`). */ + static readonly func: Type = new Type(TypeKind.Func, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); - /** External reference. */ - static readonly externref: Type = new Type(TypeKind.Externref, + /** Non-nullable external reference (`ref extern`). */ + static readonly extern: Type = new Type(TypeKind.Extern, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); - /** Any reference. */ - static readonly anyref: Type = new Type(TypeKind.Anyref, + /** Non-nullable any reference (`ref any`). */ + static readonly any: Type = new Type(TypeKind.Any, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); - /** Equatable reference. */ - static readonly eqref: Type = new Type(TypeKind.Eqref, + /** Non-nullable equatable reference (`ref eq`). */ + static readonly eq: Type = new Type(TypeKind.Eq, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); - /** Struct reference. */ - static readonly structref: Type = new Type(TypeKind.Structref, + /** Non-nullable struct reference (`ref struct`). */ + static readonly struct: Type = new Type(TypeKind.Struct, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); - /** Array reference. */ - static readonly arrayref: Type = new Type(TypeKind.Arrayref, + /** Non-nullable array reference (`ref array`). */ + static readonly array: Type = new Type(TypeKind.Array, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); - /** 31-bit integer reference. */ - static readonly i31ref: Type = new Type(TypeKind.I31ref, + /** Non-nullable 31-bit integer reference (`ref i31`). */ + static readonly i31: Type = new Type(TypeKind.I31, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); - /** String reference. */ - static readonly stringref: Type = new Type(TypeKind.Stringref, + /** Non-nullable string reference (`ref string`). */ + static readonly string: Type = new Type(TypeKind.String, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); - /** WTF8 string view. */ + /** Non-nullable WTF8 string view reference (`ref stringview_wtf8`). */ static readonly stringview_wtf8: Type = new Type(TypeKind.StringviewWTF8, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); - /** WTF16 string view. */ + /** Non-nullable WTF16 string view reference (`ref stringview_wtf16`). */ static readonly stringview_wtf16: Type = new Type(TypeKind.StringviewWTF16, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); - /** String iterator. */ + /** Non-nullable string iterator reference (`ref stringview_iter`). */ static readonly stringview_iter: Type = new Type(TypeKind.StringviewIter, TypeFlags.External | - TypeFlags.Nullable | TypeFlags.Reference, 0 ); @@ -1048,22 +1055,14 @@ export class Signature { isAssignableTo(target: Signature, checkCompatibleOverride: bool = false): bool { let thisThisType = this.thisType; let targetThisType = target.thisType; - if (checkCompatibleOverride) { - // check kind of `this` type - if (thisThisType) { - if (!targetThisType || !thisThisType.canExtendOrImplement(targetThisType)) { - return false; - } - } else if (targetThisType) { - return false; - } - } else { - // check `this` type (invariant) - if (thisThisType) { - if (targetThisType != targetThisType) return false; - } else if (targetThisType) { - return false; - } + + if (thisThisType && targetThisType) { + const compatibleThisType = checkCompatibleOverride + ? thisThisType.canExtendOrImplement(targetThisType) + : targetThisType.isAssignableTo(thisThisType); + if (!compatibleThisType) return false; + } else if (thisThisType || targetThisType) { + return false; } // check rest parameter diff --git a/src/util/math.ts b/src/util/math.ts index 25759f35d1..56655e921c 100644 --- a/src/util/math.ts +++ b/src/util/math.ts @@ -11,16 +11,10 @@ export function isPowerOf2(x: i32): bool { export function accuratePow64(x: f64, y: f64): f64 { if (!ASC_TARGET) { // ASC_TARGET == JS // Engines like V8, WebKit and SpiderMonkey uses powi fast path if exponent is integer - // This speculative optimization leads to loose precisions like 10 ** 208 != 1e208 - // or/and 10 ** -5 != 1e-5 anymore. For avoid this behaviour we are forcing exponent - // to fractional form and compensate this afterwards. - if (isFinite(y) && Math.abs(y) >= 2 && Math.trunc(y) == y) { - if (y < 0) { - return Math.pow(x, y + 0.5) / Math.pow(x, 0.5); - } else { - return Math.pow(x, y - 0.5) * Math.pow(x, 0.5); - } - } + // This speculative optimization leads to loose precisions like 10 ** -5 != 1e-5 anymore + // and introduces inconsistencies between different engines and versions + // For avoid this behavior we using bootstrap f64_pow function. + return f64_pow(x, y); } return Math.pow(x, y); } diff --git a/std/assembly.json b/std/assembly.json index 10a3e067dc..189ed19dc7 100644 --- a/std/assembly.json +++ b/std/assembly.json @@ -7,7 +7,6 @@ "allowJs": false, "typeRoots": [ "types" ], "types": [ "assembly" ], - "baseUrl": ".", "paths": { "*": [ "./assembly/*" diff --git a/std/assembly/builtins.ts b/std/assembly/builtins.ts index 05238edc03..1c23551993 100644 --- a/std/assembly/builtins.ts +++ b/std/assembly/builtins.ts @@ -66,10 +66,6 @@ export declare function isVoid(): bool; @builtin export declare function lengthof(func?: T): i32; -// @ts-ignore -@builtin -export declare function bswap(value: T): T; - // @ts-ignore: decorator @builtin export declare function clz(value: T): T; @@ -206,6 +202,12 @@ export declare function assert(isTrueish: T, message?: string): T; @unsafe @builtin export declare function unchecked(expr: T): T; +export namespace inline { + // @ts-ignore: decorator + @unsafe @builtin + export declare function always(expr: T): T; +} + // @ts-ignore: decorator @unsafe @builtin export declare function call_indirect(index: u32, ...args: auto[]): T; @@ -1273,7 +1275,7 @@ export namespace v128 { // @ts-ignore: decorator @unsafe @builtin - export declare function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + export declare function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; // @ts-ignore: decorator @builtin @@ -1345,19 +1347,19 @@ export namespace v128 { // @ts-ignore: decorator @unsafe @builtin - export declare function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + export declare function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; // @ts-ignore: decorator @unsafe @builtin - export declare function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + export declare function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; // @ts-ignore: decorator @unsafe @builtin - export declare function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + export declare function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; // @ts-ignore: decorator @unsafe @builtin - export declare function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): v128; + export declare function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: u32, immAlign?: u32): void; // @ts-ignore: decorator @unsafe @builtin @@ -1562,6 +1564,50 @@ export namespace v128 { // @ts-ignore: decorator @builtin export declare function extmul_high(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_swizzle(a: v128, s: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_max(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_q15mulr(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot_add(a: v128, b: v128, c: v128): v128; } // @ts-ignore: decorator @@ -1724,6 +1770,14 @@ export namespace i8x16 { // @ts-ignore: decorator @builtin export declare function swizzle(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_swizzle(a: v128, s: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; } // @ts-ignore: decorator @@ -1925,7 +1979,15 @@ export namespace i16x8 { // @ts-ignore: decorator @builtin - export declare function swizzle(a: v128, b: v128): v128; + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_q15mulr_s(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128, c: v128): v128; } // @ts-ignore: decorator @@ -2108,7 +2170,27 @@ export namespace i32x4 { // @ts-ignore: decorator @builtin - export declare function swizzle(a: v128, b: v128): v128; + export declare function relaxed_trunc_f32x4_s(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f32x4_u(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f64x2_s_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_trunc_f64x2_u_zero(a: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128; } // @ts-ignore: decorator @@ -2231,7 +2313,7 @@ export namespace i64x2 { // @ts-ignore: decorator @builtin - export declare function swizzle(a: v128, b: v128): v128; + export declare function relaxed_laneselect(a: v128, b: v128, m: v128): v128; } // @ts-ignore: decorator @@ -2354,7 +2436,19 @@ export namespace f32x4 { // @ts-ignore: decorator @builtin - export declare function swizzle(a: v128, b: v128): v128; + export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_max(a: v128, b: v128): v128; } // @ts-ignore: decorator @@ -2477,7 +2571,19 @@ export namespace f64x2 { // @ts-ignore: decorator @builtin - export declare function swizzle(a: v128, b: v128): v128; + export declare function relaxed_madd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_min(a: v128, b: v128): v128; + + // @ts-ignore: decorator + @builtin + export declare function relaxed_max(a: v128, b: v128): v128; } @final diff --git a/std/assembly/date.ts b/std/assembly/date.ts index 5d77fdcbde..2f847e1786 100644 --- a/std/assembly/date.ts +++ b/std/assembly/date.ts @@ -52,7 +52,8 @@ export class Date { hour: i32 = 0, min: i32 = 0, sec: i32 = 0, - ms: i32 = 0; + ms: i32 = 0, + offsetMs: i32 = 0; let dateString = dateTimeString; let posT = dateTimeString.indexOf("T"); @@ -61,37 +62,67 @@ export class Date { let timeString: string; dateString = dateTimeString.substring(0, posT); timeString = dateTimeString.substring(posT + 1); - // parse the HH-MM-SS component + + // might end with an offset ("Z", "+05:30", "-08:00", etc.) + for (let i = timeString.length - 1; i >= 0; i--) { + let c = timeString.charCodeAt(i); + if (c == 90) { // Z + timeString = timeString.substring(0, i); + break; + } else if (c == 43 || c == 45) { // + or - + if (i == timeString.length - 1) { + throw new RangeError(E_INVALIDDATE); + } + + let posColon = timeString.indexOf(":", i + 1); + if (~posColon) { + let offsetHours = i32.parse(timeString.substring(i + 1, posColon)); + let offsetMinutes = i32.parse(timeString.substring(posColon + 1)); + offsetMs = (offsetHours * 60 + offsetMinutes) * MILLIS_PER_MINUTE; + } else { + let offsetHours = i32.parse(timeString.substring(i + 1)); + offsetMs = offsetHours * MILLIS_PER_HOUR; + } + + if (c == 45) offsetMs = -offsetMs; // negative offset + timeString = timeString.substring(0, i); + break; + } + } + + // parse the HH:MM:SS component let timeParts = timeString.split(":"); let len = timeParts.length; if (len <= 1) throw new RangeError(E_INVALIDDATE); - hour = I32.parseInt(timeParts[0]); - min = I32.parseInt(timeParts[1]); + hour = i32.parse(timeParts[0]); + min = i32.parse(timeParts[1]); if (len >= 3) { - let secAndMs = timeParts[2]; - let posDot = secAndMs.indexOf("."); + let secAndFrac = timeParts[2]; + let posDot = secAndFrac.indexOf("."); if (~posDot) { - // includes milliseconds - sec = I32.parseInt(secAndMs.substring(0, posDot)); - ms = I32.parseInt(secAndMs.substring(posDot + 1)); + // includes fractional seconds (truncate to milliseconds) + sec = i32.parse(secAndFrac.substring(0, posDot)); + ms = i32.parse(secAndFrac.substr(posDot + 1, 3).padEnd(3, "0")); } else { - sec = I32.parseInt(secAndMs); + sec = i32.parse(secAndFrac); } } } + // parse the YYYY-MM-DD component let parts = dateString.split("-"); - let year = I32.parseInt(parts[0]); + let year = i32.parse(parts[0]); let month = 1, day = 1; let len = parts.length; if (len >= 2) { - month = I32.parseInt(parts[1]); + month = i32.parse(parts[1]); if (len >= 3) { - day = I32.parseInt(parts[2]); + day = i32.parse(parts[2]); } } - return new Date(epochMillis(year, month, day, hour, min, sec, ms)); + + return new Date(epochMillis(year, month, day, hour, min, sec, ms) - offsetMs); } constructor(private epochMillis: i64) { diff --git a/std/assembly/index.d.ts b/std/assembly/index.d.ts index ecf389936e..a604397320 100644 --- a/std/assembly/index.d.ts +++ b/std/assembly/index.d.ts @@ -35,28 +35,50 @@ declare type f32 = number; declare type f64 = number; /** A 128-bit vector. */ declare type v128 = object; -/** Function reference. */ -declare type funcref = object | null; -/** External reference. */ -declare type externref = object | null; -/** Any reference. */ -declare type anyref = object | null; -/** Equatable reference. */ -declare type eqref = object | null; -/** Struct reference. */ -declare type structref = object | null; -/** Array reference. */ -declare type arrayref = object | null; -/** 31-bit integer reference. */ -declare type i31ref = object | null; -/** String reference. */ -declare type stringref = object | null; -/** WTF-8 string view. */ -declare type stringview_wtf8 = object | null; -/** WTF-16 string view. */ -declare type stringview_wtf16 = object | null; -/** String iterator. */ -declare type stringview_iter = object | null; +/** Non-nullable function reference. */ +declare type ref_func = object; +/** Canonical nullable function reference. */ +declare type funcref = ref_func | null; +/** Non-nullable external reference. */ +declare type ref_extern = object; +/** Canonical nullable external reference. */ +declare type externref = ref_extern | null; +/** Non-nullable any reference. */ +declare type ref_any = object; +/** Canonical nullable any reference. */ +declare type anyref = ref_any | null; +/** Non-nullable equatable reference. */ +declare type ref_eq = object; +/** Canonical nullable equatable reference. */ +declare type eqref = ref_eq | null; +/** Non-nullable struct reference. */ +declare type ref_struct = object; +/** Canonical nullable struct reference. */ +declare type structref = ref_struct | null; +/** Non-nullable array reference. */ +declare type ref_array = object; +/** Canonical nullable array reference. */ +declare type arrayref = ref_array | null; +/** Non-nullable 31-bit integer reference. */ +declare type ref_i31 = object; +/** Canonical nullable 31-bit integer reference. */ +declare type i31ref = ref_i31 | null; +/** Non-nullable string reference. */ +declare type ref_string = object; +/** Canonical nullable string reference. */ +declare type stringref = ref_string | null; +/** Non-nullable WTF-8 string view. */ +declare type ref_stringview_wtf8 = object; +/** Canonical nullable WTF-8 string view. */ +declare type stringview_wtf8 = ref_stringview_wtf8 | null; +/** Non-nullable WTF-16 string view. */ +declare type ref_stringview_wtf16 = object; +/** Canonical nullable WTF-16 string view. */ +declare type stringview_wtf16 = ref_stringview_wtf16 | null; +/** Non-nullable string iterator. */ +declare type ref_stringview_iter = object; +/** Canonical nullable string iterator. */ +declare type stringview_iter = ref_stringview_iter | null; // Compiler hints @@ -769,9 +791,9 @@ declare function v128(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: declare namespace v128 { /** Creates a vector with identical lanes. */ export function splat(x: T): v128; - /** Extracts one lane as a scalar. */ + /** Extracts one lane as a scalar. idx argument needs to be compile time constant. */ export function extract_lane(x: v128, idx: u8): T; - /** Replaces one lane. */ + /** Replaces one lane. idx argument needs to be compile time constant.*/ export function replace_lane(x: v128, idx: u8, value: T): v128; /** Selects lanes from either vector according to the specified lane indexes. */ export function shuffle(a: v128, b: v128, ...lanes: u8[]): v128; @@ -786,7 +808,7 @@ declare namespace v128 { /** Loads a single lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ export function load_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; /** Stores the single lane at the specified index of the given vector to memory. */ - export function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + export function store_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; /** Creates a vector with eight 16-bit integer lanes by loading and sign extending eight 8-bit integers. */ export function load8x8_s(ptr: usize, immOffset?: u32, immAlign?: u32): v128; /** Creates a vector with eight 16-bit integer lanes by loading and zero extending eight 8-bit integers. */ @@ -822,13 +844,13 @@ declare namespace v128 { /** Loads a single 64-bit lane from memory into the specified lane of the given vector. Other lanes are bypassed as is. */ export function load64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; /** Stores the 8-bit lane at the specified lane of the given vector to memory. */ - export function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + export function store8_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; /** Stores the 16-bit lane at the specified lane of the given vector to memory. */ - export function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + export function store16_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; /** Stores the 32-bit lane at the specified lane of the given vector to memory. */ - export function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + export function store32_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; /** Stores the 64-bit lane at the specified lane of the given vector to memory. */ - export function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): v128; + export function store64_lane(ptr: usize, vec: v128, idx: u8, immOffset?: usize, immAlign?: usize): void; /** Stores a vector to memory. */ export function store(ptr: usize, value: v128, immOffset?: usize, immAlign?: usize): void; /** Adds each lane. */ @@ -859,7 +881,7 @@ declare namespace v128 { export function andnot(a: v128, b: v128): v128; /** Performs the bitwise NOT operation on a vector. */ export function not(a: v128): v128; - /** Selects bits of either vector according to the specified mask. */ + /** Selects bits of either vector according to the specified mask. Selects from `v1` if the bit in `mask` is `1`, otherwise from `v2`. */ export function bitselect(v1: v128, v2: v128, mask: v128): v128; /** Reduces a vector to a scalar indicating whether any lane is considered `true`. */ export function any_true(a: v128): bool; @@ -925,23 +947,115 @@ declare namespace v128 { export function demote_zero(a: v128): v128; /** Promotes the lower float lanes to higher precision. */ export function promote_low(a: v128): v128; - /** Performs the line-wise saturating rounding multiplication in Q15 format. */ + /** Performs the line-wise saturating rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). */ export function q15mulr_sat(a: v128, b: v128): v128; /** Performs the lane-wise integer extended multiplication of the lower lanes producing a twice wider result than the inputs. */ export function extmul_low(a: v128, b: v128): v128; /** Performs the lane-wise integer extended multiplication of the higher lanes producing a twice wider result than the inputs. */ export function extmul_high(a: v128, b: v128): v128; + /** + * Selects 8-bit lanes from `a` using indices in `s`. Indices in the range [0-15] select the i-th element of `a`. + * + * Unlike {@link v128.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware + * capabilities: Either `0` or `a[s[i]%16]`. + */ + export function relaxed_swizzle(a: v128, s: v128): v128; + /** + * Truncates each lane of a vector from 32-bit floating point to a 32-bit signed or unsigned integer as indicated by + * `T`. + * + * Unlike {@link v128.trunc_sat}, the result of lanes out of bounds of the target type is implementation defined, + * depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc(a: v128): v128; + /** + * Truncates each lane of a vector from 64-bit floating point to a 32-bit signed or unsigned integer as indicated by + * `T`. Unused higher integer lanes of the result are initialized to zero. + * + * Unlike {@link v128.trunc_sat_zero}, the result of lanes out of bounds of the target type is implementation defined, + * depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_zero(a: v128): v128; + /** + * Performs the fused multiply-add operation (`a * b + c`) on 32- or 64-bit floating point lanes as indicated by + * `T`. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_madd(a: v128, b: v128, c: v128): v128; + /** + * Performs the fused negative multiply-add operation (`-(a * b) + c`) on 32- or 64-bit floating point lanes as + * indicated by `T`. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + /** + * Selects 8-, 16-, 32- or 64-bit integer lanes as indicated by `T` from `a` or `b` based on masks in `m`. + * + * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result + * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result + * is `b[i]`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + /** + * Computes the minimum of each 32- or 64-bit floating point lane as indicated by `T`. + * + * Unlike {@link v128.min}, the result is implementation-defined if either value is `NaN` or both are `-0.0` and + * `+0.0`, depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_min(a: v128, b: v128): v128; + /** + * Computes the maximum of each 32- or 64-bit floating point lane as indicated by `T`. + * + * Unlike {@link v128.max}, the result is implementation-defined if either value is `NaN` or both are `-0.0` and + * `+0.0`, depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_max(a: v128, b: v128): v128; + /** + * Performs the lane-wise rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). + * + * Unlike {@link v128.q15mulr_sat}, the result is implementation-defined if both inputs are the minimum signed value: + * Either the minimum or maximum signed value. + */ + export function relaxed_q15mulr(a: v128, b: v128): v128; + /** + * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input. + * + * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or + * unsigned is implementation-defined. + */ + export function relaxed_dot(a: v128, b: v128): v128; + /** + * Computes the dot product of two 8-bit integer lanes each, yielding lanes two sizes wider than the input with the + * lanes of `c` accumulated into the result. + * + * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or + * unsigned by the intermediate multiplication is implementation-defined. + */ + export function relaxed_dot_add(a: v128, b: v128, c: v128): v128; } /** Initializes a 128-bit vector from sixteen 8-bit integer values. Arguments must be compile-time constants. */ declare function i8x16(a: i8, b: i8, c: i8, d: i8, e: i8, f: i8, g: i8, h: i8, i: i8, j: i8, k: i8, l: i8, m: i8, n: i8, o: i8, p: i8): v128; declare namespace i8x16 { /** Creates a vector with sixteen identical 8-bit integer lanes. */ export function splat(x: i8): v128; - /** Extracts one 8-bit integer lane as a signed scalar. */ + /** Extracts one 8-bit integer lane as a signed scalar. idx argument needs to be compile time constant. */ export function extract_lane_s(x: v128, idx: u8): i8; - /** Extracts one 8-bit integer lane as an unsigned scalar. */ + /** Extracts one 8-bit integer lane as an unsigned scalar. idx argument needs to be compile time constant. */ export function extract_lane_u(x: v128, idx: u8): u8; - /** Replaces one 8-bit integer lane. */ + /** Replaces one 8-bit integer lane. idx argument needs to be compile time constant. */ export function replace_lane(x: v128, idx: u8, value: i8): v128; /** Adds each 8-bit integer lane. */ export function add(a: v128, b: v128): v128; @@ -1009,17 +1123,34 @@ declare namespace i8x16 { export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8, l8: u8, l9: u8, l10: u8, l11: u8, l12: u8, l13: u8, l14: u8, l15: u8): v128; /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ export function swizzle(a: v128, s: v128): v128; + /** + * Selects 8-bit integer lanes from `a` using indices in `s`. Indices in the range [0-15] select the i-th element of + * `a`. + * + * Unlike {@link i8x16.swizzle}, the result of an out of bounds index is implementation-defined, depending on hardware + * capabilities: Either `0` or `a[s[i]%16]`. + */ + export function relaxed_swizzle(a: v128, s: v128): v128; + /** + * Selects 8-bit integer lanes from `a` or `b` based on masks in `m`. + * + * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result + * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result + * is `b[i]`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; } /** Initializes a 128-bit vector from eight 16-bit integer values. Arguments must be compile-time constants. */ declare function i16x8(a: i16, b: i16, c: i16, d: i16, e: i16, f: i16, g: i16, h: i16): v128; declare namespace i16x8 { /** Creates a vector with eight identical 16-bit integer lanes. */ export function splat(x: i16): v128; - /** Extracts one 16-bit integer lane as a signed scalar. */ + /** Extracts one 16-bit integer lane as a signed scalar. idx argument needs to be compile time constant. */ export function extract_lane_s(x: v128, idx: u8): i16; - /** Extracts one 16-bit integer lane as an unsigned scalar. */ + /** Extracts one 16-bit integer lane as an unsigned scalar. idx argument needs to be compile time constant. */ export function extract_lane_u(x: v128, idx: u8): u16; - /** Replaces one 16-bit integer lane. */ + /** Replaces one 16-bit integer lane. idx argument needs to be compile time constant. */ export function replace_lane(x: v128, idx: u8, value: i16): v128; /** Adds each 16-bit integer lane. */ export function add(a: v128, b: v128): v128; @@ -1107,17 +1238,38 @@ declare namespace i16x8 { export function extmul_high_i8x16_u(a: v128, b: v128): v128; /** Selects 16-bit lanes from either vector according to the specified [0-7] respectively [8-15] lane indexes. */ export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8, l4: u8, l5: u8, l6: u8, l7: u8): v128; - /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ - export function swizzle(a: v128, s: v128): v128; + /** + * Selects 16-bit integer lanes from `a` or `b` based on masks in `m`. + * + * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result + * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result + * is `b[i]`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + /** + * Performs the line-wise rounding multiplication in Q15 format (`(a[i] * b[i] + (1 << (Q - 1))) >> Q` where `Q=15`). + * + * Some results are implementation-defined: If both inputs are `i16.MIN_VALUE`, the value of the respective + * resulting lane may be either `i16.MIN_VALUE` or `i16.MAX_VALUE`. + */ + export function relaxed_q15mulr_s(a: v128, b: v128): v128; + /** + * Computes the dot product of two 8-bit integer lanes each, yielding lanes one size wider than the input. + * + * Some results are implementation-defined: If the most significant bit of `b[i]` is set, the intermediate + * multiplication may interpret `b[i]` as either signed or unsigned. + */ + export function relaxed_dot_i8x16_i7x16_s(a: v128, b: v128): v128; } /** Initializes a 128-bit vector from four 32-bit integer values. Arguments must be compile-time constants. */ declare function i32x4(a: i32, b: i32, c: i32, d: i32): v128; declare namespace i32x4 { /** Creates a vector with four identical 32-bit integer lanes. */ export function splat(x: i32): v128; - /** Extracts one 32-bit integer lane as a scalar. */ + /** Extracts one 32-bit integer lane as a scalar. idx argument needs to be compile time constant. */ export function extract_lane(x: v128, idx: u8): i32; - /** Replaces one 32-bit integer lane. */ + /** Replaces one 32-bit integer lane. idx argument needs to be compile time constant. */ export function replace_lane(x: v128, idx: u8, value: i32): v128; /** Adds each 32-bit integer lane. */ export function add(a: v128, b: v128): v128; @@ -1199,17 +1351,74 @@ declare namespace i32x4 { export function extmul_high_i16x8_u(a: v128, b: v128): v128; /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */ export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; - /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ - export function swizzle(a: v128, s: v128): v128; + /** + * Truncates each lane of a vector from 32-bit floating point to a signed 32-bit integer. + * + * Unlike {@link i32x4.trunc_sat_f32x4_s}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f32x4_s(a: v128): v128; + /** + * Truncates each lane of a vector from 32-bit floating point to an unsigned 32-bit integer. + * + * Unlike {@link i32x4.trunc_sat_f32x4_u}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f32x4_u(a: v128): v128; + /** + * Truncates each lane of a vector from 64-bit floating point to a signed 32-bit integer. The two higher + * integer lanes of the result are initialized to zero. + * + * Unlike {@link i32x4.trunc_sat_f64x2_s_zero}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f64x2_s_zero(a: v128): v128; + /** + * Truncates each lane of a vector from 64-bit floating point to an unsigned 32-bit integer. The two higher + * integer lanes of the result are initialized to zero. + * + * Unlike {@link i32x4.trunc_sat_f64x2_u_zero}, the result of lanes out of bounds of the target type is implementation + * defined, depending on hardware capabilities: + * - If the input lane contains `NaN`, the result is either `0` or the respective maximum integer value. + * - If the input lane contains a value otherwise out of bounds of the target type, the result is either the + * saturatated result or maximum integer value. + */ + export function relaxed_trunc_f64x2_u_zero(a: v128): v128; + /** + * Selects 32-bit integer lanes from `a` or `b` based on masks in `m`. + * + * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result + * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result + * is `b[i]`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; + /** + * Computes the dot product of two 8-bit lanes each, yielding lanes two sizes wider than the input with the lanes of + * `c` accumulated into the result. + * + * Unlike {@link v128.dot}, if the most significant bit of `b[i]` is set, whether `b[i]` is interpreted as signed or + * unsigned by the intermediate multiplication is implementation-defined. + */ + export function relaxed_dot_i8x16_i7x16_add_s(a: v128, b: v128, c: v128): v128; } /** Initializes a 128-bit vector from two 64-bit integer values. Arguments must be compile-time constants. */ declare function i64x2(a: i64, b: i64): v128; declare namespace i64x2 { /** Creates a vector with two identical 64-bit integer lanes. */ export function splat(x: i64): v128; - /** Extracts one 64-bit integer lane as a scalar. */ + /** Extracts one 64-bit integer lane as a scalar. `idx` argument need to be compile time constant */ export function extract_lane(x: v128, idx: u8): i64; - /** Replaces one 64-bit integer lane. */ + /** Replaces one 64-bit integer lane. idx argument needs to be compile time constant. */ export function replace_lane(x: v128, idx: u8, value: i64): v128; /** Adds each 64-bit integer lane. */ export function add(a: v128, b: v128): v128; @@ -1261,17 +1470,24 @@ declare namespace i64x2 { export function extmul_high_i32x4_u(a: v128, b: v128): v128; /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */ export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; - /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ - export function swizzle(a: v128, s: v128): v128; + /** + * Selects 64-bit integer lanes from `a` or `b` based on masks in `m`. + * + * Behaves like {@link v128.bitselect} if masks in `m` do have all bits either set (result is `a[i]`) or unset (result + * is `b[i]`). Otherwise the result is implementation-defined, depending on hardware capabilities: If the most + * significant bit of `m` is set, the result is either `bitselect(a[i], b[i], mask)` or `a[i]`, otherwise the result + * is `b[i]`. + */ + export function relaxed_laneselect(a: v128, b: v128, m: v128): v128; } /** Initializes a 128-bit vector from four 32-bit float values. Arguments must be compile-time constants. */ declare function f32x4(a: f32, b: f32, c: f32, d: f32): v128; declare namespace f32x4 { /** Creates a vector with four identical 32-bit float lanes. */ export function splat(x: f32): v128; - /** Extracts one 32-bit float lane as a scalar. */ + /** Extracts one 32-bit float lane as a scalar. idx argument needs to be compile time constant. */ export function extract_lane(x: v128, idx: u8): f32; - /** Replaces one 32-bit float lane. */ + /** Replaces one 32-bit float lane. idx argument needs to be compile time constant. */ export function replace_lane(x: v128, idx: u8, value: f32): v128; /** Adds each 32-bit float lane. */ export function add(a: v128, b: v128): v128; @@ -1323,17 +1539,45 @@ declare namespace f32x4 { export function demote_f64x2_zero(a: v128): v128; /** Selects 32-bit lanes from either vector according to the specified [0-3] respectively [4-7] lane indexes. */ export function shuffle(a: v128, b: v128, l0: u8, l1: u8, l2: u8, l3: u8): v128; - /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ - export function swizzle(a: v128, s: v128): v128; + /** + * Performs the fused multiply-add operation (`a * b + c`) on all 32-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_madd(a: v128, b: v128, c: v128): v128; + /** + * Performs the fused negative multiply-add operation (`-(a * b) + c`) on all 32-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + /** + * Computes the minimum of each 32-bit floating point lane. + * + * Unlike {@link f32x4.min}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, + * depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_min(a: v128, b: v128): v128; + /** + * Computes the maximum of each 32-bit floating point lane. + * + * Unlike {@link f32x4.max}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, + * depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_max(a: v128, b: v128): v128; } /** Initializes a 128-bit vector from two 64-bit float values. Arguments must be compile-time constants. */ declare function f64x2(a: f64, b: f64): v128; declare namespace f64x2 { /** Creates a vector with two identical 64-bit float lanes. */ export function splat(x: f64): v128; - /** Extracts one 64-bit float lane as a scalar. */ + /** Extracts one 64-bit float lane as a scalar. idx argument needs to be compile time constant. */ export function extract_lane(x: v128, idx: u8): f64; - /** Replaces one 64-bit float lane. */ + /** Replaces one 64-bit float lane. idx argument needs to be compile time constant. */ export function replace_lane(x: v128, idx: u8, value: f64): v128; /** Adds each 64-bit float lane. */ export function add(a: v128, b: v128): v128; @@ -1385,15 +1629,43 @@ declare namespace f64x2 { export function promote_low_f32x4(a: v128): v128; /** Selects 64-bit lanes from either vector according to the specified [0-1] respectively [2-3] lane indexes. */ export function shuffle(a: v128, b: v128, l0: u8, l1: u8): v128; - /** Selects 8-bit lanes from the first vector according to the indexes [0-15] specified by the 8-bit lanes of the second vector. */ - export function swizzle(a: v128, s: v128): v128; + /** + * Performs the fused multiply-add operation (`a * b + c`) on all 64-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_madd(a: v128, b: v128, c: v128): v128; + /** + * Performs the fused negative multiply-add operation (`-(a * b) + c`) on all 64-bit floating point lanes. + * + * The result is implementation defined, depending on hardware capabilities: + * - Either `a * b` is rounded once and the final result rounded again, or + * - The expression is evaluated with higher precision and only rounded once + */ + export function relaxed_nmadd(a: v128, b: v128, c: v128): v128; + /** + * Computes the minimum of each 64-bit floating point lane. + * + * Unlike {@link f64x2.min}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, + * depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_min(a: v128, b: v128): v128; + /** + * Computes the maximum of each 64-bit floating point lane. + * + * Unlike {@link f64x2.max}, the result is implementation-defined if either value is `NaN`, `-0.0` or `+0.0`, + * depending on hardware capabilities: Either `a[i]` or `b[i]`. + */ + export function relaxed_max(a: v128, b: v128): v128; } declare abstract class i31 { - /** Creates a new i31ref from the specified integer value. */ - static new(value: i32): i31ref; - /** Gets the integer value of an i31ref. */ - static get(i31expr: i31ref): i32; + /** Creates a new 31-bit integer reference from the specified integer value. */ + static new(value: i32): ref_i31; + /** Gets the integer value of an 31-bit integer reference. */ + static get(i31expr: ref_i31 | null): i32; } /** Macro type evaluating to the underlying native WebAssembly type. */ @@ -1857,6 +2129,7 @@ declare class StaticArray { /** Class representing a sequence of characters. */ declare class String { + [key: i32]: string; static fromCharCode(ls: i32, hs?: i32): string; static fromCharCodes(arr: i32[]): string; static fromCodePoint(code: i32): string; @@ -2035,6 +2308,90 @@ interface Function { /** Returns a string representation of this function. */ toString(): string; } + +/** + * Extracts the type of the 'this' parameter of a function type, or 'unknown' if the function type has no 'this' parameter. + */ +type ThisParameterType = T extends (this: infer U, ...args: never) => any ? U : unknown; + +/** + * Removes the 'this' parameter from a function type. + */ +type OmitThisParameter = unknown extends ThisParameterType ? T : T extends (...args: infer A) => infer R ? (...args: A) => R : T; + +interface CallableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + */ + apply(this: (this: T) => R, thisArg: T): R; + + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: (this: T, ...args: A) => R, thisArg: T, args: A): R; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: (this: T, ...args: A) => R, thisArg: T, ...args: A): R; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + */ + bind(this: T, thisArg: ThisParameterType): OmitThisParameter; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: (this: T, ...args: [...A, ...B]) => R, thisArg: T, ...args: A): (...args: B) => R; +} + +interface NewableFunction extends Function { + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + */ + apply(this: new () => T, thisArg: T): void; + /** + * Calls the function with the specified object as the this value and the elements of specified array as the arguments. + * @param thisArg The object to be used as the this object. + * @param args An array of argument values to be passed to the function. + */ + apply(this: new (...args: A) => T, thisArg: T, args: A): void; + + /** + * Calls the function with the specified object as the this value and the specified rest arguments as the arguments. + * @param thisArg The object to be used as the this object. + * @param args Argument values to be passed to the function. + */ + call(this: new (...args: A) => T, thisArg: T, ...args: A): void; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + */ + bind(this: T, thisArg: any): T; + + /** + * For a given function, creates a bound function that has the same body as the original function. + * The this object of the bound function is associated with the specified object, and has the specified initial parameters. + * @param thisArg The object to be used as the this object. + * @param args Arguments to bind to the parameters of the function. + */ + bind(this: new (...args: [...A, ...B]) => R, thisArg: any, ...args: A): new (...args: B) => R; +} + interface IArguments {} interface RegExp {} @@ -2337,6 +2694,10 @@ declare function final(constructor: Constructor): void; /** Annotates a method, function or constant global as always inlined. */ declare function inline(...args: any[]): any; +declare namespace inline { + /** Explicitly requests inlined function calls on the provided expression wherever possible. */ + export function always(value: T): T; +} /** Annotates a method, function or constant global as unsafe. */ declare function unsafe(...args: any[]): any; diff --git a/std/assembly/polyfills.ts b/std/assembly/polyfills.ts new file mode 100644 index 0000000000..2f39f1f207 --- /dev/null +++ b/std/assembly/polyfills.ts @@ -0,0 +1,27 @@ +export function bswap(value: T): T { + if (isInteger()) { + if (sizeof() == 1) { + return value; + } + if (sizeof() == 2) { + return (value << 8 | (value >> 8)); + } + if (sizeof() == 4) { + return ( + rotl(value & 0xFF00FF00, 8) | + rotr(value & 0x00FF00FF, 8) + ); + } + if (sizeof() == 8) { + let a = (value >> 8) & 0x00FF00FF00FF00FF; + let b = (value & 0x00FF00FF00FF00FF) << 8; + let v = a | b; + + a = (v >>> 16) & 0x0000FFFF0000FFFF; + b = (v & 0x0000FFFF0000FFFF) << 16; + + return rotr(a | b, 32); + } + } + ERROR("Unsupported generic type"); +} diff --git a/std/assembly/process.ts b/std/assembly/process.ts index 107e6c2ace..63c35e1b98 100644 --- a/std/assembly/process.ts +++ b/std/assembly/process.ts @@ -29,7 +29,7 @@ export namespace process { } export function time(): i64 { - return Date_binding.now(); + return Date_binding.now(); } export function hrtime(): u64 { diff --git a/std/assembly/reference.ts b/std/assembly/reference.ts index 1c7b85cb13..148f456799 100644 --- a/std/assembly/reference.ts +++ b/std/assembly/reference.ts @@ -1,31 +1,48 @@ +// Canonical aliases +export type funcref = ref_func | null; +export type externref = ref_extern | null; +export type anyref = ref_any | null; +export type eqref = ref_eq | null; +export type i31ref = ref_i31 | null; +export type structref = ref_struct | null; +export type arrayref = ref_array | null; +export type stringref = ref_string | null; +export type stringview_wtf8 = ref_stringview_wtf8 | null; +export type stringview_wtf16 = ref_stringview_wtf16 | null; +export type stringview_iter = ref_stringview_iter | null; + @unmanaged abstract class Ref { } @final @unmanaged -export abstract class Funcref extends Ref { +export abstract class RefFunc extends Ref { +} + +@final @unmanaged +export abstract class RefExtern extends Ref { } @final @unmanaged -export abstract class Externref extends Ref { +export abstract class RefAny extends Ref { } @final @unmanaged -export abstract class Anyref extends Ref { +export abstract class RefEq extends Ref { } @final @unmanaged -export abstract class Eqref extends Ref { +export abstract class RefI31 extends Ref { } @final @unmanaged -export abstract class I31ref extends Ref { +export abstract class RefStruct extends Ref { } @final @unmanaged -export abstract class Structref extends Ref { +export abstract class RefArray extends Ref { } @final @unmanaged -export abstract class Arrayref extends Ref { +export abstract class RefString extends Ref { } diff --git a/std/assembly/rt/index-incremental.ts b/std/assembly/rt/index-incremental.ts index 4730344b4f..2f1f115932 100644 --- a/std/assembly/rt/index-incremental.ts +++ b/std/assembly/rt/index-incremental.ts @@ -1,2 +1,2 @@ -import "rt/tlsf"; -import "rt/itcms"; +import "./tlsf"; +import "./itcms"; diff --git a/std/assembly/rt/index-minimal.ts b/std/assembly/rt/index-minimal.ts index cf88ee158f..72b6eb0873 100644 --- a/std/assembly/rt/index-minimal.ts +++ b/std/assembly/rt/index-minimal.ts @@ -1,2 +1,2 @@ -import "rt/tlsf"; -import "rt/tcms"; +import "./tlsf"; +import "./tcms"; diff --git a/std/assembly/rt/index-stub.ts b/std/assembly/rt/index-stub.ts index 47f29bebfd..924ecfb8e3 100644 --- a/std/assembly/rt/index-stub.ts +++ b/std/assembly/rt/index-stub.ts @@ -1 +1 @@ -import "rt/stub"; +import "./stub"; diff --git a/std/assembly/rt/itcms.ts b/std/assembly/rt/itcms.ts index b44b69af25..ba2e09eb00 100644 --- a/std/assembly/rt/itcms.ts +++ b/std/assembly/rt/itcms.ts @@ -403,7 +403,12 @@ function interrupt(): void { budget -= step(); if (state == STATE_IDLE) { if (TRACE) trace("└ GC (auto) done at cur/max", 2, total, memory.size() << 16); - threshold = (total * IDLEFACTOR / 100) + GRANULARITY; + if (IDLEFACTOR % 100 == 0) { + // optimization for the default GC parameters which idle factor is 200% + threshold = total * (IDLEFACTOR / 100) + GRANULARITY; + } else { + threshold = ((total * IDLEFACTOR) / 100) + GRANULARITY; + } if (PROFILE) onyield(total); return; } diff --git a/std/assembly/rt/tlsf.ts b/std/assembly/rt/tlsf.ts index df437b82cb..3d135a3bee 100644 --- a/std/assembly/rt/tlsf.ts +++ b/std/assembly/rt/tlsf.ts @@ -307,6 +307,15 @@ function removeBlock(root: Root, block: Block): void { // must perform those updates. } +function roundSize(size: usize): usize { + const halfMaxSize = BLOCK_MAXSIZE >> 1; // don't round last fl + const inv: usize = sizeof() * 8 - 1; + const invRound = inv - SL_BITS; + return size < halfMaxSize + ? size + (1 << (invRound - clz(size))) - 1 + : size; +} + /** Searches for a free block of at least the specified size. */ function searchBlock(root: Root, size: usize): Block | null { // size was already asserted by caller @@ -317,13 +326,8 @@ function searchBlock(root: Root, size: usize): Block | null { fl = 0; sl = (size >> AL_BITS); } else { - const halfMaxSize = BLOCK_MAXSIZE >> 1; // don't round last fl - const inv: usize = sizeof() * 8 - 1; - const invRound = inv - SL_BITS; - let requestSize = size < halfMaxSize - ? size + (1 << (invRound - clz(size))) - 1 - : size; - fl = inv - clz(requestSize); + const requestSize = roundSize(size); + fl = sizeof() * 8 - 1 - clz(requestSize); sl = ((requestSize >> (fl - SL_BITS)) ^ (1 << SL_BITS)); fl -= SB_BITS - 1; } @@ -373,8 +377,9 @@ function prepareBlock(root: Root, block: Block, size: usize): void { } /** Adds more memory to the pool. */ -function addMemory(root: Root, start: usize, end: usize): bool { - if (DEBUG) assert(start <= end); // must be valid +function addMemory(root: Root, start: usize, endU64: u64): bool { + let end = endU64; + if (DEBUG) assert(start <= endU64); // must be valid start = ((start + BLOCK_OVERHEAD + AL_MASK) & ~AL_MASK) - BLOCK_OVERHEAD; end &= ~AL_MASK; @@ -427,10 +432,8 @@ function growMemory(root: Root, size: usize): void { return; } // Here, both rounding performed in searchBlock ... - const halfMaxSize = BLOCK_MAXSIZE >> 1; - if (size < halfMaxSize) { // don't round last fl - const invRound = (sizeof() * 8 - 1) - SL_BITS; - size += (1 << (invRound - clz(size))) - 1; + if (size >= SB_SIZE) { + size = roundSize(size); } // and additional BLOCK_OVERHEAD must be taken into account. If we are going // to merge with the tail block, that's one time, otherwise it's two times. @@ -442,7 +445,7 @@ function growMemory(root: Root, size: usize): void { if (memory.grow(pagesNeeded) < 0) unreachable(); } let pagesAfter = memory.size(); - addMemory(root, pagesBefore << 16, pagesAfter << 16); + addMemory(root, pagesBefore << 16, pagesAfter << 16); } /** Computes the size (excl. header) of a block. */ @@ -477,11 +480,11 @@ function initialize(): void { } let memStart = rootOffset + ROOT_SIZE; if (ASC_LOW_MEMORY_LIMIT) { - const memEnd = ASC_LOW_MEMORY_LIMIT & ~AL_MASK; + const memEnd = ASC_LOW_MEMORY_LIMIT & ~AL_MASK; if (memStart <= memEnd) addMemory(root, memStart, memEnd); else unreachable(); // low memory limit already exceeded } else { - addMemory(root, memStart, memory.size() << 16); + addMemory(root, memStart, memory.size() << 16); } ROOT = root; } diff --git a/std/assembly/shared/feature.ts b/std/assembly/shared/feature.ts index 19027742ed..1baa9ba3c9 100644 --- a/std/assembly/shared/feature.ts +++ b/std/assembly/shared/feature.ts @@ -34,6 +34,8 @@ export const enum Feature { ExtendedConst = 1 << 13, // see: https://github.com/WebAssembly/extended-const /** Reference typed strings. */ Stringref = 1 << 14, // see: https://github.com/WebAssembly/stringref + /** All features. */ + All = (1 << 15) - 1 } /** Gets the name of the specified feature one would specify on the command line. */ diff --git a/std/assembly/staticarray.ts b/std/assembly/staticarray.ts index 874a5d07fa..89cad68afc 100644 --- a/std/assembly/staticarray.ts +++ b/std/assembly/staticarray.ts @@ -214,14 +214,14 @@ export class StaticArray { for (let offset: usize = 0; offset < sourceSize; offset += sizeof()) { let ref = load(thisStart + offset); store(outStart + offset, ref); - __link(outStart, ref, true); + __link(changetype(out), ref, true); } outStart += sourceSize; let otherSize = otherLen << alignof(); for (let offset: usize = 0; offset < otherSize; offset += sizeof()) { let ref = load(otherStart + offset); store(outStart + offset, ref); - __link(outStart, ref, true); + __link(changetype(out), ref, true); } } else { memory.copy(outStart, thisStart, sourceSize); diff --git a/std/assembly/util/number.ts b/std/assembly/util/number.ts index db74792f9a..ebd9d093cd 100644 --- a/std/assembly/util/number.ts +++ b/std/assembly/util/number.ts @@ -474,7 +474,7 @@ export function itoa64(value: i64, radix: i32): String { @lazy let _frc_minus: u64 = 0; // @ts-ignore: decorator -@lazy let _frc_plus: u64 = 0; +@lazy let _frc_plus: u64 = 0; // @ts-ignore: decorator @lazy let _frc_pow: u64 = 0; @@ -511,14 +511,14 @@ function umul64e(e1: i32, e2: i32): i32 { // @ts-ignore: decorator @inline -function normalizedBoundaries(f: u64, e: i32): void { +function normalizedBoundaries(f: u64, e: i32, isSingle: bool): void { let frc = (f << 1) + 1; let exp = e - 1; let off = clz(frc); frc <<= off; exp -= off; - let m = 1 + i32(f == 0x0010000000000000); + let m = 1 + i32(f == (isSingle ? 0x00800000 : 0x0010000000000000)); _frc_plus = frc; _frc_minus = ((f << m) - 1) << e - m - exp; @@ -559,16 +559,26 @@ function getCachedPower(minExp: i32): void { // @ts-ignore: decorator @inline -function grisu2(value: f64, buffer: usize, sign: i32): i32 { +function grisu2(value: f64, buffer: usize, sign: i32, isSingle: bool): i32 { + let frc: u64; + let exp: i32; // frexp routine - let uv = reinterpret(value); - let exp = i32((uv & 0x7FF0000000000000) >>> 52); - let sid = uv & 0x000FFFFFFFFFFFFF; - let frc = (u64(exp != 0) << 52) + sid; - exp = select(exp, 1, exp) - (0x3FF + 52); + if (isSingle) { + let uv = reinterpret(value); + exp = (uv & 0x7F800000) >>> 23; + let sid = uv & 0x007FFFFF; + frc = (u64(exp != 0) << 23) + sid; + exp = (exp || 1) - (0x7F + 23); + } else { + let uv = reinterpret(value); + exp = i32((uv & 0x7FF0000000000000) >>> 52); + let sid = uv & 0x000FFFFFFFFFFFFF; + frc = (u64(exp != 0) << 52) + sid; + exp = (exp || 1) - (0x3FF + 52); + } - normalizedBoundaries(frc, exp); + normalizedBoundaries(frc, exp, isSingle); getCachedPower(_exp); // normalize @@ -716,14 +726,14 @@ function prettify(buffer: usize, length: i32, k: i32): i32 { } } -function dtoa_core(buffer: usize, value: f64): i32 { +function dtoa_core(buffer: usize, value: f64, isSingle: bool): i32 { let sign = i32(value < 0); if (sign) { value = -value; store(buffer, CharCode.MINUS); } - // assert(value > 0 && value <= 1.7976931348623157e308); - let len = grisu2(value, buffer, sign); + // assert(value > 0 && value <= (isSingle ? f32.MAX_VALUE : f64.MAX_VALUE)); + let len = grisu2(value, buffer, sign, isSingle); len = prettify(buffer + (sign << 1), len - sign, _K); return len + sign; } @@ -731,13 +741,20 @@ function dtoa_core(buffer: usize, value: f64): i32 { // @ts-ignore: decorator @lazy @inline const dtoa_buf = memory.data(MAX_DOUBLE_LENGTH << 1); -export function dtoa(value: f64): String { +export function dtoa(value: T): String { + const isSingle = isFloat() && sizeof() == 4; + return dtoa_impl(value, isSingle); +} + +// @ts-ignore: decorator +@inline +function dtoa_impl(value: f64, isSingle: bool): String { if (value == 0) return "0.0"; if (!isFinite(value)) { if (isNaN(value)) return "NaN"; return select("-Infinity", "Infinity", value < 0); } - let size = dtoa_core(dtoa_buf, value) << 1; + let size = dtoa_core(dtoa_buf, value, isSingle) << 1; let result = changetype(__new(size, idof())); memory.copy(changetype(result), dtoa_buf, size); return result; @@ -821,7 +838,14 @@ export function itoa_buffered(buffer: usize, value: T): u32 { return sign + decimals; } -export function dtoa_buffered(buffer: usize, value: f64): u32 { +export function dtoa_buffered(buffer: usize, value: T): u32 { + const isSingle = isFloat() && sizeof() == 4; + return dtoa_buffered_impl(buffer, value, isSingle); +} + +// @ts-ignore: decorator +@inline +function dtoa_buffered_impl(buffer: usize, value: f64, isSingle: bool): u32 { if (value == 0) { store(buffer, CharCode._0); store(buffer, CharCode.DOT, 2); @@ -845,5 +869,5 @@ export function dtoa_buffered(buffer: usize, value: f64): u32 { return 8 + u32(sign); } } - return dtoa_core(buffer, value); + return dtoa_core(buffer, value, isSingle); } diff --git a/std/portable/index.js b/std/portable/index.js index d35ce63ee2..e1a658683b 100644 --- a/std/portable/index.js +++ b/std/portable/index.js @@ -412,6 +412,4 @@ if (typeof globalScope.ASC_TARGET === "undefined") { if (n) message += Array.prototype.slice.call(arguments, 2, 2 + n); console.error("trace: " + message); }; -} else { - console.warn("compiler mismatch: std/portable included twice"); -} +} \ No newline at end of file diff --git a/tests/cli/options.js b/tests/cli/options.js index 637aae3493..1eed2763ce 100644 --- a/tests/cli/options.js +++ b/tests/cli/options.js @@ -2,18 +2,21 @@ import assert from "assert"; import * as optionsUtil from "../../util/options.js"; const config = { - "enable": { - "type": "S", - "mutuallyExclusive": "disable" + enable: { + type: "S", + mutuallyExclusive: "disable", }, - "disable": { - "type": "S", - "mutuallyExclusive": "enable" + disable: { + type: "S", + mutuallyExclusive: "enable", + }, + other: { + type: "S", + default: ["x"], + }, + bool_input_for_string: { + type: "s", }, - "other": { - "type": "S", - "default": ["x"] - } }; // Present in both should concat @@ -33,17 +36,21 @@ assert.deepStrictEqual(merged.enable, ["c"]); assert.deepStrictEqual(merged.disable, ["a", "b"]); // Populating defaults should work after the fact -optionsUtil.addDefaults(config, merged = {}); +optionsUtil.addDefaults(config, (merged = {})); assert.deepStrictEqual(merged.other, ["x"]); -optionsUtil.addDefaults(config, merged = { other: ["y"] }); +optionsUtil.addDefaults(config, (merged = { other: ["y"] })); assert.deepStrictEqual(merged.other, ["y"]); +// String test +assert.deepStrictEqual(merged.bool_input_for_string, undefined); +merged = optionsUtil.merge(config, {}, { bool_input_for_string: false }); +assert.deepStrictEqual(merged.bool_input_for_string, undefined); +merged = optionsUtil.merge(config, {}, { bool_input_for_string: true }); +assert.deepStrictEqual(merged.bool_input_for_string, ""); + // Complete usage test -let result = optionsUtil.parse([ - "--enable", "a", - "--disable", "b", -], config, false); +let result = optionsUtil.parse(["--enable", "a", "--disable", "b"], config, false); merged = optionsUtil.merge(config, result.options, { enable: ["b", "c"] }); merged = optionsUtil.merge(config, merged, { disable: ["a", "d"] }); diff --git a/tests/compiler.js b/tests/compiler.js index 1095bc4e4c..0b6018fa80 100644 --- a/tests/compiler.js +++ b/tests/compiler.js @@ -5,7 +5,7 @@ import v8 from "v8"; import cluster from "cluster"; import { createRequire } from "module"; import { fileURLToPath, pathToFileURL } from "url"; -import glob from "glob"; +import { globSync } from "glob"; import { stderrColors, stdoutColors } from "../util/terminal.js"; import * as optionsUtil from "../util/options.js"; import { coreCount, threadCount } from "../util/cpu.js"; @@ -80,10 +80,11 @@ if (args.help) { const features = process.env.ASC_FEATURES ? process.env.ASC_FEATURES.split(",") : []; const featuresConfig = require("./features.json"); const basedir = path.join(dirname, "compiler"); +process.chdir(basedir); // Gets a list of all relevant tests function getTests() { - let tests = glob.sync("**/!(_*).ts", { cwd: basedir }) + let tests = globSync("**/!(_*).ts", { posix: true }) .map(name => name.replace(/\.ts$/, "")) .filter(name => !name.endsWith(".d") && !name.includes("node_modules")); if (argv.length) { // run matching tests only @@ -134,6 +135,8 @@ async function runTest(basename) { const stdout = asc.createMemoryStream(); const stderr = asc.createMemoryStream(chunk => process.stderr.write(chunk.toString().replace(/^(?!$)/mg, " "))); stderr.isTTY = true; + const dummy = new Map(); + const writeFile = Map.prototype.set.bind(dummy); let asc_flags = []; let asc_rtrace = !!config.asc_rtrace; let v8_flags = ""; @@ -143,15 +146,116 @@ async function runTest(basename) { // Makes sure to reset the environment after function prepareResult(code, message = null) { if (v8_no_flags) v8.setFlagsFromString(v8_no_flags); - if (!args.createBinary) fs.unlink(path.join(basedir, basename + ".debug.wasm"), err => { /* nop */ }); + // Delete the .wasm files in case the subsequent run doesn't specify the + // --createBinary flag, thereby preventing confusion. Also, the .debug.wasm + // file is used by the bindings/esm test. + if (!args.createBinary) { + fs.unlink(basename + ".debug.wasm", err => { /* nop */ }); + fs.unlink(basename + ".release.wasm", err => { /* nop */ }); + } return { code, message }; } + function afterCompile(mode) { + // The ESM bindings test requires the .wasm file to be present. The file is + // promptly deleted after the test has completed, unless --createBinary is + // specified. + { + const filename = `${basename}.${mode}.wasm`; + fs.writeFileSync(filename, dummy.get(filename)); + } + + const compareFixture = section("compare fixture"); + const fixtureExtensions = ["wat", "js", "d.ts"]; + + if (args.create) { + for (const extension of fixtureExtensions) { + const filename = `${basename}.${mode}.${extension}`; + if (!dummy.has(filename)) { + fs.unlink(filename, err => { /* nop */ }); + continue; + } + fs.writeFileSync(filename, dummy.get(filename)); + console.log(" " + stdoutColors.yellow(`Created fixture ${filename}`)); + } + compareFixture.end(SKIPPED); + return; + } + + // Displaying the diffs in console for release fixtures isn't usually + // meaningful, so release fixtures are compared as if --noDiff was passed. + if (args.noDiff || mode === "release") { + for (const extension of fixtureExtensions) { + const filename = `${basename}.${mode}.${extension}`; + const actual = ( + dummy.has(filename) && + dummy.get(filename).replace(/\r\n/g, "\n") + ); + const expected = ( + fs.existsSync(filename) && + fs.readFileSync(filename, { encoding: "utf8" }).replace(/\r\n/g, "\n") + ); + + // If a fixture/generated file is missing, false will be compared to a + // string. If both are missing, nothing happens below (as it should). + if (actual !== expected) { + if (filename == "std/math.release.wat" && os.version().startsWith("Darwin Kernel") && os.arch() == "arm64") { + // FIXME: in arm64 macos, binaryen will optimize math.ts with different output. + compareFixture.end(SKIPPED); + return; + } + compareFixture.end(FAILURE); + return prepareResult(FAILURE, "fixture mismatch"); + } + } + compareFixture.end(SUCCESS); + return; + } + + let failed = false; + + for (const extension of fixtureExtensions) { + const filename = `${basename}.${mode}.${extension}`; + const actualExists = dummy.has(filename); + const expectedExists = fs.existsSync(filename); + + if (!actualExists && !expectedExists) { + // Neither exists, which is perfectly fine. Carry on. + continue; + } else if (actualExists != expectedExists) { + const message = actualExists + ? `Fixture ${filename} is missing!` + : `File ${filename} was not generated!`; + + console.log(" " + stdoutColors.yellow(message)); + failed = true; + continue; + } + + const actual = dummy.has(filename) && dummy.get(filename).replace(/\r\n/g, "\n"); + const expected = ( + fs.existsSync(filename) && + fs.readFileSync(filename, { encoding: "utf8" }).replace(/\r\n/g, "\n") + ); + + const diffResult = diff(filename, expected, actual); + if (diffResult !== null) { + console.log(diffResult); + failed = true; + } + } + + if (failed) { + compareFixture.end(FAILURE); + return prepareResult(FAILURE, "fixture mismatch"); + } + compareFixture.end(SUCCESS); + } + if (config.features) { config.features.forEach(feature => { if (!features.includes(feature) && !features.includes("*")) { missing_features.push(feature); - return; // from forEach } let featureConfig = featuresConfig[feature]; if (featureConfig.asc_flags) { @@ -166,13 +270,8 @@ async function runTest(basename) { if (v8_no_flags) v8_no_flags += " "; v8_no_flags += "--no-" + flag.substring(2); }); - v8.setFlagsFromString(v8_flags); } }); - if (missing_features.length) { - console.log("- " + stdoutColors.yellow("feature SKIPPED") + " (" + missing_features.join(", ") + ")\n"); - return prepareResult(SKIPPED, "feature not enabled: " + missing_features.join(", ")); - } } if (config.asc_flags) { config.asc_flags.forEach(flag => { asc_flags.push(...flag.split(" ")); }); @@ -182,15 +281,14 @@ async function runTest(basename) { { const cmd = [ basename + ".ts", - "--baseDir", basedir, "--debug", - "--textFile" // -> stdout + "--outFile", basename + ".debug.wasm", + "--textFile", basename + ".debug.wat" ]; if (asc_flags) cmd.push(...asc_flags); - cmd.push("--outFile", basename + ".debug.wasm"); if (args.noColors) cmd.push("--noColors"); const compileDebug = section("compile debug"); - const { error } = await asc.main(cmd, { stdout, stderr }); + const { error } = await asc.main(cmd, { stdout, stderr, writeFile }); let expectStderr = config.stderr; if (error) { @@ -228,52 +326,34 @@ async function runTest(basename) { } compareStderr.end(SUCCESS); return prepareResult(SUCCESS); + } else if (error) { + // Don't bother comparing fixtures or doing anything else if the + // compilation failed. + return prepareResult(FAILURE, "compile failed"); } - const compareFixture = section("compare fixture"); - const actual = stdout.toString().replace(/\r\n/g, "\n"); - if (args.create) { - fs.writeFileSync(path.join(basedir, basename + ".debug.wat"), actual, { encoding: "utf8" }); - console.log(" " + stdoutColors.yellow("Created fixture")); - compareFixture.end(SKIPPED); - } else { - const expected = fs.readFileSync(path.join(basedir, basename + ".debug.wat"), { encoding: "utf8" }).replace(/\r\n/g, "\n"); - if (args.noDiff) { - if (expected != actual) { - compareFixture.end(FAILURE); - return prepareResult(FAILURE, "fixture mismatch"); - } - } else { - let diffs = diff(basename + ".debug.wat", expected, actual); - if (diffs !== null) { - console.log(diffs); - compareFixture.end(FAILURE); - return prepareResult(FAILURE, "fixture mismatch"); - } - } - compareFixture.end(SUCCESS); - } + const afterCompileResult = afterCompile("debug"); + if (afterCompileResult) return afterCompileResult; } stdout.length = 0; stderr.length = 0; - const gluePath = path.join(basedir, basename + ".js"); + const gluePath = basename + ".js"; const glue = fs.existsSync(gluePath) ? await import(pathToFileURL(gluePath)) : {}; // Build release { const cmd = [ basename + ".ts", - "--baseDir", basedir, - "--outFile", // -> stdout + "--outFile", basename + ".release.wasm", + "--textFile", basename + ".release.wat", "-O" ]; if (asc_flags) cmd.push(...asc_flags); - if (args.create) cmd.push("--textFile", basename + ".release.wat"); if (args.noColors) cmd.push("--noColors"); const compileRelease = section("compile release"); - const { error } = await asc.main(cmd, { stdout: stdout, stderr: stderr }); + const { error } = await asc.main(cmd, { stdout, stderr, writeFile }); if (error) { stderr.write("---\n"); @@ -284,8 +364,18 @@ async function runTest(basename) { } compileRelease.end(SUCCESS); - const debugBuffer = fs.readFileSync(path.join(basedir, basename + ".debug.wasm")); - const releaseBuffer = stdout.toBuffer(); + const afterCompileResult = afterCompile("release"); + if (afterCompileResult) return afterCompileResult; + + if (missing_features.length) { + console.log("- " + stdoutColors.yellow("instantiate SKIPPED") + ": " + missing_features.join(", ") + " not enabled\n"); + return prepareResult(SKIPPED, "feature not enabled: " + missing_features.join(", ")); + } else if (v8_flags) { + v8.setFlagsFromString(v8_flags); + } + + const debugBuffer = dummy.get(basename + ".debug.wasm"); + const releaseBuffer = dummy.get(basename + ".release.wasm"); const instantiateDebug = section("instantiate debug"); if (config.skipInstantiate) { instantiateDebug.end(SKIPPED); @@ -312,7 +402,6 @@ async function runTest(basename) { if (asc_rtrace) { const cmd = [ basename + ".ts", - "--baseDir", basedir, "--outFile", // -> stdout "--debug", "--use", "ASC_RTRACE=1", diff --git a/tests/compiler/NonNullable.debug.wat b/tests/compiler/NonNullable.debug.wat index 9c5fd0e2ab..52a1e1e96d 100644 --- a/tests/compiler/NonNullable.debug.wat +++ b/tests/compiler/NonNullable.debug.wat @@ -1,10 +1,10 @@ (module - (type $none_=>_none (func)) - (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 $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -15,19 +15,19 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33132)) (global $~lib/memory/__heap_base i32 (i32.const 33132)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\003\002\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s\00") - (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") - (data (i32.const 124) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00z\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\003\002\00\00\00\00\00\00\00") + (data $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s\00") + (data $2 (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") + (data $3 (i32.const 124) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00z\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 236) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -79,9 +79,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -114,10 +114,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -168,7 +168,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -206,7 +206,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -215,7 +215,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -233,14 +233,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -263,18 +263,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String.__eq i32.eqz @@ -295,7 +295,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 i32.eqz drop @@ -303,7 +303,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__ne @@ -330,12 +330,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $t local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__ne @@ -344,7 +344,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $NonNullable/assertNonNull<~lib/string/String> end @@ -357,28 +357,15 @@ (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store i32.const 32 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 i32.const 32 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -390,17 +377,7 @@ unreachable end i32.const 112 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 i32.const 112 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -412,17 +389,7 @@ unreachable end i32.const 144 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 i32.const 144 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -436,7 +403,7 @@ global.get $~lib/memory/__stack_pointer global.get $NonNullable/z local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 if (result i32) local.get $0 @@ -451,18 +418,18 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $NonNullable/assertNonNull<~lib/string/String> global.get $NonNullable/z local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $NonNullable/safetyCheck<~lib/string/String|null> global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/NonNullable.release.wat b/tests/compiler/NonNullable.release.wat index 551a123dfc..7f27ab78fa 100644 --- a/tests/compiler/NonNullable.release.wat +++ b/tests/compiler/NonNullable.release.wat @@ -1,29 +1,28 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34156)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\06\00\00\00u\003\002") - (data (i32.const 1068) ",") - (data (i32.const 1080) "\02\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s") - (data (i32.const 1116) "\1c") - (data (i32.const 1128) "\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") - (data (i32.const 1148) "L") - (data (i32.const 1160) "\02\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>") - (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\02\00\00\00\02\00\00\00z") - (data (i32.const 1260) "|") - (data (i32.const 1272) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\06\00\00\00u\003\002") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\02\00\00\00\1c\00\00\00N\00o\00n\00N\00u\00l\00l\00a\00b\00l\00e\00.\00t\00s") + (data $2 (i32.const 1116) "\1c") + (data $2.1 (i32.const 1128) "\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") + (data $3 (i32.const 1148) "L") + (data $3.1 (i32.const 1160) "\02\00\00\002\00\00\00A\00r\00r\00a\00y\00<\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00/\00S\00t\00r\00i\00n\00g\00>") + (data $4 (i32.const 1228) "\1c") + (data $4.1 (i32.const 1240) "\02\00\00\00\02\00\00\00z") + (data $5 (i32.const 1260) "|") + (data $5.1 (i32.const 1272) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") (export "memory" (memory $0)) (start $~start) (func $~start - (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -32,18 +31,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 1056 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 offset=4 + i64.store i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -56,13 +45,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1136 - i32.store $0 - local.get $0 - i32.const 1136 - i32.store $0 offset=4 i32.const 1136 i32.const 1136 call $~lib/string/String.__eq @@ -75,13 +57,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1168 - i32.store $0 - local.get $0 - i32.const 1168 - i32.store $0 offset=4 i32.const 1168 i32.const 1168 call $~lib/string/String.__eq @@ -95,16 +70,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1248 - i32.store $0 offset=8 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 1248 - i32.store $0 + i32.store call $NonNullable/assertNonNull<~lib/string/String> global.get $~lib/memory/__stack_pointer i32.const 1248 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -114,17 +88,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1248 - i32.store $0 + i32.store call $~lib/string/String.__ne if global.get $~lib/memory/__stack_pointer i32.const 1248 - i32.store $0 + i32.store call $NonNullable/assertNonNull<~lib/string/String> end global.get $~lib/memory/__stack_pointer @@ -132,7 +105,7 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer return @@ -166,7 +139,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -186,55 +159,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -255,7 +230,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$3 loop $while-continue|1 local.get $0 local.tee $3 @@ -265,17 +240,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$3 local.get $2 i32.const 2 i32.add @@ -322,28 +297,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 1248 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1248 i32.const 0 call $~lib/string/String.__eq i32.eqz - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $NonNullable/assertNonNull<~lib/string/String> - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -360,12 +331,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1248 - i32.store $0 + i32.store call $~lib/string/String.__ne i32.eqz if diff --git a/tests/compiler/ReturnType.debug.wat b/tests/compiler/ReturnType.debug.wat index 06b792f458..5d184fb53e 100644 --- a/tests/compiler/ReturnType.debug.wat +++ b/tests/compiler/ReturnType.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/abi.debug.wat b/tests/compiler/abi.debug.wat index 1563de6f82..ea07555cab 100644 --- a/tests/compiler/abi.debug.wat +++ b/tests/compiler/abi.debug.wat @@ -1,7 +1,7 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $abi/condition (mut i32) (i32.const 0)) (global $abi/y (mut i32) (i32.const 0)) @@ -9,7 +9,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32812)) (global $~lib/memory/__heap_base i32 (i32.const 32812)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "exported" (func $abi/exported)) diff --git a/tests/compiler/abi.release.wat b/tests/compiler/abi.release.wat index 135f503138..5320131fcb 100644 --- a/tests/compiler/abi.release.wat +++ b/tests/compiler/abi.release.wat @@ -1,8 +1,8 @@ (module - (type $none_=>_i32 (func (result i32))) + (type $0 (func (result i32))) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\0c\00\00\00a\00b\00i\00.\00t\00s") (export "exported" (func $abi/exported)) (export "exportedExported" (func $abi/exported)) (export "exportedInternal" (func $abi/exported)) diff --git a/tests/compiler/asc-constants.debug.wat b/tests/compiler/asc-constants.debug.wat index ad4dcfbe27..6a9e9e94c0 100644 --- a/tests/compiler/asc-constants.debug.wat +++ b/tests/compiler/asc-constants.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/native/ASC_TARGET i32 (i32.const 1)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) (global $~lib/native/ASC_NO_ASSERT i32 (i32.const 0)) diff --git a/tests/compiler/assert-nonnull.debug.wat b/tests/compiler/assert-nonnull.debug.wat index e1201ee25e..1edc6edeed 100644 --- a/tests/compiler/assert-nonnull.debug.wat +++ b/tests/compiler/assert-nonnull.debug.wat @@ -1,9 +1,9 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_i32 (func (result 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_=>_none (func)) + (type $0 (func (param i32) (result i32))) + (type $1 (func (result i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32 i32 i32 i32))) + (type $4 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -13,11 +13,11 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33212)) (global $~lib/memory/__heap_base i32 (i32.const 33212)) (memory $0 1) - (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s\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\02\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\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 316) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $4 (i32.const 316) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -35,27 +35,27 @@ (export "testObjRet" (func $export:assert-nonnull/testObjRet)) (func $assert-nonnull/Foo#get:bar (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $assert-nonnull/Foo#get:baz (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~stack_check global.get $~lib/memory/__stack_pointer @@ -80,11 +80,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $foo local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 if (result i32) local.get $1 @@ -99,7 +99,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $assert-nonnull/Foo#get:bar local.set $2 @@ -120,17 +120,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $foo local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $assert-nonnull/Foo#get:bar local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 if (result i32) local.get $1 @@ -160,13 +160,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -183,16 +183,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -227,11 +227,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $foo local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 if (result i32) local.get $1 @@ -246,7 +246,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 0 call $~lib/array/Array#__get @@ -268,13 +268,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -291,16 +291,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 1 @@ -325,18 +325,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $foo local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 0 call $~lib/array/Array#__get local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 if (result i32) local.get $1 @@ -369,13 +369,13 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $foo local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 if (result i32) local.get $1 @@ -390,12 +390,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/array/Array#__get local.tee $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 if (result i32) local.get $2 @@ -410,11 +410,11 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $assert-nonnull/Foo#get:bar local.tee $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $3 if (result i32) local.get $3 @@ -447,13 +447,13 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $foo local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 if (result i32) local.get $1 @@ -468,12 +468,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/array/Array#__get local.tee $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 if (result i32) local.get $2 @@ -488,11 +488,11 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $assert-nonnull/Foo#get:bar local.tee $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $3 if (result i32) local.get $3 @@ -522,7 +522,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -530,11 +530,11 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $assert-nonnull/Foo#get:baz local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 if (result i32) local.get $1 @@ -546,8 +546,8 @@ call $~lib/builtins/abort unreachable end - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $1) local.set $2 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -567,10 +567,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 global.set $~argumentsLength @@ -579,11 +579,11 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $assert-nonnull/Foo#get:baz local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 if (result i32) local.get $1 @@ -595,10 +595,10 @@ call $~lib/builtins/abort unreachable end - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $1) local.tee $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 if (result i32) local.get $2 @@ -628,11 +628,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $n local.tee $1 - i32.store $0 + i32.store local.get $1 if (result i32) local.get $1 @@ -662,13 +662,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $fn local.tee $1 - i32.store $0 + i32.store local.get $1 if (result i32) local.get $1 @@ -680,8 +680,8 @@ call $~lib/builtins/abort unreachable end - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $1) local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -701,12 +701,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $fn local.tee $1 - i32.store $0 + i32.store local.get $1 if (result i32) local.get $1 @@ -719,12 +719,12 @@ unreachable end local.tee $fn2 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~argumentsLength local.get $fn2 - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $1) local.set $3 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -744,14 +744,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $fn local.tee $1 - i32.store $0 + i32.store local.get $1 if (result i32) local.get $1 @@ -763,10 +763,10 @@ call $~lib/builtins/abort unreachable end - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $1) local.tee $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 if (result i32) local.get $2 @@ -795,7 +795,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testVar local.set $1 @@ -814,7 +814,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testObj local.set $1 @@ -833,7 +833,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testProp local.set $1 @@ -852,7 +852,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testArr local.set $1 @@ -871,7 +871,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testElem local.set $1 @@ -890,7 +890,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testAll local.set $1 @@ -909,7 +909,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testAll2 local.set $1 @@ -928,7 +928,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testFn local.set $1 @@ -947,7 +947,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testFn2 local.set $1 @@ -966,7 +966,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testRet local.set $1 @@ -985,7 +985,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testObjFn local.set $1 @@ -1004,7 +1004,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $assert-nonnull/testObjRet local.set $1 diff --git a/tests/compiler/assert-nonnull.release.wat b/tests/compiler/assert-nonnull.release.wat index aa6d7b2325..67f4405bc2 100644 --- a/tests/compiler/assert-nonnull.release.wat +++ b/tests/compiler/assert-nonnull.release.wat @@ -1,22 +1,21 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (result i32))) + (type $2 (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 34236)) (memory $0 1) - (data (i32.const 1036) "|") - (data (i32.const 1048) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") - (data (i32.const 1164) "<") - (data (i32.const 1176) "\02\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s") - (data (i32.const 1228) "<") - (data (i32.const 1240) "\02\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) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1340) "|") - (data (i32.const 1352) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data $0 (i32.const 1036) "|") + (data $0.1 (i32.const 1048) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") + (data $1 (i32.const 1164) "<") + (data $1.1 (i32.const 1176) "\02\00\00\00\"\00\00\00a\00s\00s\00e\00r\00t\00-\00n\00o\00n\00n\00u\00l\00l\00.\00t\00s") + (data $2 (i32.const 1228) "<") + (data $2.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $3 (i32.const 1292) ",") + (data $3.1 (i32.const 1304) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $4 (i32.const 1340) "|") + (data $4.1 (i32.const 1352) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") (table $0 1 1 funcref) - (elem $0 (i32.const 1)) (export "memory" (memory $0)) (export "testVar" (func $export:assert-nonnull/testVar)) (export "testObj" (func $export:assert-nonnull/testObj)) @@ -31,7 +30,6 @@ (export "testObjFn" (func $export:assert-nonnull/testObjFn)) (export "testObjRet" (func $export:assert-nonnull/testObjRet)) (func $~lib/array/Array#__get (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -48,14 +46,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eqz if i32.const 1248 @@ -66,23 +63,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - i32.load $0 + i32.load offset=4 + i32.load local.tee $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) (func $export:assert-nonnull/testVar (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -93,10 +88,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -105,12 +99,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -140,7 +133,6 @@ unreachable ) (func $export:assert-nonnull/testObj (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -151,10 +143,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -163,12 +154,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -180,13 +170,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $0 - local.get $1 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -194,7 +182,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 34256 @@ -205,7 +192,6 @@ unreachable ) (func $export:assert-nonnull/testProp (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -216,10 +202,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -228,17 +213,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -268,7 +252,6 @@ unreachable ) (func $export:assert-nonnull/testArr (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -279,10 +262,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -291,12 +273,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -308,10 +289,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -320,14 +300,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eqz if i32.const 1248 @@ -338,15 +317,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - i32.load $0 + i32.load offset=4 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -380,7 +358,6 @@ unreachable ) (func $export:assert-nonnull/testElem (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -391,10 +368,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -403,17 +379,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#__get local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -455,10 +430,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer @@ -467,35 +441,34 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.eqz br_if $folding-inner1 global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#__get local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.eqz br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store local.get $0 - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 i32.eqz br_if $folding-inner1 @@ -537,10 +510,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer @@ -549,35 +521,34 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.eqz br_if $folding-inner1 global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#__get local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.eqz br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store local.get $0 - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 i32.eqz br_if $folding-inner1 @@ -607,7 +578,6 @@ unreachable ) (func $export:assert-nonnull/testFn (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -618,10 +588,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -630,12 +599,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -647,9 +615,8 @@ unreachable end local.get $0 - i32.load $0 - call_indirect $0 (type $none_=>_i32) - drop + i32.load + call_indirect (type $1) unreachable end i32.const 34256 @@ -671,10 +638,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -683,12 +649,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 i32.eqz if @@ -699,13 +665,11 @@ call $~lib/builtins/abort unreachable end - local.get $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 - call_indirect $0 (type $none_=>_i32) - drop + i32.load + call_indirect (type $1) unreachable end i32.const 34256 @@ -716,7 +680,6 @@ unreachable ) (func $export:assert-nonnull/testRet (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -728,10 +691,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -740,19 +702,17 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.eqz br_if $folding-inner1 local.get $0 - i32.load $0 - call_indirect $0 (type $none_=>_i32) - drop + i32.load + call_indirect (type $1) unreachable end i32.const 34256 @@ -770,7 +730,6 @@ unreachable ) (func $export:assert-nonnull/testObjFn (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -781,10 +740,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -793,17 +751,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -815,9 +772,8 @@ unreachable end local.get $0 - i32.load $0 - call_indirect $0 (type $none_=>_i32) - drop + i32.load + call_indirect (type $1) unreachable end i32.const 34256 @@ -828,7 +784,6 @@ unreachable ) (func $export:assert-nonnull/testObjRet (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -840,10 +795,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -852,27 +806,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz br_if $folding-inner1 local.get $0 - i32.load $0 - call_indirect $0 (type $none_=>_i32) - drop + i32.load + call_indirect (type $1) unreachable end i32.const 34256 diff --git a/tests/compiler/assert.debug.wat b/tests/compiler/assert.debug.wat index c8d990d211..cbdde5b983 100644 --- a/tests/compiler/assert.debug.wat +++ b/tests/compiler/assert.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/assignment-chain.debug.wat b/tests/compiler/assignment-chain.debug.wat new file mode 100644 index 0000000000..340796c987 --- /dev/null +++ b/tests/compiler/assignment-chain.debug.wat @@ -0,0 +1,2732 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i64))) + (type $7 (func (param i32 f64))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) + (type $11 (func (param f64))) + (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/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $assignment-chain/C._setter_cnt (mut i32) (i32.const 0)) + (global $assignment-chain/C._y (mut f64) (f64.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 480)) + (global $~lib/memory/__data_end i32 (i32.const 508)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33276)) + (global $~lib/memory/__heap_base i32 (i32.const 33276)) + (memory $0 1) + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00a\00s\00s\00i\00g\00n\00m\00e\00n\00t\00-\00c\00h\00a\00i\00n\00.\00t\00s\00\00\00\00\00\00\00") + (data $9 (i32.const 480) "\06\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 1 funcref) + (elem $0 (i32.const 1)) + (export "normal_assignment_chain" (func $assignment-chain/normal_assignment_chain)) + (export "setter_assignment_chain" (func $assignment-chain/setter_assignment_chain)) + (export "static_setter_assignment_chain" (func $assignment-chain/static_setter_assignment_chain)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) + local.get $this + local.get $nextWithColor + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:prev + local.get $space + return + ) + (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + return + ) + (func $~lib/rt/itcms/Object#get:color (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + return + ) + (func $~lib/rt/itcms/visitRoots (param $cookie i32) + (local $pn i32) + (local $iter i32) + local.get $cookie + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $pn + local.get $pn + call $~lib/rt/itcms/Object#get:next + local.set $iter + loop $while-continue|0 + local.get $iter + local.get $pn + i32.ne + if + i32.const 1 + drop + local.get $iter + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 160 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $iter + i32.const 20 + i32.add + local.get $cookie + call $~lib/rt/__visit_members + local.get $iter + call $~lib/rt/itcms/Object#get:next + local.set $iter + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $this i32) (param $color i32) + local.get $this + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $color + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) + local.get $this + local.get $obj + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $this i32) + (local $next i32) + (local $prev i32) + local.get $this + call $~lib/rt/itcms/Object#get:next + local.set $next + local.get $next + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $this + call $~lib/rt/itcms/Object#get:prev + i32.const 0 + i32.eq + if (result i32) + local.get $this + 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 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return + end + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.set $prev + i32.const 1 + drop + local.get $prev + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $next + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $next + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/__typeinfo (param $id i32) (result i32) + (local $ptr i32) + global.get $~lib/rt/__rtti_base + local.set $ptr + local.get $id + local.get $ptr + i32.load + i32.gt_u + if + i32.const 224 + i32.const 288 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $ptr + i32.const 4 + i32.add + local.get $id + i32.const 4 + i32.mul + i32.add + call $~lib/shared/typeinfo/Typeinfo#get:flags + return + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $this i32) (result i32) + (local $rtId i32) + local.get $this + call $~lib/rt/itcms/Object#get:rtId + local.set $rtId + local.get $rtId + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $rtId + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + return + ) + (func $~lib/rt/itcms/Object#linkTo (param $this i32) (param $list i32) (param $withColor i32) + (local $prev i32) + local.get $list + call $~lib/rt/itcms/Object#get:prev + local.set $prev + local.get $this + local.get $list + local.get $withColor + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $this + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $this + call $~lib/rt/itcms/Object#set:next + local.get $list + local.get $this + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $this i32) + (local $1 i32) + local.get $this + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 96 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $this + call $~lib/rt/itcms/Object#unlink + local.get $this + global.get $~lib/rt/itcms/toSpace + local.get $this + 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 $ptr i32) (param $cookie i32) + (local $obj i32) + local.get $ptr + i32.eqz + if + return + end + local.get $ptr + i32.const 20 + i32.sub + local.set $obj + i32.const 0 + drop + local.get $obj + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $obj + 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 $cookie i32) + (local $ptr i32) + global.get $~lib/memory/__stack_pointer + local.set $ptr + loop $while-continue|0 + local.get $ptr + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $ptr + i32.load + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + br $while-continue|0 + end + end + ) + (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) + i32.const 4 + local.get $this + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + return + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) + local.get $this + local.get $flMap + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) + local.get $this + local.get $next + i32.store offset=8 + ) + (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) + (local $blockInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $6 i32) + (local $7 i32) + (local $boundedSize i32) + (local $prev i32) + (local $next i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $root|14 i32) + (local $fl|15 i32) + (local $sl|16 i32) + (local $head i32) + (local $root|18 i32) + (local $fl|19 i32) + (local $slMap i32) + (local $root|21 i32) + (local $fl|22 i32) + (local $slMap|23 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + 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 $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + 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 $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + 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 $block + call $~lib/rt/tlsf/Block#get:prev + local.set $prev + local.get $block + call $~lib/rt/tlsf/Block#get:next + local.set $next + local.get $prev + if + local.get $prev + local.get $next + call $~lib/rt/tlsf/Block#set:next + end + local.get $next + if + local.get $next + local.get $prev + call $~lib/rt/tlsf/Block#set:prev + end + local.get $block + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end + i32.eq + if + local.get $root + local.set $root|14 + local.get $fl + local.set $fl|15 + local.get $sl + local.set $sl|16 + local.get $next + local.set $head + local.get $root|14 + local.get $fl|15 + i32.const 4 + i32.shl + local.get $sl|16 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $next + i32.eqz + if + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end + local.set $slMap + local.get $root + local.set $root|21 + local.get $fl + local.set $fl|22 + local.get $slMap + i32.const 1 + local.get $sl + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $slMap + local.set $slMap|23 + local.get $root|21 + local.get $fl|22 + i32.const 2 + i32.shl + i32.add + local.get $slMap|23 + i32.store offset=4 + local.get $slMap + i32.eqz + if + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + 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 $root i32) (param $block i32) + (local $blockInfo i32) + (local $block|3 i32) + (local $right i32) + (local $rightInfo i32) + (local $block|6 i32) + (local $block|7 i32) + (local $left i32) + (local $leftInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $13 i32) + (local $14 i32) + (local $boundedSize i32) + (local $root|16 i32) + (local $fl|17 i32) + (local $sl|18 i32) + (local $head i32) + (local $root|20 i32) + (local $fl|21 i32) + (local $sl|22 i32) + (local $head|23 i32) + (local $root|24 i32) + (local $fl|25 i32) + (local $root|26 i32) + (local $fl|27 i32) + (local $slMap i32) + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + 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 + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + local.get $rightInfo + i32.const 1 + i32.and + if + local.get $root + local.get $right + call $~lib/rt/tlsf/removeBlock + local.get $block + local.get $blockInfo + i32.const 4 + i32.add + local.get $rightInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + end + local.get $blockInfo + i32.const 2 + i32.and + if + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end + local.set $left + local.get $left + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $leftInfo + i32.const 1 + drop + local.get $leftInfo + 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 $root + local.get $left + call $~lib/rt/tlsf/removeBlock + local.get $left + local.set $block + local.get $block + local.get $leftInfo + i32.const 4 + i32.add + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $right + local.get $rightInfo + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + 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 $block + i32.const 4 + i32.add + local.get $size + i32.add + local.get $right + 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 $right + i32.const 4 + i32.sub + local.get $block + i32.store + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $13 + i32.const 1073741820 + local.tee $14 + local.get $13 + local.get $14 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + 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 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end + local.set $head + local.get $block + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $block + local.get $head + call $~lib/rt/tlsf/Block#set:next + local.get $head + if + local.get $head + local.get $block + call $~lib/rt/tlsf/Block#set:prev + end + local.get $root + local.set $root|20 + local.get $fl + local.set $fl|21 + local.get $sl + local.set $sl|22 + local.get $block + local.set $head|23 + local.get $root|20 + local.get $fl|21 + i32.const 4 + i32.shl + local.get $sl|22 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head|23 + i32.store offset=96 + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|26 + local.get $fl + local.set $fl|27 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end + i32.const 1 + local.get $sl + i32.shl + i32.or + local.set $slMap + local.get $root|26 + local.get $fl|27 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) + (local $tail i32) + (local $tailInfo i32) + (local $size i32) + (local $leftSize i32) + (local $left i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end + i32.const 1 + drop + local.get $start + i64.extend_i32_u + local.get $endU64 + i64.le_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 382 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $start + 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 $start + local.get $end + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $end + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|4 + local.get $root|4 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end + local.set $tail + i32.const 0 + local.set $tailInfo + local.get $tail + if + i32.const 1 + drop + local.get $start + local.get $tail + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $start + i32.const 16 + i32.sub + local.get $tail + i32.eq + if + local.get $start + i32.const 16 + i32.sub + local.set $start + local.get $tail + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $tailInfo + else + end + else + i32.const 1 + drop + local.get $start + local.get $root + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $end + local.get $start + i32.sub + local.set $size + local.get $size + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $size + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $leftSize + local.get $start + local.set $left + local.get $left + local.get $leftSize + i32.const 1 + i32.or + local.get $tailInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $start + i32.const 4 + i32.add + local.get $leftSize + i32.add + local.set $tail + local.get $tail + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.set $root|10 + local.get $tail + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 + local.get $root + local.get $left + call $~lib/rt/tlsf/insertBlock + i32.const 1 + return + ) + (func $~lib/rt/tlsf/initialize + (local $rootOffset i32) + (local $pagesBefore i32) + (local $pagesNeeded i32) + (local $root i32) + (local $root|4 i32) + (local $tail i32) + (local $fl i32) + (local $root|7 i32) + (local $fl|8 i32) + (local $slMap i32) + (local $sl i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $head i32) + (local $memStart 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 $rootOffset + memory.size + local.set $pagesBefore + local.get $rootOffset + 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 $pagesNeeded + local.get $pagesNeeded + local.get $pagesBefore + i32.gt_s + if (result i32) + local.get $pagesNeeded + local.get $pagesBefore + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $rootOffset + local.set $root + local.get $root + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|4 + i32.const 0 + local.set $tail + local.get $root|4 + local.get $tail + i32.store offset=1568 + i32.const 0 + local.set $fl + loop $for-loop|0 + local.get $fl + i32.const 23 + i32.lt_u + if + local.get $root + local.set $root|7 + local.get $fl + local.set $fl|8 + i32.const 0 + local.set $slMap + local.get $root|7 + local.get $fl|8 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + i32.const 0 + local.set $sl + loop $for-loop|1 + local.get $sl + i32.const 16 + i32.lt_u + if + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + i32.const 0 + local.set $head + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $sl + i32.const 1 + i32.add + local.set $sl + br $for-loop|1 + end + end + local.get $fl + i32.const 1 + i32.add + local.set $fl + br $for-loop|0 + end + end + local.get $rootOffset + i32.const 1572 + i32.add + local.set $memStart + i32.const 0 + drop + local.get $root + local.get $memStart + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $root + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/checkUsedBlock (param $ptr i32) (result i32) + (local $block i32) + local.get $ptr + i32.const 4 + i32.sub + local.set $block + local.get $ptr + i32.const 0 + i32.ne + if (result i32) + local.get $ptr + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 562 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $block + return + ) + (func $~lib/rt/tlsf/freeBlock (param $root i32) (param $block i32) + i32.const 0 + drop + local.get $block + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $block + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $ptr i32) + local.get $ptr + 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 $ptr + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $obj i32) + local.get $obj + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $obj + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $obj + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $obj i32) + (local $1 i32) + (local $black i32) + (local $from 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 $black + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $obj + loop $while-continue|1 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + global.set $~lib/rt/itcms/iter + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + 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 $obj + local.get $obj + 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 $obj + loop $while-continue|2 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + local.get $obj + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $from + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $from + global.set $~lib/rt/itcms/toSpace + local.get $black + global.set $~lib/rt/itcms/white + local.get $from + 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 $obj + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $obj + 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 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $obj + 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 + return + ) + (func $~lib/rt/itcms/interrupt + (local $budget 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 $budget + loop $do-loop|0 + local.get $budget + call $~lib/rt/itcms/step + i32.sub + local.set $budget + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + drop + global.get $~lib/rt/itcms/total + i32.const 200 + i32.const 100 + i32.div_u + i32.mul + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $budget + 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 $size i32) (result i32) + local.get $size + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $size + 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 + return + ) + (func $~lib/rt/tlsf/prepareSize (param $size i32) (result i32) + local.get $size + i32.const 1073741820 + i32.gt_u + if + i32.const 32 + i32.const 368 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $size + call $~lib/rt/tlsf/computeSize + return + ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) + (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) + (local $fl i32) + (local $sl i32) + (local $requestSize i32) + (local $root|5 i32) + (local $fl|6 i32) + (local $slMap i32) + (local $head i32) + (local $flMap i32) + (local $root|10 i32) + (local $fl|11 i32) + (local $root|12 i32) + (local $fl|13 i32) + (local $sl|14 i32) + (local $root|15 i32) + (local $fl|16 i32) + (local $sl|17 i32) + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $requestSize + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub + local.get $requestSize + i32.clz + i32.sub + local.set $fl + local.get $requestSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 334 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end + i32.const 0 + i32.const -1 + i32.xor + local.get $sl + i32.shl + i32.and + local.set $slMap + i32.const 0 + local.set $head + local.get $slMap + i32.eqz + if + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 0 + i32.const -1 + i32.xor + local.get $fl + i32.const 1 + i32.add + i32.shl + i32.and + local.set $flMap + local.get $flMap + i32.eqz + if + i32.const 0 + local.set $head + else + local.get $flMap + i32.ctz + local.set $fl + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end + local.set $slMap + i32.const 1 + drop + local.get $slMap + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) + local.get $root + local.set $root|15 + local.get $fl + local.set $fl|16 + local.get $slMap + i32.ctz + local.set $sl|17 + local.get $root|15 + local.get $fl|16 + i32.const 4 + i32.shl + local.get $sl|17 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.3 + end + local.set $head + end + local.get $head + return + ) + (func $~lib/rt/tlsf/growMemory (param $root i32) (param $size i32) + (local $pagesBefore i32) + (local $root|3 i32) + (local $pagesNeeded i32) + (local $5 i32) + (local $6 i32) + (local $pagesWanted i32) + (local $pagesAfter i32) + i32.const 0 + drop + local.get $size + i32.const 256 + i32.ge_u + if + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $size + end + memory.size + local.set $pagesBefore + local.get $size + i32.const 4 + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 4 + i32.sub + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end + i32.ne + i32.shl + i32.add + local.set $size + local.get $size + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $5 + local.get $pagesNeeded + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $pagesAfter + local.get $root + local.get $pagesBefore + i32.const 16 + i32.shl + local.get $pagesAfter + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $root i32) (param $block i32) (param $size i32) + (local $blockInfo i32) + (local $remaining i32) + (local $spare i32) + (local $block|6 i32) + (local $block|7 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $size + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $size + i32.sub + local.set $remaining + local.get $remaining + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $block + local.get $size + local.get $blockInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.set $spare + local.get $spare + local.get $remaining + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $spare + call $~lib/rt/tlsf/insertBlock + else + local.get $block + local.get $blockInfo + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $root i32) (param $size i32) (result i32) + (local $payloadSize i32) + (local $block i32) + local.get $size + call $~lib/rt/tlsf/prepareSize + local.set $payloadSize + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + local.get $block + i32.eqz + if + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/growMemory + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $payloadSize + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $block + call $~lib/rt/tlsf/removeBlock + local.get $root + local.get $block + local.get $payloadSize + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $block + return + ) + (func $~lib/rt/tlsf/__alloc (param $size 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 $size + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + return + ) + (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) + local.get $this + local.get $rtId + i32.store offset=12 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) + local.get $this + local.get $rtSize + i32.store offset=16 + ) + (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) + (local $obj i32) + (local $ptr i32) + local.get $size + i32.const 1073741804 + i32.ge_u + if + i32.const 32 + i32.const 96 + i32.const 261 + 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 $size + i32.add + call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub + local.set $obj + local.get $obj + local.get $id + call $~lib/rt/itcms/Object#set:rtId + local.get $obj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $obj + i32.const 20 + i32.add + local.set $ptr + local.get $ptr + i32.const 0 + local.get $size + memory.fill + local.get $ptr + return + ) + (func $assignment-chain/A#set:x (param $this i32) (param $x i64) + local.get $this + local.get $x + i64.store + ) + (func $assignment-chain/A#set:y (param $this i32) (param $y i64) + local.get $this + local.get $y + i64.store offset=8 + ) + (func $assignment-chain/B#set:_setter_cnt (param $this i32) (param $_setter_cnt i32) + local.get $this + local.get $_setter_cnt + i32.store + ) + (func $assignment-chain/B#set:_getter_cnt (param $this i32) (param $_getter_cnt i32) + local.get $this + local.get $_getter_cnt + i32.store offset=4 + ) + (func $assignment-chain/B#set:_y (param $this i32) (param $_y f64) + local.get $this + local.get $_y + f64.store offset=8 + ) + (func $assignment-chain/B#get:_setter_cnt (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $assignment-chain/B#get:_getter_cnt (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $assignment-chain/C.set:y (param $z f64) + global.get $assignment-chain/C._setter_cnt + i32.const 1 + i32.add + global.set $assignment-chain/C._setter_cnt + local.get $z + global.set $assignment-chain/C._y + ) + (func $assignment-chain/static_setter_assignment_chain + (local $0 f64) + f64.const 1 + local.tee $0 + call $assignment-chain/C.set:y + local.get $0 + call $assignment-chain/C.set:y + global.get $assignment-chain/C._setter_cnt + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + ) + (func $start:assignment-chain + 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 $assignment-chain/normal_assignment_chain + call $assignment-chain/setter_assignment_chain + call $assignment-chain/static_setter_assignment_chain + ) + (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) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $assignment-chain/B + block $assignment-chain/A + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $assignment-chain/A $assignment-chain/B $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + return + end + unreachable + ) + (func $~start + call $start:assignment-chain + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33296 + i32.const 33344 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $assignment-chain/A#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $assignment-chain/A#set:x + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + call $assignment-chain/A#set:y + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $assignment-chain/normal_assignment_chain + (local $x i32) + (local $cnt i32) + (local $2 i32) + (local $3 i64) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $assignment-chain/A#constructor + local.tee $x + i32.store + i32.const 0 + local.set $cnt + local.get $x + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + local.get $x + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + local.get $cnt + local.tee $2 + i32.const 1 + i32.add + local.set $cnt + local.get $2 + i64.extend_i32_s + local.tee $3 + call $assignment-chain/A#set:y + local.get $3 + call $assignment-chain/A#set:x + local.get $cnt + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 10 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $assignment-chain/B#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $assignment-chain/B#set:_setter_cnt + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $assignment-chain/B#set:_getter_cnt + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + call $assignment-chain/B#set:_y + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $assignment-chain/B#set:y (param $this i32) (param $z f64) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $assignment-chain/B#get:_setter_cnt + i32.const 1 + i32.add + call $assignment-chain/B#set:_setter_cnt + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $z + call $assignment-chain/B#set:_y + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $assignment-chain/setter_assignment_chain + (local $x i32) + (local $1 f64) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $assignment-chain/B#constructor + local.tee $x + i32.store + local.get $x + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $x + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + f64.const 1 + local.tee $1 + call $assignment-chain/B#set:y + local.get $1 + call $assignment-chain/B#set:y + local.get $x + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $assignment-chain/B#get:_setter_cnt + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 30 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $x + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $assignment-chain/B#get:_getter_cnt + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 31 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) +) diff --git a/tests/compiler/assignment-chain.json b/tests/compiler/assignment-chain.json new file mode 100644 index 0000000000..1bdd02b1be --- /dev/null +++ b/tests/compiler/assignment-chain.json @@ -0,0 +1,4 @@ +{ + "asc_flags": [ + ] +} diff --git a/tests/compiler/assignment-chain.release.wat b/tests/compiler/assignment-chain.release.wat new file mode 100644 index 0000000000..0200dad357 --- /dev/null +++ b/tests/compiler/assignment-chain.release.wat @@ -0,0 +1,1898 @@ +(module + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param 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 $assignment-chain/C._setter_cnt (mut i32) (i32.const 0)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34300)) + (memory $0 1) + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "<") + (data $8.1 (i32.const 1448) "\02\00\00\00&\00\00\00a\00s\00s\00i\00g\00n\00m\00e\00n\00t\00-\00c\00h\00a\00i\00n\00.\00t\00s") + (data $9 (i32.const 1504) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (export "normal_assignment_chain" (func $assignment-chain/normal_assignment_chain)) + (export "setter_assignment_chain" (func $assignment-chain/setter_assignment_chain)) + (export "static_setter_assignment_chain" (func $assignment-chain/static_setter_assignment_chain)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + i32.const 1248 + call $~lib/rt/itcms/__visit + i32.const 1056 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 160 + 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/__visit (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $1 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $1 + i32.load offset=8 + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + 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$129 + local.get $1 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34300 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$129 + end + local.get $1 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1504 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + 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 $0 + local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + 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 + ) + (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 $3 + 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 $3 + i32.const -4 + i32.and + local.tee $3 + 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 $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1073741820 + local.get $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $2 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $3 + 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 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 $1 + local.get $0 + local.get $2 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=96 + i32.eq + if + local.get $1 + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $3 + i32.rotl + i32.and + local.set $3 + local.get $1 + local.get $3 + i32.store offset=4 + local.get $3 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $2 + 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 $4 + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + 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 + i32.const 1073741820 + local.get $2 + local.get $2 + i32.const 1073741820 + i32.ge_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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + 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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + 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 $5 + i32.shl + i32.or + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + 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 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.get $1 + i64.extend_i32_u + i64.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 382 + 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 $3 + if + local.get $3 + i32.const 4 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + local.tee $5 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $5 + local.set $1 + end + else + local.get $0 + i32.const 1572 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.wrap_i64 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $3 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + 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 $1 + i32.const 4 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.const 2 + i32.store + local.get $0 + local.get $3 + 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 34304 + i32.const 0 + i32.store + i32.const 35872 + 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 34304 + 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 $0 + i32.const 4 + i32.shl + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.const 34304 + 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 34304 + i32.const 35876 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + i32.const 34304 + 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 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 34300 + i32.lt_u + if + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 34300 + 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 34300 + 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 562 + 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 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (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 + 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.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $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 + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 334 + 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 1392 + i32.const 347 + 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/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 261 + 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$69 + 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 + i32.const 1 + i32.shl + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt$69 + end + local.get $2 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.set $4 + 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 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end + local.tee $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + memory.size + local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end + i32.const 4 + local.get $4 + i32.load offset=1568 + local.get $2 + i32.const 16 + i32.shl + i32.const 4 + i32.sub + i32.ne + i32.shl + i32.add + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $2 + 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 $4 + local.get $2 + i32.const 16 + i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + local.get $4 + local.get $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + local.get $5 + local.get $2 + i32.load + i32.const -4 + i32.and + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $2 + i32.load + local.set $6 + local.get $5 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1392 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const -4 + i32.and + local.get $5 + i32.sub + local.tee $3 + i32.const 16 + i32.ge_u + if + local.get $2 + local.get $5 + local.get $6 + i32.const 2 + i32.and + i32.or + i32.store + local.get $2 + i32.const 4 + i32.add + local.get $5 + i32.add + local.tee $5 + local.get $3 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $4 + local.get $5 + 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 + local.get $1 + global.get $~lib/rt/itcms/white + i32.or + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $3 + local.get $2 + local.get $3 + i32.load offset=4 + i32.const 3 + i32.and + 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 $1 + i32.const 0 + local.get $0 + memory.fill + local.get $1 + ) + (func $assignment-chain/static_setter_assignment_chain + global.get $assignment-chain/C._setter_cnt + i32.const 1 + i32.add + global.set $assignment-chain/C._setter_cnt + global.get $assignment-chain/C._setter_cnt + i32.const 1 + i32.add + global.set $assignment-chain/C._setter_cnt + global.get $assignment-chain/C._setter_cnt + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1456 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $invalid + block $assignment-chain/B + block $assignment-chain/A + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $assignment-chain/A $assignment-chain/B $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + return + end + return + end + unreachable + ) + (func $~start + memory.size + i32.const 16 + i32.shl + i32.const 34300 + 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 + call $assignment-chain/normal_assignment_chain + call $assignment-chain/setter_assignment_chain + call $assignment-chain/static_setter_assignment_chain + ) + (func $assignment-chain/normal_assignment_chain + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1532 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1532 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i64.const 0 + i64.store offset=8 + local.get $1 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34320 + i32.const 34368 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $assignment-chain/B#set:y (param $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1532 + i32.lt_s + if + i32.const 34320 + i32.const 34368 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load + i32.const 1 + i32.add + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + f64.const 1 + f64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $assignment-chain/setter_assignment_chain + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1532 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1532 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/object/Object#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + f64.const 0 + f64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $assignment-chain/B#set:y + local.get $1 + call $assignment-chain/B#set:y + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.load + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1456 + i32.const 30 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.load offset=4 + if + i32.const 0 + i32.const 1456 + i32.const 31 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34320 + i32.const 34368 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/object/Object#constructor (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1532 + i32.lt_s + if + i32.const 34320 + i32.const 34368 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) +) diff --git a/tests/compiler/assignment-chain.ts b/tests/compiler/assignment-chain.ts new file mode 100644 index 0000000000..94fde68263 --- /dev/null +++ b/tests/compiler/assignment-chain.ts @@ -0,0 +1,47 @@ +class A { + x: i64 = 0; + y: i64 = 0; +} + +export function normal_assignment_chain(): void { + let x = new A(); + let cnt = 0; + x.x = x.y = cnt++; + assert(cnt == 1); // `cnt++` should be executed only once +} +normal_assignment_chain(); + +class B { + _setter_cnt: i32 = 0; + _getter_cnt: i32 = 0; + _y: f64 = 0.0; + set y(z: f64) { + this._setter_cnt += 1; + this._y = z; + } + get y(): f64 { + this._getter_cnt += 1; + return this._y; + } +} +export function setter_assignment_chain(): void { + let x = new B(); + x.y = x.y = 1; + assert(x._setter_cnt == 2); + assert(x._getter_cnt == 0); // should not use getter method +} +setter_assignment_chain(); + +class C { + static _setter_cnt: i32 = 0; + static _y: f64 = 0.0; + static set y(z: f64) { + C._setter_cnt += 1; + C._y = z; + } +} +export function static_setter_assignment_chain(): void { + C.y = C.y = 1; + assert(C._setter_cnt == 2); +} +static_setter_assignment_chain(); \ No newline at end of file diff --git a/tests/compiler/bigint-integration.debug.wat b/tests/compiler/bigint-integration.debug.wat index ff9646e8f9..467f67dec1 100644 --- a/tests/compiler/bigint-integration.debug.wat +++ b/tests/compiler/bigint-integration.debug.wat @@ -1,7 +1,7 @@ (module - (type $none_=>_i64 (func (result i64))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (result i64))) + (type $1 (func)) + (type $2 (func (param i32 i32 i32 i32))) (import "bigint-integration" "externalValue" (global $bigint-integration/externalValue i64)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "bigint-integration" "getExternalValue" (func $bigint-integration/getExternalValue (result i64))) @@ -11,7 +11,7 @@ (global $~lib/memory/__heap_base i32 (i32.const 32844)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00b\00i\00g\00i\00n\00t\00-\00i\00n\00t\00e\00g\00r\00a\00t\00i\00o\00n\00.\00t\00s\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00b\00i\00g\00i\00n\00t\00-\00i\00n\00t\00e\00g\00r\00a\00t\00i\00o\00n\00.\00t\00s\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "internalValue" (global $bigint-integration/internalValue)) diff --git a/tests/compiler/bigint-integration.release.wat b/tests/compiler/bigint-integration.release.wat index 6845ac33b8..65f0bbea0b 100644 --- a/tests/compiler/bigint-integration.release.wat +++ b/tests/compiler/bigint-integration.release.wat @@ -1,15 +1,15 @@ (module - (type $none_=>_i64 (func (result i64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (result i64))) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func)) (import "bigint-integration" "externalValue" (global $bigint-integration/externalValue i64)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "bigint-integration" "getExternalValue" (func $bigint-integration/getExternalValue (result i64))) (global $bigint-integration/internalValue i64 (i64.const 9007199254740991)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\00\00\00*\00\00\00b\00i\00g\00i\00n\00t\00-\00i\00n\00t\00e\00g\00r\00a\00t\00i\00o\00n\00.\00t\00s") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00*\00\00\00b\00i\00g\00i\00n\00t\00-\00i\00n\00t\00e\00g\00r\00a\00t\00i\00o\00n\00.\00t\00s") (export "internalValue" (global $bigint-integration/internalValue)) (export "getInternalValue" (func $bigint-integration/getInternalValue)) (export "memory" (memory $0)) diff --git a/tests/compiler/binary.debug.wat b/tests/compiler/binary.debug.wat index 1842ceb161..2925b7cf9f 100644 --- a/tests/compiler/binary.debug.wat +++ b/tests/compiler/binary.debug.wat @@ -1,8 +1,8 @@ (module - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func (param f64 f64) (result f64))) + (type $1 (func (param f32 f32) (result f32))) + (type $2 (func)) + (type $3 (func (param i32 i32) (result i32))) (global $binary/b (mut i32) (i32.const 0)) (global $binary/i (mut i32) (i32.const 0)) (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) @@ -14,10 +14,10 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 39432)) (global $~lib/memory/__heap_base i32 (i32.const 39432)) (memory $0 1) - (data (i32.const 8) "\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 6152) "\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\r\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 6408) "\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") + (data $0 (i32.const 8) "\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data $2 (i32.const 6152) "\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\r\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") + (data $3 (i32.const 6408) "\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -800,7 +800,7 @@ i32.add i32.shl i32.add - f64.load $0 + f64.load local.set $invc i32.const 8 local.get $i @@ -809,7 +809,7 @@ i32.add i32.shl i32.add - f64.load $0 offset=16 + f64.load offset=16 local.set $logc i32.const 8 local.get $i @@ -818,7 +818,7 @@ i32.add i32.shl i32.add - f64.load $0 offset=24 + f64.load offset=24 local.set $logctail local.get $iz i64.const 2147483648 @@ -1128,7 +1128,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load f64.reinterpret_i64 local.set $tail i32.const 4104 @@ -1136,7 +1136,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 offset=8 + i64.load offset=8 local.get $top i64.add local.set $sbits @@ -1989,7 +1989,7 @@ i32.add i32.shl i32.add - f64.load $0 + f64.load local.set $invc i32.const 6152 local.get $i @@ -1998,7 +1998,7 @@ i32.add i32.shl i32.add - f64.load $0 offset=8 + f64.load offset=8 local.set $logc local.get $uz f32.reinterpret_i32 @@ -2148,7 +2148,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $t local.get $t local.get $ki diff --git a/tests/compiler/binary.release.wat b/tests/compiler/binary.release.wat index de6ce38841..a8b4c14403 100644 --- a/tests/compiler/binary.release.wat +++ b/tests/compiler/binary.release.wat @@ -1,142 +1,142 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $binary/i (mut i32) (i32.const 0)) (global $binary/I (mut i64) (i64.const 0)) (global $binary/f (mut f32) (f32.const 0)) (global $binary/F (mut f64) (f64.const 0)) (memory $0 1) - (data (i32.const 1029) "\a0\f6?") - (data (i32.const 1041) "\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?") - (data (i32.const 1073) "\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?") - (data (i32.const 1105) "XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?") - (data (i32.const 1137) "\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?") - (data (i32.const 1169) "xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?") - (data (i32.const 1201) "`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?") - (data (i32.const 1233) "\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?") - (data (i32.const 1265) "HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?") - (data (i32.const 1297) "\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?") - (data (i32.const 1329) " \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?") - (data (i32.const 1361) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?") - (data (i32.const 1393) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?") - (data (i32.const 1425) "x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?") - (data (i32.const 1457) "\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?") - (data (i32.const 1489) "\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?") - (data (i32.const 1521) "H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?") - (data (i32.const 1553) "\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?") - (data (i32.const 1585) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?") - (data (i32.const 1617) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?") - (data (i32.const 1649) "@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?") - (data (i32.const 1681) "`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?") - (data (i32.const 1713) "\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?") - (data (i32.const 1745) "\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?") - (data (i32.const 1777) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?") - (data (i32.const 1809) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?") - (data (i32.const 1841) "\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?") - (data (i32.const 1873) "\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?") - (data (i32.const 1905) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?") - (data (i32.const 1937) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?") - (data (i32.const 1969) "P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?") - (data (i32.const 2001) "\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?") - (data (i32.const 2033) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?") - (data (i32.const 2065) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?") - (data (i32.const 2097) "\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?") - (data (i32.const 2129) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?") - (data (i32.const 2161) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?") - (data (i32.const 2193) "\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?") - (data (i32.const 2225) "\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?") - (data (i32.const 3729) "`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?") - (data (i32.const 3761) "\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?") - (data (i32.const 3793) "\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?") - (data (i32.const 3825) "\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?") - (data (i32.const 3857) "@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?") - (data (i32.const 3889) "`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?") - (data (i32.const 3921) "@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?") - (data (i32.const 3953) " \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?") - (data (i32.const 3985) "\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?") - (data (i32.const 4017) "\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?") - (data (i32.const 4049) "\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?") - (data (i32.const 4081) "\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?") - (data (i32.const 4113) "\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?") - (data (i32.const 4145) "\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?") - (data (i32.const 4177) "\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?") - (data (i32.const 4209) "\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?") - (data (i32.const 4241) "pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?") - (data (i32.const 4273) "PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?") - (data (i32.const 4306) "9\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?") - (data (i32.const 4338) "\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?") - (data (i32.const 4369) "\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?") - (data (i32.const 4401) "\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?") - (data (i32.const 4433) "\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?") - (data (i32.const 4465) "\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?") - (data (i32.const 4497) "\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?") - (data (i32.const 4529) "\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?") - (data (i32.const 4562) "\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?") - (data (i32.const 4593) "\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?") - (data (i32.const 4625) "XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?") - (data (i32.const 4657) "`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?") - (data (i32.const 4689) "\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?") - (data (i32.const 4721) "\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?") - (data (i32.const 4753) "hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?") - (data (i32.const 4785) "\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?") - (data (i32.const 4817) "\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?") - (data (i32.const 4849) "`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 7168) "\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\r\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 7430) "\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") + (data $0 (i32.const 1029) "\a0\f6?") + (data $0.1 (i32.const 1041) "\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?") + (data $0.2 (i32.const 1073) "\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?") + (data $0.3 (i32.const 1105) "XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?") + (data $0.4 (i32.const 1137) "\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?") + (data $0.5 (i32.const 1169) "xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?") + (data $0.6 (i32.const 1201) "`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?") + (data $0.7 (i32.const 1233) "\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?") + (data $0.8 (i32.const 1265) "HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?") + (data $0.9 (i32.const 1297) "\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?") + (data $0.10 (i32.const 1329) " \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?") + (data $0.11 (i32.const 1361) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?") + (data $0.12 (i32.const 1393) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?") + (data $0.13 (i32.const 1425) "x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?") + (data $0.14 (i32.const 1457) "\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?") + (data $0.15 (i32.const 1489) "\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?") + (data $0.16 (i32.const 1521) "H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?") + (data $0.17 (i32.const 1553) "\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?") + (data $0.18 (i32.const 1585) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?") + (data $0.19 (i32.const 1617) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?") + (data $0.20 (i32.const 1649) "@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?") + (data $0.21 (i32.const 1681) "`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?") + (data $0.22 (i32.const 1713) "\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?") + (data $0.23 (i32.const 1745) "\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?") + (data $0.24 (i32.const 1777) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?") + (data $0.25 (i32.const 1809) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?") + (data $0.26 (i32.const 1841) "\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?") + (data $0.27 (i32.const 1873) "\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?") + (data $0.28 (i32.const 1905) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?") + (data $0.29 (i32.const 1937) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?") + (data $0.30 (i32.const 1969) "P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?") + (data $0.31 (i32.const 2001) "\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?") + (data $0.32 (i32.const 2033) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?") + (data $0.33 (i32.const 2065) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?") + (data $0.34 (i32.const 2097) "\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?") + (data $0.35 (i32.const 2129) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?") + (data $0.36 (i32.const 2161) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?") + (data $0.37 (i32.const 2193) "\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?") + (data $0.38 (i32.const 2225) "\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?") + (data $0.85 (i32.const 3729) "`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?") + (data $0.86 (i32.const 3761) "\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?") + (data $0.87 (i32.const 3793) "\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?") + (data $0.88 (i32.const 3825) "\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?") + (data $0.89 (i32.const 3857) "@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?") + (data $0.90 (i32.const 3889) "`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?") + (data $0.91 (i32.const 3921) "@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?") + (data $0.92 (i32.const 3953) " \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?") + (data $0.93 (i32.const 3985) "\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?") + (data $0.94 (i32.const 4017) "\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?") + (data $0.95 (i32.const 4049) "\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?") + (data $0.96 (i32.const 4081) "\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?") + (data $0.97 (i32.const 4113) "\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?") + (data $0.98 (i32.const 4145) "\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?") + (data $0.99 (i32.const 4177) "\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?") + (data $0.100 (i32.const 4209) "\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?") + (data $0.101 (i32.const 4241) "pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?") + (data $0.102 (i32.const 4273) "PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?") + (data $0.103 (i32.const 4306) "9\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?") + (data $0.104 (i32.const 4338) "\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?") + (data $0.105 (i32.const 4369) "\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?") + (data $0.106 (i32.const 4401) "\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?") + (data $0.107 (i32.const 4433) "\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?") + (data $0.108 (i32.const 4465) "\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?") + (data $0.109 (i32.const 4497) "\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?") + (data $0.110 (i32.const 4529) "\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?") + (data $0.111 (i32.const 4562) "\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?") + (data $0.112 (i32.const 4593) "\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?") + (data $0.113 (i32.const 4625) "XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?") + (data $0.114 (i32.const 4657) "`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?") + (data $0.115 (i32.const 4689) "\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?") + (data $0.116 (i32.const 4721) "\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?") + (data $0.117 (i32.const 4753) "hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?") + (data $0.118 (i32.const 4785) "\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?") + (data $0.119 (i32.const 4817) "\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?") + (data $0.120 (i32.const 4849) "`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data $2 (i32.const 7168) "\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\r\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") + (data $3 (i32.const 7430) "\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") (export "memory" (memory $0)) (start $~start) (func $~start diff --git a/tests/compiler/bindings/esm.debug.d.ts b/tests/compiler/bindings/esm.debug.d.ts index 981be67804..b533213227 100644 --- a/tests/compiler/bindings/esm.debug.d.ts +++ b/tests/compiler/bindings/esm.debug.d.ts @@ -1,5 +1,11 @@ /** Exported memory */ export declare const memory: WebAssembly.Memory; +// Exported runtime interface +export declare function __new(size: number, id: number): number; +export declare function __pin(ptr: number): number; +export declare function __unpin(ptr: number): void; +export declare function __collect(): void; +export declare const __rtti_base: number; /** bindings/esm/plainGlobal */ export declare const plainGlobal: { /** @type `i32` */ diff --git a/tests/compiler/bindings/esm.debug.js b/tests/compiler/bindings/esm.debug.js index 9fa680f811..e1a514ba47 100644 --- a/tests/compiler/bindings/esm.debug.js +++ b/tests/compiler/bindings/esm.debug.js @@ -1,6 +1,6 @@ async function instantiate(module, imports = {}) { const adaptedImports = { - env: Object.assign(Object.create(globalThis), imports.env || {}, { + env: Object.setPrototypeOf({ trace(message, n, a0, a1, a2, a3, a4) { // ~lib/builtins/trace(~lib/string/String, i32?, f64?, f64?, f64?, f64?, f64?) => void message = __liftString(message >>> 0); @@ -18,12 +18,12 @@ async function instantiate(module, imports = {}) { // ~lib/bindings/dom/Math.E: f64 Math.E ), - "Math.log": ( + "Math.log"(x) { // ~lib/bindings/dom/Math.log(f64) => f64 - Math.log - ), + return Math.log(x); + }, "globalThis.globalThis": ( - // bindings/esm/immutableGlobalNested: externref + // bindings/esm/immutableGlobalNested: ref_extern | null globalThis.globalThis ), "Date.getTimezoneOffset"() { @@ -44,7 +44,7 @@ async function instantiate(module, imports = {}) { throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`); })(); }, - }), + }, Object.assign(Object.create(globalThis), imports.env || {})), }; const { exports } = await WebAssembly.instantiate(module, adaptedImports); const memory = exports.memory || imports.env.memory; @@ -522,6 +522,11 @@ async function instantiate(module, imports = {}) { } export const { memory, + __new, + __pin, + __unpin, + __collect, + __rtti_base, plainGlobal, plainMutableGlobal, stringGlobal, @@ -545,11 +550,12 @@ export const { newInternref, internrefFunction, functionFunction, - fn + fn, } = await (async url => instantiate( await (async () => { - try { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } - catch { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null); + if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } })(), { } ))(new URL("esm.debug.wasm", import.meta.url)); diff --git a/tests/compiler/bindings/esm.debug.wat b/tests/compiler/bindings/esm.debug.wat index e8044e808a..a6850592f3 100644 --- a/tests/compiler/bindings/esm.debug.wat +++ b/tests/compiler/bindings/esm.debug.wat @@ -1,22 +1,23 @@ (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 $none_=>_i32 (func (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 $i32_i64_=>_none (func (param i32 i64))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $f64_=>_f64 (func (param f64) (result f64))) - (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) - (type $none_=>_i64 (func (result i64))) - (type $i32_f32_=>_none (func (param i32 f32))) - (type $i32_f64_=>_none (func (param i32 f64))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i64))) + (type $9 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $10 (func (param f64) (result f64))) + (type $11 (func (param i64 i64) (result i64))) + (type $12 (func (result i64))) + (type $13 (func (param i32 i32 i64) (result i32))) + (type $14 (func (param i32 f32))) + (type $15 (func (param i32 f64))) + (type $16 (func (param i32 i32 i32) (result i32))) + (type $17 (func (param i32 i32 i64))) + (type $18 (func (param i32 i32) (result f32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "globalThis" (global $bindings/esm/immutableGlobal externref)) (import "env" "globalThis.globalThis" (global $bindings/esm/immutableGlobalNested externref)) @@ -60,29 +61,29 @@ (global $~lib/memory/__heap_base i32 (i32.const 34020)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00r\00a\00c\00e\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g\00\00\00\00\00\00\00") - (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 624) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 812) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 924) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1052) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") - (data (i32.const 1116) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") - (data (i32.const 1184) "\10\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\02A\00\00\00\00\00\00A\00\00\00 \00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00r\00a\00c\00e\00\00\00") + (data $4 (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g\00\00\00\00\00\00\00") + (data $5 (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $6 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $7 (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $12 (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $13 (i32.const 624) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $15 (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 812) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") + (data $18 (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $19 (i32.const 924) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $20 (i32.const 1052) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") + (data $21 (i32.const 1116) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") + (data $22 (i32.const 1184) "\10\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\02A\00\00\00\00\00\00A\00\00\00 \00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:bindings/esm~anonymous|0) (export "plainGlobal" (global $bindings/esm/plainGlobal)) @@ -122,7 +123,27 @@ (export "internrefFunction" (func $export:bindings/esm/internrefFunction)) (export "functionFunction" (func $export:bindings/esm/functionFunction)) (func $start:bindings/esm~anonymous|0 - nop + ) + (func $start:bindings/esm + i32.const 128 + i32.const 1 + f64.const 42 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 160 + call $~lib/bindings/dom/console.log + global.get $~lib/bindings/dom/Math.E + call $~lib/bindings/dom/Math.log + drop + global.get $bindings/esm/immutableGlobal + drop + global.get $bindings/esm/immutableGlobalNested + drop + call $bindings/esm/Date_getTimezoneOffset + drop ) (func $bindings/esm/plainFunction (param $a i32) (param $b i32) (result i32) local.get $a @@ -146,7 +167,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (param $this i32) (result i32) local.get $this @@ -158,12 +179,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -177,7 +198,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -251,7 +272,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -321,11 +342,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -333,7 +354,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 528 @@ -465,7 +486,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -478,7 +499,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -494,34 +515,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -681,7 +702,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -704,7 +725,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -718,7 +739,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -741,7 +762,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -884,7 +905,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -970,7 +991,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1050,7 +1071,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1084,7 +1105,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1107,7 +1128,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1121,27 +1142,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 672 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1166,9 +1192,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1187,7 +1213,7 @@ if i32.const 0 i32.const 672 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1206,7 +1232,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1220,7 +1245,7 @@ if i32.const 0 i32.const 672 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1276,12 +1301,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1315,7 +1340,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1336,7 +1361,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1356,7 +1381,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1376,7 +1401,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1402,7 +1427,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1425,9 +1450,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1463,7 +1489,7 @@ if i32.const 0 i32.const 672 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1729,14 +1755,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1792,7 +1821,7 @@ if i32.const 336 i32.const 672 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1801,6 +1830,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1830,24 +1879,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1885,7 +1923,7 @@ if i32.const 0 i32.const 672 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1900,7 +1938,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1945,7 +1983,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1956,7 +1994,7 @@ if i32.const 0 i32.const 672 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1978,7 +2016,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2001,7 +2039,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2020,22 +2058,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2048,7 +2078,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2075,27 +2105,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2120,7 +2151,7 @@ if i32.const 0 i32.const 672 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2235,7 +2266,7 @@ if i32.const 0 i32.const 672 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2255,7 +2286,7 @@ if i32.const 0 i32.const 672 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2288,12 +2319,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2344,7 +2375,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2428,7 +2459,7 @@ (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2437,20 +2468,20 @@ (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/staticarray/StaticArray#get:length (param $this i32) (result i32) local.get $this @@ -2468,7 +2499,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop ) @@ -2483,7 +2514,7 @@ (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2492,33 +2523,33 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2562,14 +2593,14 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array<~lib/string/String>#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2578,95 +2609,95 @@ (func $~lib/array/Array<~lib/string/String>#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array<~lib/string/String>#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array<~lib/string/String>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $bindings/esm/PlainObject#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store8 $0 + i32.store8 ) (func $bindings/esm/PlainObject#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store16 $0 offset=2 + i32.store16 offset=2 ) (func $bindings/esm/PlainObject#set:c (param $this i32) (param $c i32) local.get $this local.get $c - i32.store $0 offset=4 + i32.store offset=4 ) (func $bindings/esm/PlainObject#set:d (param $this i32) (param $d i64) local.get $this local.get $d - i64.store $0 offset=8 + i64.store offset=8 ) (func $bindings/esm/PlainObject#set:e (param $this i32) (param $e i32) local.get $this local.get $e - i32.store8 $0 offset=16 + i32.store8 offset=16 ) (func $bindings/esm/PlainObject#set:f (param $this i32) (param $f i32) local.get $this local.get $f - i32.store16 $0 offset=18 + i32.store16 offset=18 ) (func $bindings/esm/PlainObject#set:g (param $this i32) (param $g i32) local.get $this local.get $g - i32.store $0 offset=20 + i32.store offset=20 ) (func $bindings/esm/PlainObject#set:h (param $this i32) (param $h i64) local.get $this local.get $h - i64.store $0 offset=24 + i64.store offset=24 ) (func $bindings/esm/PlainObject#set:i (param $this i32) (param $i i32) local.get $this local.get $i - i32.store $0 offset=32 + i32.store offset=32 ) (func $bindings/esm/PlainObject#set:j (param $this i32) (param $j i32) local.get $this local.get $j - i32.store $0 offset=36 + i32.store offset=36 ) (func $bindings/esm/PlainObject#set:k (param $this i32) (param $k i32) local.get $this local.get $k - i32.store8 $0 offset=40 + i32.store8 offset=40 ) (func $bindings/esm/PlainObject#set:l (param $this i32) (param $l f32) local.get $this local.get $l - f32.store $0 offset=44 + f32.store offset=44 ) (func $bindings/esm/PlainObject#set:m (param $this i32) (param $m f64) local.get $this local.get $m - f64.store $0 offset=48 + f64.store offset=48 ) (func $bindings/esm/PlainObject#set:n (param $this i32) (param $n i32) local.get $this local.get $n - i32.store $0 offset=56 + i32.store offset=56 local.get $this local.get $n i32.const 0 @@ -2675,7 +2706,7 @@ (func $bindings/esm/PlainObject#set:o (param $this i32) (param $o i32) local.get $this local.get $o - i32.store $0 offset=60 + i32.store offset=60 local.get $this local.get $o i32.const 0 @@ -2684,7 +2715,7 @@ (func $bindings/esm/PlainObject#set:p (param $this i32) (param $p i32) local.get $this local.get $p - i32.store $0 offset=64 + i32.store offset=64 local.get $this local.get $p i32.const 0 @@ -2692,11 +2723,11 @@ ) (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) local.get $this - i32.load8_s $0 + i32.load8_s ) (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) local.get $this - i32.load16_s $0 offset=2 + i32.load16_s offset=2 ) (func $bindings/esm/newInternref (result i32) i32.const 0 @@ -2866,20 +2897,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/function/Function<%28%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2906,7 +2932,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2918,7 +2944,7 @@ ) (func $~lib/array/Array<~lib/string/String>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2934,29 +2960,17 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 offset=56 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=56 + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=60 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=60 + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=64 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=64 + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2984,7 +2998,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $~lib/typedarray/Int16Array $~lib/typedarray/Float32Array $~lib/typedarray/Uint64Array $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $~lib/array/Array<~lib/string/String> $bindings/esm/PlainObject $~lib/typedarray/Uint8Array $bindings/esm/NonPlainObject $invalid end return @@ -3060,7 +3074,7 @@ i32.const 1 global.set $~started call $start:bindings/esm - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3091,50 +3105,6 @@ unreachable end ) - (func $start:bindings/esm - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 128 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.const 1 - f64.const 42 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 160 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/bindings/dom/console.log - global.get $~lib/bindings/dom/Math.E - call $~lib/bindings/dom/Math.log - drop - global.get $bindings/esm/immutableGlobal - drop - global.get $bindings/esm/immutableGlobalNested - drop - call $bindings/esm/Date_getTimezoneOffset - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $bindings/esm/bufferFunction (param $a i32) (param $b i32) (result i32) (local $aByteLength i32) (local $bByteLength i32) @@ -3147,12 +3117,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $aByteLength @@ -3160,7 +3130,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bByteLength @@ -3171,17 +3141,17 @@ i32.add call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $a local.get $aByteLength - memory.copy $0 $0 + memory.copy local.get $out local.get $aByteLength i32.add local.get $b local.get $bByteLength - memory.copy $0 $0 + memory.copy local.get $out local.set $5 global.get $~lib/memory/__stack_pointer @@ -3204,12 +3174,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -3219,7 +3189,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -3247,17 +3217,17 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $out local.get $thisSize i32.add local.get $other local.get $otherSize - memory.copy $0 $0 + memory.copy local.get $out local.set $6 global.get $~lib/memory/__stack_pointer @@ -3276,18 +3246,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String#concat local.set $2 @@ -3307,18 +3277,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String.__concat local.set $2 @@ -3338,18 +3308,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String.__concat local.set $2 @@ -3369,10 +3339,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -3386,19 +3356,19 @@ global.get $~lib/memory/__stack_pointer i32.const 64 local.tee $b - i32.store $0 + i32.store end local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $bindings/esm/stringFunctionOptional local.set $2 @@ -3418,10 +3388,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -3430,13 +3400,13 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer @@ -3444,7 +3414,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3452,7 +3422,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3477,7 +3447,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3486,20 +3456,20 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3507,7 +3477,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3528,7 +3498,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3537,20 +3507,20 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -3568,12 +3538,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -3595,12 +3565,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -3622,13 +3592,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -3646,14 +3616,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3671,13 +3641,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -3695,7 +3665,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -3703,7 +3673,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -3719,13 +3689,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -3743,14 +3713,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3771,30 +3741,30 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/typedarray/Int16Array#get:length local.get $b local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/typedarray/Float32Array#get:length i32.add call $~lib/typedarray/Uint64Array#constructor local.tee $out - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $i loop $for-loop|0 @@ -3803,7 +3773,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/typedarray/Int16Array#get:length i32.lt_s @@ -3812,14 +3782,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $i local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i call $~lib/typedarray/Int16Array#__get @@ -3840,7 +3810,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/typedarray/Float32Array#get:length i32.lt_s @@ -3849,13 +3819,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/typedarray/Int16Array#get:length local.get $i|4 @@ -3864,7 +3834,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i|4 call $~lib/typedarray/Float32Array#__get @@ -3896,13 +3866,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/staticarray/StaticArray#get:length i32.ge_u @@ -3919,7 +3889,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -3941,13 +3911,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/staticarray/StaticArray#get:length i32.ge_u @@ -3963,7 +3933,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index local.get $value @@ -3985,30 +3955,30 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/staticarray/StaticArray#get:length local.get $b local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/staticarray/StaticArray#get:length i32.add call $~lib/staticarray/StaticArray#constructor local.tee $c - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $i loop $for-loop|0 @@ -4017,7 +3987,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/staticarray/StaticArray#get:length i32.lt_s @@ -4026,14 +3996,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $i local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i call $~lib/staticarray/StaticArray#__get @@ -4053,7 +4023,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/staticarray/StaticArray#get:length i32.lt_s @@ -4062,13 +4032,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/staticarray/StaticArray#get:length local.get $i|4 @@ -4077,7 +4047,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i|4 call $~lib/staticarray/StaticArray#__get @@ -4111,10 +4081,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -4123,13 +4093,13 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -4137,7 +4107,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -4145,7 +4115,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -4153,7 +4123,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -4186,7 +4156,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4195,20 +4165,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -4216,7 +4186,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -4224,7 +4194,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -4245,12 +4215,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -4271,13 +4241,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -4293,14 +4263,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -4332,12 +4302,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -4364,7 +4334,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -4414,10 +4384,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -4425,7 +4395,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4441,13 +4411,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -4474,7 +4444,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -4485,7 +4455,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -4493,7 +4463,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -4513,30 +4483,30 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length local.get $b local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length i32.add call $~lib/array/Array#constructor local.tee $c - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $i loop $for-loop|0 @@ -4545,7 +4515,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length i32.lt_s @@ -4554,14 +4524,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $i local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i call $~lib/array/Array#__get @@ -4581,7 +4551,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length i32.lt_s @@ -4590,13 +4560,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/array/Array#get:length local.get $i|4 @@ -4605,7 +4575,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i|4 call $~lib/array/Array#__get @@ -4639,10 +4609,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -4651,13 +4621,13 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:buffer @@ -4665,7 +4635,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -4673,7 +4643,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -4681,7 +4651,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:length_ @@ -4714,7 +4684,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4723,20 +4693,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array<~lib/string/String>#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -4744,7 +4714,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -4752,7 +4722,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ @@ -4773,12 +4743,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array<~lib/string/String>#get:length_ local.set $1 @@ -4799,13 +4769,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u @@ -4822,16 +4792,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -4865,13 +4835,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u @@ -4898,7 +4868,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -4909,7 +4879,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index @@ -4917,7 +4887,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -4935,36 +4905,36 @@ (local $i|4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length local.get $b local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length i32.add call $~lib/array/Array<~lib/string/String>#constructor local.tee $c - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $i loop $for-loop|0 @@ -4973,7 +4943,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length i32.lt_s @@ -4982,21 +4952,21 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $i local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array<~lib/string/String>#__get local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/array/Array<~lib/string/String>#__set local.get $i @@ -5014,7 +4984,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length i32.lt_s @@ -5023,13 +4993,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=12 local.get $5 call $~lib/array/Array<~lib/string/String>#get:length local.get $i|4 @@ -5038,14 +5008,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=12 local.get $5 local.get $i|4 call $~lib/array/Array<~lib/string/String>#__get local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/array/Array<~lib/string/String>#__set local.get $i|4 @@ -5058,7 +5028,7 @@ local.get $c local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $5 @@ -5073,7 +5043,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5082,23 +5052,23 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:a @@ -5106,7 +5076,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:b @@ -5114,7 +5084,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:c @@ -5122,7 +5092,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i64.const 0 call $bindings/esm/PlainObject#set:d @@ -5130,7 +5100,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:e @@ -5138,7 +5108,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:f @@ -5146,7 +5116,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:g @@ -5154,7 +5124,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i64.const 0 call $bindings/esm/PlainObject#set:h @@ -5162,7 +5132,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:i @@ -5170,7 +5140,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:j @@ -5178,7 +5148,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:k @@ -5186,7 +5156,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f32.const 0 call $bindings/esm/PlainObject#set:l @@ -5194,7 +5164,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f64.const 0 call $bindings/esm/PlainObject#set:m @@ -5202,7 +5172,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:n @@ -5210,7 +5180,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:o @@ -5218,7 +5188,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:p @@ -5240,33 +5210,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $bindings/esm/PlainObject#constructor local.tee $ref - i32.store $0 + i32.store local.get $ref local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $a local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $bindings/esm/PlainObject#get:a local.get $b local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $bindings/esm/PlainObject#get:a i32.add @@ -5275,20 +5245,20 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $a local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $bindings/esm/PlainObject#get:b local.get $b local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $bindings/esm/PlainObject#get:b i32.add @@ -5311,12 +5281,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28%29=>void>#get:_env local.get $cookie @@ -5335,14 +5305,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -5364,14 +5334,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $cur @@ -5380,7 +5350,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length_ i32.const 2 @@ -5393,7 +5363,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -5412,7 +5382,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:buffer local.get $cookie @@ -5432,7 +5402,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.gt_u @@ -5449,7 +5419,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -5474,7 +5444,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.const 2 @@ -5497,7 +5467,7 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -5520,7 +5490,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -5529,7 +5499,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -5548,7 +5518,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -5557,7 +5527,7 @@ i32.const 15 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -5576,10 +5546,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/bufferFunction @@ -5599,10 +5569,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/stringFunction @@ -5622,10 +5592,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/stringFunctionOptional@varargs @@ -5645,10 +5615,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/typedarrayFunction @@ -5668,10 +5638,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/staticarrayFunction @@ -5691,7 +5661,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $bindings/esm/staticarrayU16 local.set $1 @@ -5710,7 +5680,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $bindings/esm/staticarrayI64 local.set $1 @@ -5729,10 +5699,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/arrayFunction @@ -5752,10 +5722,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/arrayOfStringsFunction @@ -5775,10 +5745,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/objectFunction @@ -5798,10 +5768,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/internrefFunction @@ -5821,7 +5791,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $bindings/esm/functionFunction local.set $1 diff --git a/tests/compiler/bindings/esm.json b/tests/compiler/bindings/esm.json index badd390ae5..eb18631afc 100644 --- a/tests/compiler/bindings/esm.json +++ b/tests/compiler/bindings/esm.json @@ -1,7 +1,8 @@ { "asc_flags": [ "--exportStart _start", - "--bindings esm" + "--bindings esm", + "--exportRuntime" ], "features": [ "reference-types" diff --git a/tests/compiler/bindings/esm.release.d.ts b/tests/compiler/bindings/esm.release.d.ts index 981be67804..b533213227 100644 --- a/tests/compiler/bindings/esm.release.d.ts +++ b/tests/compiler/bindings/esm.release.d.ts @@ -1,5 +1,11 @@ /** Exported memory */ export declare const memory: WebAssembly.Memory; +// Exported runtime interface +export declare function __new(size: number, id: number): number; +export declare function __pin(ptr: number): number; +export declare function __unpin(ptr: number): void; +export declare function __collect(): void; +export declare const __rtti_base: number; /** bindings/esm/plainGlobal */ export declare const plainGlobal: { /** @type `i32` */ diff --git a/tests/compiler/bindings/esm.release.js b/tests/compiler/bindings/esm.release.js index e929b4a60f..4f91c23e94 100644 --- a/tests/compiler/bindings/esm.release.js +++ b/tests/compiler/bindings/esm.release.js @@ -1,6 +1,6 @@ async function instantiate(module, imports = {}) { const adaptedImports = { - env: Object.assign(Object.create(globalThis), imports.env || {}, { + env: Object.setPrototypeOf({ trace(message, n, a0, a1, a2, a3, a4) { // ~lib/builtins/trace(~lib/string/String, i32?, f64?, f64?, f64?, f64?, f64?) => void message = __liftString(message >>> 0); @@ -18,12 +18,12 @@ async function instantiate(module, imports = {}) { // ~lib/bindings/dom/Math.E: f64 Math.E ), - "Math.log": ( + "Math.log"(x) { // ~lib/bindings/dom/Math.log(f64) => f64 - Math.log - ), + return Math.log(x); + }, "globalThis.globalThis": ( - // bindings/esm/immutableGlobalNested: externref + // bindings/esm/immutableGlobalNested: ref_extern | null globalThis.globalThis ), "Date.getTimezoneOffset"() { @@ -44,7 +44,7 @@ async function instantiate(module, imports = {}) { throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`); })(); }, - }), + }, Object.assign(Object.create(globalThis), imports.env || {})), }; const { exports } = await WebAssembly.instantiate(module, adaptedImports); const memory = exports.memory || imports.env.memory; @@ -522,6 +522,11 @@ async function instantiate(module, imports = {}) { } export const { memory, + __new, + __pin, + __unpin, + __collect, + __rtti_base, plainGlobal, plainMutableGlobal, stringGlobal, @@ -545,11 +550,12 @@ export const { newInternref, internrefFunction, functionFunction, - fn + fn, } = await (async url => instantiate( await (async () => { - try { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } - catch { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null); + if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } })(), { } ))(new URL("esm.release.wasm", import.meta.url)); diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index e0cda31112..09936b2aba 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -1,17 +1,17 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $f64_=>_f64 (func (param f64) (result f64))) - (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) - (type $none_=>_i64 (func (result i64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32))) + (type $7 (func (param i32 i32 i64))) + (type $8 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $9 (func (param f64) (result f64))) + (type $10 (func (param i64 i64) (result i64))) + (type $11 (func (result i64))) + (type $12 (func (param i32 i32 i32 i32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (import "env" "console.log" (func $~lib/bindings/dom/console.log (param i32))) @@ -44,46 +44,46 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35044)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\02\00\00\00a") - (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\02\00\00\00\02\00\00\00b") - (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\04\00\00\00\08\00\00\00\01") - (data (i32.const 1132) "\1c") - (data (i32.const 1144) "\02\00\00\00\n\00\00\00t\00r\00a\00c\00e") - (data (i32.const 1164) "<") - (data (i32.const 1176) "\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g") - (data (i32.const 1228) ",") - (data (i32.const 1240) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1276) "<") - (data (i32.const 1288) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1340) "<") - (data (i32.const 1352) "\02\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 1404) "<") - (data (i32.const 1416) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1532) "<") - (data (i32.const 1544) "\02\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 1596) ",") - (data (i32.const 1608) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1676) "<") - (data (i32.const 1688) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1740) "\1c") - (data (i32.const 1752) "\02") - (data (i32.const 1772) "<") - (data (i32.const 1784) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1836) "<") - (data (i32.const 1848) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1900) ",") - (data (i32.const 1912) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1948) "|") - (data (i32.const 1960) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 2076) "<") - (data (i32.const 2088) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 2140) "<") - (data (i32.const 2152) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 2208) "\10\00\00\00 \00\00\00 \00\00\00 ") - (data (i32.const 2232) "\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\02A\00\00\00\00\00\00A\00\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\02\00\00\00a") + (data $1 (i32.const 1068) "\1c") + (data $1.1 (i32.const 1080) "\02\00\00\00\02\00\00\00b") + (data $2 (i32.const 1100) "\1c") + (data $2.1 (i32.const 1112) "\04\00\00\00\08\00\00\00\01") + (data $3 (i32.const 1132) "\1c") + (data $3.1 (i32.const 1144) "\02\00\00\00\n\00\00\00t\00r\00a\00c\00e") + (data $4 (i32.const 1164) "<") + (data $4.1 (i32.const 1176) "\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g") + (data $5 (i32.const 1228) ",") + (data $5.1 (i32.const 1240) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $6 (i32.const 1276) "<") + (data $6.1 (i32.const 1288) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $7 (i32.const 1340) "<") + (data $7.1 (i32.const 1352) "\02\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 $8 (i32.const 1404) "<") + (data $8.1 (i32.const 1416) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $11 (i32.const 1532) "<") + (data $11.1 (i32.const 1544) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $12 (i32.const 1596) ",") + (data $12.1 (i32.const 1608) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $14 (i32.const 1676) "<") + (data $14.1 (i32.const 1688) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $15 (i32.const 1740) "\1c") + (data $15.1 (i32.const 1752) "\02") + (data $16 (i32.const 1772) "<") + (data $16.1 (i32.const 1784) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data $17 (i32.const 1836) "<") + (data $17.1 (i32.const 1848) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") + (data $18 (i32.const 1900) ",") + (data $18.1 (i32.const 1912) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $19 (i32.const 1948) "|") + (data $19.1 (i32.const 1960) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data $20 (i32.const 2076) "<") + (data $20.1 (i32.const 2088) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") + (data $21 (i32.const 2140) "<") + (data $21.1 (i32.const 2152) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") + (data $22 (i32.const 2208) "\10\00\00\00 \00\00\00 \00\00\00 ") + (data $22.1 (i32.const 2232) "\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\02A\00\00\00\00\00\00A\00\00\00 ") (export "plainGlobal" (global $bindings/esm/plainGlobal)) (export "plainMutableGlobal" (global $bindings/esm/plainMutableGlobal)) (export "stringGlobal" (global $bindings/esm/stringGlobal)) @@ -140,28 +140,28 @@ (local $0 i32) (local $1 i32) i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $bindings/esm/mutableStringGlobal local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1552 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1968 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1360 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2096 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2160 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -171,7 +171,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -189,7 +189,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -200,14 +200,14 @@ (func $~lib/rt/itcms/Object#unlink (param $0 i32) (local $1 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 35044 @@ -225,7 +225,7 @@ return end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $0 i32.eqz if @@ -238,15 +238,15 @@ end local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#makeGray (param $0 i32) (local $1 i32) @@ -257,7 +257,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -276,7 +276,7 @@ global.get $~lib/rt/itcms/toSpace local.set $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 i32.const 2 i32.le_u @@ -285,7 +285,7 @@ else local.get $2 i32.const 2208 - i32.load $0 + i32.load i32.gt_u if i32.const 1552 @@ -300,13 +300,13 @@ i32.shl i32.const 2212 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 global.get $~lib/rt/itcms/white @@ -316,21 +316,45 @@ select local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -338,8 +362,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -351,10 +375,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -365,29 +389,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -395,10 +419,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -412,75 +436,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -502,7 +519,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -519,12 +536,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -541,17 +558,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -561,9 +578,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -588,13 +605,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -628,7 +645,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -684,19 +701,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -708,15 +725,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -724,23 +741,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1696 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -754,10 +773,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -765,23 +784,22 @@ if i32.const 0 i32.const 1696 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -793,52 +811,53 @@ if i32.const 0 i32.const 1696 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -846,7 +865,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -854,7 +873,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -865,10 +884,10 @@ end i32.const 35056 i32.const 0 - i32.store $0 + i32.store i32.const 36624 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -880,7 +899,7 @@ i32.const 35056 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -898,7 +917,7 @@ i32.const 35056 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -915,9 +934,10 @@ end i32.const 35056 i32.const 36628 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 35056 global.set $~lib/rt/tlsf/ROOT @@ -947,7 +967,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -960,19 +980,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -983,7 +1003,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -995,7 +1015,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -1008,12 +1028,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -1022,7 +1038,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1033,26 +1049,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1068,7 +1084,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1084,7 +1100,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1109,14 +1125,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1136,7 +1152,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1151,25 +1166,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1696 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1178,12 +1192,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1191,47 +1204,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1242,7 +1257,7 @@ if i32.const 0 i32.const 1696 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1252,7 +1267,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1269,10 +1284,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1288,13 +1303,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1696 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1309,7 +1324,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1336,7 +1351,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$70 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1348,16 +1363,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$70 end local.get $2 i32.const 0 @@ -1365,8 +1376,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1393,34 +1403,60 @@ if i32.const 1360 i32.const 1696 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1428,21 +1464,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1455,12 +1476,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1471,9 +1492,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1483,7 +1505,7 @@ if i32.const 0 i32.const 1696 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1491,14 +1513,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1696 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1507,8 +1529,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1517,95 +1539,95 @@ if i32.const 0 i32.const 1696 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1618,36 +1640,94 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $bindings/esm/newInternref (result i32) - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + i32.eqz if - i32.const 35072 - i32.const 35120 - i32.const 1 + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1424 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $bindings/esm/newInternref (result i32) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + if + i32.const 35072 + i32.const 35120 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 15 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1664,7 +1744,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1681,27 +1761,27 @@ call $~lib/rt/itcms/Object#unlink global.get $~lib/rt/itcms/pinSpace local.tee $3 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $3 i32.const 3 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end local.get $0 ) @@ -1717,7 +1797,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1741,27 +1821,27 @@ call $~lib/rt/itcms/Object#unlink global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end ) (func $~lib/rt/itcms/__collect @@ -1821,7 +1901,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $~lib/function/Function<%28%29=>void> $folding-inner1 $folding-inner1 $folding-inner1 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $~lib/array/Array<~lib/string/String> $bindings/esm/PlainObject $folding-inner1 $bindings/esm/NonPlainObject $invalid end return @@ -1839,19 +1919,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1874,7 +1949,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store br $folding-inner2 end global.get $~lib/memory/__stack_pointer @@ -1886,21 +1961,20 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl i32.add @@ -1911,11 +1985,11 @@ i32.lt_u if local.get $1 - i32.load $0 + i32.load local.tee $3 if local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $1 i32.const 4 @@ -1927,26 +2001,14 @@ br $folding-inner2 end local.get $0 - i32.load $0 offset=56 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=56 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=60 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=60 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=64 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=64 + call $~lib/rt/itcms/__visit return end return @@ -1961,24 +2023,16 @@ unreachable end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1989,35 +2043,12 @@ global.set $~argumentsLength ) (func $~start - (local $0 i32) global.get $~started if return end i32.const 1 global.set $~started - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 1152 - i32.store $0 i32.const 1152 i32.const 1 f64.const 42 @@ -2026,9 +2057,6 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 i32.const 1184 call $~lib/bindings/dom/console.log global.get $~lib/bindings/dom/Math.E @@ -2036,11 +2064,7 @@ drop call $bindings/esm/Date_getTimezoneOffset drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 35044 @@ -2050,26 +2074,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1476 i32.const 1472 - i32.store $0 + i32.store i32.const 1480 i32.const 1472 - i32.store $0 + i32.store i32.const 1472 global.set $~lib/rt/itcms/pinSpace i32.const 1508 i32.const 1504 - i32.store $0 + i32.store i32.const 1512 i32.const 1504 - i32.store $0 + i32.store i32.const 1504 global.set $~lib/rt/itcms/toSpace i32.const 1652 i32.const 1648 - i32.store $0 + i32.store i32.const 1656 i32.const 1648 - i32.store $0 + i32.store i32.const 1648 global.set $~lib/rt/itcms/fromSpace ) @@ -2087,16 +2111,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2105,16 +2128,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2123,27 +2145,26 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - block $__inlined_func$~lib/string/String#concat + i32.store + block $__inlined_func$~lib/string/String#concat$284 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.tee $4 @@ -2158,24 +2179,24 @@ global.set $~lib/memory/__stack_pointer i32.const 1760 local.set $2 - br $__inlined_func$~lib/string/String#concat + br $__inlined_func$~lib/string/String#concat$284 end global.get $~lib/memory/__stack_pointer local.get $2 i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 local.get $3 - memory.copy $0 $0 + memory.copy local.get $2 local.get $3 i32.add local.get $1 local.get $4 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2200,7 +2221,6 @@ unreachable ) (func $~lib/typedarray/Int16Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2217,25 +2237,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float32Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2252,25 +2268,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2287,15 +2299,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u i32.ge_u @@ -2308,18 +2319,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add local.get $2 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2331,8 +2341,6 @@ (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 @@ -2343,172 +2351,173 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 i64.const 0 - i64.store $0 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $2 + local.set $5 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $1 - call $~lib/typedarray/Float32Array#get:length - local.get $2 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $2 - i32.store $0 offset=4 - local.get $5 - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $8 - i64.const 0 - i64.store $0 - local.get $8 - i64.const 0 - i64.store $0 offset=8 - local.get $2 - i32.eqz - if + i32.store + block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $5 + i32.add + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=4 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $6 - i32.const 134217727 - i32.gt_u - if - i32.const 1248 - i32.const 1296 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 3 - i32.shl - local.tee $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=12 - local.get $2 - local.get $6 - i32.store $0 - local.get $6 - if - local.get $2 - local.get $6 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $6 - i32.store $0 offset=4 - local.get $9 - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $8 - i32.store $0 offset=8 - local.get $9 - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $2 - i32.store $0 offset=4 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $5 + i32.const 134217727 + i32.gt_u + if + i32.const 1248 + i32.const 1296 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 3 + i32.shl + local.tee $7 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $2 + local.get $5 + i32.store + local.get $2 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + br $__inlined_func$~lib/typedarray/Uint64Array#constructor + end + br $folding-inner1 + end + local.tee $2 + i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $2 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2517,15 +2526,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u i32.ge_u @@ -2538,24 +2546,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $6 - local.get $5 + i32.load16_s + local.set $5 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 local.get $3 - local.get $6 + local.get $5 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set local.get $3 @@ -2570,19 +2577,18 @@ loop $for-loop|1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Float32Array#get:length local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $2 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.get $3 @@ -2590,7 +2596,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2600,15 +2606,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 0 - i32.store $0 - local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u i32.ge_u @@ -2621,18 +2626,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $4 - local.get $6 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2663,7 +2667,6 @@ unreachable ) (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2680,17 +2683,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.ge_u @@ -2707,16 +2709,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 + i32.load global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2733,17 +2732,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.ge_u @@ -2756,23 +2754,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2789,23 +2785,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2822,15 +2814,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1552 @@ -2841,22 +2832,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (local $2 i32) @@ -2878,15 +2866,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 2 i32.shr_u @@ -2905,8 +2892,8 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - block $__inlined_func$~lib/rt/itcms/__renew + i32.store + block $__inlined_func$~lib/rt/itcms/__renew$269 i32.const 1073741820 local.get $2 i32.const 1 @@ -2932,12 +2919,12 @@ select local.tee $3 local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const 20 i32.sub local.tee $4 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -2946,26 +2933,26 @@ if local.get $4 local.get $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew + br $__inlined_func$~lib/rt/itcms/__renew$269 end local.get $3 local.get $4 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $1 local.get $2 local.get $3 local.get $4 - i32.load $0 offset=16 + i32.load offset=16 local.tee $4 local.get $3 local.get $4 i32.lt_u select - memory.copy $0 $0 + memory.copy end local.get $1 local.get $2 @@ -2973,21 +2960,18 @@ if local.get $0 local.get $1 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link end local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3012,15 +2996,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -3042,68 +3025,184 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $bindings/esm/arrayFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + if + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 1552 + i32.const 1920 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $0 + i32.store offset=4 + local.get $0 + i32.eqz + if + i32.const 1968 + i32.const 1920 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2276 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + if + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 i32.lt_s - br_if $folding-inner0 + if + i32.const 1552 + i32.const 1920 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.tee $7 - i64.const 0 - i64.store $0 - local.get $7 - i32.const 0 - i32.store $0 offset=8 - local.get $7 local.get $0 - i32.store $0 + i32.store local.get $0 - call $~lib/array/Array#get:length - local.set $3 + local.get $3 + i32.store offset=12 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:bindings/esm/bufferFunction (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.set $4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3111,180 +3210,78 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i64.const 0 - i64.store $0 offset=8 - local.get $3 - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.store $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.store $0 offset=4 - local.get $3 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $4 + local.get $2 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 - local.get $5 - i32.store $0 offset=4 + i32.store local.get $5 - i32.const 0 - i32.store $0 offset=12 - local.get $4 - i32.const 268435455 + i32.const 1073741820 i32.gt_u if i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 + i32.const 1296 + i32.const 52 + i32.const 43 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $4 - local.get $4 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $3 + local.get $5 i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=12 - local.get $5 - local.get $6 - i32.store $0 - local.get $6 - if - local.get $5 - local.get $6 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $6 - i32.store $0 offset=4 - local.get $8 - local.get $5 - i32.store $0 offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $5 - local.get $3 - i32.store $0 offset=8 - local.get $8 + i32.store offset=4 local.get $5 - i32.store $0 offset=4 + local.get $0 + local.get $2 + memory.copy + local.get $2 local.get $5 + i32.add + local.get $1 local.get $4 - i32.store $0 offset=12 - local.get $8 - i32.const 16 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $5 - i32.store $0 offset=4 - loop $for-loop|0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $5 - local.get $2 - local.get $0 - local.get $2 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 0 - local.set $2 - loop $for-loop|1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $5 - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $5 @@ -3297,8 +3294,7 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $export:bindings/esm/stringFunction (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3315,140 +3311,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $1 local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1552 - i32.const 1920 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $0 - i32.load $0 offset=4 local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.eqz - if - i32.const 1968 - i32.const 1920 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end + local.get $1 + call $bindings/esm/stringFunction global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $export:bindings/esm/stringFunctionOptional@varargs (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1552 - i32.const 1920 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 - call $~lib/array/ensureCapacity - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store $0 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -3457,28 +3335,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 - local.get $0 - i32.store $0 local.get $0 - call $~lib/array/Array#get:length - local.set $4 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array#get:length - local.get $4 - i32.add - local.set $4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3486,193 +3349,44 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 i64.const 0 - i64.store $0 offset=8 - local.get $5 - i32.const 16 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.store $0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.store $0 offset=4 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 i32.const 0 - i32.store $0 offset=8 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.store $0 offset=12 - local.get $4 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + i32.store offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 1088 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store end global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $4 - local.get $4 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $7 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=12 - local.get $5 - local.get $6 - i32.store $0 - local.get $6 - if - local.get $5 - local.get $6 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + call $bindings/esm/stringFunction global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $6 - i32.store $0 offset=4 - local.get $8 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $7 - i32.store $0 offset=8 - local.get $8 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $4 - i32.store $0 offset=12 - local.get $8 - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=4 - loop $for-loop|0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $5 - local.get $2 - local.get $3 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 0 - local.set $2 - loop $for-loop|1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $5 - local.get $3 - local.get $4 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 return end i32.const 35072 @@ -3682,123 +3396,7 @@ call $~lib/builtins/abort unreachable ) - (func $export:bindings/esm/bufferFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.set $4 - local.get $3 - local.get $1 - i32.store $0 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.tee $2 - local.get $4 - i32.add - local.set $5 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $5 - i32.const 1073741820 - i32.gt_u - if - i32.const 1248 - i32.const 1296 - i32.const 52 - i32.const 43 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $0 - local.get $4 - memory.copy $0 $0 - local.get $4 - local.get $5 - i32.add - local.get $1 - local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $export:bindings/esm/stringFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $export:bindings/esm/typedarrayFunction (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3815,139 +3413,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - call $bindings/esm/stringFunction - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - ) - (func $export:bindings/esm/stringFunctionOptional@varargs (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 1088 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $bindings/esm/stringFunction - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $export:bindings/esm/typedarrayFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/typedarrayFunction - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $export:bindings/esm/staticarrayFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3958,14 +3440,13 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - block $__inlined_func$bindings/esm/staticarrayFunction (result i32) - local.get $3 + i32.store offset=4 + block $__inlined_func$bindings/esm/staticarrayFunction$1 (result i32) + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -3975,35 +3456,33 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $4 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $4 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.add local.set $4 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4013,7 +3492,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $4 i32.const 268435455 i32.gt_u @@ -4032,34 +3511,32 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $4 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $4 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $2 local.get $0 @@ -4078,37 +3555,36 @@ loop $for-loop|1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $2 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $4 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.add - local.set $5 - local.get $3 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 - local.get $5 + local.get $3 local.get $1 local.get $2 call $~lib/staticarray/StaticArray#__get @@ -4125,16 +3601,14 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 - br $__inlined_func$bindings/esm/staticarrayFunction + br $__inlined_func$bindings/esm/staticarrayFunction$1 end br $folding-inner1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 35072 @@ -4145,7 +3619,6 @@ unreachable ) (func $export:bindings/esm/staticarrayU16 (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4162,10 +3635,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -4173,76 +3645,505 @@ ) (func $export:bindings/esm/arrayFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - call $bindings/esm/arrayFunction - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/array/Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 268435455 + i32.gt_u + if + i32.const 1248 + i32.const 1920 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $6 + local.get $4 + i32.store + local.get $6 + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $6 + local.get $2 + local.get $0 + local.get $2 + call $~lib/array/Array#__get + call $~lib/array/Array#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $6 + local.get $3 + local.get $1 + local.get $2 + call $~lib/array/Array#__get + call $~lib/array/Array#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + end + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $export:bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/array/Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store + local.get $5 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 268435455 + i32.gt_u + if + i32.const 1248 + i32.const 1920 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $4 + local.get $4 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $6 i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=12 + local.get $5 + local.get $3 + i32.store + local.get $5 + local.get $3 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $5 + local.get $2 + local.get $3 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $5 + local.get $3 + local.get $4 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - call $bindings/esm/arrayOfStringsFunction - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4253,13 +4154,12 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -4267,18 +4167,15 @@ i32.const 2276 i32.lt_s br_if $folding-inner1 - local.get $0 - local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - block $__inlined_func$bindings/esm/PlainObject#constructor (result i32) - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + block $__inlined_func$bindings/esm/PlainObject#constructor$4 (result i32) + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -4288,20 +4185,19 @@ i32.lt_s br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 68 i32.const 13 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 offset=4 - local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4311,169 +4207,179 @@ br_if $folding-inner00 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $0 + i32.store + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.tee $2 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $0 - i32.store $0 + local.get $2 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store8 $0 + i32.store8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store16 $0 offset=2 + i32.store16 offset=2 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store8 $0 offset=16 + i32.store8 offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store16 $0 offset=18 + i32.store16 offset=18 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 0 - i64.store $0 offset=24 + i64.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store8 $0 offset=40 + i32.store8 offset=40 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 0 - f32.store $0 offset=44 + f32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 0 - f64.store $0 offset=48 + f64.store offset=48 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=56 + i32.store offset=56 + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=60 + local.get $2 + i32.const 0 i32.const 0 - i32.store $0 offset=60 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=64 + local.get $2 i32.const 0 - i32.store $0 offset=64 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - br $__inlined_func$bindings/esm/PlainObject#constructor + local.get $2 + br $__inlined_func$bindings/esm/PlainObject#constructor$4 end br $folding-inner1 end - local.tee $3 - i32.store $0 + local.tee $2 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 offset=4 - local.get $4 local.get $2 - i32.store $0 offset=8 - local.get $2 - i32.load8_s $0 - local.set $0 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.load8_s + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $2 local.get $3 - local.get $0 local.get $1 - i32.load8_s $0 + i32.load8_s i32.add - i32.store8 $0 - local.get $4 - local.get $3 - i32.store $0 offset=4 - local.get $4 - local.get $2 - i32.store $0 offset=8 + i32.store8 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.load16_s $0 offset=2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.load16_s offset=2 local.set $0 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + local.get $2 local.get $0 local.get $1 - i32.load16_s $0 offset=2 + i32.load16_s offset=2 i32.add - i32.store16 $0 offset=2 - local.get $4 + i32.store16 offset=2 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -4481,7 +4387,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 return end i32.const 35072 @@ -4492,7 +4398,6 @@ unreachable ) (func $export:bindings/esm/internrefFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4509,89 +4414,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1424 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $0 - local.get $1 - local.get $2 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - 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/bindings/noExportRuntime.debug.js b/tests/compiler/bindings/noExportRuntime.debug.js index dda4a04e3d..bdf08ae5ff 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.js +++ b/tests/compiler/bindings/noExportRuntime.debug.js @@ -1,6 +1,6 @@ async function instantiate(module, imports = {}) { const adaptedImports = { - env: Object.assign(Object.create(globalThis), imports.env || {}, { + env: Object.setPrototypeOf({ abort(message, fileName, lineNumber, columnNumber) { // ~lib/builtins/abort(~lib/string/String | null?, ~lib/string/String | null?, u32?, u32?) => void message = __liftString(message >>> 0); @@ -12,7 +12,7 @@ async function instantiate(module, imports = {}) { throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`); })(); }, - }), + }, Object.assign(Object.create(globalThis), imports.env || {})), }; const { exports } = await WebAssembly.instantiate(module, adaptedImports); const memory = exports.memory || imports.env.memory; @@ -159,11 +159,12 @@ export const { isArrayOfArray, returnsArrayOfArray, takesNonPlainObject, - takesFunction + takesFunction, } = await (async url => instantiate( await (async () => { - try { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } - catch { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null); + if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } })(), { } ))(new URL("noExportRuntime.debug.wasm", import.meta.url)); diff --git a/tests/compiler/bindings/noExportRuntime.debug.wat b/tests/compiler/bindings/noExportRuntime.debug.wat index 9adeee587f..ba2e2f6010 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.wat +++ b/tests/compiler/bindings/noExportRuntime.debug.wat @@ -1,13 +1,14 @@ (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_=>_i32 (func (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_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $bindings/noExportRuntime/isBasic (mut i32) (i32.const 0)) (global $bindings/noExportRuntime/isString i32 (i32.const 32)) @@ -36,22 +37,22 @@ (global $~lib/memory/__heap_base i32 (i32.const 33524)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 220) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 288) "\00\00\00\00\00\00\00\00\00\00\00\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\02\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 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 556) "\1c\00\00\00\00\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 588) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00@\02\00\00@\02\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 636) "\1c\00\00\00\00\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 668) ",\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\10\00\00\00\90\02\00\00\90\02\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 720) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\01\t\00\00\02\t\00\00\02A\00\00 \00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $2 (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $3 (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $11 (i32.const 556) "\1c\00\00\00\00\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 $12 (i32.const 588) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00@\02\00\00@\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 636) "\1c\00\00\00\00\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 $14 (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\10\00\00\00\90\02\00\00\90\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 720) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\01\t\00\00\02\t\00\00\02A\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "isBasic" (global $bindings/noExportRuntime/isBasic)) @@ -73,12 +74,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -92,7 +93,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -166,7 +167,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -236,11 +237,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -248,7 +249,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 368 @@ -380,7 +381,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -393,7 +394,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -409,34 +410,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -596,7 +597,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -619,7 +620,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -633,7 +634,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -656,7 +657,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -799,7 +800,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -885,7 +886,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -965,7 +966,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -999,7 +1000,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1022,7 +1023,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1036,27 +1037,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 512 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1081,9 +1087,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1102,7 +1108,7 @@ if i32.const 0 i32.const 512 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1121,7 +1127,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1135,7 +1140,7 @@ if i32.const 0 i32.const 512 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1191,12 +1196,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1230,7 +1235,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1251,7 +1256,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1271,7 +1276,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1291,7 +1296,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1317,7 +1322,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1340,9 +1345,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1378,7 +1384,7 @@ if i32.const 0 i32.const 512 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1644,14 +1650,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1707,7 +1716,7 @@ if i32.const 176 i32.const 512 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1716,6 +1725,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1745,24 +1774,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1800,7 +1818,7 @@ if i32.const 0 i32.const 512 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1815,7 +1833,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1860,7 +1878,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1871,7 +1889,7 @@ if i32.const 0 i32.const 512 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1893,7 +1911,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1916,7 +1934,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1935,22 +1953,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1963,7 +1973,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1990,27 +2000,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2035,7 +2046,7 @@ if i32.const 0 i32.const 512 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2150,7 +2161,7 @@ if i32.const 0 i32.const 512 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2170,7 +2181,7 @@ if i32.const 0 i32.const 512 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2203,12 +2214,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2259,7 +2270,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2334,7 +2345,7 @@ (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2343,19 +2354,17 @@ (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $start:bindings/noExportRuntime (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2406,10 +2415,8 @@ return ) (func $bindings/noExportRuntime/takesNonPlainObject (param $obj i32) - nop ) (func $bindings/noExportRuntime/takesFunction (param $fn i32) - nop ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2464,16 +2471,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/typedarray/Int32Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2482,7 +2484,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2494,15 +2496,15 @@ ) (func $~lib/array/Array<~lib/array/Array>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array<~lib/array/Array>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/array/Array>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2525,7 +2527,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int32Array $~lib/array/Array $~lib/array/Array<~lib/array/Array> $bindings/noExportRuntime/NonPlainObject $invalid end return @@ -2590,10 +2592,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -2602,13 +2604,13 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer @@ -2616,7 +2618,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -2624,7 +2626,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -2649,7 +2651,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2658,20 +2660,20 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -2679,7 +2681,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -2700,7 +2702,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2709,20 +2711,20 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -2740,14 +2742,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -2769,14 +2771,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.set $cur @@ -2785,7 +2787,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.const 2 @@ -2798,7 +2800,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -2817,7 +2819,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:buffer local.get $cookie @@ -2837,7 +2839,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.gt_u @@ -2854,7 +2856,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2876,7 +2878,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $bindings/noExportRuntime/takesNonPlainObject global.get $~lib/memory/__stack_pointer @@ -2892,7 +2894,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $bindings/noExportRuntime/takesFunction global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/noExportRuntime.release.js b/tests/compiler/bindings/noExportRuntime.release.js index c35c9f8ef1..24a1b9596b 100644 --- a/tests/compiler/bindings/noExportRuntime.release.js +++ b/tests/compiler/bindings/noExportRuntime.release.js @@ -1,6 +1,6 @@ async function instantiate(module, imports = {}) { const adaptedImports = { - env: Object.assign(Object.create(globalThis), imports.env || {}, { + env: Object.setPrototypeOf({ abort(message, fileName, lineNumber, columnNumber) { // ~lib/builtins/abort(~lib/string/String | null?, ~lib/string/String | null?, u32?, u32?) => void message = __liftString(message >>> 0); @@ -12,7 +12,7 @@ async function instantiate(module, imports = {}) { throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`); })(); }, - }), + }, Object.assign(Object.create(globalThis), imports.env || {})), }; const { exports } = await WebAssembly.instantiate(module, adaptedImports); const memory = exports.memory || imports.env.memory; @@ -159,11 +159,12 @@ export const { isArrayOfArray, returnsArrayOfArray, takesNonPlainObject, - takesFunction + takesFunction, } = await (async url => instantiate( await (async () => { - try { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } - catch { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + const isNodeOrBun = typeof process != "undefined" && process.versions != null && (process.versions.node != null || process.versions.bun != null); + if (isNodeOrBun) { return globalThis.WebAssembly.compile(await (await import("node:fs/promises")).readFile(url)); } + else { return await globalThis.WebAssembly.compileStreaming(globalThis.fetch(url)); } })(), { } ))(new URL("noExportRuntime.release.wasm", import.meta.url)); diff --git a/tests/compiler/bindings/noExportRuntime.release.wat b/tests/compiler/bindings/noExportRuntime.release.wat index ebca3237e2..9a784f3d63 100644 --- a/tests/compiler/bindings/noExportRuntime.release.wat +++ b/tests/compiler/bindings/noExportRuntime.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func (result i32))) + (type $1 (func (param i32))) + (type $2 (func)) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (param i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $bindings/noExportRuntime/isBasic (mut i32) (i32.const 0)) (global $bindings/noExportRuntime/isString i32 (i32.const 1056)) @@ -27,31 +27,31 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34548)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02") - (data (i32.const 1068) ",") - (data (i32.const 1080) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1116) "<") - (data (i32.const 1128) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1180) "<") - (data (i32.const 1192) "\02\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 1244) "<") - (data (i32.const 1256) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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 1436) ",") - (data (i32.const 1448) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1516) "<") - (data (i32.const 1528) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1580) "\1c") - (data (i32.const 1592) "\01") - (data (i32.const 1612) ",") - (data (i32.const 1624) "\05\00\00\00\10\00\00\00@\06\00\00@\06") - (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\01") - (data (i32.const 1692) ",") - (data (i32.const 1704) "\06\00\00\00\10\00\00\00\90\06\00\00\90\06") - (data (i32.const 1744) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\01\t\00\00\02\t\00\00\02A\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $2 (i32.const 1116) "<") + (data $2.1 (i32.const 1128) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $3 (i32.const 1180) "<") + (data $3.1 (i32.const 1192) "\02\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 $4 (i32.const 1244) "<") + (data $4.1 (i32.const 1256) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $8 (i32.const 1436) ",") + (data $8.1 (i32.const 1448) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $10 (i32.const 1516) "<") + (data $10.1 (i32.const 1528) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $11 (i32.const 1580) "\1c") + (data $11.1 (i32.const 1592) "\01") + (data $12 (i32.const 1612) ",") + (data $12.1 (i32.const 1624) "\05\00\00\00\10\00\00\00@\06\00\00@\06") + (data $13 (i32.const 1660) "\1c") + (data $13.1 (i32.const 1672) "\01") + (data $14 (i32.const 1692) ",") + (data $14.1 (i32.const 1704) "\06\00\00\00\10\00\00\00\90\06\00\00\90\06") + (data $15 (i32.const 1744) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\01\t\00\00\02\t\00\00\02A\00\00 ") (export "isBasic" (global $bindings/noExportRuntime/isBasic)) (export "takesReturnsBasic" (func $bindings/noExportRuntime/takesReturnsBasic)) (export "isString" (global $bindings/noExportRuntime/isString)) @@ -72,32 +72,32 @@ (local $0 i32) (local $1 i32) i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $bindings/noExportRuntime/isBuffer local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $bindings/noExportRuntime/isTypedArray local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1632 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1712 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1392 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1200 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -107,7 +107,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -125,7 +125,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -142,7 +142,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -156,16 +156,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$132 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34548 @@ -180,10 +180,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$132 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -196,20 +196,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -218,7 +218,7 @@ else local.get $1 i32.const 1744 - i32.load $0 + i32.load i32.gt_u if i32.const 1392 @@ -233,13 +233,13 @@ i32.shl i32.const 1748 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -249,21 +249,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -271,8 +295,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -284,10 +308,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -298,29 +322,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -328,10 +352,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -345,75 +369,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -435,7 +452,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -452,12 +469,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -474,17 +491,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -494,9 +511,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -521,13 +538,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -561,7 +578,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -617,19 +634,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -641,15 +658,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -657,23 +674,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1536 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -687,10 +706,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -698,23 +717,22 @@ if i32.const 0 i32.const 1536 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -726,52 +744,53 @@ if i32.const 0 i32.const 1536 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -779,7 +798,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -787,7 +806,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -798,10 +817,10 @@ end i32.const 34560 i32.const 0 - i32.store $0 + i32.store i32.const 36128 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -813,7 +832,7 @@ i32.const 34560 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -831,7 +850,7 @@ i32.const 34560 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -848,9 +867,10 @@ end i32.const 34560 i32.const 36132 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34560 global.set $~lib/rt/tlsf/ROOT @@ -880,7 +900,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -893,19 +913,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -916,7 +936,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -928,7 +948,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -941,12 +961,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -955,7 +971,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -966,26 +982,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1001,7 +1017,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1017,7 +1033,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1042,14 +1058,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1069,7 +1085,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1084,25 +1099,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1536 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1111,12 +1125,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1124,47 +1137,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1175,7 +1190,7 @@ if i32.const 0 i32.const 1536 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1185,7 +1200,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1202,10 +1217,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1221,13 +1236,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1536 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1242,7 +1257,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1269,7 +1284,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1281,16 +1296,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1298,8 +1309,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1326,34 +1336,60 @@ if i32.const 1200 i32.const 1536 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1361,21 +1397,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1388,12 +1409,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1404,9 +1425,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1416,7 +1438,7 @@ if i32.const 0 i32.const 1536 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1424,14 +1446,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1536 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1440,8 +1462,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1450,95 +1472,95 @@ if i32.const 0 i32.const 1536 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1551,13 +1573,13 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store $0 + i32.store local.get $1 if local.get $0 @@ -1575,7 +1597,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.eq @@ -1583,7 +1605,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and local.tee $0 @@ -1631,40 +1653,38 @@ (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 - block $invalid - block $bindings/noExportRuntime/NonPlainObject - block $~lib/array/Array<~lib/array/Array> - block $~lib/array/Array - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner2 $~lib/array/Array $~lib/array/Array<~lib/array/Array> $bindings/noExportRuntime/NonPlainObject $invalid + block $folding-inner1 + block $folding-inner0 + block $invalid + block $bindings/noExportRuntime/NonPlainObject + block $~lib/array/Array<~lib/array/Array> + block $~lib/array/Array + block $~lib/typedarray/Int32Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int32Array $~lib/array/Array $~lib/array/Array<~lib/array/Array> $bindings/noExportRuntime/NonPlainObject $invalid + end + return end return end return end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1780 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - br $folding-inner1 + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1675,80 +1695,79 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $1 - local.get $2 - local.get $0 - i32.store $0 + i32.store + br $folding-inner1 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1780 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $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 $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $2 - loop $while-continue|0 + local.get $2 + i32.lt_u + if local.get $1 - local.get $2 - i32.lt_u + i32.load + local.tee $3 if - local.get $1 - i32.load $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 + local.get $3 + call $~lib/rt/itcms/__visit end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 end - br $folding-inner1 end - return + br $folding-inner1 end - unreachable + return end - i32.const 34576 - i32.const 34624 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return + i32.const 34576 + i32.const 34624 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.store + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~start (local $0 i32) @@ -1760,7 +1779,7 @@ end i32.const 1 global.set $~started - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34548 @@ -1770,26 +1789,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1316 i32.const 1312 - i32.store $0 + i32.store i32.const 1320 i32.const 1312 - i32.store $0 + i32.store i32.const 1312 global.set $~lib/rt/itcms/pinSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/toSpace i32.const 1492 i32.const 1488 - i32.store $0 + i32.store i32.const 1496 i32.const 1488 - i32.store $0 + i32.store i32.const 1488 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1803,15 +1822,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 1 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1827,20 +1845,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -1849,12 +1866,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $0 i32.eqz if @@ -1863,60 +1879,59 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=8 + local.tee $1 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 local.get $0 - local.get $2 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#set:buffer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $2 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1934,7 +1949,6 @@ end ) (func $export:bindings/noExportRuntime/takesNonPlainObject (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1951,31 +1965,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (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 $0 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 - ) ) diff --git a/tests/compiler/bindings/raw.debug.js b/tests/compiler/bindings/raw.debug.js index 06002860de..564035a225 100644 --- a/tests/compiler/bindings/raw.debug.js +++ b/tests/compiler/bindings/raw.debug.js @@ -1,6 +1,6 @@ export async function instantiate(module, imports = {}) { const adaptedImports = { - env: Object.assign(Object.create(globalThis), imports.env || {}, { + env: Object.setPrototypeOf({ trace(message, n, a0, a1, a2, a3, a4) { // ~lib/builtins/trace(~lib/string/String, i32?, f64?, f64?, f64?, f64?, f64?) => void message = __liftString(message >>> 0); @@ -18,12 +18,12 @@ export async function instantiate(module, imports = {}) { // ~lib/bindings/dom/Math.E: f64 Math.E ), - "Math.log": ( + "Math.log"(x) { // ~lib/bindings/dom/Math.log(f64) => f64 - Math.log - ), + return Math.log(x); + }, "globalThis.globalThis": ( - // bindings/esm/immutableGlobalNested: externref + // bindings/esm/immutableGlobalNested: ref_extern | null globalThis.globalThis ), "Date.getTimezoneOffset"() { @@ -44,7 +44,7 @@ export async function instantiate(module, imports = {}) { throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`); })(); }, - }), + }, Object.assign(Object.create(globalThis), imports.env || {})), }; const { exports } = await WebAssembly.instantiate(module, adaptedImports); const memory = exports.memory || imports.env.memory; diff --git a/tests/compiler/bindings/raw.debug.wat b/tests/compiler/bindings/raw.debug.wat index 5d27d45e00..c54a11e383 100644 --- a/tests/compiler/bindings/raw.debug.wat +++ b/tests/compiler/bindings/raw.debug.wat @@ -1,22 +1,23 @@ (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 $none_=>_i32 (func (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 $i32_i64_=>_none (func (param i32 i64))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $f64_=>_f64 (func (param f64) (result f64))) - (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) - (type $none_=>_i64 (func (result i64))) - (type $i32_f32_=>_none (func (param i32 f32))) - (type $i32_f64_=>_none (func (param i32 f64))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i64))) + (type $9 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $10 (func (param f64) (result f64))) + (type $11 (func (param i64 i64) (result i64))) + (type $12 (func (result i64))) + (type $13 (func (param i32 i32 i64) (result i32))) + (type $14 (func (param i32 f32))) + (type $15 (func (param i32 f64))) + (type $16 (func (param i32 i32 i32) (result i32))) + (type $17 (func (param i32 i32 i64))) + (type $18 (func (param i32 i32) (result f32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "globalThis" (global $bindings/esm/immutableGlobal externref)) (import "env" "globalThis.globalThis" (global $bindings/esm/immutableGlobalNested externref)) @@ -60,29 +61,29 @@ (global $~lib/memory/__heap_base i32 (i32.const 34020)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00r\00a\00c\00e\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g\00\00\00\00\00\00\00") - (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 624) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 812) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 924) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1052) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") - (data (i32.const 1116) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") - (data (i32.const 1184) "\10\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\02A\00\00\00\00\00\00A\00\00\00 \00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00r\00a\00c\00e\00\00\00") + (data $4 (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g\00\00\00\00\00\00\00") + (data $5 (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $6 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $7 (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $12 (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $13 (i32.const 624) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $15 (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 812) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") + (data $18 (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $19 (i32.const 924) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $20 (i32.const 1052) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") + (data $21 (i32.const 1116) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") + (data $22 (i32.const 1184) "\10\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\02A\00\00\00\00\00\00A\00\00\00 \00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:bindings/esm~anonymous|0) (export "plainGlobal" (global $bindings/esm/plainGlobal)) @@ -122,7 +123,27 @@ (export "internrefFunction" (func $export:bindings/esm/internrefFunction)) (export "functionFunction" (func $export:bindings/esm/functionFunction)) (func $start:bindings/esm~anonymous|0 - nop + ) + (func $start:bindings/esm + i32.const 128 + i32.const 1 + f64.const 42 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 160 + call $~lib/bindings/dom/console.log + global.get $~lib/bindings/dom/Math.E + call $~lib/bindings/dom/Math.log + drop + global.get $bindings/esm/immutableGlobal + drop + global.get $bindings/esm/immutableGlobalNested + drop + call $bindings/esm/Date_getTimezoneOffset + drop ) (func $start:bindings/raw call $start:bindings/esm @@ -149,7 +170,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (param $this i32) (result i32) local.get $this @@ -161,12 +182,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -180,7 +201,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -254,7 +275,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -324,11 +345,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -336,7 +357,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 528 @@ -468,7 +489,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -481,7 +502,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -497,34 +518,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -684,7 +705,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -707,7 +728,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -721,7 +742,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -744,7 +765,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -887,7 +908,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -973,7 +994,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1053,7 +1074,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1087,7 +1108,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1110,7 +1131,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1124,27 +1145,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 672 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1169,9 +1195,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1190,7 +1216,7 @@ if i32.const 0 i32.const 672 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1209,7 +1235,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1223,7 +1248,7 @@ if i32.const 0 i32.const 672 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1279,12 +1304,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1318,7 +1343,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1339,7 +1364,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1359,7 +1384,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1379,7 +1404,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1405,7 +1430,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1428,9 +1453,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1466,7 +1492,7 @@ if i32.const 0 i32.const 672 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1732,14 +1758,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1795,7 +1824,7 @@ if i32.const 336 i32.const 672 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1804,6 +1833,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1833,24 +1882,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1888,7 +1926,7 @@ if i32.const 0 i32.const 672 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1903,7 +1941,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1948,7 +1986,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1959,7 +1997,7 @@ if i32.const 0 i32.const 672 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1981,7 +2019,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2004,7 +2042,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2023,22 +2061,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2051,7 +2081,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2078,27 +2108,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2123,7 +2154,7 @@ if i32.const 0 i32.const 672 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2238,7 +2269,7 @@ if i32.const 0 i32.const 672 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2258,7 +2289,7 @@ if i32.const 0 i32.const 672 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2291,12 +2322,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2347,7 +2378,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2431,7 +2462,7 @@ (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2440,20 +2471,20 @@ (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/staticarray/StaticArray#get:length (param $this i32) (result i32) local.get $this @@ -2471,7 +2502,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop ) @@ -2486,7 +2517,7 @@ (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2495,33 +2526,33 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2565,14 +2596,14 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array<~lib/string/String>#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2581,95 +2612,95 @@ (func $~lib/array/Array<~lib/string/String>#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array<~lib/string/String>#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array<~lib/string/String>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $bindings/esm/PlainObject#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store8 $0 + i32.store8 ) (func $bindings/esm/PlainObject#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store16 $0 offset=2 + i32.store16 offset=2 ) (func $bindings/esm/PlainObject#set:c (param $this i32) (param $c i32) local.get $this local.get $c - i32.store $0 offset=4 + i32.store offset=4 ) (func $bindings/esm/PlainObject#set:d (param $this i32) (param $d i64) local.get $this local.get $d - i64.store $0 offset=8 + i64.store offset=8 ) (func $bindings/esm/PlainObject#set:e (param $this i32) (param $e i32) local.get $this local.get $e - i32.store8 $0 offset=16 + i32.store8 offset=16 ) (func $bindings/esm/PlainObject#set:f (param $this i32) (param $f i32) local.get $this local.get $f - i32.store16 $0 offset=18 + i32.store16 offset=18 ) (func $bindings/esm/PlainObject#set:g (param $this i32) (param $g i32) local.get $this local.get $g - i32.store $0 offset=20 + i32.store offset=20 ) (func $bindings/esm/PlainObject#set:h (param $this i32) (param $h i64) local.get $this local.get $h - i64.store $0 offset=24 + i64.store offset=24 ) (func $bindings/esm/PlainObject#set:i (param $this i32) (param $i i32) local.get $this local.get $i - i32.store $0 offset=32 + i32.store offset=32 ) (func $bindings/esm/PlainObject#set:j (param $this i32) (param $j i32) local.get $this local.get $j - i32.store $0 offset=36 + i32.store offset=36 ) (func $bindings/esm/PlainObject#set:k (param $this i32) (param $k i32) local.get $this local.get $k - i32.store8 $0 offset=40 + i32.store8 offset=40 ) (func $bindings/esm/PlainObject#set:l (param $this i32) (param $l f32) local.get $this local.get $l - f32.store $0 offset=44 + f32.store offset=44 ) (func $bindings/esm/PlainObject#set:m (param $this i32) (param $m f64) local.get $this local.get $m - f64.store $0 offset=48 + f64.store offset=48 ) (func $bindings/esm/PlainObject#set:n (param $this i32) (param $n i32) local.get $this local.get $n - i32.store $0 offset=56 + i32.store offset=56 local.get $this local.get $n i32.const 0 @@ -2678,7 +2709,7 @@ (func $bindings/esm/PlainObject#set:o (param $this i32) (param $o i32) local.get $this local.get $o - i32.store $0 offset=60 + i32.store offset=60 local.get $this local.get $o i32.const 0 @@ -2687,7 +2718,7 @@ (func $bindings/esm/PlainObject#set:p (param $this i32) (param $p i32) local.get $this local.get $p - i32.store $0 offset=64 + i32.store offset=64 local.get $this local.get $p i32.const 0 @@ -2695,11 +2726,11 @@ ) (func $bindings/esm/PlainObject#get:a (param $this i32) (result i32) local.get $this - i32.load8_s $0 + i32.load8_s ) (func $bindings/esm/PlainObject#get:b (param $this i32) (result i32) local.get $this - i32.load16_s $0 offset=2 + i32.load16_s offset=2 ) (func $bindings/esm/newInternref (result i32) i32.const 0 @@ -2869,20 +2900,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/function/Function<%28%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2909,7 +2935,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2921,7 +2947,7 @@ ) (func $~lib/array/Array<~lib/string/String>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2937,29 +2963,17 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 offset=56 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=56 + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=60 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=60 + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=64 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=64 + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2987,7 +3001,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $~lib/typedarray/Int16Array $~lib/typedarray/Float32Array $~lib/typedarray/Uint64Array $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $~lib/array/Array<~lib/string/String> $bindings/esm/PlainObject $~lib/typedarray/Uint8Array $bindings/esm/NonPlainObject $invalid end return @@ -3063,7 +3077,7 @@ i32.const 1 global.set $~started call $start:bindings/raw - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3094,50 +3108,6 @@ unreachable end ) - (func $start:bindings/esm - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 128 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.const 1 - f64.const 42 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 160 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/bindings/dom/console.log - global.get $~lib/bindings/dom/Math.E - call $~lib/bindings/dom/Math.log - drop - global.get $bindings/esm/immutableGlobal - drop - global.get $bindings/esm/immutableGlobalNested - drop - call $bindings/esm/Date_getTimezoneOffset - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $bindings/esm/bufferFunction (param $a i32) (param $b i32) (result i32) (local $aByteLength i32) (local $bByteLength i32) @@ -3150,12 +3120,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $aByteLength @@ -3163,7 +3133,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bByteLength @@ -3174,17 +3144,17 @@ i32.add call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $a local.get $aByteLength - memory.copy $0 $0 + memory.copy local.get $out local.get $aByteLength i32.add local.get $b local.get $bByteLength - memory.copy $0 $0 + memory.copy local.get $out local.set $5 global.get $~lib/memory/__stack_pointer @@ -3207,12 +3177,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -3222,7 +3192,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -3250,17 +3220,17 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $out local.get $thisSize i32.add local.get $other local.get $otherSize - memory.copy $0 $0 + memory.copy local.get $out local.set $6 global.get $~lib/memory/__stack_pointer @@ -3279,18 +3249,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String#concat local.set $2 @@ -3310,18 +3280,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String.__concat local.set $2 @@ -3341,18 +3311,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String.__concat local.set $2 @@ -3372,10 +3342,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -3389,19 +3359,19 @@ global.get $~lib/memory/__stack_pointer i32.const 64 local.tee $b - i32.store $0 + i32.store end local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $bindings/esm/stringFunctionOptional local.set $2 @@ -3421,10 +3391,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -3433,13 +3403,13 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer @@ -3447,7 +3417,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3455,7 +3425,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3480,7 +3450,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3489,20 +3459,20 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3510,7 +3480,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3531,7 +3501,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3540,20 +3510,20 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -3571,12 +3541,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -3598,12 +3568,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -3625,13 +3595,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -3649,14 +3619,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3674,13 +3644,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -3698,7 +3668,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -3706,7 +3676,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -3722,13 +3692,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -3746,14 +3716,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3774,30 +3744,30 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/typedarray/Int16Array#get:length local.get $b local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/typedarray/Float32Array#get:length i32.add call $~lib/typedarray/Uint64Array#constructor local.tee $out - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $i loop $for-loop|0 @@ -3806,7 +3776,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/typedarray/Int16Array#get:length i32.lt_s @@ -3815,14 +3785,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $i local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i call $~lib/typedarray/Int16Array#__get @@ -3843,7 +3813,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/typedarray/Float32Array#get:length i32.lt_s @@ -3852,13 +3822,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/typedarray/Int16Array#get:length local.get $i|4 @@ -3867,7 +3837,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i|4 call $~lib/typedarray/Float32Array#__get @@ -3899,13 +3869,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/staticarray/StaticArray#get:length i32.ge_u @@ -3922,7 +3892,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -3944,13 +3914,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/staticarray/StaticArray#get:length i32.ge_u @@ -3966,7 +3936,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index local.get $value @@ -3988,30 +3958,30 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/staticarray/StaticArray#get:length local.get $b local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/staticarray/StaticArray#get:length i32.add call $~lib/staticarray/StaticArray#constructor local.tee $c - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $i loop $for-loop|0 @@ -4020,7 +3990,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/staticarray/StaticArray#get:length i32.lt_s @@ -4029,14 +3999,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $i local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i call $~lib/staticarray/StaticArray#__get @@ -4056,7 +4026,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/staticarray/StaticArray#get:length i32.lt_s @@ -4065,13 +4035,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/staticarray/StaticArray#get:length local.get $i|4 @@ -4080,7 +4050,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i|4 call $~lib/staticarray/StaticArray#__get @@ -4114,10 +4084,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -4126,13 +4096,13 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -4140,7 +4110,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -4148,7 +4118,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -4156,7 +4126,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -4189,7 +4159,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4198,20 +4168,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -4219,7 +4189,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -4227,7 +4197,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -4248,12 +4218,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -4274,13 +4244,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -4296,14 +4266,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -4335,12 +4305,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -4367,7 +4337,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -4417,10 +4387,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -4428,7 +4398,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4444,13 +4414,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -4477,7 +4447,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -4488,7 +4458,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -4496,7 +4466,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -4516,30 +4486,30 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length local.get $b local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length i32.add call $~lib/array/Array#constructor local.tee $c - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $i loop $for-loop|0 @@ -4548,7 +4518,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length i32.lt_s @@ -4557,14 +4527,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $i local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i call $~lib/array/Array#__get @@ -4584,7 +4554,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length i32.lt_s @@ -4593,13 +4563,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/array/Array#get:length local.get $i|4 @@ -4608,7 +4578,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $i|4 call $~lib/array/Array#__get @@ -4642,10 +4612,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -4654,13 +4624,13 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:buffer @@ -4668,7 +4638,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -4676,7 +4646,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -4684,7 +4654,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:length_ @@ -4717,7 +4687,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4726,20 +4696,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array<~lib/string/String>#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -4747,7 +4717,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -4755,7 +4725,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ @@ -4776,12 +4746,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array<~lib/string/String>#get:length_ local.set $1 @@ -4802,13 +4772,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u @@ -4825,16 +4795,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -4868,13 +4838,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u @@ -4901,7 +4871,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -4912,7 +4882,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index @@ -4920,7 +4890,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -4938,36 +4908,36 @@ (local $i|4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length local.get $b local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length i32.add call $~lib/array/Array<~lib/string/String>#constructor local.tee $c - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $i loop $for-loop|0 @@ -4976,7 +4946,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length i32.lt_s @@ -4985,21 +4955,21 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $i local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array<~lib/string/String>#__get local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/array/Array<~lib/string/String>#__set local.get $i @@ -5017,7 +4987,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length i32.lt_s @@ -5026,13 +4996,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $a local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=12 local.get $5 call $~lib/array/Array<~lib/string/String>#get:length local.get $i|4 @@ -5041,14 +5011,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=12 local.get $5 local.get $i|4 call $~lib/array/Array<~lib/string/String>#__get local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/array/Array<~lib/string/String>#__set local.get $i|4 @@ -5061,7 +5031,7 @@ local.get $c local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $5 @@ -5076,7 +5046,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5085,23 +5055,23 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:a @@ -5109,7 +5079,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:b @@ -5117,7 +5087,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:c @@ -5125,7 +5095,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i64.const 0 call $bindings/esm/PlainObject#set:d @@ -5133,7 +5103,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:e @@ -5141,7 +5111,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:f @@ -5149,7 +5119,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:g @@ -5157,7 +5127,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i64.const 0 call $bindings/esm/PlainObject#set:h @@ -5165,7 +5135,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:i @@ -5173,7 +5143,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:j @@ -5181,7 +5151,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:k @@ -5189,7 +5159,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f32.const 0 call $bindings/esm/PlainObject#set:l @@ -5197,7 +5167,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f64.const 0 call $bindings/esm/PlainObject#set:m @@ -5205,7 +5175,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:n @@ -5213,7 +5183,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:o @@ -5221,7 +5191,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $bindings/esm/PlainObject#set:p @@ -5243,33 +5213,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $bindings/esm/PlainObject#constructor local.tee $ref - i32.store $0 + i32.store local.get $ref local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $a local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $bindings/esm/PlainObject#get:a local.get $b local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $bindings/esm/PlainObject#get:a i32.add @@ -5278,20 +5248,20 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $a local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $bindings/esm/PlainObject#get:b local.get $b local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $bindings/esm/PlainObject#get:b i32.add @@ -5314,12 +5284,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28%29=>void>#get:_env local.get $cookie @@ -5338,14 +5308,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -5367,14 +5337,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $cur @@ -5383,7 +5353,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length_ i32.const 2 @@ -5396,7 +5366,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -5415,7 +5385,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:buffer local.get $cookie @@ -5435,7 +5405,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.gt_u @@ -5452,7 +5422,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -5477,7 +5447,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.const 2 @@ -5500,7 +5470,7 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -5523,7 +5493,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -5532,7 +5502,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -5551,7 +5521,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -5560,7 +5530,7 @@ i32.const 15 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -5579,10 +5549,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/bufferFunction @@ -5602,10 +5572,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/stringFunction @@ -5625,10 +5595,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/stringFunctionOptional@varargs @@ -5648,10 +5618,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/typedarrayFunction @@ -5671,10 +5641,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/staticarrayFunction @@ -5694,7 +5664,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $bindings/esm/staticarrayU16 local.set $1 @@ -5713,7 +5683,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $bindings/esm/staticarrayI64 local.set $1 @@ -5732,10 +5702,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/arrayFunction @@ -5755,10 +5725,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/arrayOfStringsFunction @@ -5778,10 +5748,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/objectFunction @@ -5801,10 +5771,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/internrefFunction @@ -5824,7 +5794,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $bindings/esm/functionFunction local.set $1 diff --git a/tests/compiler/bindings/raw.release.js b/tests/compiler/bindings/raw.release.js index 06002860de..564035a225 100644 --- a/tests/compiler/bindings/raw.release.js +++ b/tests/compiler/bindings/raw.release.js @@ -1,6 +1,6 @@ export async function instantiate(module, imports = {}) { const adaptedImports = { - env: Object.assign(Object.create(globalThis), imports.env || {}, { + env: Object.setPrototypeOf({ trace(message, n, a0, a1, a2, a3, a4) { // ~lib/builtins/trace(~lib/string/String, i32?, f64?, f64?, f64?, f64?, f64?) => void message = __liftString(message >>> 0); @@ -18,12 +18,12 @@ export async function instantiate(module, imports = {}) { // ~lib/bindings/dom/Math.E: f64 Math.E ), - "Math.log": ( + "Math.log"(x) { // ~lib/bindings/dom/Math.log(f64) => f64 - Math.log - ), + return Math.log(x); + }, "globalThis.globalThis": ( - // bindings/esm/immutableGlobalNested: externref + // bindings/esm/immutableGlobalNested: ref_extern | null globalThis.globalThis ), "Date.getTimezoneOffset"() { @@ -44,7 +44,7 @@ export async function instantiate(module, imports = {}) { throw Error(`${message} in ${fileName}:${lineNumber}:${columnNumber}`); })(); }, - }), + }, Object.assign(Object.create(globalThis), imports.env || {})), }; const { exports } = await WebAssembly.instantiate(module, adaptedImports); const memory = exports.memory || imports.env.memory; diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index e90f245b4d..dcd117d596 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -1,17 +1,17 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $f64_=>_f64 (func (param f64) (result f64))) - (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) - (type $none_=>_i64 (func (result i64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32))) + (type $7 (func (param i32 i32 i64))) + (type $8 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $9 (func (param f64) (result f64))) + (type $10 (func (param i64 i64) (result i64))) + (type $11 (func (result i64))) + (type $12 (func (param i32 i32 i32 i32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (import "env" "console.log" (func $~lib/bindings/dom/console.log (param i32))) @@ -44,46 +44,46 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35044)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\02\00\00\00a") - (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\02\00\00\00\02\00\00\00b") - (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\04\00\00\00\08\00\00\00\01") - (data (i32.const 1132) "\1c") - (data (i32.const 1144) "\02\00\00\00\n\00\00\00t\00r\00a\00c\00e") - (data (i32.const 1164) "<") - (data (i32.const 1176) "\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g") - (data (i32.const 1228) ",") - (data (i32.const 1240) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1276) "<") - (data (i32.const 1288) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1340) "<") - (data (i32.const 1352) "\02\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 1404) "<") - (data (i32.const 1416) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1532) "<") - (data (i32.const 1544) "\02\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 1596) ",") - (data (i32.const 1608) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1676) "<") - (data (i32.const 1688) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1740) "\1c") - (data (i32.const 1752) "\02") - (data (i32.const 1772) "<") - (data (i32.const 1784) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1836) "<") - (data (i32.const 1848) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1900) ",") - (data (i32.const 1912) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1948) "|") - (data (i32.const 1960) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 2076) "<") - (data (i32.const 2088) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 2140) "<") - (data (i32.const 2152) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 2208) "\10\00\00\00 \00\00\00 \00\00\00 ") - (data (i32.const 2232) "\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\02A\00\00\00\00\00\00A\00\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\02\00\00\00a") + (data $1 (i32.const 1068) "\1c") + (data $1.1 (i32.const 1080) "\02\00\00\00\02\00\00\00b") + (data $2 (i32.const 1100) "\1c") + (data $2.1 (i32.const 1112) "\04\00\00\00\08\00\00\00\01") + (data $3 (i32.const 1132) "\1c") + (data $3.1 (i32.const 1144) "\02\00\00\00\n\00\00\00t\00r\00a\00c\00e") + (data $4 (i32.const 1164) "<") + (data $4.1 (i32.const 1176) "\02\00\00\00&\00\00\004\002\00 \00f\00r\00o\00m\00 \00c\00o\00n\00s\00o\00l\00e\00.\00l\00o\00g") + (data $5 (i32.const 1228) ",") + (data $5.1 (i32.const 1240) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $6 (i32.const 1276) "<") + (data $6.1 (i32.const 1288) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $7 (i32.const 1340) "<") + (data $7.1 (i32.const 1352) "\02\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 $8 (i32.const 1404) "<") + (data $8.1 (i32.const 1416) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $11 (i32.const 1532) "<") + (data $11.1 (i32.const 1544) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $12 (i32.const 1596) ",") + (data $12.1 (i32.const 1608) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $14 (i32.const 1676) "<") + (data $14.1 (i32.const 1688) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $15 (i32.const 1740) "\1c") + (data $15.1 (i32.const 1752) "\02") + (data $16 (i32.const 1772) "<") + (data $16.1 (i32.const 1784) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data $17 (i32.const 1836) "<") + (data $17.1 (i32.const 1848) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") + (data $18 (i32.const 1900) ",") + (data $18.1 (i32.const 1912) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $19 (i32.const 1948) "|") + (data $19.1 (i32.const 1960) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data $20 (i32.const 2076) "<") + (data $20.1 (i32.const 2088) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") + (data $21 (i32.const 2140) "<") + (data $21.1 (i32.const 2152) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") + (data $22 (i32.const 2208) "\10\00\00\00 \00\00\00 \00\00\00 ") + (data $22.1 (i32.const 2232) "\81\08\00\00\01\19\00\00\01\02\00\00$\t\00\00\a4\00\00\00$\n\00\00\02\t\00\00\02A\00\00\00\00\00\00A\00\00\00 ") (export "plainGlobal" (global $bindings/esm/plainGlobal)) (export "plainMutableGlobal" (global $bindings/esm/plainMutableGlobal)) (export "stringGlobal" (global $bindings/esm/stringGlobal)) @@ -140,28 +140,28 @@ (local $0 i32) (local $1 i32) i32.const 1552 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1968 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1360 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2096 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2160 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $bindings/esm/mutableStringGlobal local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -171,7 +171,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -189,7 +189,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -200,14 +200,14 @@ (func $~lib/rt/itcms/Object#unlink (param $0 i32) (local $1 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 35044 @@ -225,7 +225,7 @@ return end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $0 i32.eqz if @@ -238,15 +238,15 @@ end local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#makeGray (param $0 i32) (local $1 i32) @@ -257,7 +257,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -276,7 +276,7 @@ global.get $~lib/rt/itcms/toSpace local.set $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 i32.const 2 i32.le_u @@ -285,7 +285,7 @@ else local.get $2 i32.const 2208 - i32.load $0 + i32.load i32.gt_u if i32.const 1552 @@ -300,13 +300,13 @@ i32.shl i32.const 2212 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 global.get $~lib/rt/itcms/white @@ -316,21 +316,45 @@ select local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -338,8 +362,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -351,10 +375,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -365,29 +389,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -395,10 +419,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -412,75 +436,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -502,7 +519,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -519,12 +536,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -541,17 +558,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -561,9 +578,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -588,13 +605,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -628,7 +645,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -684,19 +701,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -708,15 +725,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -724,23 +741,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1696 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -754,10 +773,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -765,23 +784,22 @@ if i32.const 0 i32.const 1696 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -793,52 +811,53 @@ if i32.const 0 i32.const 1696 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -846,7 +865,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -854,7 +873,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -865,10 +884,10 @@ end i32.const 35056 i32.const 0 - i32.store $0 + i32.store i32.const 36624 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -880,7 +899,7 @@ i32.const 35056 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -898,7 +917,7 @@ i32.const 35056 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -915,9 +934,10 @@ end i32.const 35056 i32.const 36628 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 35056 global.set $~lib/rt/tlsf/ROOT @@ -947,7 +967,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -960,19 +980,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -983,7 +1003,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -995,7 +1015,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -1008,12 +1028,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -1022,7 +1038,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1033,26 +1049,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1068,7 +1084,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1084,7 +1100,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1109,14 +1125,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1136,7 +1152,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1151,25 +1166,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1696 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1178,12 +1192,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1191,47 +1204,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1242,7 +1257,7 @@ if i32.const 0 i32.const 1696 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1252,7 +1267,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1269,10 +1284,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1288,13 +1303,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1696 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1309,7 +1324,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1336,7 +1351,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$71 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1348,16 +1363,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$71 end local.get $2 i32.const 0 @@ -1365,8 +1376,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1393,34 +1403,60 @@ if i32.const 1360 i32.const 1696 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1428,21 +1464,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1455,12 +1476,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1471,9 +1492,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1483,7 +1505,7 @@ if i32.const 0 i32.const 1696 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1491,14 +1513,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1696 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1507,8 +1529,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1517,95 +1539,95 @@ if i32.const 0 i32.const 1696 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1618,36 +1640,94 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $bindings/esm/newInternref (result i32) - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + i32.eqz if - i32.const 35072 - i32.const 35120 - i32.const 1 + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1424 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $bindings/esm/newInternref (result i32) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + if + i32.const 35072 + i32.const 35120 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 15 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1664,7 +1744,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1681,27 +1761,27 @@ call $~lib/rt/itcms/Object#unlink global.get $~lib/rt/itcms/pinSpace local.tee $3 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $3 i32.const 3 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end local.get $0 ) @@ -1717,7 +1797,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1741,27 +1821,27 @@ call $~lib/rt/itcms/Object#unlink global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end ) (func $~lib/rt/itcms/__collect @@ -1821,7 +1901,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $~lib/function/Function<%28%29=>void> $folding-inner1 $folding-inner1 $folding-inner1 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $~lib/array/Array<~lib/string/String> $bindings/esm/PlainObject $folding-inner1 $bindings/esm/NonPlainObject $invalid end return @@ -1839,19 +1919,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1874,7 +1949,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store br $folding-inner2 end global.get $~lib/memory/__stack_pointer @@ -1886,21 +1961,20 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl i32.add @@ -1911,11 +1985,11 @@ i32.lt_u if local.get $1 - i32.load $0 + i32.load local.tee $3 if local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $1 i32.const 4 @@ -1927,26 +2001,14 @@ br $folding-inner2 end local.get $0 - i32.load $0 offset=56 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=56 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=60 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=60 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=64 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=64 + call $~lib/rt/itcms/__visit return end return @@ -1961,24 +2023,16 @@ unreachable end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1989,35 +2043,12 @@ global.set $~argumentsLength ) (func $~start - (local $0 i32) global.get $~started if return end i32.const 1 global.set $~started - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 1152 - i32.store $0 i32.const 1152 i32.const 1 f64.const 42 @@ -2026,9 +2057,6 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 i32.const 1184 call $~lib/bindings/dom/console.log global.get $~lib/bindings/dom/Math.E @@ -2036,11 +2064,7 @@ drop call $bindings/esm/Date_getTimezoneOffset drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 35044 @@ -2050,26 +2074,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1476 i32.const 1472 - i32.store $0 + i32.store i32.const 1480 i32.const 1472 - i32.store $0 + i32.store i32.const 1472 global.set $~lib/rt/itcms/pinSpace i32.const 1508 i32.const 1504 - i32.store $0 + i32.store i32.const 1512 i32.const 1504 - i32.store $0 + i32.store i32.const 1504 global.set $~lib/rt/itcms/toSpace i32.const 1652 i32.const 1648 - i32.store $0 + i32.store i32.const 1656 i32.const 1648 - i32.store $0 + i32.store i32.const 1648 global.set $~lib/rt/itcms/fromSpace ) @@ -2087,16 +2111,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2105,16 +2128,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2123,27 +2145,26 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - block $__inlined_func$~lib/string/String#concat + i32.store + block $__inlined_func$~lib/string/String#concat$285 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.tee $4 @@ -2158,24 +2179,24 @@ global.set $~lib/memory/__stack_pointer i32.const 1760 local.set $2 - br $__inlined_func$~lib/string/String#concat + br $__inlined_func$~lib/string/String#concat$285 end global.get $~lib/memory/__stack_pointer local.get $2 i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 local.get $3 - memory.copy $0 $0 + memory.copy local.get $2 local.get $3 i32.add local.get $1 local.get $4 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2200,7 +2221,6 @@ unreachable ) (func $~lib/typedarray/Int16Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2217,25 +2237,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float32Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2252,25 +2268,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2287,15 +2299,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u i32.ge_u @@ -2308,18 +2319,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add local.get $2 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2331,8 +2341,6 @@ (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 @@ -2343,172 +2351,173 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 i64.const 0 - i64.store $0 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $2 + local.set $5 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $1 - call $~lib/typedarray/Float32Array#get:length - local.get $2 - i32.add - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $2 - i32.store $0 offset=4 - local.get $5 - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $8 - i64.const 0 - i64.store $0 - local.get $8 - i64.const 0 - i64.store $0 offset=8 - local.get $2 - i32.eqz - if + i32.store + block $__inlined_func$~lib/typedarray/Uint64Array#constructor (result i32) + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $5 + i32.add + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=4 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $6 - i32.const 134217727 - i32.gt_u - if - i32.const 1248 - i32.const 1296 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 3 - i32.shl - local.tee $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=12 - local.get $2 - local.get $6 - i32.store $0 - local.get $6 - if - local.get $2 - local.get $6 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $6 - i32.store $0 offset=4 - local.get $9 - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $8 - i32.store $0 offset=8 - local.get $9 - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $2 - i32.store $0 offset=4 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $5 + i32.const 134217727 + i32.gt_u + if + i32.const 1248 + i32.const 1296 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 3 + i32.shl + local.tee $7 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 + local.get $2 + local.get $5 + i32.store + local.get $2 + local.get $5 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + br $__inlined_func$~lib/typedarray/Uint64Array#constructor + end + br $folding-inner1 + end + local.tee $2 + i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $2 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2517,15 +2526,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u i32.ge_u @@ -2538,24 +2546,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $3 i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $6 - local.get $5 + i32.load16_s + local.set $5 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 local.get $3 - local.get $6 + local.get $5 i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set local.get $3 @@ -2570,19 +2577,18 @@ loop $for-loop|1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Float32Array#get:length local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $2 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.get $3 @@ -2590,7 +2596,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2600,15 +2606,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 0 - i32.store $0 - local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u i32.ge_u @@ -2621,18 +2626,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $4 - local.get $6 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2663,7 +2667,6 @@ unreachable ) (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2680,17 +2683,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.ge_u @@ -2707,16 +2709,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 + i32.load global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2733,17 +2732,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.ge_u @@ -2756,23 +2754,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2789,23 +2785,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2822,15 +2814,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1552 @@ -2841,22 +2832,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (local $2 i32) @@ -2878,15 +2866,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 2 i32.shr_u @@ -2905,8 +2892,8 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - block $__inlined_func$~lib/rt/itcms/__renew + i32.store + block $__inlined_func$~lib/rt/itcms/__renew$270 i32.const 1073741820 local.get $2 i32.const 1 @@ -2932,12 +2919,12 @@ select local.tee $3 local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const 20 i32.sub local.tee $4 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -2946,26 +2933,26 @@ if local.get $4 local.get $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew + br $__inlined_func$~lib/rt/itcms/__renew$270 end local.get $3 local.get $4 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $1 local.get $2 local.get $3 local.get $4 - i32.load $0 offset=16 + i32.load offset=16 local.tee $4 local.get $3 local.get $4 i32.lt_u select - memory.copy $0 $0 + memory.copy end local.get $1 local.get $2 @@ -2973,21 +2960,18 @@ if local.get $0 local.get $1 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link end local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3012,15 +2996,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -3042,68 +3025,184 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $bindings/esm/arrayFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + if + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 1552 + i32.const 1920 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $0 + i32.store offset=4 + local.get $0 + i32.eqz + if + i32.const 1968 + i32.const 1920 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2276 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + if + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 i32.lt_s - br_if $folding-inner0 + if + i32.const 1552 + i32.const 1920 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.tee $7 - i64.const 0 - i64.store $0 - local.get $7 - i32.const 0 - i32.store $0 offset=8 - local.get $7 local.get $0 - i32.store $0 + i32.store local.get $0 - call $~lib/array/Array#get:length - local.set $3 + local.get $3 + i32.store offset=12 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store + local.get $0 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:bindings/esm/bufferFunction (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array#get:length - local.get $3 - i32.add - local.set $4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3111,180 +3210,78 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i64.const 0 - i64.store $0 offset=8 - local.get $3 - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + i64.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.store $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.store $0 offset=4 - local.get $3 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + local.tee $4 + local.get $2 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 - local.get $5 - i32.store $0 offset=4 + i32.store local.get $5 - i32.const 0 - i32.store $0 offset=12 - local.get $4 - i32.const 268435455 + i32.const 1073741820 i32.gt_u if i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 + i32.const 1296 + i32.const 52 + i32.const 43 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $4 - local.get $4 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $3 + local.get $5 i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=12 - local.get $5 - local.get $6 - i32.store $0 - local.get $6 - if - local.get $5 - local.get $6 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $6 - i32.store $0 offset=4 - local.get $8 - local.get $5 - i32.store $0 offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $5 - local.get $3 - i32.store $0 offset=8 - local.get $8 + i32.store offset=4 local.get $5 - i32.store $0 offset=4 + local.get $0 + local.get $2 + memory.copy + local.get $2 local.get $5 + i32.add + local.get $1 local.get $4 - i32.store $0 offset=12 - local.get $8 - i32.const 16 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $5 - i32.store $0 offset=4 - loop $for-loop|0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $5 - local.get $2 - local.get $0 - local.get $2 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 0 - local.set $2 - loop $for-loop|1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $5 - local.get $3 - local.get $1 - local.get $2 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $5 @@ -3297,8 +3294,7 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $export:bindings/esm/stringFunction (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3315,140 +3311,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $1 local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1552 - i32.const 1920 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $0 - i32.load $0 offset=4 local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.eqz - if - i32.const 1968 - i32.const 1920 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end + local.get $1 + call $bindings/esm/stringFunction global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/array/Array<~lib/string/String>#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $export:bindings/esm/stringFunctionOptional@varargs (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1552 - i32.const 1920 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $3 - call $~lib/array/ensureCapacity - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 offset=12 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store $0 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -3457,28 +3335,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 - local.get $0 - i32.store $0 local.get $0 - call $~lib/array/Array#get:length - local.set $4 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array#get:length - local.get $4 - i32.add - local.set $4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3486,193 +3349,44 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 i64.const 0 - i64.store $0 offset=8 - local.get $5 - i32.const 16 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.store $0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.store $0 offset=4 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 i32.const 0 - i32.store $0 offset=8 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 0 - i32.store $0 offset=12 - local.get $4 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + i32.store offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 1088 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store end global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $4 - local.get $4 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $7 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=12 - local.get $5 - local.get $6 - i32.store $0 - local.get $6 - if - local.get $5 - local.get $6 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + call $bindings/esm/stringFunction global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $6 - i32.store $0 offset=4 - local.get $8 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $7 - i32.store $0 offset=8 - local.get $8 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $4 - i32.store $0 offset=12 - local.get $8 - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=4 - loop $for-loop|0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $5 - local.get $2 - local.get $3 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 0 - local.set $2 - loop $for-loop|1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array#get:length - local.get $2 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $5 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/array/Array#get:length - local.get $2 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $5 - local.get $3 - local.get $4 - call $~lib/array/Array<~lib/string/String>#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 return end i32.const 35072 @@ -3682,123 +3396,7 @@ call $~lib/builtins/abort unreachable ) - (func $export:bindings/esm/bufferFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.set $4 - local.get $3 - local.get $1 - i32.store $0 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.tee $2 - local.get $4 - i32.add - local.set $5 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $5 - i32.const 1073741820 - i32.gt_u - if - i32.const 1248 - i32.const 1296 - i32.const 52 - i32.const 43 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $0 - local.get $4 - memory.copy $0 $0 - local.get $4 - local.get $5 - i32.add - local.get $1 - local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - end - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $export:bindings/esm/stringFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $export:bindings/esm/typedarrayFunction (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3815,139 +3413,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - call $bindings/esm/stringFunction - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - ) - (func $export:bindings/esm/stringFunctionOptional@varargs (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 1088 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $bindings/esm/stringFunction - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $export:bindings/esm/typedarrayFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + i32.store global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $bindings/esm/typedarrayFunction - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $export:bindings/esm/staticarrayFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3958,14 +3440,13 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - block $__inlined_func$bindings/esm/staticarrayFunction (result i32) - local.get $3 + i32.store offset=4 + block $__inlined_func$bindings/esm/staticarrayFunction$1 (result i32) + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -3975,35 +3456,33 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $4 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $4 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.add local.set $4 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4013,7 +3492,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $4 i32.const 268435455 i32.gt_u @@ -4032,34 +3511,32 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $4 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $4 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $2 local.get $0 @@ -4078,37 +3555,36 @@ loop $for-loop|1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $2 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $4 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.add - local.set $5 - local.get $3 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 - local.get $5 + local.get $3 local.get $1 local.get $2 call $~lib/staticarray/StaticArray#__get @@ -4125,16 +3601,14 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $4 - br $__inlined_func$bindings/esm/staticarrayFunction + br $__inlined_func$bindings/esm/staticarrayFunction$1 end br $folding-inner1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 35072 @@ -4145,7 +3619,6 @@ unreachable ) (func $export:bindings/esm/staticarrayU16 (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4162,10 +3635,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -4173,76 +3645,505 @@ ) (func $export:bindings/esm/arrayFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - call $bindings/esm/arrayFunction - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/array/Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store + local.get $6 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 + i32.const 268435455 + i32.gt_u + if + i32.const 1248 + i32.const 1920 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $5 + local.get $5 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $6 + local.get $4 + i32.store + local.get $6 + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $6 + local.get $2 + local.get $0 + local.get $2 + call $~lib/array/Array#__get + call $~lib/array/Array#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $6 + local.get $3 + local.get $1 + local.get $2 + call $~lib/array/Array#__get + call $~lib/array/Array#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + end + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $export:bindings/esm/arrayOfStringsFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2276 - i32.lt_s - if - i32.const 35072 - i32.const 35120 - i32.const 1 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/array/Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2276 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store + local.get $5 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 0 + i32.store offset=12 + local.get $4 + i32.const 268435455 + i32.gt_u + if + i32.const 1248 + i32.const 1920 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $4 + local.get $4 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $6 i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__new + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=12 + local.get $5 + local.get $3 + i32.store + local.get $5 + local.get $3 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $5 + local.get $2 + local.get $3 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 0 + local.set $2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $1 + local.get $2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $5 + local.get $3 + local.get $4 + call $~lib/array/Array<~lib/string/String>#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - call $bindings/esm/arrayOfStringsFunction - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 35072 + i32.const 35120 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $export:bindings/esm/objectFunction (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4253,13 +4154,12 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -4267,18 +4167,15 @@ i32.const 2276 i32.lt_s br_if $folding-inner1 - local.get $0 - local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - block $__inlined_func$bindings/esm/PlainObject#constructor (result i32) - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + block $__inlined_func$bindings/esm/PlainObject#constructor$4 (result i32) + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -4288,20 +4185,19 @@ i32.lt_s br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 68 i32.const 13 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 offset=4 - local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4311,169 +4207,179 @@ br_if $folding-inner00 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $0 + i32.store + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.tee $2 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $0 - i32.store $0 + local.get $2 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store8 $0 + i32.store8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store16 $0 offset=2 + i32.store16 offset=2 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store8 $0 offset=16 + i32.store8 offset=16 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store16 $0 offset=18 + i32.store16 offset=18 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 0 - i64.store $0 offset=24 + i64.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store8 $0 offset=40 + i32.store8 offset=40 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 0 - f32.store $0 offset=44 + f32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 0 - f64.store $0 offset=48 + f64.store offset=48 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=56 + i32.store offset=56 + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=60 + local.get $2 + i32.const 0 i32.const 0 - i32.store $0 offset=60 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=64 + local.get $2 i32.const 0 - i32.store $0 offset=64 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - br $__inlined_func$bindings/esm/PlainObject#constructor + local.get $2 + br $__inlined_func$bindings/esm/PlainObject#constructor$4 end br $folding-inner1 end - local.tee $3 - i32.store $0 + local.tee $2 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 offset=4 - local.get $4 local.get $2 - i32.store $0 offset=8 - local.get $2 - i32.load8_s $0 - local.set $0 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.load8_s + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $2 local.get $3 - local.get $0 local.get $1 - i32.load8_s $0 + i32.load8_s i32.add - i32.store8 $0 - local.get $4 - local.get $3 - i32.store $0 offset=4 - local.get $4 - local.get $2 - i32.store $0 offset=8 + i32.store8 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.load16_s $0 offset=2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.load16_s offset=2 local.set $0 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + local.get $2 local.get $0 local.get $1 - i32.load16_s $0 offset=2 + i32.load16_s offset=2 i32.add - i32.store16 $0 offset=2 - local.get $4 + i32.store16 offset=2 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -4481,7 +4387,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 return end i32.const 35072 @@ -4492,7 +4398,6 @@ unreachable ) (func $export:bindings/esm/internrefFunction (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4509,89 +4414,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1424 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $0 - local.get $1 - local.get $2 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - 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/bool-Oz.debug.wat b/tests/compiler/bool-Oz.debug.wat index c7830db992..87fb6ce2d2 100644 --- a/tests/compiler/bool-Oz.debug.wat +++ b/tests/compiler/bool-Oz.debug.wat @@ -1,6 +1,6 @@ (module (memory $0 1) - (data (i32.const 12) ",") - (data (i32.const 24) "\02\00\00\00\14\00\00\00b\00o\00o\00l\00-\00O\00z\00.\00t\00s") + (data $0 (i32.const 12) ",") + (data $0.1 (i32.const 24) "\02\00\00\00\14\00\00\00b\00o\00o\00l\00-\00O\00z\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/bool-Oz.release.wat b/tests/compiler/bool-Oz.release.wat index c7830db992..87fb6ce2d2 100644 --- a/tests/compiler/bool-Oz.release.wat +++ b/tests/compiler/bool-Oz.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) - (data (i32.const 12) ",") - (data (i32.const 24) "\02\00\00\00\14\00\00\00b\00o\00o\00l\00-\00O\00z\00.\00t\00s") + (data $0 (i32.const 12) ",") + (data $0.1 (i32.const 24) "\02\00\00\00\14\00\00\00b\00o\00o\00l\00-\00O\00z\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/bool.debug.wat b/tests/compiler/bool.debug.wat index ec638fed30..35346823bc 100644 --- a/tests/compiler/bool.debug.wat +++ b/tests/compiler/bool.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $bool/i (mut i32) (i32.const 2)) (global $bool/I (mut i64) (i64.const 2)) @@ -45,7 +45,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/bool.release.wat b/tests/compiler/bool.release.wat index c482a19e27..b107d68536 100644 --- a/tests/compiler/bool.release.wat +++ b/tests/compiler/bool.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\0e\00\00\00b\00o\00o\00l\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/builtins.debug.wat b/tests/compiler/builtins.debug.wat index 63aea1769d..fd74409ab4 100644 --- a/tests/compiler/builtins.debug.wat +++ b/tests/compiler/builtins.debug.wat @@ -1,11 +1,11 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32 i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $6 (func (param i32 i32 f64 f64 f64 f64 f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (global $builtins/b (mut i32) (i32.const 0)) @@ -61,33 +61,33 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33772)) (global $~lib/memory/__heap_base i32 (i32.const 33772)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") - (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\008\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00(\00)\00 \00{\00 \00[\00n\00a\00t\00i\00v\00e\00 \00c\00o\00d\00e\00]\00 \00}\00\00\00\00\00") - (data (i32.const 236) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00i\00g\00n\00a\00t\00u\00r\00e\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00t\00e\00s\00t\00i\00n\00g\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00F\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00C\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\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") - (data (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00b\00o\00o\00l\00\00\00\00\00") - (data (i32.const 476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00i\008\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00u\008\00\00\00\00\00\00\00\00\00") - (data (i32.const 540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\001\006\00\00\00\00\00\00\00") - (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\001\006\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\003\002\00\00\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00f\003\002\00\00\00\00\00\00\00") - (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\006\004\00\00\00\00\00\00\00") - (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\006\004\00\00\00\00\00\00\00") - (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00f\006\004\00\00\00\00\00\00\00") - (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00i\00s\00i\00z\00e\00\00\00") - (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00u\00s\00i\00z\00e\00\00\00") - (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00v\00o\00i\00d\00\00\00\00\00") - (data (i32.const 892) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00o\00m\00e\00 \00v\00a\00l\00u\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") + (data $2 (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s\00\00\00\00\00\00\00") + (data $3 (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 156) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\008\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00(\00)\00 \00{\00 \00[\00n\00a\00t\00i\00v\00e\00 \00c\00o\00d\00e\00]\00 \00}\00\00\00\00\00") + (data $5 (i32.const 236) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00i\00g\00n\00a\00t\00u\00r\00e\00s\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00t\00e\00s\00t\00i\00n\00g\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00F\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") + (data $10 (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00b\00o\00o\00l\00\00\00\00\00") + (data $11 (i32.const 476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00i\008\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00u\008\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\001\006\00\00\00\00\00\00\00") + (data $14 (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\001\006\00\00\00\00\00\00\00") + (data $15 (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") + (data $16 (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\003\002\00\00\00\00\00\00\00") + (data $17 (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00f\003\002\00\00\00\00\00\00\00") + (data $18 (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\006\004\00\00\00\00\00\00\00") + (data $19 (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00u\006\004\00\00\00\00\00\00\00") + (data $20 (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00f\006\004\00\00\00\00\00\00\00") + (data $21 (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00i\00s\00i\00z\00e\00\00\00") + (data $22 (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00u\00s\00i\00z\00e\00\00\00") + (data $23 (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00v\00o\00i\00d\00\00\00\00\00") + (data $24 (i32.const 892) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00o\00m\00e\00 \00v\00a\00l\00u\00e\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $26 (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") (table $0 4 4 funcref) (elem $0 (i32.const 1) $start:builtins~anonymous|0 $start:builtins~anonymous|1 $start:builtins~anonymous|2) (export "test" (func $builtins/test)) @@ -101,7 +101,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:index (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load return ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:name (param $this i32) (result i32) @@ -110,7 +110,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -162,9 +162,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -197,10 +197,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -254,10 +254,8 @@ return ) (func $start:builtins~anonymous|1 - nop ) (func $start:builtins~anonymous|2 (param $a i32) (param $b i32) (param $c i32) (param $d i32) - nop ) (func $builtins/max3 (param $a i32) (param $b i32) (param $c i32) (result i32) (local $3 i32) @@ -382,7 +380,6 @@ return ) (func $builtins/test - nop ) (func $~start call $start:builtins @@ -410,7 +407,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -448,7 +445,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -457,7 +454,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -475,14 +472,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -551,27 +548,14 @@ (local $51 i32) (local $52 i32) (local $53 i32) - (local $54 i32) - (local $55 i32) - (local $56 i32) - (local $57 i64) - (local $58 i64) - (local $59 i64) - (local $60 i64) - (local $61 i32) - (local $62 i32) - (local $63 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store i32.const 1 drop i32.const 0 @@ -2246,132 +2230,132 @@ f32.div global.set $builtins/f i32.const 8 - i32.load $0 + i32.load global.set $builtins/i i32.const 8 global.get $builtins/i - i32.store $0 + i32.store i32.const 8 i32.const 8 - i32.load $0 - i32.store $0 + i32.load + i32.store i32.const 8 - i64.load $0 + i64.load global.set $builtins/I i32.const 8 global.get $builtins/I - i64.store $0 + i64.store i32.const 8 i32.const 8 - i64.load $0 - i64.store $0 + i64.load + i64.store i32.const 8 - f32.load $0 + f32.load global.set $builtins/f i32.const 8 global.get $builtins/f - f32.store $0 + f32.store i32.const 8 i32.const 8 - f32.load $0 - f32.store $0 + f32.load + f32.store i32.const 8 - f64.load $0 + f64.load global.set $builtins/F i32.const 8 global.get $builtins/F - f64.store $0 + f64.store i32.const 8 i32.const 8 - f64.load $0 - f64.store $0 + f64.load + f64.store i32.const 0 - i32.load $0 offset=8 + i32.load offset=8 global.set $builtins/i i32.const 0 global.get $builtins/i - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 i32.const 0 - i32.load $0 offset=8 - i32.store $0 offset=8 + i32.load offset=8 + i32.store offset=8 i32.const 0 - i64.load $0 offset=8 + i64.load offset=8 global.set $builtins/I i32.const 0 global.get $builtins/I - i64.store $0 offset=8 + i64.store offset=8 i32.const 0 i32.const 0 - i64.load $0 offset=8 - i64.store $0 offset=8 + i64.load offset=8 + i64.store offset=8 i32.const 0 - f32.load $0 offset=8 + f32.load offset=8 global.set $builtins/f i32.const 0 global.get $builtins/f - f32.store $0 offset=8 + f32.store offset=8 i32.const 0 i32.const 0 - f32.load $0 offset=8 - f32.store $0 offset=8 + f32.load offset=8 + f32.store offset=8 i32.const 0 - f64.load $0 offset=8 + f64.load offset=8 global.set $builtins/F i32.const 0 global.get $builtins/F - f64.store $0 offset=8 + f64.store offset=8 i32.const 0 i32.const 0 - f64.load $0 offset=8 - f64.store $0 offset=8 + f64.load offset=8 + f64.store offset=8 i32.const 8 - i32.load8_s $0 + i32.load8_s global.set $builtins/i i32.const 8 - i32.load16_s $0 + i32.load16_s global.set $builtins/i i32.const 8 - i32.load $0 + i32.load global.set $builtins/i i32.const 8 - i32.load8_u $0 + i32.load8_u global.set $builtins/i i32.const 8 - i32.load16_u $0 + i32.load16_u global.set $builtins/i i32.const 8 - i32.load $0 + i32.load global.set $builtins/i i32.const 8 - i32.load8_u $0 + i32.load8_u global.set $builtins/u i32.const 8 - i32.load16_u $0 + i32.load16_u global.set $builtins/u i32.const 8 - i32.load $0 + i32.load global.set $builtins/u i32.const 8 - i32.load8_s $0 + i32.load8_s global.set $builtins/u i32.const 8 - i32.load16_s $0 + i32.load16_s global.set $builtins/u i32.const 8 - i32.load $0 + i32.load global.set $builtins/u i32.const 8 - i64.load8_s $0 + i64.load8_s global.set $builtins/I i32.const 8 - i64.load16_s $0 + i64.load16_s global.set $builtins/I i32.const 8 - i64.load32_s $0 + i64.load32_s global.set $builtins/I i32.const 8 - i64.load $0 + i64.load global.set $builtins/I i32.const 15 i32.const 4 @@ -2390,42 +2374,42 @@ unreachable end i32.const 8 - i64.load8_u $0 + i64.load8_u global.set $builtins/U i32.const 8 - i64.load16_u $0 + i64.load16_u global.set $builtins/U i32.const 8 - i64.load32_u $0 + i64.load32_u global.set $builtins/U i32.const 8 - i64.load $0 + i64.load global.set $builtins/U i32.const 8 i32.const 1 - i32.store8 $0 + i32.store8 i32.const 8 i32.const 1 - i32.store16 $0 + i32.store16 i32.const 8 i32.const 1 - i32.store $0 + i32.store i32.const 8 i64.const 1 - i64.store8 $0 + i64.store8 i32.const 8 i64.const 1 - i64.store16 $0 + i64.store16 i32.const 8 i64.const 1 - i64.store32 $0 + i64.store32 i32.const 8 i64.const 1 - i64.store $0 + i64.store i32.const 8 i32.const 1 i64.extend_i32_s - i64.store $0 + i64.store i64.const 15 i64.const 4 i64.rem_u @@ -2466,15 +2450,15 @@ i64.const 25 f64.reinterpret_i64 global.set $builtins/F - memory.size $0 + memory.size drop i32.const 1 - memory.grow $0 + memory.grow drop - memory.size $0 + memory.size global.set $builtins/s i32.const 1 - memory.grow $0 + memory.grow global.set $builtins/s i32.const 10 i32.const 20 @@ -2526,8 +2510,8 @@ i32.const 2 global.set $~argumentsLength global.get $builtins/fn - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 3 i32.eq i32.eqz @@ -2543,13 +2527,13 @@ i32.const 2 i32.const 3 global.get $builtins/fn - local.set $63 + local.set $53 global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 + local.get $53 + i32.store + local.get $53 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:index - call_indirect $0 (type $i32_i32_=>_i32) + call_indirect (type $2) i32.eq i32.eqz if @@ -2561,23 +2545,18 @@ unreachable end global.get $builtins/fn - local.set $63 + local.set $53 global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=8 - local.get $63 + local.get $53 + i32.store offset=4 + local.get $53 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:name - local.set $63 + local.set $53 global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 + local.get $53 + i32.store + local.get $53 i32.const 32 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -2589,11 +2568,11 @@ unreachable end global.get $builtins/fn - local.set $63 + local.set $53 global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 + local.get $53 + i32.store + local.get $53 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:length i32.const 2 i32.eq @@ -2607,11 +2586,11 @@ unreachable end global.get $builtins/fn - local.set $63 + local.set $53 global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 + local.get $53 + i32.store + local.get $53 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:length i32.const 2 i32.eq @@ -2625,23 +2604,18 @@ unreachable end global.get $builtins/fn - local.set $63 + local.set $53 global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=8 - local.get $63 + local.get $53 + i32.store offset=4 + local.get $53 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#toString - local.set $63 + local.set $53 global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 + local.get $53 + i32.store + local.get $53 i32.const 176 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3025,46 +2999,46 @@ i64.div_u drop i32.const 8 - i32.load8_s $0 + i32.load8_s drop i32.const 8 - i32.load8_u $0 + i32.load8_u drop i32.const 8 - i32.load16_s $0 + i32.load16_s drop i32.const 8 - i32.load16_u $0 + i32.load16_u drop i32.const 8 - i32.load $0 + i32.load drop i32.const 8 - i64.load8_s $0 + i64.load8_s drop i32.const 8 - i64.load8_u $0 + i64.load8_u drop i32.const 8 - i64.load16_s $0 + i64.load16_s drop i32.const 8 - i64.load16_u $0 + i64.load16_u drop i32.const 8 - i64.load32_s $0 + i64.load32_s drop i32.const 8 - i64.load32_u $0 + i64.load32_u drop i32.const 8 - i64.load $0 + i64.load drop i32.const 8 - f32.load $0 + f32.load drop i32.const 8 - f64.load $0 + f64.load drop f32.const 1 f32.const 2 @@ -3150,31 +3124,31 @@ drop i32.const 8 i32.const 1 - i32.store8 $0 + i32.store8 i32.const 8 i32.const 1 - i32.store16 $0 + i32.store16 i32.const 8 i32.const 1 - i32.store $0 + i32.store i32.const 8 i64.const 1 - i64.store8 $0 + i64.store8 i32.const 8 i64.const 1 - i64.store16 $0 + i64.store16 i32.const 8 i64.const 1 - i64.store32 $0 + i64.store32 i32.const 8 i64.const 1 - i64.store $0 + i64.store i32.const 8 f32.const 1 - f32.store $0 + f32.store i32.const 8 f64.const 1 - f64.store $0 + f64.store f32.const 1 f32.trunc drop @@ -3283,11 +3257,6 @@ i32.const 52 local.set $52 i32.const 256 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 5 local.get $48 f64.convert_i32_u @@ -3349,17 +3318,7 @@ unreachable end i32.const 352 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 352 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3371,17 +3330,7 @@ unreachable end i32.const 352 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 352 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3393,17 +3342,7 @@ unreachable end i32.const 400 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 400 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3415,17 +3354,7 @@ unreachable end i32.const 432 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 432 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3437,17 +3366,7 @@ unreachable end i32.const 464 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 464 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3459,17 +3378,7 @@ unreachable end i32.const 496 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 496 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3481,17 +3390,7 @@ unreachable end i32.const 528 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 528 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3503,17 +3402,7 @@ unreachable end i32.const 560 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 560 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3525,17 +3414,7 @@ unreachable end i32.const 592 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 592 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3547,17 +3426,7 @@ unreachable end i32.const 624 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 624 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3569,17 +3438,7 @@ unreachable end i32.const 656 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 656 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3591,17 +3450,7 @@ unreachable end i32.const 688 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 688 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3613,17 +3462,7 @@ unreachable end i32.const 720 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 720 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3635,17 +3474,7 @@ unreachable end i32.const 752 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 752 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3657,17 +3486,7 @@ unreachable end i32.const 784 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 784 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3679,17 +3498,7 @@ unreachable end i32.const 816 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 816 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3701,17 +3510,7 @@ unreachable end i32.const 848 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 848 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3723,17 +3522,7 @@ unreachable end i32.const 880 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 880 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3745,17 +3534,7 @@ unreachable end i32.const 432 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 432 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3767,17 +3546,7 @@ unreachable end i32.const 352 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 - local.get $63 i32.const 352 - local.set $63 - global.get $~lib/memory/__stack_pointer - local.get $63 - i32.store $0 offset=4 - local.get $63 call $~lib/string/String.__eq i32.eqz if @@ -3914,164 +3683,8 @@ call $~lib/builtins/abort unreachable end - i32.const 170 - i32.const 170 - i32.eq - drop - i32.const 170 - i32.extend8_s - i32.const 255 - i32.and - i32.const 170 - i32.eq - drop - i32.const 43707 - local.tee $53 - i32.const 8 - i32.shl - local.get $53 - i32.const 8 - i32.shr_u - i32.or - i32.const 65535 - i32.and - i32.const 48042 - i32.eq - drop - i32.const 43707 - i32.extend16_s - i32.const 65535 - i32.and - local.tee $54 - i32.const 8 - i32.shl - local.get $54 - i32.const 8 - i32.shr_u - i32.or - i32.const 65535 - i32.and - i32.const 48042 - i32.eq - drop - i32.const -1430532899 - local.tee $55 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $55 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or - i32.const -573785174 - i32.eq - drop - i32.const -1430532899 - local.tee $56 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $56 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or - i32.const -573785174 - i32.eq - drop - i64.const 4822679907192029 - local.tee $57 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $57 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $58 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $58 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - i64.const -2464388556401798912 - i64.eq - drop - i64.const 4822679907192029 - local.tee $59 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $59 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $60 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $60 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - i64.const -2464388556401798912 - i64.eq - drop - i32.const -1430532899 - local.tee $61 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $61 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or - i32.const -573785174 - i32.eq - drop - i32.const -1430532899 - local.tee $62 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $62 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or - i32.const -573785174 - i32.eq - drop global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/builtins.release.wat b/tests/compiler/builtins.release.wat index 8aed85b56d..a22c2024c1 100644 --- a/tests/compiler/builtins.release.wat +++ b/tests/compiler/builtins.release.wat @@ -1,8 +1,8 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32 i32 i32))) + (type $3 (func (param i32 i32 f64 f64 f64 f64 f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (global $builtins/i (mut i32) (i32.const 0)) @@ -11,60 +11,60 @@ (global $builtins/F (mut f64) (f64.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34796)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02") - (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\02\00\00\00\06\00\00\00a\00b\00c") - (data (i32.const 1100) ",") - (data (i32.const 1112) "\02\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s") - (data (i32.const 1148) "\1c") - (data (i32.const 1160) "\07\00\00\00\08\00\00\00\01") - (data (i32.const 1180) "L") - (data (i32.const 1192) "\02\00\00\008\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00(\00)\00 \00{\00 \00[\00n\00a\00t\00i\00v\00e\00 \00c\00o\00d\00e\00]\00 \00}") - (data (i32.const 1260) ",") - (data (i32.const 1272) "\02\00\00\00\14\00\00\00s\00i\00g\00n\00a\00t\00u\00r\00e\00s") - (data (i32.const 1308) ",") - (data (i32.const 1320) "\02\00\00\00\0e\00\00\00t\00e\00s\00t\00i\00n\00g") - (data (i32.const 1356) ",") - (data (i32.const 1368) "\02\00\00\00\10\00\00\00F\00u\00n\00c\00t\00i\00o\00n") - (data (i32.const 1404) "\1c") - (data (i32.const 1416) "\02\00\00\00\02\00\00\00C") - (data (i32.const 1436) "\1c") - (data (i32.const 1448) "\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") - (data (i32.const 1468) "\1c") - (data (i32.const 1480) "\02\00\00\00\08\00\00\00b\00o\00o\00l") - (data (i32.const 1500) "\1c") - (data (i32.const 1512) "\02\00\00\00\04\00\00\00i\008") - (data (i32.const 1532) "\1c") - (data (i32.const 1544) "\02\00\00\00\04\00\00\00u\008") - (data (i32.const 1564) "\1c") - (data (i32.const 1576) "\02\00\00\00\06\00\00\00i\001\006") - (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\02\00\00\00\06\00\00\00u\001\006") - (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\02\00\00\00\06\00\00\00i\003\002") - (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\02\00\00\00\06\00\00\00u\003\002") - (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\02\00\00\00\06\00\00\00f\003\002") - (data (i32.const 1724) "\1c") - (data (i32.const 1736) "\02\00\00\00\06\00\00\00i\006\004") - (data (i32.const 1756) "\1c") - (data (i32.const 1768) "\02\00\00\00\06\00\00\00u\006\004") - (data (i32.const 1788) "\1c") - (data (i32.const 1800) "\02\00\00\00\06\00\00\00f\006\004") - (data (i32.const 1820) "\1c") - (data (i32.const 1832) "\02\00\00\00\n\00\00\00i\00s\00i\00z\00e") - (data (i32.const 1852) "\1c") - (data (i32.const 1864) "\02\00\00\00\n\00\00\00u\00s\00i\00z\00e") - (data (i32.const 1884) "\1c") - (data (i32.const 1896) "\02\00\00\00\08\00\00\00v\00o\00i\00d") - (data (i32.const 1916) ",") - (data (i32.const 1928) "\02\00\00\00\14\00\00\00s\00o\00m\00e\00 \00v\00a\00l\00u\00e") - (data (i32.const 1964) "\1c") - (data (i32.const 1976) "\0c\00\00\00\08\00\00\00\02") - (data (i32.const 1996) "\1c") - (data (i32.const 2008) "\r\00\00\00\08\00\00\00\03") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02") + (data $1 (i32.const 1068) "\1c") + (data $1.1 (i32.const 1080) "\02\00\00\00\06\00\00\00a\00b\00c") + (data $2 (i32.const 1100) ",") + (data $2.1 (i32.const 1112) "\02\00\00\00\16\00\00\00b\00u\00i\00l\00t\00i\00n\00s\00.\00t\00s") + (data $3 (i32.const 1148) "\1c") + (data $3.1 (i32.const 1160) "\07\00\00\00\08\00\00\00\01") + (data $4 (i32.const 1180) "L") + (data $4.1 (i32.const 1192) "\02\00\00\008\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00(\00)\00 \00{\00 \00[\00n\00a\00t\00i\00v\00e\00 \00c\00o\00d\00e\00]\00 \00}") + (data $5 (i32.const 1260) ",") + (data $5.1 (i32.const 1272) "\02\00\00\00\14\00\00\00s\00i\00g\00n\00a\00t\00u\00r\00e\00s") + (data $6 (i32.const 1308) ",") + (data $6.1 (i32.const 1320) "\02\00\00\00\0e\00\00\00t\00e\00s\00t\00i\00n\00g") + (data $7 (i32.const 1356) ",") + (data $7.1 (i32.const 1368) "\02\00\00\00\10\00\00\00F\00u\00n\00c\00t\00i\00o\00n") + (data $8 (i32.const 1404) "\1c") + (data $8.1 (i32.const 1416) "\02\00\00\00\02\00\00\00C") + (data $9 (i32.const 1436) "\1c") + (data $9.1 (i32.const 1448) "\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") + (data $10 (i32.const 1468) "\1c") + (data $10.1 (i32.const 1480) "\02\00\00\00\08\00\00\00b\00o\00o\00l") + (data $11 (i32.const 1500) "\1c") + (data $11.1 (i32.const 1512) "\02\00\00\00\04\00\00\00i\008") + (data $12 (i32.const 1532) "\1c") + (data $12.1 (i32.const 1544) "\02\00\00\00\04\00\00\00u\008") + (data $13 (i32.const 1564) "\1c") + (data $13.1 (i32.const 1576) "\02\00\00\00\06\00\00\00i\001\006") + (data $14 (i32.const 1596) "\1c") + (data $14.1 (i32.const 1608) "\02\00\00\00\06\00\00\00u\001\006") + (data $15 (i32.const 1628) "\1c") + (data $15.1 (i32.const 1640) "\02\00\00\00\06\00\00\00i\003\002") + (data $16 (i32.const 1660) "\1c") + (data $16.1 (i32.const 1672) "\02\00\00\00\06\00\00\00u\003\002") + (data $17 (i32.const 1692) "\1c") + (data $17.1 (i32.const 1704) "\02\00\00\00\06\00\00\00f\003\002") + (data $18 (i32.const 1724) "\1c") + (data $18.1 (i32.const 1736) "\02\00\00\00\06\00\00\00i\006\004") + (data $19 (i32.const 1756) "\1c") + (data $19.1 (i32.const 1768) "\02\00\00\00\06\00\00\00u\006\004") + (data $20 (i32.const 1788) "\1c") + (data $20.1 (i32.const 1800) "\02\00\00\00\06\00\00\00f\006\004") + (data $21 (i32.const 1820) "\1c") + (data $21.1 (i32.const 1832) "\02\00\00\00\n\00\00\00i\00s\00i\00z\00e") + (data $22 (i32.const 1852) "\1c") + (data $22.1 (i32.const 1864) "\02\00\00\00\n\00\00\00u\00s\00i\00z\00e") + (data $23 (i32.const 1884) "\1c") + (data $23.1 (i32.const 1896) "\02\00\00\00\08\00\00\00v\00o\00i\00d") + (data $24 (i32.const 1916) ",") + (data $24.1 (i32.const 1928) "\02\00\00\00\14\00\00\00s\00o\00m\00e\00 \00v\00a\00l\00u\00e") + (data $25 (i32.const 1964) "\1c") + (data $25.1 (i32.const 1976) "\0c\00\00\00\08\00\00\00\02") + (data $26 (i32.const 1996) "\1c") + (data $26.1 (i32.const 2008) "\r\00\00\00\08\00\00\00\03") (table $0 4 4 funcref) (elem $0 (i32.const 1) $start:builtins~anonymous|0 $start:builtins~anonymous|1 $start:builtins~anonymous|2) (export "test" (func $start:builtins~anonymous|1)) @@ -76,10 +76,8 @@ i32.add ) (func $start:builtins~anonymous|1 - nop ) (func $start:builtins~anonymous|2 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - nop ) (func $~start call $start:builtins @@ -106,7 +104,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -126,55 +124,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -195,7 +195,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$2 loop $while-continue|1 local.get $0 local.tee $3 @@ -205,17 +205,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$2 local.get $2 i32.const 2 i32.add @@ -245,9 +245,8 @@ i32.const 0 ) (func $start:builtins - (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -262,12 +261,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 + i64.store i32.const 1 global.set $builtins/i i32.const 0 @@ -445,154 +440,154 @@ f32.const 1 global.set $builtins/f i32.const 8 - i32.load $0 + i32.load global.set $builtins/i i32.const 8 global.get $builtins/i - i32.store $0 + i32.store i32.const 8 i32.const 8 - i32.load $0 - i32.store $0 + i32.load + i32.store i32.const 8 - i64.load $0 + i64.load global.set $builtins/I i32.const 8 global.get $builtins/I - i64.store $0 + i64.store i32.const 8 i32.const 8 - i64.load $0 - i64.store $0 + i64.load + i64.store i32.const 8 - f32.load $0 + f32.load global.set $builtins/f i32.const 8 global.get $builtins/f - f32.store $0 + f32.store i32.const 8 i32.const 8 - f32.load $0 - f32.store $0 + f32.load + f32.store i32.const 8 - f64.load $0 + f64.load global.set $builtins/F i32.const 8 global.get $builtins/F - f64.store $0 + f64.store i32.const 8 i32.const 8 - f64.load $0 - f64.store $0 + f64.load + f64.store i32.const 8 - i32.load $0 + i32.load global.set $builtins/i i32.const 8 global.get $builtins/i - i32.store $0 + i32.store i32.const 8 i32.const 8 - i32.load $0 - i32.store $0 + i32.load + i32.store i32.const 8 - i64.load $0 + i64.load global.set $builtins/I i32.const 8 global.get $builtins/I - i64.store $0 + i64.store i32.const 8 i32.const 8 - i64.load $0 - i64.store $0 + i64.load + i64.store i32.const 8 - f32.load $0 + f32.load global.set $builtins/f i32.const 8 global.get $builtins/f - f32.store $0 + f32.store i32.const 8 i32.const 8 - f32.load $0 - f32.store $0 + f32.load + f32.store i32.const 8 - f64.load $0 + f64.load global.set $builtins/F i32.const 8 global.get $builtins/F - f64.store $0 + f64.store i32.const 8 i32.const 8 - f64.load $0 - f64.store $0 + f64.load + f64.store i32.const 8 - i32.load8_s $0 + i32.load8_s global.set $builtins/i i32.const 8 - i32.load16_s $0 + i32.load16_s global.set $builtins/i i32.const 8 - i32.load $0 + i32.load global.set $builtins/i i32.const 8 - i32.load8_u $0 + i32.load8_u global.set $builtins/i i32.const 8 - i32.load16_u $0 + i32.load16_u global.set $builtins/i i32.const 8 - i32.load $0 + i32.load global.set $builtins/i i32.const 8 - i32.load $0 + i32.load drop i32.const 8 - i64.load8_s $0 + i64.load8_s global.set $builtins/I i32.const 8 - i64.load16_s $0 + i64.load16_s global.set $builtins/I i32.const 8 - i64.load32_s $0 + i64.load32_s global.set $builtins/I i32.const 8 - i64.load $0 + i64.load global.set $builtins/I i32.const 8 - i64.load8_u $0 + i64.load8_u drop i32.const 8 - i64.load16_u $0 + i64.load16_u drop i32.const 8 - i64.load32_u $0 + i64.load32_u drop i32.const 8 - i64.load $0 + i64.load drop i32.const 8 i32.const 1 - i32.store8 $0 + i32.store8 i32.const 8 i32.const 1 - i32.store16 $0 + i32.store16 i32.const 8 i32.const 1 - i32.store $0 + i32.store i32.const 8 i64.const 1 - i64.store8 $0 + i64.store8 i32.const 8 i64.const 1 - i64.store16 $0 + i64.store16 i32.const 8 i64.const 1 - i64.store32 $0 + i64.store32 i32.const 8 i64.const 1 - i64.store $0 + i64.store i32.const 8 i64.const 1 - i64.store $0 + i64.store i32.const 1067450368 global.set $builtins/i f32.const 3.5032461608120427e-44 @@ -601,15 +596,15 @@ global.set $builtins/I f64.const 1.24e-322 global.set $builtins/F - memory.size $0 + memory.size drop i32.const 1 - memory.grow $0 + memory.grow drop - memory.size $0 + memory.size drop i32.const 1 - memory.grow $0 + memory.grow drop i32.const 10 global.set $builtins/i @@ -622,8 +617,8 @@ i32.const 1 i32.const 2 i32.const 1168 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 3 i32.ne if @@ -636,12 +631,12 @@ end global.get $~lib/memory/__stack_pointer i32.const 1168 - i32.store $0 + i32.store i32.const 2 i32.const 3 i32.const 1168 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 5 i32.ne if @@ -653,15 +648,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1168 - i32.store $0 offset=8 - local.get $0 - i32.const 1056 - i32.store $0 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -675,21 +666,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1168 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1168 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1168 - i32.store $0 offset=8 - local.get $0 - i32.const 1200 - i32.store $0 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 1200 - i32.store $0 offset=4 + i32.store i32.const 1200 i32.const 1200 call $~lib/string/String.__eq @@ -703,77 +690,74 @@ unreachable end i32.const 8 - i32.load8_s $0 + i32.load8_s drop i32.const 8 - i32.load8_u $0 + i32.load8_u drop i32.const 8 - i32.load16_s $0 + i32.load16_s drop i32.const 8 - i32.load16_u $0 + i32.load16_u drop i32.const 8 - i32.load $0 + i32.load drop i32.const 8 - i64.load8_s $0 + i64.load8_s drop i32.const 8 - i64.load8_u $0 + i64.load8_u drop i32.const 8 - i64.load16_s $0 + i64.load16_s drop i32.const 8 - i64.load16_u $0 + i64.load16_u drop i32.const 8 - i64.load32_s $0 + i64.load32_s drop i32.const 8 - i64.load32_u $0 + i64.load32_u drop i32.const 8 - i64.load $0 + i64.load drop i32.const 8 - f32.load $0 + f32.load drop i32.const 8 - f64.load $0 + f64.load drop i32.const 8 i32.const 1 - i32.store8 $0 + i32.store8 i32.const 8 i32.const 1 - i32.store16 $0 + i32.store16 i32.const 8 i32.const 1 - i32.store $0 + i32.store i32.const 8 i64.const 1 - i64.store8 $0 + i64.store8 i32.const 8 i64.const 1 - i64.store16 $0 + i64.store16 i32.const 8 i64.const 1 - i64.store32 $0 + i64.store32 i32.const 8 i64.const 1 - i64.store $0 + i64.store i32.const 8 f32.const 1 - f32.store $0 + f32.store i32.const 8 f64.const 1 - f64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1280 - i32.store $0 + f64.store i32.const 1280 i32.const 5 f64.const 0 @@ -782,13 +766,6 @@ f64.const 52 f64.const 52 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1376 - i32.store $0 - local.get $0 - i32.const 1376 - i32.store $0 offset=4 i32.const 1376 i32.const 1376 call $~lib/string/String.__eq @@ -801,13 +778,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1376 - i32.store $0 - local.get $0 - i32.const 1376 - i32.store $0 offset=4 i32.const 1376 i32.const 1376 call $~lib/string/String.__eq @@ -820,13 +790,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1424 - i32.store $0 - local.get $0 - i32.const 1424 - i32.store $0 offset=4 i32.const 1424 i32.const 1424 call $~lib/string/String.__eq @@ -839,13 +802,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1456 - i32.store $0 - local.get $0 - i32.const 1456 - i32.store $0 offset=4 i32.const 1456 i32.const 1456 call $~lib/string/String.__eq @@ -858,13 +814,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1488 - i32.store $0 - local.get $0 - i32.const 1488 - i32.store $0 offset=4 i32.const 1488 i32.const 1488 call $~lib/string/String.__eq @@ -877,13 +826,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1520 - i32.store $0 - local.get $0 - i32.const 1520 - i32.store $0 offset=4 i32.const 1520 i32.const 1520 call $~lib/string/String.__eq @@ -896,13 +838,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1552 - i32.store $0 - local.get $0 - i32.const 1552 - i32.store $0 offset=4 i32.const 1552 i32.const 1552 call $~lib/string/String.__eq @@ -915,13 +850,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1584 - i32.store $0 - local.get $0 - i32.const 1584 - i32.store $0 offset=4 i32.const 1584 i32.const 1584 call $~lib/string/String.__eq @@ -934,13 +862,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1616 - i32.store $0 - local.get $0 - i32.const 1616 - i32.store $0 offset=4 i32.const 1616 i32.const 1616 call $~lib/string/String.__eq @@ -953,13 +874,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1648 - i32.store $0 - local.get $0 - i32.const 1648 - i32.store $0 offset=4 i32.const 1648 i32.const 1648 call $~lib/string/String.__eq @@ -972,13 +886,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1680 - i32.store $0 - local.get $0 - i32.const 1680 - i32.store $0 offset=4 i32.const 1680 i32.const 1680 call $~lib/string/String.__eq @@ -991,13 +898,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1712 i32.const 1712 call $~lib/string/String.__eq @@ -1010,13 +910,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1744 - i32.store $0 - local.get $0 - i32.const 1744 - i32.store $0 offset=4 i32.const 1744 i32.const 1744 call $~lib/string/String.__eq @@ -1029,13 +922,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1776 - i32.store $0 - local.get $0 - i32.const 1776 - i32.store $0 offset=4 i32.const 1776 i32.const 1776 call $~lib/string/String.__eq @@ -1048,13 +934,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 i32.const 1808 i32.const 1808 call $~lib/string/String.__eq @@ -1067,13 +946,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1840 - i32.store $0 - local.get $0 - i32.const 1840 - i32.store $0 offset=4 i32.const 1840 i32.const 1840 call $~lib/string/String.__eq @@ -1086,13 +958,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1872 - i32.store $0 - local.get $0 - i32.const 1872 - i32.store $0 offset=4 i32.const 1872 i32.const 1872 call $~lib/string/String.__eq @@ -1105,13 +970,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1904 - i32.store $0 - local.get $0 - i32.const 1904 - i32.store $0 offset=4 i32.const 1904 i32.const 1904 call $~lib/string/String.__eq @@ -1124,13 +982,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1456 - i32.store $0 - local.get $0 - i32.const 1456 - i32.store $0 offset=4 i32.const 1456 i32.const 1456 call $~lib/string/String.__eq @@ -1143,13 +994,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1376 - i32.store $0 - local.get $0 - i32.const 1376 - i32.store $0 offset=4 i32.const 1376 i32.const 1376 call $~lib/string/String.__eq @@ -1163,7 +1007,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/builtins.ts b/tests/compiler/builtins.ts index 35c680b763..dafb8f9309 100644 --- a/tests/compiler/builtins.ts +++ b/tests/compiler/builtins.ts @@ -676,25 +676,3 @@ function rotr3(a: i8, b: i8, c: i8): i32 { return rotr(a, rotr(b, c)); } assert(rotr3(48, 8, 1) == 3); - -// bswap tests - -// check bswap for i8/u8 -assert(bswap(0xaa) == 0xaa); -assert(bswap(0xaa) == 0xaa); - -// check bswap for i16/u16 -assert(bswap(0xaabb) == 0xbbaa); -assert(bswap(0xaabb) == 0xbbaa); - -// check bswap for i32/u32 -assert(bswap(0xaabbccdd) == 0xddccbbaa); -assert(bswap(0xaabbccdd) == 0xddccbbaa); - -// check bswap for i64/u64 -assert(bswap(0x00112233aabbccdd) == 0xddccbbaa33221100); -assert(bswap(0x00112233aabbccdd) == 0xddccbbaa33221100); - -// check bswap for isize/usize -assert(bswap(0xaabbccdd) == 0xddccbbaa); -assert(bswap(0xaabbccdd) == 0xddccbbaa); diff --git a/tests/compiler/call-inferred.debug.wat b/tests/compiler/call-inferred.debug.wat index bf0cb30608..1d07f41be0 100644 --- a/tests/compiler/call-inferred.debug.wat +++ b/tests/compiler/call-inferred.debug.wat @@ -1,16 +1,46 @@ (module - (type $f32_=>_f32 (func (param f32) (result f32))) - (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 $f64_=>_f64 (func (param f64) (result f64))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func)) + (type $5 (func (param f32) (result f32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param f64) (result f64))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~argumentsLength (mut i32) (i32.const 0)) - (global $~lib/memory/__data_end i32 (i32.const 76)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32844)) - (global $~lib/memory/__heap_base i32 (i32.const 32844)) + (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/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 480)) + (global $~lib/memory/__data_end i32 (i32.const 512)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33280)) + (global $~lib/memory/__heap_base i32 (i32.const 33280)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 268) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 332) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 384) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 480) "\07\00\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -46,7 +76,2422 @@ local.get $a call $call-inferred/bar ) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) + local.get $this + local.get $nextWithColor + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:prev + local.get $space + return + ) + (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + return + ) + (func $~lib/rt/itcms/Object#get:color (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + return + ) + (func $~lib/rt/itcms/visitRoots (param $cookie i32) + (local $pn i32) + (local $iter i32) + local.get $cookie + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $pn + local.get $pn + call $~lib/rt/itcms/Object#get:next + local.set $iter + loop $while-continue|0 + local.get $iter + local.get $pn + i32.ne + if + i32.const 1 + drop + local.get $iter + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 160 + i32.const 160 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $iter + i32.const 20 + i32.add + local.get $cookie + call $~lib/rt/__visit_members + local.get $iter + call $~lib/rt/itcms/Object#get:next + local.set $iter + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $this i32) (param $color i32) + local.get $this + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $color + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) + local.get $this + local.get $obj + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $this i32) + (local $next i32) + (local $prev i32) + local.get $this + call $~lib/rt/itcms/Object#get:next + local.set $next + local.get $next + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $this + call $~lib/rt/itcms/Object#get:prev + i32.const 0 + i32.eq + if (result i32) + local.get $this + global.get $~lib/memory/__heap_base + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 160 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return + end + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.set $prev + i32.const 1 + drop + local.get $prev + i32.eqz + if + i32.const 0 + i32.const 160 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $next + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $next + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/__typeinfo (param $id i32) (result i32) + (local $ptr i32) + global.get $~lib/rt/__rtti_base + local.set $ptr + local.get $id + local.get $ptr + i32.load + i32.gt_u + if + i32.const 288 + i32.const 352 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $ptr + i32.const 4 + i32.add + local.get $id + i32.const 4 + i32.mul + i32.add + call $~lib/shared/typeinfo/Typeinfo#get:flags + return + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $this i32) (result i32) + (local $rtId i32) + local.get $this + call $~lib/rt/itcms/Object#get:rtId + local.set $rtId + local.get $rtId + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $rtId + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + return + ) + (func $~lib/rt/itcms/Object#linkTo (param $this i32) (param $list i32) (param $withColor i32) + (local $prev i32) + local.get $list + call $~lib/rt/itcms/Object#get:prev + local.set $prev + local.get $this + local.get $list + local.get $withColor + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $this + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $this + call $~lib/rt/itcms/Object#set:next + local.get $list + local.get $this + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $this i32) + (local $1 i32) + local.get $this + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 160 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $this + call $~lib/rt/itcms/Object#unlink + local.get $this + global.get $~lib/rt/itcms/toSpace + local.get $this + 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 $ptr i32) (param $cookie i32) + (local $obj i32) + local.get $ptr + i32.eqz + if + return + end + local.get $ptr + i32.const 20 + i32.sub + local.set $obj + i32.const 0 + drop + local.get $obj + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $obj + 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 $cookie i32) + (local $ptr i32) + global.get $~lib/memory/__stack_pointer + local.set $ptr + loop $while-continue|0 + local.get $ptr + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $ptr + i32.load + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + br $while-continue|0 + end + end + ) + (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) + i32.const 4 + local.get $this + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + return + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) + local.get $this + local.get $flMap + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) + local.get $this + local.get $next + i32.store offset=8 + ) + (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) + (local $blockInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $6 i32) + (local $7 i32) + (local $boundedSize i32) + (local $prev i32) + (local $next i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $root|14 i32) + (local $fl|15 i32) + (local $sl|16 i32) + (local $head i32) + (local $root|18 i32) + (local $fl|19 i32) + (local $slMap i32) + (local $root|21 i32) + (local $fl|22 i32) + (local $slMap|23 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 284 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/tlsf/Block#get:prev + local.set $prev + local.get $block + call $~lib/rt/tlsf/Block#get:next + local.set $next + local.get $prev + if + local.get $prev + local.get $next + call $~lib/rt/tlsf/Block#set:next + end + local.get $next + if + local.get $next + local.get $prev + call $~lib/rt/tlsf/Block#set:prev + end + local.get $block + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end + i32.eq + if + local.get $root + local.set $root|14 + local.get $fl + local.set $fl|15 + local.get $sl + local.set $sl|16 + local.get $next + local.set $head + local.get $root|14 + local.get $fl|15 + i32.const 4 + i32.shl + local.get $sl|16 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $next + i32.eqz + if + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end + local.set $slMap + local.get $root + local.set $root|21 + local.get $fl + local.set $fl|22 + local.get $slMap + i32.const 1 + local.get $sl + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $slMap + local.set $slMap|23 + local.get $root|21 + local.get $fl|22 + i32.const 2 + i32.shl + i32.add + local.get $slMap|23 + i32.store offset=4 + local.get $slMap + i32.eqz + if + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + 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 $root i32) (param $block i32) + (local $blockInfo i32) + (local $block|3 i32) + (local $right i32) + (local $rightInfo i32) + (local $block|6 i32) + (local $block|7 i32) + (local $left i32) + (local $leftInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $13 i32) + (local $14 i32) + (local $boundedSize i32) + (local $root|16 i32) + (local $fl|17 i32) + (local $sl|18 i32) + (local $head i32) + (local $root|20 i32) + (local $fl|21 i32) + (local $sl|22 i32) + (local $head|23 i32) + (local $root|24 i32) + (local $fl|25 i32) + (local $root|26 i32) + (local $fl|27 i32) + (local $slMap i32) + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 203 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + local.get $rightInfo + i32.const 1 + i32.and + if + local.get $root + local.get $right + call $~lib/rt/tlsf/removeBlock + local.get $block + local.get $blockInfo + i32.const 4 + i32.add + local.get $rightInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + end + local.get $blockInfo + i32.const 2 + i32.and + if + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end + local.set $left + local.get $left + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $leftInfo + i32.const 1 + drop + local.get $leftInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 221 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $left + call $~lib/rt/tlsf/removeBlock + local.get $left + local.set $block + local.get $block + local.get $leftInfo + i32.const 4 + i32.add + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $right + local.get $rightInfo + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + drop + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.get $right + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 234 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $right + i32.const 4 + i32.sub + local.get $block + i32.store + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $13 + i32.const 1073741820 + local.tee $14 + local.get $13 + local.get $14 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end + local.set $head + local.get $block + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $block + local.get $head + call $~lib/rt/tlsf/Block#set:next + local.get $head + if + local.get $head + local.get $block + call $~lib/rt/tlsf/Block#set:prev + end + local.get $root + local.set $root|20 + local.get $fl + local.set $fl|21 + local.get $sl + local.set $sl|22 + local.get $block + local.set $head|23 + local.get $root|20 + local.get $fl|21 + i32.const 4 + i32.shl + local.get $sl|22 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head|23 + i32.store offset=96 + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|26 + local.get $fl + local.set $fl|27 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end + i32.const 1 + local.get $sl + i32.shl + i32.or + local.set $slMap + local.get $root|26 + local.get $fl|27 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) + (local $tail i32) + (local $tailInfo i32) + (local $size i32) + (local $leftSize i32) + (local $left i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end + i32.const 1 + drop + local.get $start + i64.extend_i32_u + local.get $endU64 + i64.le_u + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 382 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $start + 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 $start + local.get $end + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $end + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|4 + local.get $root|4 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end + local.set $tail + i32.const 0 + local.set $tailInfo + local.get $tail + if + i32.const 1 + drop + local.get $start + local.get $tail + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $start + i32.const 16 + i32.sub + local.get $tail + i32.eq + if + local.get $start + i32.const 16 + i32.sub + local.set $start + local.get $tail + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $tailInfo + else + end + else + i32.const 1 + drop + local.get $start + local.get $root + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $end + local.get $start + i32.sub + local.set $size + local.get $size + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $size + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $leftSize + local.get $start + local.set $left + local.get $left + local.get $leftSize + i32.const 1 + i32.or + local.get $tailInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $start + i32.const 4 + i32.add + local.get $leftSize + i32.add + local.set $tail + local.get $tail + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.set $root|10 + local.get $tail + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 + local.get $root + local.get $left + call $~lib/rt/tlsf/insertBlock + i32.const 1 + return + ) + (func $~lib/rt/tlsf/initialize + (local $rootOffset i32) + (local $pagesBefore i32) + (local $pagesNeeded i32) + (local $root i32) + (local $root|4 i32) + (local $tail i32) + (local $fl i32) + (local $root|7 i32) + (local $fl|8 i32) + (local $slMap i32) + (local $sl i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $head i32) + (local $memStart 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 $rootOffset + memory.size + local.set $pagesBefore + local.get $rootOffset + 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 $pagesNeeded + local.get $pagesNeeded + local.get $pagesBefore + i32.gt_s + if (result i32) + local.get $pagesNeeded + local.get $pagesBefore + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $rootOffset + local.set $root + local.get $root + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|4 + i32.const 0 + local.set $tail + local.get $root|4 + local.get $tail + i32.store offset=1568 + i32.const 0 + local.set $fl + loop $for-loop|0 + local.get $fl + i32.const 23 + i32.lt_u + if + local.get $root + local.set $root|7 + local.get $fl + local.set $fl|8 + i32.const 0 + local.set $slMap + local.get $root|7 + local.get $fl|8 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + i32.const 0 + local.set $sl + loop $for-loop|1 + local.get $sl + i32.const 16 + i32.lt_u + if + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + i32.const 0 + local.set $head + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $sl + i32.const 1 + i32.add + local.set $sl + br $for-loop|1 + end + end + local.get $fl + i32.const 1 + i32.add + local.set $fl + br $for-loop|0 + end + end + local.get $rootOffset + i32.const 1572 + i32.add + local.set $memStart + i32.const 0 + drop + local.get $root + local.get $memStart + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $root + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/checkUsedBlock (param $ptr i32) (result i32) + (local $block i32) + local.get $ptr + i32.const 4 + i32.sub + local.set $block + local.get $ptr + i32.const 0 + i32.ne + if (result i32) + local.get $ptr + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 562 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $block + return + ) + (func $~lib/rt/tlsf/freeBlock (param $root i32) (param $block i32) + i32.const 0 + drop + local.get $block + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $block + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $ptr i32) + local.get $ptr + 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 $ptr + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $obj i32) + local.get $obj + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $obj + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $obj + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $obj i32) + (local $1 i32) + (local $black i32) + (local $from 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 $black + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $obj + loop $while-continue|1 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + global.set $~lib/rt/itcms/iter + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + 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 $obj + local.get $obj + 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 $obj + loop $while-continue|2 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + local.get $obj + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $from + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $from + global.set $~lib/rt/itcms/toSpace + local.get $black + global.set $~lib/rt/itcms/white + local.get $from + 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 $obj + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $obj + 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 160 + i32.const 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $obj + 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 + return + ) + (func $~lib/rt/itcms/interrupt + (local $budget 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 $budget + loop $do-loop|0 + local.get $budget + call $~lib/rt/itcms/step + i32.sub + local.set $budget + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + drop + global.get $~lib/rt/itcms/total + i32.const 200 + i32.const 100 + i32.div_u + i32.mul + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $budget + 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 $size i32) (result i32) + local.get $size + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $size + 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 + return + ) + (func $~lib/rt/tlsf/prepareSize (param $size i32) (result i32) + local.get $size + i32.const 1073741820 + i32.gt_u + if + i32.const 96 + i32.const 432 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $size + call $~lib/rt/tlsf/computeSize + return + ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) + (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) + (local $fl i32) + (local $sl i32) + (local $requestSize i32) + (local $root|5 i32) + (local $fl|6 i32) + (local $slMap i32) + (local $head i32) + (local $flMap i32) + (local $root|10 i32) + (local $fl|11 i32) + (local $root|12 i32) + (local $fl|13 i32) + (local $sl|14 i32) + (local $root|15 i32) + (local $fl|16 i32) + (local $sl|17 i32) + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $requestSize + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub + local.get $requestSize + i32.clz + i32.sub + local.set $fl + local.get $requestSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 334 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end + i32.const 0 + i32.const -1 + i32.xor + local.get $sl + i32.shl + i32.and + local.set $slMap + i32.const 0 + local.set $head + local.get $slMap + i32.eqz + if + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 0 + i32.const -1 + i32.xor + local.get $fl + i32.const 1 + i32.add + i32.shl + i32.and + local.set $flMap + local.get $flMap + i32.eqz + if + i32.const 0 + local.set $head + else + local.get $flMap + i32.ctz + local.set $fl + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end + local.set $slMap + i32.const 1 + drop + local.get $slMap + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) + local.get $root + local.set $root|15 + local.get $fl + local.set $fl|16 + local.get $slMap + i32.ctz + local.set $sl|17 + local.get $root|15 + local.get $fl|16 + i32.const 4 + i32.shl + local.get $sl|17 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.3 + end + local.set $head + end + local.get $head + return + ) + (func $~lib/rt/tlsf/growMemory (param $root i32) (param $size i32) + (local $pagesBefore i32) + (local $root|3 i32) + (local $pagesNeeded i32) + (local $5 i32) + (local $6 i32) + (local $pagesWanted i32) + (local $pagesAfter i32) + i32.const 0 + drop + local.get $size + i32.const 256 + i32.ge_u + if + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $size + end + memory.size + local.set $pagesBefore + local.get $size + i32.const 4 + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 4 + i32.sub + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end + i32.ne + i32.shl + i32.add + local.set $size + local.get $size + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $5 + local.get $pagesNeeded + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $pagesAfter + local.get $root + local.get $pagesBefore + i32.const 16 + i32.shl + local.get $pagesAfter + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $root i32) (param $block i32) (param $size i32) + (local $blockInfo i32) + (local $remaining i32) + (local $spare i32) + (local $block|6 i32) + (local $block|7 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $size + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $size + i32.sub + local.set $remaining + local.get $remaining + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $block + local.get $size + local.get $blockInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.set $spare + local.get $spare + local.get $remaining + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $spare + call $~lib/rt/tlsf/insertBlock + else + local.get $block + local.get $blockInfo + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $root i32) (param $size i32) (result i32) + (local $payloadSize i32) + (local $block i32) + local.get $size + call $~lib/rt/tlsf/prepareSize + local.set $payloadSize + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + local.get $block + i32.eqz + if + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/growMemory + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $payloadSize + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $block + call $~lib/rt/tlsf/removeBlock + local.get $root + local.get $block + local.get $payloadSize + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $block + return + ) + (func $~lib/rt/tlsf/__alloc (param $size 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 $size + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + return + ) + (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) + local.get $this + local.get $rtId + i32.store offset=12 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) + local.get $this + local.get $rtSize + i32.store offset=16 + ) + (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) + (local $obj i32) + (local $ptr i32) + local.get $size + i32.const 1073741804 + i32.ge_u + if + i32.const 96 + i32.const 160 + i32.const 261 + 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 $size + i32.add + call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub + local.set $obj + local.get $obj + local.get $id + call $~lib/rt/itcms/Object#set:rtId + local.get $obj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $obj + i32.const 20 + i32.add + local.set $ptr + local.get $ptr + i32.const 0 + local.get $size + memory.fill + local.get $ptr + return + ) + (func $call-inferred/Foo#set:value (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store + ) + (func $call-inferred/Foo#get:value (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $call-inferred/Foo.create (param $value i32) (result i32) + i32.const 0 + local.get $value + call $call-inferred/Foo#constructor + return + ) + (func $call-inferred/Bar#doSomething (param $this i32) (param $a i32) (result i32) + local.get $a + return + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + i32.const 288 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 96 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $call-inferred/Baz + block $call-inferred/Bar + block $call-inferred/Foo + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $call-inferred/Foo $call-inferred/Bar $call-inferred/Baz $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + return + end + return + end + unreachable + ) + (func $~start + call $start:call-inferred + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33312 + i32.const 33360 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $call-inferred/Foo#constructor (param $this i32) (param $value i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $value + call $call-inferred/Foo#set:value + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $call-inferred/Bar#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $call-inferred/Baz#constructor (param $this i32) (param $value i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $value + call $call-inferred/Foo#constructor + local.tee $this + i32.store + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $start:call-inferred + (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 42 call $call-inferred/foo i32.const 42 @@ -101,8 +2546,133 @@ call $~lib/builtins/abort unreachable end + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 208 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 240 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 384 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + i32.const 42 + call $call-inferred/Foo#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $call-inferred/Foo#get:value + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 22 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 42 + call $call-inferred/Foo.create + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $call-inferred/Foo#get:value + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 23 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $call-inferred/Bar#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 42 + call $call-inferred/Bar#doSomething + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 31 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 42 + call $call-inferred/Baz#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $call-inferred/Foo#get:value + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 34 + 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 $~start - call $start:call-inferred + (func $~lib/object/Object#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) ) diff --git a/tests/compiler/call-inferred.release.wat b/tests/compiler/call-inferred.release.wat index 7c4624a901..bbbd16397b 100644 --- a/tests/compiler/call-inferred.release.wat +++ b/tests/compiler/call-inferred.release.wat @@ -1,6 +1,1792 @@ (module + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param 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 34304)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00i\00n\00f\00e\00r\00r\00e\00d\00.\00t\00s") + (data $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\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 $2 (i32.const 1164) "<") + (data $2.1 (i32.const 1176) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1292) "<") + (data $5.1 (i32.const 1304) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1356) ",") + (data $6.1 (i32.const 1368) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1436) "<") + (data $8.1 (i32.const 1448) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1504) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + i32.const 1312 + call $~lib/rt/itcms/__visit + i32.const 1120 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1184 + i32.const 160 + 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/__visit (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $1 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $1 + i32.load offset=8 + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 1184 + i32.const 148 + 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$125 + local.get $1 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34304 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1184 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$125 + end + local.get $1 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1184 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1504 + i32.load + i32.gt_u + if + i32.const 1312 + i32.const 1376 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + 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 $0 + local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + 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 + ) + (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 $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1456 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.tee $3 + i32.const 12 + i32.lt_u + if + i32.const 0 + i32.const 1456 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1073741820 + local.get $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $2 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $3 + 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 1456 + 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 $1 + local.get $0 + local.get $2 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=96 + i32.eq + if + local.get $1 + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $3 + i32.rotl + i32.and + local.set $3 + local.get $1 + local.get $3 + i32.store offset=4 + local.get $3 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $2 + 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 1456 + 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 1456 + 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 1456 + 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 1456 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + i32.ne + if + i32.const 0 + i32.const 1456 + 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 + i32.const 1073741820 + local.get $2 + local.get $2 + i32.const 1073741820 + i32.ge_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 1456 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + 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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + 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 $5 + i32.shl + i32.or + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + 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 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.get $1 + i64.extend_i32_u + i64.lt_u + if + i32.const 0 + i32.const 1456 + i32.const 382 + 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 $3 + if + local.get $3 + i32.const 4 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1456 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + local.tee $5 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $5 + local.set $1 + end + else + local.get $0 + i32.const 1572 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1456 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.wrap_i64 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $3 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + 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 $1 + i32.const 4 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.const 2 + i32.store + local.get $0 + local.get $3 + 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 34304 + i32.const 0 + i32.store + i32.const 35872 + 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 34304 + 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 $0 + i32.const 4 + i32.shl + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.const 34304 + 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 34304 + i32.const 35876 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + i32.const 34304 + 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 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 34304 + i32.lt_u + if + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 1184 + i32.const 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 34304 + 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 34304 + 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 1456 + i32.const 562 + 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 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (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 + 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.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $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 + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1456 + i32.const 334 + 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 1456 + i32.const 347 + 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/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 1120 + i32.const 1184 + i32.const 261 + 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$70 + 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 + i32.const 1 + i32.shl + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt$70 + end + local.get $2 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.set $4 + local.get $0 + i32.const 16 + i32.add + local.tee $2 + i32.const 1073741820 + i32.gt_u + if + i32.const 1120 + i32.const 1456 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end + local.tee $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + memory.size + local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end + i32.const 4 + local.get $4 + i32.load offset=1568 + local.get $2 + i32.const 16 + i32.shl + i32.const 4 + i32.sub + i32.ne + i32.shl + i32.add + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $2 + 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 $4 + local.get $2 + i32.const 16 + i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + local.get $4 + local.get $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1456 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + local.get $5 + local.get $2 + i32.load + i32.const -4 + i32.and + i32.gt_u + if + i32.const 0 + i32.const 1456 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $2 + i32.load + local.set $6 + local.get $5 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1456 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const -4 + i32.and + local.get $5 + i32.sub + local.tee $3 + i32.const 16 + i32.ge_u + if + local.get $2 + local.get $5 + local.get $6 + i32.const 2 + i32.and + i32.or + i32.store + local.get $2 + i32.const 4 + i32.add + local.get $5 + i32.add + local.tee $5 + local.get $3 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $4 + local.get $5 + 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 + local.get $1 + global.get $~lib/rt/itcms/white + i32.or + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $3 + local.get $2 + local.get $3 + i32.load offset=4 + i32.const 3 + i32.and + 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 $1 + i32.const 0 + local.get $0 + memory.fill + local.get $1 + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $invalid + block $call-inferred/Baz + block $call-inferred/Bar + block $call-inferred/Foo + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $call-inferred/Foo $call-inferred/Bar $call-inferred/Baz $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + return + end + return + end + return + end + unreachable + ) + (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-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1536 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + memory.size + i32.const 16 + i32.shl + i32.const 34304 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1236 + i32.const 1232 + i32.store + i32.const 1240 + i32.const 1232 + i32.store + i32.const 1232 + global.set $~lib/rt/itcms/pinSpace + i32.const 1268 + i32.const 1264 + i32.store + i32.const 1272 + i32.const 1264 + i32.store + i32.const 1264 + global.set $~lib/rt/itcms/toSpace + i32.const 1412 + i32.const 1408 + i32.store + i32.const 1416 + i32.const 1408 + i32.store + i32.const 1408 + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + call $call-inferred/Foo#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 22 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $call-inferred/Foo#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 23 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1536 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1536 + 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 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1536 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $call-inferred/Foo#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 34 + 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 34336 + i32.const 34384 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $call-inferred/Foo#constructor (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1536 + i32.lt_s + if + i32.const 34336 + i32.const 34384 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 42 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) ) diff --git a/tests/compiler/call-inferred.ts b/tests/compiler/call-inferred.ts index b0ec7e57b6..4c2dfb21bb 100644 --- a/tests/compiler/call-inferred.ts +++ b/tests/compiler/call-inferred.ts @@ -12,6 +12,27 @@ function bar(a: T = 42.0): T { assert(bar() == 42); +class Foo { + constructor(public value: T) {} + static create(value: T): Foo { + return new Foo(value); + } +} + +assert(new Foo(42).value == 42); +assert(Foo.create(42).value == 42); + +class Bar { + doSomething(a: T): T { + return a; + } +} + +assert(new Bar().doSomething(42) == 42); + +class Baz extends Foo {} +assert(new Baz(42).value == 42); + // TODO: this'd require return type inference, i.e., omitted return type // function baz(a: i32): T { // return a; diff --git a/tests/compiler/call-optional.debug.wat b/tests/compiler/call-optional.debug.wat index ef22746728..7a6794eba7 100644 --- a/tests/compiler/call-optional.debug.wat +++ b/tests/compiler/call-optional.debug.wat @@ -1,7 +1,7 @@ (module - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32 i32 i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~argumentsLength (mut i32) (i32.const 0)) (global $call-optional/optIndirect (mut i32) (i32.const 96)) @@ -9,8 +9,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32876)) (global $~lib/memory/__heap_base i32 (i32.const 32876)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $call-optional/opt@varargs) (export "memory" (memory $0)) @@ -102,8 +102,8 @@ i32.const 1 global.set $~argumentsLength global.get $call-optional/optIndirect - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.eq i32.eqz @@ -121,8 +121,8 @@ i32.const 2 global.set $~argumentsLength global.get $call-optional/optIndirect - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 5 i32.eq i32.eqz @@ -140,8 +140,8 @@ i32.const 3 global.set $~argumentsLength global.get $call-optional/optIndirect - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 12 i32.eq i32.eqz diff --git a/tests/compiler/call-optional.release.wat b/tests/compiler/call-optional.release.wat index 6bf7fe7099..79b66938d4 100644 --- a/tests/compiler/call-optional.release.wat +++ b/tests/compiler/call-optional.release.wat @@ -1,14 +1,14 @@ (module - (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_=>_none (func)) + (type $0 (func (param i32 i32 i32) (result i32))) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~argumentsLength (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s") - (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\04\00\00\00\08\00\00\00\01") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00 \00\00\00c\00a\00l\00l\00-\00o\00p\00t\00i\00o\00n\00a\00l\00.\00t\00s") + (data $1 (i32.const 1100) "\1c") + (data $1.1 (i32.const 1112) "\04\00\00\00\08\00\00\00\01") (table $0 2 2 funcref) (elem $0 (i32.const 1) $call-optional/opt@varargs) (export "memory" (memory $0)) @@ -48,8 +48,8 @@ i32.const 0 i32.const 0 i32.const 1120 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $0) if i32.const 0 i32.const 1056 @@ -64,8 +64,8 @@ i32.const 4 i32.const 0 i32.const 1120 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 5 i32.ne if @@ -82,8 +82,8 @@ i32.const 4 i32.const 5 i32.const 1120 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 12 i32.ne if diff --git a/tests/compiler/call-rest-err.json b/tests/compiler/call-rest-err.json new file mode 100644 index 0000000000..6ba27c0d67 --- /dev/null +++ b/tests/compiler/call-rest-err.json @@ -0,0 +1,14 @@ +{ + "asc_flags": [ + ], + "stderr": [ + "TS2322: Type '~lib/string/String' is not assignable to type 'i32'.", + "sum('a', 'b')", + "TS2322: Type '~lib/string/String' is not assignable to type 'i32'.", + "sum('a', 'b')", + "TS2322: Type '~lib/string/String' is not assignable to type 'i32'.", + "count(1, 'a')", + "TS1140: Type argument expected.", + "count()" + ] +} diff --git a/tests/compiler/call-rest-err.ts b/tests/compiler/call-rest-err.ts new file mode 100644 index 0000000000..8008ede2c9 --- /dev/null +++ b/tests/compiler/call-rest-err.ts @@ -0,0 +1,15 @@ +function sum(...args: i32[]): i32 { + let sum = 0; + for (let i = 0, k = args.length; i < k; ++i) { + sum += args[i]; + } + return sum; +} + +function count(...args: T[]): i32 { + return args.length; +} + +sum('a', 'b'); // expect a type mismatch error on each argument +count(1, 'a'); // expect a type mismatch error on the second argument +count(); // expect type inference error diff --git a/tests/compiler/call-rest.debug.wat b/tests/compiler/call-rest.debug.wat new file mode 100644 index 0000000000..6ff41f9bea --- /dev/null +++ b/tests/compiler/call-rest.debug.wat @@ -0,0 +1,4002 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32 i32) (result i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func)) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32) (result i32))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) + (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) + (global $~lib/shared/runtime/Runtime.Incremental i32 (i32.const 2)) + (global $~argumentsLength (mut i32) (i32.const 0)) + (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/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $call-rest/indirect (mut i32) (i32.const 624)) + (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) + (global $~lib/rt/__rtti_base i32 (i32.const 1072)) + (global $~lib/memory/__data_end i32 (i32.const 1112)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33880)) + (global $~lib/memory/__heap_base i32 (i32.const 33880)) + (memory $0 1) + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $2 (i32.const 124) "\1c\00\00\00\00\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 $3 (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00c\00a\00l\00l\00-\00r\00e\00s\00t\00.\00t\00s\00\00\00\00\00") + (data $11 (i32.const 540) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data $13 (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data $16 (i32.const 700) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $17 (i32.const 748) "\1c\00\00\00\00\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 $18 (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data $20 (i32.const 844) "\1c\00\00\00\00\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 $21 (i32.const 876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $22 (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $23 (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $24 (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") + (data $26 (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\c0\03\00\00\e0\03\00\00\00\04\00\00") + (data $27 (i32.const 1072) "\t\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\01\00\00\00\00\00\00\00\00\00\00\02A\00\00") + (table $0 2 2 funcref) + (elem $0 (i32.const 1) $call-rest/fn@varargs) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/array/Array#get:length_ (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) + local.get $this + local.get $nextWithColor + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:prev + local.get $space + return + ) + (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + return + ) + (func $~lib/rt/itcms/Object#get:color (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + return + ) + (func $~lib/rt/itcms/visitRoots (param $cookie i32) + (local $pn i32) + (local $iter i32) + local.get $cookie + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $pn + local.get $pn + call $~lib/rt/itcms/Object#get:next + local.set $iter + loop $while-continue|0 + local.get $iter + local.get $pn + i32.ne + if + i32.const 1 + drop + local.get $iter + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 240 + i32.const 160 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $iter + i32.const 20 + i32.add + local.get $cookie + call $~lib/rt/__visit_members + local.get $iter + call $~lib/rt/itcms/Object#get:next + local.set $iter + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $this i32) (param $color i32) + local.get $this + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $color + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) + local.get $this + local.get $obj + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $this i32) + (local $next i32) + (local $prev i32) + local.get $this + call $~lib/rt/itcms/Object#get:next + local.set $next + local.get $next + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $this + call $~lib/rt/itcms/Object#get:prev + i32.const 0 + i32.eq + if (result i32) + local.get $this + global.get $~lib/memory/__heap_base + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 240 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return + end + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.set $prev + i32.const 1 + drop + local.get $prev + i32.eqz + if + i32.const 0 + i32.const 240 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $next + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $next + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/__typeinfo (param $id i32) (result i32) + (local $ptr i32) + global.get $~lib/rt/__rtti_base + local.set $ptr + local.get $id + local.get $ptr + i32.load + i32.gt_u + if + i32.const 32 + i32.const 368 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $ptr + i32.const 4 + i32.add + local.get $id + i32.const 4 + i32.mul + i32.add + call $~lib/shared/typeinfo/Typeinfo#get:flags + return + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $this i32) (result i32) + (local $rtId i32) + local.get $this + call $~lib/rt/itcms/Object#get:rtId + local.set $rtId + local.get $rtId + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $rtId + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + return + ) + (func $~lib/rt/itcms/Object#linkTo (param $this i32) (param $list i32) (param $withColor i32) + (local $prev i32) + local.get $list + call $~lib/rt/itcms/Object#get:prev + local.set $prev + local.get $this + local.get $list + local.get $withColor + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $this + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $this + call $~lib/rt/itcms/Object#set:next + local.get $list + local.get $this + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $this i32) + (local $1 i32) + local.get $this + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 240 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $this + call $~lib/rt/itcms/Object#unlink + local.get $this + global.get $~lib/rt/itcms/toSpace + local.get $this + 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 $ptr i32) (param $cookie i32) + (local $obj i32) + local.get $ptr + i32.eqz + if + return + end + local.get $ptr + i32.const 20 + i32.sub + local.set $obj + i32.const 0 + drop + local.get $obj + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $obj + 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 $cookie i32) + (local $ptr i32) + global.get $~lib/memory/__stack_pointer + local.set $ptr + loop $while-continue|0 + local.get $ptr + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $ptr + i32.load + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + br $while-continue|0 + end + end + ) + (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) + i32.const 4 + local.get $this + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + return + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) + local.get $this + local.get $flMap + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) + local.get $this + local.get $next + i32.store offset=8 + ) + (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) + (local $blockInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $6 i32) + (local $7 i32) + (local $boundedSize i32) + (local $prev i32) + (local $next i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $root|14 i32) + (local $fl|15 i32) + (local $sl|16 i32) + (local $head i32) + (local $root|18 i32) + (local $fl|19 i32) + (local $slMap i32) + (local $root|21 i32) + (local $fl|22 i32) + (local $slMap|23 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 284 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/tlsf/Block#get:prev + local.set $prev + local.get $block + call $~lib/rt/tlsf/Block#get:next + local.set $next + local.get $prev + if + local.get $prev + local.get $next + call $~lib/rt/tlsf/Block#set:next + end + local.get $next + if + local.get $next + local.get $prev + call $~lib/rt/tlsf/Block#set:prev + end + local.get $block + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end + i32.eq + if + local.get $root + local.set $root|14 + local.get $fl + local.set $fl|15 + local.get $sl + local.set $sl|16 + local.get $next + local.set $head + local.get $root|14 + local.get $fl|15 + i32.const 4 + i32.shl + local.get $sl|16 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $next + i32.eqz + if + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end + local.set $slMap + local.get $root + local.set $root|21 + local.get $fl + local.set $fl|22 + local.get $slMap + i32.const 1 + local.get $sl + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $slMap + local.set $slMap|23 + local.get $root|21 + local.get $fl|22 + i32.const 2 + i32.shl + i32.add + local.get $slMap|23 + i32.store offset=4 + local.get $slMap + i32.eqz + if + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + 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 $root i32) (param $block i32) + (local $blockInfo i32) + (local $block|3 i32) + (local $right i32) + (local $rightInfo i32) + (local $block|6 i32) + (local $block|7 i32) + (local $left i32) + (local $leftInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $13 i32) + (local $14 i32) + (local $boundedSize i32) + (local $root|16 i32) + (local $fl|17 i32) + (local $sl|18 i32) + (local $head i32) + (local $root|20 i32) + (local $fl|21 i32) + (local $sl|22 i32) + (local $head|23 i32) + (local $root|24 i32) + (local $fl|25 i32) + (local $root|26 i32) + (local $fl|27 i32) + (local $slMap i32) + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 203 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + local.get $rightInfo + i32.const 1 + i32.and + if + local.get $root + local.get $right + call $~lib/rt/tlsf/removeBlock + local.get $block + local.get $blockInfo + i32.const 4 + i32.add + local.get $rightInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + end + local.get $blockInfo + i32.const 2 + i32.and + if + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end + local.set $left + local.get $left + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $leftInfo + i32.const 1 + drop + local.get $leftInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 221 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $left + call $~lib/rt/tlsf/removeBlock + local.get $left + local.set $block + local.get $block + local.get $leftInfo + i32.const 4 + i32.add + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $right + local.get $rightInfo + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + drop + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.get $right + i32.eq + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 234 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $right + i32.const 4 + i32.sub + local.get $block + i32.store + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $13 + i32.const 1073741820 + local.tee $14 + local.get $13 + local.get $14 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end + local.set $head + local.get $block + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $block + local.get $head + call $~lib/rt/tlsf/Block#set:next + local.get $head + if + local.get $head + local.get $block + call $~lib/rt/tlsf/Block#set:prev + end + local.get $root + local.set $root|20 + local.get $fl + local.set $fl|21 + local.get $sl + local.set $sl|22 + local.get $block + local.set $head|23 + local.get $root|20 + local.get $fl|21 + i32.const 4 + i32.shl + local.get $sl|22 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head|23 + i32.store offset=96 + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|26 + local.get $fl + local.set $fl|27 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end + i32.const 1 + local.get $sl + i32.shl + i32.or + local.set $slMap + local.get $root|26 + local.get $fl|27 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) + (local $tail i32) + (local $tailInfo i32) + (local $size i32) + (local $leftSize i32) + (local $left i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end + i32.const 1 + drop + local.get $start + i64.extend_i32_u + local.get $endU64 + i64.le_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 382 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $start + 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 $start + local.get $end + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $end + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|4 + local.get $root|4 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end + local.set $tail + i32.const 0 + local.set $tailInfo + local.get $tail + if + i32.const 1 + drop + local.get $start + local.get $tail + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $start + i32.const 16 + i32.sub + local.get $tail + i32.eq + if + local.get $start + i32.const 16 + i32.sub + local.set $start + local.get $tail + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $tailInfo + else + end + else + i32.const 1 + drop + local.get $start + local.get $root + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $end + local.get $start + i32.sub + local.set $size + local.get $size + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $size + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $leftSize + local.get $start + local.set $left + local.get $left + local.get $leftSize + i32.const 1 + i32.or + local.get $tailInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $start + i32.const 4 + i32.add + local.get $leftSize + i32.add + local.set $tail + local.get $tail + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.set $root|10 + local.get $tail + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 + local.get $root + local.get $left + call $~lib/rt/tlsf/insertBlock + i32.const 1 + return + ) + (func $~lib/rt/tlsf/initialize + (local $rootOffset i32) + (local $pagesBefore i32) + (local $pagesNeeded i32) + (local $root i32) + (local $root|4 i32) + (local $tail i32) + (local $fl i32) + (local $root|7 i32) + (local $fl|8 i32) + (local $slMap i32) + (local $sl i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $head i32) + (local $memStart 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 $rootOffset + memory.size + local.set $pagesBefore + local.get $rootOffset + 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 $pagesNeeded + local.get $pagesNeeded + local.get $pagesBefore + i32.gt_s + if (result i32) + local.get $pagesNeeded + local.get $pagesBefore + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $rootOffset + local.set $root + local.get $root + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|4 + i32.const 0 + local.set $tail + local.get $root|4 + local.get $tail + i32.store offset=1568 + i32.const 0 + local.set $fl + loop $for-loop|0 + local.get $fl + i32.const 23 + i32.lt_u + if + local.get $root + local.set $root|7 + local.get $fl + local.set $fl|8 + i32.const 0 + local.set $slMap + local.get $root|7 + local.get $fl|8 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + i32.const 0 + local.set $sl + loop $for-loop|1 + local.get $sl + i32.const 16 + i32.lt_u + if + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + i32.const 0 + local.set $head + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $sl + i32.const 1 + i32.add + local.set $sl + br $for-loop|1 + end + end + local.get $fl + i32.const 1 + i32.add + local.set $fl + br $for-loop|0 + end + end + local.get $rootOffset + i32.const 1572 + i32.add + local.set $memStart + i32.const 0 + drop + local.get $root + local.get $memStart + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $root + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/checkUsedBlock (param $ptr i32) (result i32) + (local $block i32) + local.get $ptr + i32.const 4 + i32.sub + local.set $block + local.get $ptr + i32.const 0 + i32.ne + if (result i32) + local.get $ptr + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 562 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $block + return + ) + (func $~lib/rt/tlsf/freeBlock (param $root i32) (param $block i32) + i32.const 0 + drop + local.get $block + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $block + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $ptr i32) + local.get $ptr + 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 $ptr + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $obj i32) + local.get $obj + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $obj + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $obj + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $obj i32) + (local $1 i32) + (local $black i32) + (local $from 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 $black + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $obj + loop $while-continue|1 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + global.set $~lib/rt/itcms/iter + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + 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 $obj + local.get $obj + 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 $obj + loop $while-continue|2 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + local.get $obj + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $from + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $from + global.set $~lib/rt/itcms/toSpace + local.get $black + global.set $~lib/rt/itcms/white + local.get $from + 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 $obj + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $obj + 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 240 + i32.const 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $obj + 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 + return + ) + (func $~lib/rt/itcms/interrupt + (local $budget 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 $budget + loop $do-loop|0 + local.get $budget + call $~lib/rt/itcms/step + i32.sub + local.set $budget + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + drop + global.get $~lib/rt/itcms/total + i32.const 200 + i32.const 100 + i32.div_u + i32.mul + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $budget + 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 $size i32) (result i32) + local.get $size + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $size + 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 + return + ) + (func $~lib/rt/tlsf/prepareSize (param $size i32) (result i32) + local.get $size + i32.const 1073741820 + i32.gt_u + if + i32.const 176 + i32.const 448 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $size + call $~lib/rt/tlsf/computeSize + return + ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) + (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) + (local $fl i32) + (local $sl i32) + (local $requestSize i32) + (local $root|5 i32) + (local $fl|6 i32) + (local $slMap i32) + (local $head i32) + (local $flMap i32) + (local $root|10 i32) + (local $fl|11 i32) + (local $root|12 i32) + (local $fl|13 i32) + (local $sl|14 i32) + (local $root|15 i32) + (local $fl|16 i32) + (local $sl|17 i32) + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $requestSize + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub + local.get $requestSize + i32.clz + i32.sub + local.set $fl + local.get $requestSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 334 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end + i32.const 0 + i32.const -1 + i32.xor + local.get $sl + i32.shl + i32.and + local.set $slMap + i32.const 0 + local.set $head + local.get $slMap + i32.eqz + if + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 0 + i32.const -1 + i32.xor + local.get $fl + i32.const 1 + i32.add + i32.shl + i32.and + local.set $flMap + local.get $flMap + i32.eqz + if + i32.const 0 + local.set $head + else + local.get $flMap + i32.ctz + local.set $fl + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end + local.set $slMap + i32.const 1 + drop + local.get $slMap + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) + local.get $root + local.set $root|15 + local.get $fl + local.set $fl|16 + local.get $slMap + i32.ctz + local.set $sl|17 + local.get $root|15 + local.get $fl|16 + i32.const 4 + i32.shl + local.get $sl|17 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.3 + end + local.set $head + end + local.get $head + return + ) + (func $~lib/rt/tlsf/growMemory (param $root i32) (param $size i32) + (local $pagesBefore i32) + (local $root|3 i32) + (local $pagesNeeded i32) + (local $5 i32) + (local $6 i32) + (local $pagesWanted i32) + (local $pagesAfter i32) + i32.const 0 + drop + local.get $size + i32.const 256 + i32.ge_u + if + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $size + end + memory.size + local.set $pagesBefore + local.get $size + i32.const 4 + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 4 + i32.sub + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end + i32.ne + i32.shl + i32.add + local.set $size + local.get $size + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $5 + local.get $pagesNeeded + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $pagesAfter + local.get $root + local.get $pagesBefore + i32.const 16 + i32.shl + local.get $pagesAfter + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $root i32) (param $block i32) (param $size i32) + (local $blockInfo i32) + (local $remaining i32) + (local $spare i32) + (local $block|6 i32) + (local $block|7 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $size + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $size + i32.sub + local.set $remaining + local.get $remaining + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $block + local.get $size + local.get $blockInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.set $spare + local.get $spare + local.get $remaining + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $spare + call $~lib/rt/tlsf/insertBlock + else + local.get $block + local.get $blockInfo + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $root i32) (param $size i32) (result i32) + (local $payloadSize i32) + (local $block i32) + local.get $size + call $~lib/rt/tlsf/prepareSize + local.set $payloadSize + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + local.get $block + i32.eqz + if + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/growMemory + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $payloadSize + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $block + call $~lib/rt/tlsf/removeBlock + local.get $root + local.get $block + local.get $payloadSize + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $block + return + ) + (func $~lib/rt/tlsf/__alloc (param $size 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 $size + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + return + ) + (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) + local.get $this + local.get $rtId + i32.store offset=12 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) + local.get $this + local.get $rtSize + i32.store offset=16 + ) + (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) + (local $obj i32) + (local $ptr i32) + local.get $size + i32.const 1073741804 + i32.ge_u + if + i32.const 176 + i32.const 240 + i32.const 261 + 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 $size + i32.add + call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub + local.set $obj + local.get $obj + local.get $id + call $~lib/rt/itcms/Object#set:rtId + local.get $obj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $obj + i32.const 20 + i32.add + local.set $ptr + local.get $ptr + i32.const 0 + local.get $size + memory.fill + local.get $ptr + return + ) + (func $~lib/rt/__newBuffer (param $size i32) (param $id i32) (param $data i32) (result i32) + (local $buffer i32) + local.get $size + local.get $id + call $~lib/rt/itcms/__new + local.set $buffer + local.get $data + if + local.get $buffer + local.get $data + local.get $size + memory.copy + end + local.get $buffer + return + ) + (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) + (local $child i32) + (local $parent i32) + (local $parentColor i32) + local.get $childPtr + i32.eqz + if + return + end + i32.const 1 + drop + local.get $parentPtr + i32.eqz + if + i32.const 0 + i32.const 240 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $childPtr + i32.const 20 + i32.sub + local.set $child + local.get $child + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $parentPtr + i32.const 20 + i32.sub + local.set $parent + local.get $parent + call $~lib/rt/itcms/Object#get:color + local.set $parentColor + local.get $parentColor + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $expectMultiple + if + local.get $parent + call $~lib/rt/itcms/Object#makeGray + else + local.get $child + call $~lib/rt/itcms/Object#makeGray + end + else + local.get $parentColor + 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 $child + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) + local.get $this + i32.load offset=16 + ) + (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) + (local $oldObj i32) + (local $newPtr i32) + (local $4 i32) + (local $5 i32) + local.get $oldPtr + i32.const 20 + i32.sub + local.set $oldObj + local.get $size + local.get $oldObj + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $oldObj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $oldPtr + return + end + local.get $size + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtId + call $~lib/rt/itcms/__new + local.set $newPtr + local.get $newPtr + local.get $oldPtr + local.get $size + local.tee $4 + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtSize + local.tee $5 + local.get $4 + local.get $5 + i32.lt_u + select + memory.copy + local.get $newPtr + return + ) + (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store offset=12 + ) + (func $call-rest/Foo#set:values (param $this i32) (param $values i32) + local.get $this + local.get $values + i32.store + local.get $this + local.get $values + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $call-rest/Foo#get:values (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 720 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 176 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) + ) + (func $~lib/array/Array#get:buffer (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32?%2C...~lib/array/Array%29=>i32>#get:_env (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/function/Function<%28i32%2Ci32?%2C...~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32?%2C...~lib/array/Array%29=>i32>#__visit + ) + (func $call-rest/Foo~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/array/Array<~lib/string/String>#get:buffer (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/array/Array<~lib/string/String> + block $call-rest/Foo + block $~lib/function/Function<%28i32%2Ci32?%2C...~lib/array/Array%29=>i32> + block $~lib/array/Array + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i32%2Ci32?%2C...~lib/array/Array%29=>i32> $call-rest/Foo $~lib/array/Array<~lib/string/String> $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32?%2C...~lib/array/Array%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $call-rest/Foo~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>~visit + return + end + unreachable + ) + (func $~start + call $start:call-rest + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33904 + i32.const 33952 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/array/Array#get:length (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (param $this i32) (param $index i32) (result i32) + (local $value i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 32 + i32.const 96 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load + local.set $value + i32.const 0 + drop + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $call-rest/fn (param $a i32) (param $b i32) (param $rest i32) (result i32) + (local $sum i32) + (local $i i32) + (local $k i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $a + local.get $b + i32.add + local.set $sum + i32.const 0 + local.set $i + local.get $rest + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + call $~lib/array/Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $sum + local.get $rest + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $i + call $~lib/array/Array#__get + i32.add + local.set $sum + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $sum + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $call-rest/fn@varargs (param $a i32) (param $b i32) (param $rest i32) (result i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $b + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 5 + i32.const 144 + call $~lib/rt/__newArray + local.tee $rest + i32.store + end + local.get $a + local.get $b + local.get $rest + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $call-rest/fn + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/array/ensureCapacity (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 720 + i32.const 96 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store + local.get $array + local.get $newData + i32.store offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (param $this i32) (param $index i32) (param $value i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 32 + i32.const 96 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#push (param $this i32) (param $value i32) (result i32) + (local $oldLen i32) + (local $len i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array#get:length_ + local.set $oldLen + local.get $oldLen + i32.const 1 + i32.add + local.set $len + local.get $this + local.get $len + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + i32.const 0 + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array#get:dataStart + local.get $oldLen + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + local.get $len + call $~lib/array/Array#set:length_ + local.get $len + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $call-rest/Foo#constructor (param $this i32) (param $a i32) (param $b i32) (param $rest i32) (result i32) + (local $4 i32) + (local $i i32) + (local $k i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + call $call-rest/Foo#set:values + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $4 + i32.store offset=12 + local.get $4 + i32.const 0 + local.get $a + call $~lib/array/Array#__set + local.get $4 + i32.const 1 + local.get $b + call $~lib/array/Array#__set + local.get $4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + call $call-rest/Foo#set:values + i32.const 0 + local.set $i + local.get $rest + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + call $call-rest/Foo#get:values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $rest + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + local.get $i + call $~lib/array/Array#__get + call $~lib/array/Array#push + drop + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $call-rest/Foo#constructor@varargs (param $this i32) (param $a i32) (param $b i32) (param $rest i32) (result i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $b + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 5 + i32.const 768 + call $~lib/rt/__newArray + local.tee $rest + i32.store + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + local.get $a + local.get $b + local.get $rest + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + call $call-rest/Foo#constructor + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) + (func $call-rest/Foo#sum (param $this i32) (result i32) + (local $sum i32) + (local $i i32) + (local $k i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 0 + local.set $sum + i32.const 0 + local.set $i + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $call-rest/Foo#get:values + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $sum + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + local.get $4 + call $call-rest/Foo#get:values + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + local.get $i + call $~lib/array/Array#__get + i32.add + local.set $sum + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $sum + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $call-rest/count (param $args 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 $args + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $call-rest/count@varargs (param $args i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 5 + i32.const 864 + call $~lib/rt/__newArray + local.tee $args + i32.store + end + local.get $args + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $call-rest/count + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/array/Array<~lib/string/String>#get:length (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $call-rest/count<~lib/string/String> (param $args 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 $args + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array<~lib/string/String>#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $start:call-rest + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + 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 288 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 320 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 400 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + i32.const 1 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $call-rest/fn@varargs + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 9 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $call-rest/fn@varargs + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 10 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 560 + call $~lib/rt/__newArray + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + call $call-rest/fn + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 11 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 592 + call $~lib/rt/__newArray + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + call $call-rest/fn + i32.const 15 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 0 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + global.get $call-rest/indirect + i32.load + call_indirect (type $3) + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 16 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + i32.const 0 + i32.const 2 + global.set $~argumentsLength + global.get $call-rest/indirect + i32.load + call_indirect (type $3) + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 17 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 656 + call $~lib/rt/__newArray + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + i32.const 3 + global.set $~argumentsLength + global.get $call-rest/indirect + i32.load + call_indirect (type $3) + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 18 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 688 + call $~lib/rt/__newArray + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + i32.const 3 + global.set $~argumentsLength + global.get $call-rest/indirect + i32.load + call_indirect (type $3) + i32.const 15 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 19 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $call-rest/Foo#constructor@varargs + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + call $call-rest/Foo#sum + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 40 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1 + i32.const 2 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $call-rest/Foo#constructor@varargs + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + call $call-rest/Foo#sum + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 41 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1 + i32.const 2 + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 800 + call $~lib/rt/__newArray + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + call $call-rest/Foo#constructor + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + call $call-rest/Foo#sum + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 42 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1 + i32.const 2 + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 832 + call $~lib/rt/__newArray + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + call $call-rest/Foo#constructor + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + call $call-rest/Foo#sum + i32.const 15 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 43 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $call-rest/count@varargs + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 49 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 896 + call $~lib/rt/__newArray + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + call $call-rest/count + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 50 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 928 + call $~lib/rt/__newArray + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + call $call-rest/count + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 51 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 8 + i32.const 1056 + call $~lib/rt/__newArray + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + call $call-rest/count<~lib/string/String> + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 512 + i32.const 54 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i32%2Ci32?%2C...~lib/array/Array%29=>i32>#__visit (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/function/Function<%28i32%2Ci32?%2C...~lib/array/Array%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#__visit (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 1 + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/rt/__newArray (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) + (local $bufferSize i32) + (local $buffer i32) + (local $array i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $length + local.get $alignLog2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + local.get $data + call $~lib/rt/__newBuffer + local.tee $buffer + i32.store + i32.const 16 + local.get $id + call $~lib/rt/itcms/__new + local.set $array + local.get $array + local.get $buffer + i32.store + local.get $array + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + local.get $array + local.get $buffer + i32.store offset=4 + local.get $array + local.get $bufferSize + i32.store offset=8 + local.get $array + local.get $length + i32.store offset=12 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) +) diff --git a/tests/compiler/call-rest.json b/tests/compiler/call-rest.json new file mode 100644 index 0000000000..1bdd02b1be --- /dev/null +++ b/tests/compiler/call-rest.json @@ -0,0 +1,4 @@ +{ + "asc_flags": [ + ] +} diff --git a/tests/compiler/call-rest.release.wat b/tests/compiler/call-rest.release.wat new file mode 100644 index 0000000000..d1710e2690 --- /dev/null +++ b/tests/compiler/call-rest.release.wat @@ -0,0 +1,2964 @@ +(module + (type $0 (func (param i32 i32 i32) (result i32))) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~argumentsLength (mut i32) (i32.const 0)) + (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 34904)) + (memory $0 1) + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $1 (i32.const 1100) ",") + (data $1.1 (i32.const 1112) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $2 (i32.const 1148) "\1c") + (data $2.1 (i32.const 1160) "\01") + (data $3 (i32.const 1180) "<") + (data $3.1 (i32.const 1192) "\02\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 $4 (i32.const 1244) "<") + (data $4.1 (i32.const 1256) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $7 (i32.const 1372) ",") + (data $7.1 (i32.const 1384) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1452) "<") + (data $9.1 (i32.const 1464) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1516) ",") + (data $10.1 (i32.const 1528) "\02\00\00\00\18\00\00\00c\00a\00l\00l\00-\00r\00e\00s\00t\00.\00t\00s") + (data $11 (i32.const 1564) "\1c") + (data $11.1 (i32.const 1576) "\01\00\00\00\04\00\00\00\03") + (data $12 (i32.const 1596) "\1c") + (data $12.1 (i32.const 1608) "\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05") + (data $13 (i32.const 1628) "\1c") + (data $13.1 (i32.const 1640) "\06\00\00\00\08\00\00\00\01") + (data $14 (i32.const 1660) "\1c") + (data $14.1 (i32.const 1672) "\01\00\00\00\04\00\00\00\03") + (data $15 (i32.const 1692) "\1c") + (data $15.1 (i32.const 1704) "\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05") + (data $16 (i32.const 1724) ",") + (data $16.1 (i32.const 1736) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $17 (i32.const 1772) "\1c") + (data $17.1 (i32.const 1784) "\01") + (data $18 (i32.const 1804) "\1c") + (data $18.1 (i32.const 1816) "\01\00\00\00\04\00\00\00\03") + (data $19 (i32.const 1836) "\1c") + (data $19.1 (i32.const 1848) "\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05") + (data $20 (i32.const 1868) "\1c") + (data $20.1 (i32.const 1880) "\01") + (data $21 (i32.const 1900) "\1c") + (data $21.1 (i32.const 1912) "\01\00\00\00\04\00\00\00\01") + (data $22 (i32.const 1932) "\1c") + (data $22.1 (i32.const 1944) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $23 (i32.const 1964) "\1c") + (data $23.1 (i32.const 1976) "\02\00\00\00\02\00\00\00a") + (data $24 (i32.const 1996) "\1c") + (data $24.1 (i32.const 2008) "\02\00\00\00\02\00\00\00b") + (data $25 (i32.const 2028) "\1c") + (data $25.1 (i32.const 2040) "\02\00\00\00\02\00\00\00c") + (data $26 (i32.const 2060) "\1c") + (data $26.1 (i32.const 2072) "\01\00\00\00\0c\00\00\00\c0\07\00\00\e0\07\00\00\00\08") + (data $27 (i32.const 2096) "\t\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\01") + (data $27.1 (i32.const 2132) "\02A") + (table $0 2 2 funcref) + (elem $0 (i32.const 1) $call-rest/fn@varargs) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + i32.const 1056 + call $~lib/rt/itcms/__visit + i32.const 1744 + call $~lib/rt/itcms/__visit + i32.const 1200 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1264 + i32.const 160 + 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) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1264 + i32.const 148 + 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$160 + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load offset=8 + i32.eqz + local.get $0 + i32.const 34904 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1264 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$160 + end + local.get $0 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1264 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 2096 + i32.load + i32.gt_u + if + i32.const 1056 + i32.const 1392 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 2100 + 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 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.or + i32.store offset=4 + local.get $2 + local.get $0 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end + ) + (func $~lib/rt/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 $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1472 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.tee $3 + i32.const 12 + i32.lt_u + if + i32.const 0 + i32.const 1472 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1073741820 + local.get $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $2 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $3 + 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 1472 + 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 $1 + local.get $0 + local.get $2 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=96 + i32.eq + if + local.get $1 + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $3 + i32.rotl + i32.and + local.set $3 + local.get $1 + local.get $3 + i32.store offset=4 + local.get $3 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $2 + 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 1472 + 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 1472 + 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 1472 + 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 1472 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + i32.ne + if + i32.const 0 + i32.const 1472 + 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 + i32.const 1073741820 + local.get $2 + local.get $2 + i32.const 1073741820 + i32.ge_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 1472 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + 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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + 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 $5 + i32.shl + i32.or + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + 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 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.get $1 + i64.extend_i32_u + i64.lt_u + if + i32.const 0 + i32.const 1472 + i32.const 382 + 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 $3 + if + local.get $3 + i32.const 4 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1472 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + local.tee $5 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $5 + local.set $1 + end + else + local.get $0 + i32.const 1572 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1472 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.wrap_i64 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $3 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + 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 $1 + i32.const 4 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.const 2 + i32.store + local.get $0 + local.get $3 + 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 34912 + i32.const 0 + i32.store + i32.const 36480 + 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 34912 + 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 $0 + i32.const 4 + i32.shl + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.const 34912 + 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 34912 + i32.const 36484 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + i32.const 34912 + 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 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 34904 + i32.lt_u + if + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 1264 + i32.const 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 34904 + 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 34904 + 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 1472 + i32.const 562 + 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 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (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 + 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.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $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 + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1472 + i32.const 334 + 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 1472 + i32.const 347 + 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/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 1200 + i32.const 1264 + i32.const 261 + 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$69 + 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 + i32.const 1 + i32.shl + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt$69 + end + local.get $2 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.set $4 + local.get $0 + i32.const 16 + i32.add + local.tee $2 + i32.const 1073741820 + i32.gt_u + if + i32.const 1200 + i32.const 1472 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end + local.tee $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + memory.size + local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end + i32.const 4 + local.get $4 + i32.load offset=1568 + local.get $2 + i32.const 16 + i32.shl + i32.const 4 + i32.sub + i32.ne + i32.shl + i32.add + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $2 + 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 $4 + local.get $2 + i32.const 16 + i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + local.get $4 + local.get $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1472 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + local.get $5 + local.get $2 + i32.load + i32.const -4 + i32.and + i32.gt_u + if + i32.const 0 + i32.const 1472 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $2 + i32.load + local.set $6 + local.get $5 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1472 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const -4 + i32.and + local.get $5 + i32.sub + local.tee $3 + i32.const 16 + i32.ge_u + if + local.get $2 + local.get $5 + local.get $6 + i32.const 2 + i32.and + i32.or + i32.store + local.get $2 + i32.const 4 + i32.add + local.get $5 + i32.add + local.tee $5 + local.get $3 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $4 + local.get $5 + 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 + local.get $1 + global.get $~lib/rt/itcms/white + i32.or + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $3 + local.get $2 + local.get $3 + i32.load offset=4 + i32.const 3 + i32.and + 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 $1 + i32.const 0 + local.get $0 + memory.fill + local.get $1 + ) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1264 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load 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 + ) + (func $~lib/array/Array~visit (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 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/rt/__visit_members (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + block $folding-inner0 + block $invalid + block $~lib/array/Array<~lib/string/String> + block $call-rest/Foo + block $~lib/function/Function<%28i32%2Ci32?%2C...~lib/array/Array%29=>i32> + block $~lib/array/Array + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i32%2Ci32?%2C...~lib/array/Array%29=>i32> $call-rest/Foo $~lib/array/Array<~lib/string/String> $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + local.tee $3 + if + local.get $3 + call $~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + unreachable + end + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~start + call $start:call-rest + ) + (func $~lib/array/Array#get:length (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + i32.const 1056 + i32.const 1120 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $call-rest/fn (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.const 1 + i32.add + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.set $3 + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + local.get $2 + call $~lib/array/Array#__get + local.get $0 + i32.add + local.set $0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $call-rest/fn@varargs (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + i32.const 1168 + call $~lib/rt/__newArray + local.tee $2 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $1 + local.get $2 + call $call-rest/fn + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + local.get $0 + i32.load offset=8 + local.tee $2 + i32.const 2 + i32.shr_u + i32.gt_u + if + local.get $1 + i32.const 268435455 + i32.gt_u + if + i32.const 1744 + i32.const 1120 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + block $__inlined_func$~lib/rt/itcms/__renew$154 + i32.const 1073741820 + local.get $2 + i32.const 1 + i32.shl + local.tee $2 + local.get $2 + i32.const 1073741820 + i32.ge_u + select + local.tee $2 + i32.const 8 + local.get $1 + local.get $1 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $1 + local.get $1 + local.get $2 + i32.lt_u + select + local.tee $3 + local.get $0 + i32.load + local.tee $2 + i32.const 20 + i32.sub + local.tee $4 + i32.load + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $4 + local.get $3 + i32.store offset=16 + local.get $2 + local.set $1 + br $__inlined_func$~lib/rt/itcms/__renew$154 + end + local.get $3 + local.get $4 + i32.load offset=12 + call $~lib/rt/itcms/__new + local.tee $1 + local.get $2 + local.get $3 + local.get $4 + i32.load offset=16 + local.tee $4 + local.get $3 + local.get $4 + i32.lt_u + select + memory.copy + end + local.get $1 + local.get $2 + i32.ne + if + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + call $~lib/rt/itcms/__link + end + local.get $0 + local.get $3 + i32.store offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1056 + i32.const 1120 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.get $3 + i32.store offset=12 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $call-rest/Foo#constructor (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $3 + i32.store offset=12 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/array/Array#__set + local.get $3 + i32.const 1 + local.get $0 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $2 + local.get $3 + i32.store + local.get $2 + local.get $3 + call $~lib/rt/itcms/__link + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/array/Array#get:length + local.set $7 + loop $for-loop|0 + local.get $0 + local.get $7 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load + local.tee $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + local.get $0 + call $~lib/array/Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $6 + i32.load offset=12 + local.tee $4 + i32.const 1 + i32.add + local.tee $5 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + i32.load offset=4 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $call-rest/Foo#constructor@varargs (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 + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + i32.const 1792 + call $~lib/rt/__newArray + local.tee $1 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + call $call-rest/Foo#constructor + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $call-rest/Foo#sum (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + local.tee $3 + i32.store + local.get $3 + call $~lib/array/Array#get:length + local.set $4 + loop $for-loop|0 + local.get $1 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load + local.tee $3 + i32.store + local.get $3 + local.get $1 + call $~lib/array/Array#__get + local.get $2 + i32.add + local.set $2 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $call-rest/count (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $start:call-rest + (local $0 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 2136 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + memory.size + i32.const 16 + i32.shl + i32.const 34904 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1316 + i32.const 1312 + i32.store + i32.const 1320 + i32.const 1312 + i32.store + i32.const 1312 + global.set $~lib/rt/itcms/pinSpace + i32.const 1348 + i32.const 1344 + i32.store + i32.const 1352 + i32.const 1344 + i32.store + i32.const 1344 + global.set $~lib/rt/itcms/toSpace + i32.const 1428 + i32.const 1424 + i32.store + i32.const 1432 + i32.const 1424 + i32.store + i32.const 1424 + global.set $~lib/rt/itcms/fromSpace + i32.const 1 + global.set $~argumentsLength + i32.const 1 + i32.const 0 + i32.const 0 + call $call-rest/fn@varargs + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 9 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~argumentsLength + i32.const 1 + i32.const 2 + i32.const 0 + call $call-rest/fn@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 10 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 4 + i32.const 1584 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + i32.const 2 + local.get $0 + call $call-rest/fn + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 11 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 4 + i32.const 1616 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + i32.const 2 + local.get $0 + call $call-rest/fn + i32.const 15 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + i32.const 1 + i32.const 0 + i32.const 0 + i32.const 1648 + i32.load + call_indirect (type $0) + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 16 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~argumentsLength + i32.const 1 + i32.const 2 + i32.const 0 + i32.const 1648 + i32.load + call_indirect (type $0) + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 17 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 4 + i32.const 1680 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + i32.const 3 + global.set $~argumentsLength + i32.const 1 + i32.const 2 + local.get $0 + i32.const 1648 + i32.load + call_indirect (type $0) + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 18 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 4 + i32.const 1712 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + i32.const 3 + global.set $~argumentsLength + i32.const 1 + i32.const 2 + local.get $0 + i32.const 1648 + i32.load + call_indirect (type $0) + i32.const 15 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 19 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $call-rest/Foo#constructor@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $call-rest/Foo#sum + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 40 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + global.set $~argumentsLength + i32.const 2 + call $call-rest/Foo#constructor@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $call-rest/Foo#sum + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 41 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 4 + i32.const 1824 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + i32.const 2 + local.get $0 + call $call-rest/Foo#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $call-rest/Foo#sum + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 42 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 4 + i32.const 1856 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + i32.const 2 + local.get $0 + call $call-rest/Foo#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $call-rest/Foo#sum + i32.const 15 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 43 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + i32.const 1888 + call $~lib/rt/__newArray + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + call $call-rest/count + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + if + i32.const 0 + i32.const 1536 + i32.const 49 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 4 + i32.const 1920 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $call-rest/count + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 50 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 4 + i32.const 1952 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $call-rest/count + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 51 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 8 + i32.const 2080 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $call-rest/count + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1536 + i32.const 54 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/rt/__newArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2136 + i32.lt_s + if + i32.const 34928 + i32.const 34976 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2 + i32.shl + local.tee $4 + i32.const 1 + call $~lib/rt/itcms/__new + local.set $3 + local.get $2 + if + local.get $3 + local.get $2 + local.get $4 + memory.copy + end + local.get $3 + i32.store + i32.const 16 + local.get $1 + call $~lib/rt/itcms/__new + local.tee $1 + local.get $3 + i32.store + local.get $1 + local.get $3 + call $~lib/rt/itcms/__link + local.get $1 + local.get $3 + i32.store offset=4 + local.get $1 + local.get $4 + i32.store offset=8 + local.get $1 + local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) +) diff --git a/tests/compiler/call-rest.ts b/tests/compiler/call-rest.ts new file mode 100644 index 0000000000..bb0336a939 --- /dev/null +++ b/tests/compiler/call-rest.ts @@ -0,0 +1,54 @@ +// direct call test +function fn(a: i32, b: i32 = 0, ...rest: i32[]): i32 { + let sum = a + b; + for (let i = 0, k = rest.length; i < k; ++i) { + sum += rest[i]; + } + return sum; +} +assert(fn(1) == 1); +assert(fn(1, 2) == 3); +assert(fn(1, 2, 3) == 6); +assert(fn(1, 2, 3, 4, 5) == 15); + +// indirect call test +var indirect = fn; +assert(indirect(1) == 1); +assert(indirect(1, 2) == 3); +assert(indirect(1, 2, 3) == 6); +assert(indirect(1, 2, 3, 4, 5) == 15); + +// constructor test +class Foo{ + values: i32[]; + + constructor(a: i32, b: i32 = 0, ...rest: i32[]) { + this.values = [a, b]; + for (let i = 0, k = rest.length; i < k; ++i) { + this.values.push(rest[i]); + } + } + + sum(): i32 { + let sum = 0; + for (let i = 0, k = this.values.length; i < k; ++i) { + sum += this.values[i]; + } + return sum; + } +} +assert(new Foo(1).sum() == 1); +assert(new Foo(1, 2).sum() == 3); +assert(new Foo(1, 2, 3).sum() == 6); +assert(new Foo(1, 2, 3, 4, 5).sum() == 15); + +// generic test +function count(...args: T[]): i32 { + return args.length; +} +assert(count() == 0); +assert(count(1) == 1); +assert(count(1, 2, 3) == 3); + +// inferred generic test +assert(count('a','b','c') == 3); diff --git a/tests/compiler/call-super.debug.wat b/tests/compiler/call-super.debug.wat index 3e8d088385..9e413d5a8e 100644 --- a/tests/compiler/call-super.debug.wat +++ b/tests/compiler/call-super.debug.wat @@ -1,13 +1,13 @@ (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 (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -28,33 +28,33 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33292)) (global $~lib/memory/__heap_base i32 (i32.const 33292)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 464) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \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 $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s\00\00\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 464) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $call-super/A#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -68,7 +68,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -142,7 +142,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -212,11 +212,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -224,7 +224,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 272 @@ -356,7 +356,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -369,7 +369,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -385,34 +385,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -572,7 +572,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -595,7 +595,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -609,7 +609,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -632,7 +632,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -775,7 +775,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -861,7 +861,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -941,7 +941,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -975,7 +975,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -998,7 +998,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1012,27 +1012,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 416 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1057,9 +1062,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1078,7 +1083,7 @@ if i32.const 0 i32.const 416 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1097,7 +1102,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1111,7 +1115,7 @@ if i32.const 0 i32.const 416 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1167,12 +1171,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1206,7 +1210,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1227,7 +1231,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1247,7 +1251,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1267,7 +1271,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1293,7 +1297,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1316,9 +1320,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1354,7 +1359,7 @@ if i32.const 0 i32.const 416 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1620,14 +1625,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1683,7 +1691,7 @@ if i32.const 80 i32.const 416 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1692,6 +1700,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1721,24 +1749,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1776,7 +1793,7 @@ if i32.const 0 i32.const 416 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1791,7 +1808,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1836,7 +1853,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1847,7 +1864,7 @@ if i32.const 0 i32.const 416 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1869,7 +1886,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1892,7 +1909,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1911,22 +1928,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1939,7 +1948,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1966,27 +1975,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2011,7 +2021,7 @@ if i32.const 0 i32.const 416 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2126,7 +2136,7 @@ if i32.const 0 i32.const 416 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2146,7 +2156,7 @@ if i32.const 0 i32.const 416 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2179,12 +2189,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2235,98 +2245,98 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $call-super/A#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $call-super/B#get:b (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $call-super/B#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store $0 offset=4 + i32.store offset=4 ) (func $call-super/C#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $call-super/C#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $call-super/D#get:b (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $call-super/D#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store $0 offset=4 + i32.store offset=4 ) (func $call-super/E#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $call-super/E#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $call-super/F#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store $0 offset=4 + i32.store offset=4 ) (func $call-super/F#get:b (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $call-super/G#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $call-super/H#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store $0 offset=4 + i32.store offset=4 ) (func $call-super/G#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $call-super/H#get:b (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $call-super/I#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $call-super/J#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store $0 offset=4 + i32.store offset=4 ) (func $call-super/I#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $call-super/J#get:b (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $start:call-super - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2364,16 +2374,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2394,7 +2399,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $call-super/B $call-super/A $call-super/D $call-super/C $call-super/F $call-super/E $call-super/H $call-super/G $call-super/J $call-super/I $invalid end return @@ -2455,7 +2460,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2464,13 +2469,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $call-super/A#set:a @@ -2478,7 +2483,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/A#get:a i32.const 1 @@ -2509,7 +2514,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2518,13 +2523,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 call $call-super/B#set:b @@ -2533,16 +2538,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/A#get:a i32.const 1 @@ -2560,7 +2565,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/B#get:b i32.const 2 @@ -2592,17 +2597,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 call $call-super/B#constructor local.tee $b - i32.store $0 + i32.store local.get $b local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/A#get:a i32.const 1 @@ -2620,7 +2625,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/B#get:b i32.const 2 @@ -2648,7 +2653,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2657,23 +2662,23 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $call-super/C#set:a @@ -2694,7 +2699,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2703,13 +2708,13 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 call $call-super/D#set:b @@ -2718,16 +2723,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/C#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/C#get:a i32.const 1 @@ -2745,7 +2750,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/D#get:b i32.const 2 @@ -2777,17 +2782,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 call $call-super/D#constructor local.tee $d - i32.store $0 + i32.store local.get $d local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/C#get:a i32.const 1 @@ -2805,7 +2810,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/D#get:b i32.const 2 @@ -2833,7 +2838,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2842,13 +2847,13 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $call-super/E#set:a @@ -2856,7 +2861,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/E#get:a i32.const 1 @@ -2887,7 +2892,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2896,23 +2901,23 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/E#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 call $call-super/F#set:b @@ -2934,17 +2939,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 call $call-super/F#constructor local.tee $f - i32.store $0 + i32.store local.get $f local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/E#get:a i32.const 1 @@ -2962,7 +2967,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/F#get:b i32.const 2 @@ -2990,7 +2995,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2999,23 +3004,23 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $call-super/G#set:a @@ -3036,7 +3041,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3045,23 +3050,23 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/G#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 call $call-super/H#set:b @@ -3083,17 +3088,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 call $call-super/H#constructor local.tee $h - i32.store $0 + i32.store local.get $h local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/G#get:a i32.const 1 @@ -3111,7 +3116,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/H#get:b i32.const 2 @@ -3139,7 +3144,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3148,13 +3153,13 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $call-super/I#set:a @@ -3175,7 +3180,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3184,23 +3189,23 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/I#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 call $call-super/J#set:b @@ -3222,17 +3227,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 call $call-super/J#constructor local.tee $h - i32.store $0 + i32.store local.get $h local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/I#get:a i32.const 1 @@ -3250,7 +3255,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $call-super/J#get:b i32.const 2 @@ -3278,7 +3283,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3287,7 +3292,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/call-super.release.wat b/tests/compiler/call-super.release.wat index 70e831b1b5..0c67fa96d2 100644 --- a/tests/compiler/call-super.release.wat +++ b/tests/compiler/call-super.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param 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)) @@ -20,31 +20,31 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34316)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1276) "<") - (data (i32.const 1288) "\02\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 1340) ",") - (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1420) "<") - (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \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 $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1a\00\00\00c\00a\00l\00l\00-\00s\00u\00p\00e\00r\00.\00t\00s") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\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 $2 (i32.const 1148) "<") + (data $2.1 (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1276) "<") + (data $5.1 (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1340) ",") + (data $6.1 (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1420) "<") + (data $8.1 (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1488) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1296 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1104 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -54,7 +54,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -72,7 +72,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -80,137 +80,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34316 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$158 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34316 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$158 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1168 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1488 + i32.load + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1492 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -218,8 +238,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -231,10 +251,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -245,29 +265,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -275,10 +295,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -292,75 +312,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -382,7 +395,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -399,12 +412,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -421,17 +434,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -441,9 +454,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -468,13 +481,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -508,7 +521,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -564,19 +577,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -588,15 +601,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -604,23 +617,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1440 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -634,10 +649,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -645,23 +660,22 @@ if i32.const 0 i32.const 1440 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -673,52 +687,53 @@ if i32.const 0 i32.const 1440 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -726,7 +741,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -734,7 +749,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -745,10 +760,10 @@ end i32.const 34320 i32.const 0 - i32.store $0 + i32.store i32.const 35888 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -760,7 +775,7 @@ i32.const 34320 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -778,7 +793,7 @@ i32.const 34320 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -795,9 +810,10 @@ end i32.const 34320 i32.const 35892 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34320 global.set $~lib/rt/tlsf/ROOT @@ -827,7 +843,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -840,19 +856,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -863,7 +879,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -875,7 +891,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -888,12 +904,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -902,7 +914,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -913,26 +925,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -948,7 +960,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -964,7 +976,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -989,14 +1001,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1016,7 +1028,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1031,25 +1042,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1440 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1058,12 +1068,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1071,47 +1080,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1122,7 +1133,7 @@ if i32.const 0 i32.const 1440 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1132,7 +1143,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1149,10 +1160,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1168,13 +1179,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1440 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1189,7 +1200,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1216,7 +1227,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1228,16 +1239,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1245,8 +1252,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1273,34 +1279,60 @@ if i32.const 1104 i32.const 1440 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1308,21 +1340,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1335,12 +1352,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1351,9 +1368,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1363,7 +1381,7 @@ if i32.const 0 i32.const 1440 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1371,14 +1389,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1440 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1387,8 +1405,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1397,95 +1415,95 @@ if i32.const 0 i32.const 1440 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1498,15 +1516,14 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $start:call-super (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34316 @@ -1516,26 +1533,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1220 i32.const 1216 - i32.store $0 + i32.store i32.const 1224 i32.const 1216 - i32.store $0 + i32.store i32.const 1216 global.set $~lib/rt/itcms/pinSpace i32.const 1252 i32.const 1248 - i32.store $0 + i32.store i32.const 1256 i32.const 1248 - i32.store $0 + i32.store i32.const 1248 global.set $~lib/rt/itcms/toSpace i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1548,10 +1565,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1560,26 +1577,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1589,7 +1605,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1598,20 +1614,19 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -1626,14 +1641,13 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -1646,9 +1660,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -1663,14 +1677,13 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -1683,9 +1696,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -1709,10 +1722,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1721,26 +1734,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1750,7 +1762,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1759,35 +1771,33 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -1800,9 +1810,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -1817,14 +1827,13 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -1837,9 +1846,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -1863,10 +1872,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1875,20 +1884,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1898,7 +1906,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1907,20 +1915,19 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -1935,27 +1942,25 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -1968,9 +1973,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -1994,10 +1999,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2006,20 +2011,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 10 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2029,7 +2033,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -2038,48 +2042,45 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -2092,9 +2093,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -2118,10 +2119,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2130,20 +2131,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 12 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2153,7 +2153,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -2162,40 +2162,37 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -2208,9 +2205,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -2253,7 +2250,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $call-super/B $call-super/A $call-super/D $call-super/C $call-super/F $call-super/E $call-super/H $call-super/G $call-super/J $call-super/I $invalid end return @@ -2263,12 +2260,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -2314,7 +2307,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -2323,7 +2316,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2331,23 +2324,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/cast.debug.wat b/tests/compiler/cast.debug.wat index 14d039d108..3a7ae38bce 100644 --- a/tests/compiler/cast.debug.wat +++ b/tests/compiler/cast.debug.wat @@ -1,9 +1,9 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_i64 (func (param i32) (result i64))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i64_=>_i64 (func (param i64) (result i64))) - (type $none_=>_none (func)) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32) (result i64))) + (type $2 (func (param i64) (result i32))) + (type $3 (func (param i64) (result i64))) + (type $4 (func)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) @@ -12,21 +12,21 @@ (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.extend8_s @@ -34,7 +34,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.extend8_s @@ -42,7 +42,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.extend8_s @@ -50,7 +50,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.extend8_s @@ -58,7 +58,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i32.extend8_s @@ -67,7 +67,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i32.extend8_s @@ -76,28 +76,28 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 255 @@ -106,7 +106,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 255 @@ -115,7 +115,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 255 @@ -124,7 +124,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 255 @@ -133,7 +133,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i32.const 255 @@ -143,7 +143,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i32.const 255 @@ -153,42 +153,42 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.extend16_s @@ -196,7 +196,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.extend16_s @@ -204,7 +204,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i32.extend16_s @@ -213,7 +213,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i32.extend16_s @@ -222,42 +222,42 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 65535 @@ -266,7 +266,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 65535 @@ -275,7 +275,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i32.const 65535 @@ -285,7 +285,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i32.const 65535 @@ -295,56 +295,56 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i64.extend_i32_s @@ -352,7 +352,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i64.extend_i32_s @@ -360,56 +360,56 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i64.extend_i32_u @@ -417,7 +417,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i64.extend_i32_u @@ -425,14 +425,14 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -440,7 +440,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -448,7 +448,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -456,7 +456,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -464,7 +464,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -472,7 +472,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -480,21 +480,21 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i64) + (func $"cast/test" (param $x i64) (result i64) (local $y i64) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i64) (result i64) + (func $"cast/test" (param $x i64) (result i64) (local $y i64) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i64.const 0 @@ -503,7 +503,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -511,7 +511,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -519,7 +519,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -527,7 +527,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -535,7 +535,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -543,7 +543,7 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i32.wrap_i64 @@ -551,21 +551,21 @@ local.get $y return ) - (func $cast/test (param $x i64) (result i64) + (func $"cast/test" (param $x i64) (result i64) (local $y i64) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i64) (result i64) + (func $"cast/test" (param $x i64) (result i64) (local $y i64) local.get $x local.set $y local.get $y return ) - (func $cast/test (param $x i64) (result i32) + (func $"cast/test" (param $x i64) (result i32) (local $y i32) local.get $x i64.const 0 @@ -574,7 +574,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 0 @@ -583,7 +583,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 0 @@ -592,7 +592,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 0 @@ -601,7 +601,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 0 @@ -610,7 +610,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 0 @@ -619,7 +619,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x i32.const 0 @@ -628,7 +628,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i32.const 0 @@ -638,7 +638,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i64) + (func $"cast/test" (param $x i32) (result i64) (local $y i64) local.get $x i32.const 0 @@ -648,7 +648,7 @@ local.get $y return ) - (func $cast/test (param $x i32) (result i32) + (func $"cast/test" (param $x i32) (result i32) (local $y i32) local.get $x local.set $y @@ -657,247 +657,247 @@ ) (func $start:cast i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i64.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop i32.const 0 - call $cast/test + call $"cast/test" drop ) (func $~start diff --git a/tests/compiler/class-errors.json b/tests/compiler/class-errors.json new file mode 100644 index 0000000000..d852107478 --- /dev/null +++ b/tests/compiler/class-errors.json @@ -0,0 +1,9 @@ +{ + "asc_flags": [ + ], + "stderr": [ + "TS2304: Cannot find name 'T'.", + "TS2339: Property 'v' does not exist on type 'class-errors/A'.", + "EOF" + ] +} diff --git a/tests/compiler/class-errors.ts b/tests/compiler/class-errors.ts new file mode 100644 index 0000000000..ff71b03088 --- /dev/null +++ b/tests/compiler/class-errors.ts @@ -0,0 +1,7 @@ +class A { + v: T; +} + +new A().v; + +ERROR("EOF"); diff --git a/tests/compiler/class-extends.debug.wat b/tests/compiler/class-extends.debug.wat index d8d713d111..db6c27269e 100644 --- a/tests/compiler/class-extends.debug.wat +++ b/tests/compiler/class-extends.debug.wat @@ -1,9 +1,9 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32 i32 i32))) + (type $4 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) @@ -15,21 +15,21 @@ (export "test" (func $export:class-extends/test)) (func $class-extends/A#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $class-extends/B#get:b (param $this i32) (result i32) local.get $this - i32.load16_s $0 offset=4 + i32.load16_s offset=4 ) (func $class-extends/A#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $class-extends/B#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store16 $0 offset=4 + i32.store16 offset=4 ) (func $~stack_check global.get $~lib/memory/__stack_pointer @@ -53,12 +53,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $b local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-extends/A#get:a drop @@ -66,7 +66,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-extends/B#get:b drop @@ -74,7 +74,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2 call $class-extends/A#set:a @@ -82,7 +82,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 3 call $class-extends/B#set:b @@ -99,7 +99,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-extends/test global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-extends.release.wat b/tests/compiler/class-extends.release.wat index 7f47ffaa17..5ff350f382 100644 --- a/tests/compiler/class-extends.release.wat +++ b/tests/compiler/class-extends.release.wat @@ -1,13 +1,12 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_=>_none (func (param i32))) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func (param i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33792)) (memory $0 0) (export "memory" (memory $0)) (export "test" (func $export:class-extends/test)) (func $export:class-extends/test (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18,10 +17,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -30,34 +28,33 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load drop - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load16_s $0 offset=4 + i32.load16_s offset=4 drop - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3 - i32.store16 $0 offset=4 - local.get $1 + i32.store16 offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-implements.debug.wat b/tests/compiler/class-implements.debug.wat index 0023be05b2..a7eac9aaaf 100644 --- a/tests/compiler/class-implements.debug.wat +++ b/tests/compiler/class-implements.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -31,20 +31,20 @@ (global $class-implements/g (mut i32) (i32.const 0)) (global $class-implements/h (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 480)) - (global $~lib/memory/__data_end i32 (i32.const 560)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33328)) - (global $~lib/memory/__heap_base i32 (i32.const 33328)) + (global $~lib/memory/__data_end i32 (i32.const 568)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33336)) + (global $~lib/memory/__heap_base i32 (i32.const 33336)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00&\00\00\00c\00l\00a\00s\00s\00-\00i\00m\00p\00l\00e\00m\00e\00n\00t\00s\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 480) "\13\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00c\00l\00a\00s\00s\00-\00i\00m\00p\00l\00e\00m\00e\00n\00t\00s\00.\00t\00s\00\00\00\00\00\00\00") + (data $9 (i32.const 480) "\15\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -52,12 +52,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -71,7 +71,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -145,7 +145,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -215,11 +215,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -227,7 +227,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -359,7 +359,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -372,7 +372,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -388,34 +388,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -575,7 +575,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -598,7 +598,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -612,7 +612,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -635,7 +635,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -778,7 +778,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -864,7 +864,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -944,7 +944,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -978,7 +978,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1001,7 +1001,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1015,27 +1015,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1060,9 +1065,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1081,7 +1086,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1100,7 +1105,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1114,7 +1118,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1170,12 +1174,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1209,7 +1213,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1230,7 +1234,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1250,7 +1254,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1270,7 +1274,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1296,7 +1300,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1319,9 +1323,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1357,7 +1362,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1623,14 +1628,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1686,7 +1694,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1695,6 +1703,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1724,24 +1752,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1779,7 +1796,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1794,7 +1811,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1839,7 +1856,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1850,7 +1867,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1872,7 +1889,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1895,7 +1912,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1914,22 +1931,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1942,7 +1951,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1969,27 +1978,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2014,7 +2024,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2129,7 +2139,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2149,7 +2159,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2182,12 +2192,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2238,7 +2248,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2261,14 +2271,17 @@ (func $class-implements/I#foo (param $this i32) (result i32) unreachable ) + (func $class-implements/J#foo (param $this i32) (result i32) + unreachable + ) (func $class-implements/A2#set:foo (param $this i32) (param $foo i32) local.get $this local.get $foo - i32.store $0 + i32.store ) (func $class-implements/A2#get:foo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $class-implements/I2#get:foo (param $this i32) (result i32) unreachable @@ -2279,47 +2292,54 @@ (func $class-implements/A3#set:foo (param $this i32) (param $foo i32) local.get $this local.get $foo - i32.store $0 + i32.store ) (func $class-implements/A3#get:foo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $class-implements/A4#set:foo (param $this i32) (param $foo i32) local.get $this local.get $foo - i32.store $0 + i32.store ) (func $class-implements/A4#get:foo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $class-implements/B2#set:_foo (param $this i32) (param $_foo i32) local.get $this local.get $_foo - i32.store $0 + i32.store ) (func $class-implements/B2#get:_foo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $class-implements/B3#set:_foo2 (param $this i32) (param $_foo2 i32) local.get $this local.get $_foo2 - i32.store $0 offset=4 + i32.store offset=4 ) (func $class-implements/B3#get:_foo2 (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $class-implements/B4#set:_foo2 (param $this i32) (param $_foo2 i32) local.get $this local.get $_foo2 - i32.store $0 offset=4 + i32.store offset=4 ) (func $class-implements/B4#get:_foo2 (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 + ) + (func $class-implements/K#foo (param $this i32) (result i32) + unreachable + ) + (func $class-implements/G#foo (param $this i32) (result i32) + i32.const 1 + return ) (func $class-implements/D#foo@override (param $0 i32) (result i32) (local $1 i32) @@ -2328,7 +2348,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 11 @@ -2353,7 +2373,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 11 @@ -2395,6 +2415,58 @@ end unreachable ) + (func $class-implements/J#foo@override (param $0 i32) (result i32) + (local $1 i32) + block $default + block $case3 + block $case2 + block $case1 + block $case0 + local.get $0 + i32.const 8 + i32.sub + i32.load + local.set $1 + local.get $1 + i32.const 13 + i32.eq + br_if $case0 + local.get $1 + i32.const 11 + i32.eq + br_if $case1 + local.get $1 + i32.const 8 + i32.eq + br_if $case2 + local.get $1 + i32.const 10 + i32.eq + br_if $case2 + local.get $1 + i32.const 12 + i32.eq + br_if $case3 + br $default + end + local.get $0 + call $class-implements/K#foo + return + end + local.get $0 + call $class-implements/F#foo + return + end + local.get $0 + call $class-implements/D#foo + return + end + local.get $0 + call $class-implements/G#foo + return + end + unreachable + ) (func $class-implements/I2#get:foo@override (param $0 i32) (result i32) (local $1 i32) block $default @@ -2407,30 +2479,30 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 - i32.const 14 + i32.const 16 i32.eq br_if $case0 local.get $1 - i32.const 15 + i32.const 17 i32.eq br_if $case1 local.get $1 - i32.const 17 + i32.const 19 i32.eq br_if $case2 local.get $1 - i32.const 18 + i32.const 20 i32.eq br_if $case3 local.get $1 - i32.const 12 + i32.const 14 i32.eq br_if $case4 local.get $1 - i32.const 16 + i32.const 18 i32.eq br_if $case5 br $default @@ -2473,30 +2545,30 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $2 local.get $2 - i32.const 14 + i32.const 16 i32.eq br_if $case0 local.get $2 - i32.const 15 + i32.const 17 i32.eq br_if $case1 local.get $2 - i32.const 17 + i32.const 19 i32.eq br_if $case2 local.get $2 - i32.const 18 + i32.const 20 i32.eq br_if $case3 local.get $2 - i32.const 12 + i32.const 14 i32.eq br_if $case4 local.get $2 - i32.const 16 + i32.const 18 i32.eq br_if $case5 br $default @@ -2541,14 +2613,14 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 - i32.const 17 + i32.const 19 i32.eq br_if $case0 local.get $1 - i32.const 18 + i32.const 20 i32.eq br_if $case1 br $default @@ -2628,16 +2700,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2648,33 +2715,39 @@ block $class-implements/A3 block $class-implements/I2 block $class-implements/A2 - block $class-implements/F - block $class-implements/E - block $class-implements/J - block $class-implements/D - block $class-implements/B - block $class-implements/C - block $class-implements/I - block $class-implements/A - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-implements/A $class-implements/I $class-implements/C $class-implements/B $class-implements/D $class-implements/J $class-implements/E $class-implements/F $class-implements/A2 $class-implements/I2 $class-implements/A3 $class-implements/A4 $class-implements/B2 $class-implements/B3 $class-implements/B4 $invalid + block $class-implements/K + block $class-implements/G + block $class-implements/F + block $class-implements/E + block $class-implements/J + block $class-implements/D + block $class-implements/B + block $class-implements/C + block $class-implements/I + block $class-implements/A + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-implements/A $class-implements/I $class-implements/C $class-implements/B $class-implements/D $class-implements/J $class-implements/E $class-implements/F $class-implements/G $class-implements/K $class-implements/A2 $class-implements/I2 $class-implements/A3 $class-implements/A4 $class-implements/B2 $class-implements/B3 $class-implements/B4 $invalid + end + return + end + return end return end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit return end return end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit return end return @@ -2734,7 +2807,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2743,18 +2816,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2772,7 +2845,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2781,18 +2854,18 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2810,7 +2883,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2819,18 +2892,18 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-implements/B#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2848,7 +2921,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2857,18 +2930,18 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2886,7 +2959,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2895,18 +2968,18 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-implements/D#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2924,7 +2997,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2933,18 +3006,56 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-implements/D#constructor local.tee $this - i32.store $0 + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $class-implements/G#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2962,32 +3073,32 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 12 + i32.const 14 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $class-implements/A2#set:foo @@ -3008,32 +3119,32 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 14 + i32.const 16 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-implements/A2#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 5 call $class-implements/A3#set:foo @@ -3054,32 +3165,32 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 15 + i32.const 17 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-implements/A2#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 7 call $class-implements/A4#set:foo @@ -3100,32 +3211,32 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 16 + i32.const 18 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 call $class-implements/B2#set:_foo @@ -3146,12 +3257,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/B2#get:_foo local.set $1 @@ -3171,32 +3282,32 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 17 + i32.const 19 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-implements/B2#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 9 call $class-implements/B3#set:_foo2 @@ -3217,12 +3328,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/B3#get:_foo2 local.set $1 @@ -3242,32 +3353,32 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 18 + i32.const 20 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-implements/B2#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 11 call $class-implements/B4#set:_foo2 @@ -3288,12 +3399,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/B4#get:_foo2 local.set $1 @@ -3320,8 +3431,8 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 28 - memory.fill $0 - memory.size $0 + memory.fill + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3345,7 +3456,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/A#foo i32.const 1 @@ -3354,7 +3465,7 @@ if i32.const 0 i32.const 432 - i32.const 14 + i32.const 18 i32.const 1 call $~lib/builtins/abort unreachable @@ -3366,7 +3477,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/C#foo i32.const 2 @@ -3375,7 +3486,7 @@ if i32.const 0 i32.const 432 - i32.const 24 + i32.const 28 i32.const 1 call $~lib/builtins/abort unreachable @@ -3387,7 +3498,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/D#foo@override i32.const 3 @@ -3396,7 +3507,7 @@ if i32.const 0 i32.const 432 - i32.const 31 + i32.const 35 i32.const 1 call $~lib/builtins/abort unreachable @@ -3408,7 +3519,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/D#foo@override i32.const 3 @@ -3417,7 +3528,7 @@ if i32.const 0 i32.const 432 - i32.const 37 + i32.const 41 i32.const 1 call $~lib/builtins/abort unreachable @@ -3429,7 +3540,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/F#foo i32.const 4 @@ -3438,7 +3549,7 @@ if i32.const 0 i32.const 432 - i32.const 44 + i32.const 48 i32.const 1 call $~lib/builtins/abort unreachable @@ -3450,7 +3561,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/D#foo@override i32.const 4 @@ -3459,7 +3570,7 @@ if i32.const 0 i32.const 432 - i32.const 47 + i32.const 51 i32.const 1 call $~lib/builtins/abort unreachable @@ -3471,7 +3582,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I#foo@override i32.const 4 @@ -3480,7 +3591,26 @@ if i32.const 0 i32.const 432 - i32.const 50 + i32.const 54 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $class-implements/G#constructor + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + call $class-implements/J#foo@override + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 62 i32.const 1 call $~lib/builtins/abort unreachable @@ -3489,12 +3619,12 @@ i32.const 0 call $class-implements/A2#constructor local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/A2#get:foo i32.const 1 @@ -3503,7 +3633,7 @@ if i32.const 0 i32.const 432 - i32.const 85 + i32.const 97 i32.const 3 call $~lib/builtins/abort unreachable @@ -3512,7 +3642,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 1 @@ -3521,7 +3651,7 @@ if i32.const 0 i32.const 432 - i32.const 86 + i32.const 98 i32.const 3 call $~lib/builtins/abort unreachable @@ -3530,7 +3660,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2 call $class-implements/I2#set:foo@override @@ -3538,7 +3668,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/A2#get:foo i32.const 2 @@ -3547,7 +3677,7 @@ if i32.const 0 i32.const 432 - i32.const 88 + i32.const 100 i32.const 3 call $~lib/builtins/abort unreachable @@ -3556,7 +3686,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 2 @@ -3565,7 +3695,7 @@ if i32.const 0 i32.const 432 - i32.const 89 + i32.const 101 i32.const 3 call $~lib/builtins/abort unreachable @@ -3574,12 +3704,12 @@ i32.const 0 call $class-implements/A3#constructor local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/A3#get:foo i32.const 5 @@ -3588,7 +3718,7 @@ if i32.const 0 i32.const 432 - i32.const 93 + i32.const 105 i32.const 3 call $~lib/builtins/abort unreachable @@ -3597,7 +3727,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 5 @@ -3606,7 +3736,7 @@ if i32.const 0 i32.const 432 - i32.const 94 + i32.const 106 i32.const 3 call $~lib/builtins/abort unreachable @@ -3615,7 +3745,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 6 call $class-implements/I2#set:foo@override @@ -3623,7 +3753,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/A3#get:foo i32.const 6 @@ -3632,7 +3762,7 @@ if i32.const 0 i32.const 432 - i32.const 96 + i32.const 108 i32.const 3 call $~lib/builtins/abort unreachable @@ -3641,7 +3771,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 6 @@ -3650,7 +3780,7 @@ if i32.const 0 i32.const 432 - i32.const 97 + i32.const 109 i32.const 3 call $~lib/builtins/abort unreachable @@ -3659,12 +3789,12 @@ i32.const 0 call $class-implements/A4#constructor local.tee $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/A4#get:foo i32.const 7 @@ -3673,7 +3803,7 @@ if i32.const 0 i32.const 432 - i32.const 101 + i32.const 113 i32.const 3 call $~lib/builtins/abort unreachable @@ -3682,7 +3812,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 7 @@ -3691,7 +3821,7 @@ if i32.const 0 i32.const 432 - i32.const 102 + i32.const 114 i32.const 3 call $~lib/builtins/abort unreachable @@ -3700,7 +3830,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 8 call $class-implements/I2#set:foo@override @@ -3708,7 +3838,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/A4#get:foo i32.const 8 @@ -3717,7 +3847,7 @@ if i32.const 0 i32.const 432 - i32.const 104 + i32.const 116 i32.const 3 call $~lib/builtins/abort unreachable @@ -3726,7 +3856,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 8 @@ -3735,7 +3865,7 @@ if i32.const 0 i32.const 432 - i32.const 105 + i32.const 117 i32.const 3 call $~lib/builtins/abort unreachable @@ -3744,12 +3874,12 @@ i32.const 0 call $class-implements/B2#constructor local.tee $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $3 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/B2#get:foo@override i32.const 3 @@ -3758,7 +3888,7 @@ if i32.const 0 i32.const 432 - i32.const 109 + i32.const 121 i32.const 3 call $~lib/builtins/abort unreachable @@ -3767,7 +3897,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 3 @@ -3776,7 +3906,7 @@ if i32.const 0 i32.const 432 - i32.const 110 + i32.const 122 i32.const 3 call $~lib/builtins/abort unreachable @@ -3785,7 +3915,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 4 call $class-implements/I2#set:foo@override @@ -3793,7 +3923,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/B2#get:foo@override i32.const 4 @@ -3802,7 +3932,7 @@ if i32.const 0 i32.const 432 - i32.const 112 + i32.const 124 i32.const 3 call $~lib/builtins/abort unreachable @@ -3811,7 +3941,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 4 @@ -3820,7 +3950,7 @@ if i32.const 0 i32.const 432 - i32.const 113 + i32.const 125 i32.const 3 call $~lib/builtins/abort unreachable @@ -3829,12 +3959,12 @@ i32.const 0 call $class-implements/B3#constructor local.tee $4 - i32.store $0 offset=20 + i32.store offset=20 local.get $4 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/B3#get:foo i32.const 9 @@ -3843,7 +3973,7 @@ if i32.const 0 i32.const 432 - i32.const 117 + i32.const 129 i32.const 3 call $~lib/builtins/abort unreachable @@ -3852,7 +3982,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 9 @@ -3861,7 +3991,7 @@ if i32.const 0 i32.const 432 - i32.const 118 + i32.const 130 i32.const 3 call $~lib/builtins/abort unreachable @@ -3870,7 +4000,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 10 call $class-implements/I2#set:foo@override @@ -3878,7 +4008,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/B3#get:foo i32.const 10 @@ -3887,7 +4017,7 @@ if i32.const 0 i32.const 432 - i32.const 120 + i32.const 132 i32.const 3 call $~lib/builtins/abort unreachable @@ -3896,7 +4026,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 10 @@ -3905,7 +4035,7 @@ if i32.const 0 i32.const 432 - i32.const 121 + i32.const 133 i32.const 3 call $~lib/builtins/abort unreachable @@ -3914,12 +4044,12 @@ i32.const 0 call $class-implements/B4#constructor local.tee $5 - i32.store $0 offset=24 + i32.store offset=24 local.get $5 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/B4#get:foo i32.const 11 @@ -3928,7 +4058,7 @@ if i32.const 0 i32.const 432 - i32.const 125 + i32.const 137 i32.const 3 call $~lib/builtins/abort unreachable @@ -3937,7 +4067,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 11 @@ -3946,7 +4076,7 @@ if i32.const 0 i32.const 432 - i32.const 126 + i32.const 138 i32.const 3 call $~lib/builtins/abort unreachable @@ -3955,7 +4085,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 12 call $class-implements/I2#set:foo@override @@ -3963,7 +4093,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/B4#get:foo i32.const 12 @@ -3972,7 +4102,7 @@ if i32.const 0 i32.const 432 - i32.const 128 + i32.const 140 i32.const 3 call $~lib/builtins/abort unreachable @@ -3981,7 +4111,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $class-implements/I2#get:foo@override i32.const 12 @@ -3990,7 +4120,7 @@ if i32.const 0 i32.const 432 - i32.const 129 + i32.const 141 i32.const 3 call $~lib/builtins/abort unreachable @@ -4009,12 +4139,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $foo call $class-implements/B3#set:_foo2 @@ -4032,12 +4162,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $foo call $class-implements/B4#set:_foo2 @@ -4055,12 +4185,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $foo call $class-implements/B2#set:_foo @@ -4078,7 +4208,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -4087,7 +4217,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/class-implements.release.wat b/tests/compiler/class-implements.release.wat index e9b7a25e59..405b45c818 100644 --- a/tests/compiler/class-implements.release.wat +++ b/tests/compiler/class-implements.release.wat @@ -1,12 +1,12 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_i32 (func (result 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 $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) (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)) @@ -25,21 +25,21 @@ (global $class-implements/f (mut i32) (i32.const 0)) (global $class-implements/g (mut i32) (i32.const 0)) (global $class-implements/h (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34352)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34360)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00&\00\00\00c\00l\00a\00s\00s\00-\00i\00m\00p\00l\00e\00m\00e\00n\00t\00s\00.\00t\00s") - (data (i32.const 1504) "\13\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "<") + (data $8.1 (i32.const 1448) "\02\00\00\00&\00\00\00c\00l\00a\00s\00s\00-\00i\00m\00p\00l\00e\00m\00e\00n\00t\00s\00.\00t\00s") + (data $9 (i32.const 1504) "\15\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -49,51 +49,51 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-implements/c local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-implements/d local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-implements/e local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-implements/f local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-implements/g local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-implements/h local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -103,7 +103,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -121,7 +121,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -129,137 +129,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34352 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$174 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34360 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$174 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1504 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1508 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1504 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1508 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -267,8 +287,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -280,10 +300,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -294,29 +314,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -324,10 +344,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -341,75 +361,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -431,7 +444,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -448,12 +461,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -470,17 +483,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -490,9 +503,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -517,13 +530,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -557,7 +570,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -613,19 +626,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -637,15 +650,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -653,23 +666,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -683,10 +698,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -694,23 +709,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -722,52 +736,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -775,7 +790,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -783,7 +798,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -792,12 +807,12 @@ if unreachable end - i32.const 34352 + i32.const 34368 i32.const 0 - i32.store $0 - i32.const 35920 + i32.store + i32.const 35936 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -806,10 +821,10 @@ local.get $0 i32.const 2 i32.shl - i32.const 34352 + i32.const 34368 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -824,10 +839,10 @@ i32.add i32.const 2 i32.shl - i32.const 34352 + i32.const 34368 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -842,13 +857,14 @@ br $for-loop|0 end end - i32.const 34352 - i32.const 35924 - memory.size $0 - i32.const 16 - i32.shl + i32.const 34368 + i32.const 35940 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory - i32.const 34352 + i32.const 34368 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (result i32) @@ -876,7 +892,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -889,19 +905,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -912,7 +928,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -924,7 +940,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -933,16 +949,12 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 34352 + i32.const 34360 i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -951,7 +963,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -962,26 +974,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -997,7 +1009,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1013,7 +1025,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1033,19 +1045,19 @@ unreachable end local.get $0 - i32.const 34352 + i32.const 34360 i32.lt_u if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1056,7 +1068,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 34352 + i32.const 34360 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1065,7 +1077,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1080,25 +1091,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1107,12 +1117,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1120,47 +1129,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1171,7 +1182,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1181,7 +1192,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1198,10 +1209,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1217,13 +1228,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1238,7 +1249,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1265,7 +1276,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1277,16 +1288,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1294,8 +1301,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1322,34 +1328,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1357,21 +1389,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1384,12 +1401,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1400,9 +1417,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1412,7 +1430,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1420,14 +1438,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1436,8 +1454,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1446,95 +1464,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1547,7 +1565,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $class-implements/I2#get:foo@override (param $0 i32) (result i32) @@ -1561,17 +1579,17 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 - i32.const 12 + i32.load + i32.const 14 i32.sub br_table $case4 $default $case0 $case1 $case5 $case2 $case3 $default end local.get $0 - i32.load $0 + i32.load return end local.get $0 - i32.load $0 + i32.load return end local.get $0 @@ -1583,7 +1601,7 @@ return end local.get $0 - i32.load $0 + i32.load return end local.get $0 @@ -1593,7 +1611,6 @@ unreachable ) (func $class-implements/I2#set:foo@override (param $0 i32) (param $1 i32) - (local $2 i32) block $folding-inner0 block $default block $case5 @@ -1602,8 +1619,8 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 - i32.const 12 + i32.load + i32.const 14 i32.sub br_table $folding-inner0 $default $folding-inner0 $folding-inner0 $case5 $case2 $case3 $default end @@ -1622,7 +1639,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s if i32.const 34384 @@ -1633,16 +1650,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1652,7 +1668,7 @@ end local.get $0 local.get $1 - i32.store $0 + i32.store ) (func $class-implements/B2#get:foo@override (param $0 i32) (result i32) (local $1 i32) @@ -1661,13 +1677,13 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.const 17 + i32.const 19 i32.ne if local.get $1 - i32.const 18 + i32.const 20 i32.eq br_if $case1 br $default @@ -1692,37 +1708,39 @@ block $class-implements/A3 block $class-implements/I2 block $class-implements/A2 - block $class-implements/F - block $class-implements/E - block $class-implements/J - block $class-implements/D - block $class-implements/B - block $class-implements/C - block $class-implements/I - block $class-implements/A - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-implements/A $class-implements/I $class-implements/C $class-implements/B $class-implements/D $class-implements/J $class-implements/E $class-implements/F $class-implements/A2 $class-implements/I2 $class-implements/A3 $class-implements/A4 $class-implements/B2 $class-implements/B3 $class-implements/B4 $invalid + block $class-implements/K + block $class-implements/G + block $class-implements/F + block $class-implements/E + block $class-implements/J + block $class-implements/D + block $class-implements/B + block $class-implements/C + block $class-implements/I + block $class-implements/A + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-implements/A $class-implements/I $class-implements/C $class-implements/B $class-implements/D $class-implements/J $class-implements/E $class-implements/F $class-implements/G $class-implements/K $class-implements/A2 $class-implements/I2 $class-implements/A3 $class-implements/A4 $class-implements/B2 $class-implements/B3 $class-implements/B4 $invalid + end + return + end + return end return end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit return end return end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end return end return @@ -1761,13 +1779,12 @@ call $start:class-implements ) (func $class-implements/D#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s if i32.const 34384 @@ -1779,7 +1796,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1788,17 +1805,16 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1807,13 +1823,12 @@ ) (func $class-implements/F#constructor (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s if i32.const 34384 @@ -1824,24 +1839,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 11 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $class-implements/D#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1849,13 +1862,12 @@ local.get $0 ) (func $class-implements/A2#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s if i32.const 34384 @@ -1867,32 +1879,31 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 12 + i32.const 14 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1900,13 +1911,12 @@ local.get $0 ) (func $class-implements/B2#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s if i32.const 34384 @@ -1918,32 +1928,31 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 16 + i32.const 18 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1951,13 +1960,12 @@ local.get $0 ) (func $class-implements/B2#get:foo (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s if i32.const 34384 @@ -1968,29 +1976,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $0 - local.get $1 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $class-implements/B3#get:foo (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s if i32.const 34384 @@ -2001,98 +2005,91 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $0 - local.get $1 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $start:class-implements (local $0 i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.const 28 - memory.fill $0 - memory.size $0 + memory.fill + memory.size i32.const 16 i32.shl - i32.const 34352 + i32.const 34360 i32.sub i32.const 1 i32.shr_u global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2101,40 +2098,39 @@ global.set $class-implements/a global.get $~lib/memory/__stack_pointer global.get $class-implements/a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + 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 1584 + i32.const 1592 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -2143,24 +2139,22 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2169,23 +2163,23 @@ global.set $class-implements/c global.get $~lib/memory/__stack_pointer global.get $class-implements/c - i32.store $0 + i32.store i32.const 0 call $class-implements/D#constructor global.set $class-implements/d - block $__inlined_func$class-implements/D#foo@override (result i32) + block $__inlined_func$class-implements/D#foo@override$163 (result i32) global.get $~lib/memory/__stack_pointer global.get $class-implements/d local.tee $0 - i32.store $0 + i32.store i32.const 4 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 11 i32.eq - br_if $__inlined_func$class-implements/D#foo@override + br_if $__inlined_func$class-implements/D#foo@override$163 drop i32.const 3 end @@ -2194,7 +2188,7 @@ if i32.const 0 i32.const 1456 - i32.const 31 + i32.const 35 i32.const 1 call $~lib/builtins/abort unreachable @@ -2204,47 +2198,45 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 10 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $class-implements/D#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $class-implements/e - block $__inlined_func$class-implements/D#foo@override8 (result i32) + block $__inlined_func$class-implements/D#foo@override$165 (result i32) global.get $~lib/memory/__stack_pointer global.get $class-implements/e local.tee $0 - i32.store $0 + i32.store i32.const 4 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 11 i32.eq - br_if $__inlined_func$class-implements/D#foo@override8 + br_if $__inlined_func$class-implements/D#foo@override$165 drop i32.const 3 end @@ -2253,7 +2245,7 @@ if i32.const 0 i32.const 1456 - i32.const 37 + i32.const 41 i32.const 1 call $~lib/builtins/abort unreachable @@ -2262,22 +2254,22 @@ global.set $class-implements/f global.get $~lib/memory/__stack_pointer global.get $class-implements/f - i32.store $0 + i32.store call $class-implements/F#constructor global.set $class-implements/g - block $__inlined_func$class-implements/D#foo@override14 (result i32) + block $__inlined_func$class-implements/D#foo@override$166 (result i32) global.get $~lib/memory/__stack_pointer global.get $class-implements/g local.tee $0 - i32.store $0 + i32.store i32.const 4 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 11 i32.eq - br_if $__inlined_func$class-implements/D#foo@override14 + br_if $__inlined_func$class-implements/D#foo@override$166 drop i32.const 3 end @@ -2286,7 +2278,7 @@ if i32.const 0 i32.const 1456 - i32.const 47 + i32.const 51 i32.const 1 call $~lib/builtins/abort unreachable @@ -2296,36 +2288,36 @@ global.get $~lib/memory/__stack_pointer global.get $class-implements/h local.tee $0 - i32.store $0 - block $__inlined_func$class-implements/I#foo@override - block $default19 + i32.store + block $__inlined_func$class-implements/I#foo@override$167 + block $default12 block $case3 block $case2 block $case1 - block $case020 + block $case013 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 4 i32.sub - br_table $case1 $default19 $case2 $default19 $case3 $default19 $case3 $case020 $default19 + br_table $case1 $default12 $case2 $default12 $case3 $default12 $case3 $case013 $default12 end i32.const 4 local.set $0 - br $__inlined_func$class-implements/I#foo@override + br $__inlined_func$class-implements/I#foo@override$167 end i32.const 1 local.set $0 - br $__inlined_func$class-implements/I#foo@override + br $__inlined_func$class-implements/I#foo@override$167 end i32.const 2 local.set $0 - br $__inlined_func$class-implements/I#foo@override + br $__inlined_func$class-implements/I#foo@override$167 end i32.const 3 local.set $0 - br $__inlined_func$class-implements/I#foo@override + br $__inlined_func$class-implements/I#foo@override$167 end unreachable end @@ -2335,7 +2327,80 @@ if i32.const 0 i32.const 1456 - i32.const 50 + i32.const 54 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1592 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + block $__inlined_func$class-implements/J#foo@override$169 + block $default14 + block $case315 + block $case216 + block $case117 + block $case018 + local.get $0 + i32.const 8 + i32.sub + i32.load + i32.const 8 + i32.sub + br_table $case216 $default14 $case216 $case117 $case315 $case018 $default14 + end + unreachable + end + i32.const 4 + local.set $0 + br $__inlined_func$class-implements/J#foo@override$169 + end + i32.const 3 + local.set $0 + br $__inlined_func$class-implements/J#foo@override$169 + end + i32.const 1 + local.set $0 + br $__inlined_func$class-implements/J#foo@override$169 + end + unreachable + end + local.get $0 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1456 + i32.const 62 i32.const 1 call $~lib/builtins/abort unreachable @@ -2344,25 +2409,25 @@ i32.const 0 call $class-implements/A2#constructor local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if i32.const 0 i32.const 1456 - i32.const 85 + i32.const 97 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-implements/I2#get:foo@override i32.const 1 @@ -2370,35 +2435,35 @@ if i32.const 0 i32.const 1456 - i32.const 86 + i32.const 98 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $class-implements/I2#set:foo@override global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 2 i32.ne if i32.const 0 i32.const 1456 - i32.const 88 + i32.const 100 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-implements/I2#get:foo@override i32.const 2 @@ -2406,70 +2471,67 @@ if i32.const 0 i32.const 1456 - i32.const 89 + i32.const 101 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 14 + i32.const 16 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $class-implements/A2#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 5 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 + i32.load i32.const 5 i32.ne if i32.const 0 i32.const 1456 - i32.const 93 + i32.const 105 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/I2#get:foo@override i32.const 5 @@ -2477,35 +2539,35 @@ if i32.const 0 i32.const 1456 - i32.const 94 + i32.const 106 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 6 call $class-implements/I2#set:foo@override global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 + i32.load i32.const 6 i32.ne if i32.const 0 i32.const 1456 - i32.const 96 + i32.const 108 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/I2#get:foo@override i32.const 6 @@ -2513,70 +2575,67 @@ if i32.const 0 i32.const 1456 - i32.const 97 + i32.const 109 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 15 + i32.const 17 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $class-implements/A2#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 7 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 + i32.load i32.const 7 i32.ne if i32.const 0 i32.const 1456 - i32.const 101 + i32.const 113 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/I2#get:foo@override i32.const 7 @@ -2584,35 +2643,35 @@ if i32.const 0 i32.const 1456 - i32.const 102 + i32.const 114 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8 call $class-implements/I2#set:foo@override global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 + i32.load i32.const 8 i32.ne if i32.const 0 i32.const 1456 - i32.const 104 + i32.const 116 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/I2#get:foo@override i32.const 8 @@ -2620,7 +2679,7 @@ if i32.const 0 i32.const 1456 - i32.const 105 + i32.const 117 i32.const 3 call $~lib/builtins/abort unreachable @@ -2629,10 +2688,10 @@ i32.const 0 call $class-implements/B2#constructor local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-implements/B2#get:foo@override i32.const 3 @@ -2640,14 +2699,14 @@ if i32.const 0 i32.const 1456 - i32.const 109 + i32.const 121 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-implements/I2#get:foo@override i32.const 3 @@ -2655,20 +2714,20 @@ if i32.const 0 i32.const 1456 - i32.const 110 + i32.const 122 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 4 call $class-implements/I2#set:foo@override global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-implements/B2#get:foo@override i32.const 4 @@ -2676,14 +2735,14 @@ if i32.const 0 i32.const 1456 - i32.const 112 + i32.const 124 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-implements/I2#get:foo@override i32.const 4 @@ -2691,55 +2750,52 @@ if i32.const 0 i32.const 1456 - i32.const 113 + i32.const 125 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 17 + i32.const 19 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $class-implements/B2#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 9 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/B3#get:foo i32.const 9 @@ -2747,14 +2803,14 @@ if i32.const 0 i32.const 1456 - i32.const 117 + i32.const 129 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/I2#get:foo@override i32.const 9 @@ -2762,20 +2818,20 @@ if i32.const 0 i32.const 1456 - i32.const 118 + i32.const 130 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10 call $class-implements/I2#set:foo@override global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/B3#get:foo i32.const 10 @@ -2783,14 +2839,14 @@ if i32.const 0 i32.const 1456 - i32.const 120 + i32.const 132 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/I2#get:foo@override i32.const 10 @@ -2798,55 +2854,52 @@ if i32.const 0 i32.const 1456 - i32.const 121 + i32.const 133 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 18 + i32.const 20 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $class-implements/B2#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 11 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/B3#get:foo i32.const 11 @@ -2854,14 +2907,14 @@ if i32.const 0 i32.const 1456 - i32.const 125 + i32.const 137 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/I2#get:foo@override i32.const 11 @@ -2869,20 +2922,20 @@ if i32.const 0 i32.const 1456 - i32.const 126 + i32.const 138 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 12 call $class-implements/I2#set:foo@override global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/B3#get:foo i32.const 12 @@ -2890,14 +2943,14 @@ if i32.const 0 i32.const 1456 - i32.const 128 + i32.const 140 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-implements/I2#get:foo@override i32.const 12 @@ -2905,7 +2958,7 @@ if i32.const 0 i32.const 1456 - i32.const 129 + i32.const 141 i32.const 3 call $~lib/builtins/abort unreachable @@ -2924,13 +2977,12 @@ unreachable ) (func $class-implements/B3#set:foo (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 1584 + i32.const 1592 i32.lt_s if i32.const 34384 @@ -2941,16 +2993,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2961,7 +3012,7 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1584 + i32.const 1592 i32.lt_s if i32.const 34384 @@ -2973,7 +3024,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -2982,7 +3033,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2990,23 +3041,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/class-implements.ts b/tests/compiler/class-implements.ts index 4511b840fb..40bd136dbd 100644 --- a/tests/compiler/class-implements.ts +++ b/tests/compiler/class-implements.ts @@ -6,6 +6,10 @@ interface J { foo(): i32; } +interface K extends J { + foo(): i32; +} + class A implements I { foo(): i32 { return 1; } } @@ -49,6 +53,14 @@ assert(g.foo() == 4); let h: I = new F(); assert(h.foo() == 4); +class G implements K { + foo(): i32 { + return 1; + } +} + +assert((new G() as J).foo() == 1); + // can implement fields with fields or properties interface I2 { foo: i32; diff --git a/tests/compiler/class-member-function-as-parameter.json b/tests/compiler/class-member-function-as-parameter.json new file mode 100644 index 0000000000..38ccfe0479 --- /dev/null +++ b/tests/compiler/class-member-function-as-parameter.json @@ -0,0 +1,8 @@ +{ + "asc_flags": [], + "stderr": [ + "TS2322: Type '() => void' is not assignable to type '(this: class-member-function-as-parameter/A) => void'.", + "TS2322: Type '(this: class-member-function-as-parameter/B) => void' is not assignable to type '(this: class-member-function-as-parameter/A) => void'.", + "EOF" + ] +} diff --git a/tests/compiler/class-member-function-as-parameter.ts b/tests/compiler/class-member-function-as-parameter.ts new file mode 100644 index 0000000000..611f0fbf03 --- /dev/null +++ b/tests/compiler/class-member-function-as-parameter.ts @@ -0,0 +1,20 @@ +class A { + foo(): void { } +} + +class B extends A { + foo(): void { } +} + +function foo(): void { } + +function consumeA(callback: (this: A) => void): void { } +function consumeB(callback: (this: B) => void): void { } + +const a = new A(); +const b = new B(); + +consumeB(a.foo); // shouldn't error +consumeA(foo); // should error +consumeA(b.foo); // should error +ERROR("EOF"); \ No newline at end of file diff --git a/tests/compiler/class-overloading-cast.debug.wat b/tests/compiler/class-overloading-cast.debug.wat index 8e2784ba42..c108e6d09e 100644 --- a/tests/compiler/class-overloading-cast.debug.wat +++ b/tests/compiler/class-overloading-cast.debug.wat @@ -1,16 +1,16 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_f64_=>_i32 (func (param i32 f64) (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_f32_=>_i32 (func (param i32 f32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 f64) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) + (type $10 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $11 (func (param i32 f32) (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)) @@ -37,20 +37,20 @@ (global $~lib/memory/__heap_base i32 (i32.const 33452)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00\02\00\00\00A\00\00\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\02\00\00\00\02\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 476) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00-\00c\00a\00s\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00D\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 624) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \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 $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 476) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00-\00c\00a\00s\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00D\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 624) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -58,12 +58,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -77,7 +77,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -151,7 +151,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -221,11 +221,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -233,7 +233,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -365,7 +365,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -378,7 +378,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -394,34 +394,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -581,7 +581,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -604,7 +604,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -618,7 +618,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -641,7 +641,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -784,7 +784,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -870,7 +870,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -950,7 +950,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -984,7 +984,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1007,7 +1007,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1021,27 +1021,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1066,9 +1071,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1087,7 +1092,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1106,7 +1111,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1120,7 +1124,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1176,12 +1180,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1215,7 +1219,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1236,7 +1240,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1256,7 +1260,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1276,7 +1280,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1302,7 +1306,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1325,9 +1329,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1363,7 +1368,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1629,14 +1634,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1692,7 +1700,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1701,6 +1709,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1730,24 +1758,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1785,7 +1802,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1800,7 +1817,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1845,7 +1862,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1856,7 +1873,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1878,7 +1895,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1901,7 +1918,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1920,22 +1937,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1948,7 +1957,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1975,27 +1984,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2020,7 +2030,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2135,7 +2145,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2155,7 +2165,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2188,12 +2198,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2244,7 +2254,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2254,7 +2264,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -2306,9 +2316,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2341,10 +2351,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2369,7 +2379,7 @@ i32.const 0 return ) - (func $class-overloading-cast/B#foo (param $this i32) (param $a i32) (result i32) + (func $"class-overloading-cast/B#foo" (param $this i32) (param $a i32) (result i32) i32.const 464 return ) @@ -2385,11 +2395,11 @@ i32.const 608 return ) - (func $class-overloading-cast/B#foo (param $this i32) (param $a i32) (result i32) + (func $"class-overloading-cast/B#foo" (param $this i32) (param $a i32) (result i32) i32.const 464 return ) - (func $class-overloading-cast/B#foo (param $this i32) (param $a f64) (result i32) + (func $"class-overloading-cast/B#foo" (param $this i32) (param $a f64) (result i32) i32.const 464 return ) @@ -2401,7 +2411,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $2 local.get $2 i32.const 4 @@ -2415,12 +2425,12 @@ end local.get $0 local.get $1 - call $class-overloading-cast/B#foo + call $"class-overloading-cast/B#foo" return end local.get $0 local.get $1 - call $class-overloading-cast/B#foo + call $"class-overloading-cast/B#foo" return end local.get $0 @@ -2434,7 +2444,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $2 local.get $2 i32.const 7 @@ -2444,7 +2454,7 @@ end local.get $0 local.get $1 - call $class-overloading-cast/B#foo + call $"class-overloading-cast/B#foo" return end local.get $0 @@ -2456,7 +2466,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load drop local.get $0 local.get $1 @@ -2505,29 +2515,24 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid block $class-overloading-cast/A - block $class-overloading-cast/B + block $"class-overloading-cast/B" block $class-overloading-cast/D block $class-overloading-cast/A<~lib/string/String> block $class-overloading-cast/C block $class-overloading-cast/A - block $class-overloading-cast/B - block $class-overloading-cast/B + block $"class-overloading-cast/B" + block $"class-overloading-cast/B" block $class-overloading-cast/A - block $class-overloading-cast/B + block $"class-overloading-cast/B" block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer @@ -2535,8 +2540,8 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/B $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/C $class-overloading-cast/A<~lib/string/String> $class-overloading-cast/D $class-overloading-cast/B $class-overloading-cast/A $invalid + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $"class-overloading-cast/B" $class-overloading-cast/A $"class-overloading-cast/B" $"class-overloading-cast/B" $class-overloading-cast/A $class-overloading-cast/C $class-overloading-cast/A<~lib/string/String> $class-overloading-cast/D $"class-overloading-cast/B" $class-overloading-cast/A $invalid end return end @@ -2602,7 +2607,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2611,18 +2616,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2631,7 +2636,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading-cast/B#constructor (param $this i32) (result i32) + (func $"class-overloading-cast/B#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2640,7 +2645,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2649,18 +2654,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading-cast/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2669,7 +2674,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading-cast/B#constructor (param $this i32) (result i32) + (func $"class-overloading-cast/B#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2678,7 +2683,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2687,18 +2692,18 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading-cast/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2716,7 +2721,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2725,18 +2730,18 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2745,7 +2750,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading-cast/B#constructor (param $this i32) (result i32) + (func $"class-overloading-cast/B#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2754,7 +2759,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2763,18 +2768,18 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading-cast/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2793,7 +2798,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -2831,7 +2836,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -2840,7 +2845,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -2858,14 +2863,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -2888,7 +2893,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2897,18 +2902,18 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2926,7 +2931,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2935,18 +2940,18 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading-cast/A<~lib/string/String>#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2964,7 +2969,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2973,18 +2978,18 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2993,7 +2998,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading-cast/B#constructor (param $this i32) (result i32) + (func $"class-overloading-cast/B#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -3002,7 +3007,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3011,18 +3016,18 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading-cast/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3040,7 +3045,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3049,18 +3054,18 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $class-overloading-cast/B#constructor + call $"class-overloading-cast/B#constructor" local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3072,17 +3077,14 @@ (func $start:class-overloading-cast (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - memory.size $0 + i64.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3100,33 +3102,28 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace i32.const 0 - call $class-overloading-cast/B#constructor + call $"class-overloading-cast/B#constructor" global.set $class-overloading-cast/v i32.const 0 - call $class-overloading-cast/B#constructor + call $"class-overloading-cast/B#constructor" global.set $class-overloading-cast/v2 i32.const 0 - call $class-overloading-cast/B#constructor + call $"class-overloading-cast/B#constructor" global.set $class-overloading-cast/v3 global.get $class-overloading-cast/v local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $class-overloading-cast/A#foo@override local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 464 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3141,21 +3138,16 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 - call $class-overloading-cast/B#foo + call $"class-overloading-cast/B#foo" local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 464 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3170,21 +3162,16 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 f64.const 1.1 call $class-overloading-cast/A#foo@override local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 464 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3202,26 +3189,16 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 576 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - local.get $0 call $class-overloading-cast/A<~lib/string/String>#foo@override local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 432 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3236,26 +3213,16 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 576 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - local.get $0 call $class-overloading-cast/A<~lib/string/String>#foo@override local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 432 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3271,21 +3238,16 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 f32.const 2.5 call $class-overloading-cast/D#bar local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 608 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3297,7 +3259,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3310,7 +3272,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3319,7 +3281,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/class-overloading-cast.release.wat b/tests/compiler/class-overloading-cast.release.wat index 5468b55dfd..d40d976f0e 100644 --- a/tests/compiler/class-overloading-cast.release.wat +++ b/tests/compiler/class-overloading-cast.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_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))) + (type $0 (func)) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (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)) @@ -25,27 +25,27 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34476)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00\02\00\00\00A") - (data (i32.const 1468) "\1c") - (data (i32.const 1480) "\02\00\00\00\02\00\00\00B") - (data (i32.const 1500) "L") - (data (i32.const 1512) "\02\00\00\002\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00-\00c\00a\00s\00t\00.\00t\00s") - (data (i32.const 1580) "\1c") - (data (i32.const 1592) "\02\00\00\00\02\00\00\00a") - (data (i32.const 1612) "\1c") - (data (i32.const 1624) "\02\00\00\00\02\00\00\00D") - (data (i32.const 1648) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \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 $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "\1c") + (data $8.1 (i32.const 1448) "\02\00\00\00\02\00\00\00A") + (data $9 (i32.const 1468) "\1c") + (data $9.1 (i32.const 1480) "\02\00\00\00\02\00\00\00B") + (data $10 (i32.const 1500) "L") + (data $10.1 (i32.const 1512) "\02\00\00\002\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00-\00c\00a\00s\00t\00.\00t\00s") + (data $11 (i32.const 1580) "\1c") + (data $11.1 (i32.const 1592) "\02\00\00\00\02\00\00\00a") + (data $12 (i32.const 1612) "\1c") + (data $12.1 (i32.const 1624) "\02\00\00\00\02\00\00\00D") + (data $13 (i32.const 1648) "\0e\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/itcms/visitRoots @@ -55,33 +55,33 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-overloading-cast/v2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-overloading-cast/v3 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-overloading-cast/c local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -91,7 +91,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -109,7 +109,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -117,137 +117,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34476 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$141 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34476 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$141 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1648 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1652 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1648 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1652 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -255,8 +275,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -268,10 +288,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -282,29 +302,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -312,10 +332,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -329,75 +349,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -419,7 +432,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -436,12 +449,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -458,17 +471,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -478,9 +491,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -505,13 +518,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -545,7 +558,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -601,19 +614,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -625,15 +638,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -641,23 +654,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -671,10 +686,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -682,23 +697,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -710,52 +724,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -763,7 +778,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -771,7 +786,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -782,10 +797,10 @@ end i32.const 34480 i32.const 0 - i32.store $0 + i32.store i32.const 36048 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -797,7 +812,7 @@ i32.const 34480 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -815,7 +830,7 @@ i32.const 34480 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -832,9 +847,10 @@ end i32.const 34480 i32.const 36052 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34480 global.set $~lib/rt/tlsf/ROOT @@ -864,7 +880,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -877,19 +893,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -900,7 +916,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -912,7 +928,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -925,12 +941,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -939,7 +951,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -950,26 +962,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -985,7 +997,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1001,7 +1013,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1026,14 +1038,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1053,7 +1065,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1068,25 +1079,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1095,12 +1105,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1110,7 +1119,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1121,10 +1130,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1136,13 +1145,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1157,7 +1166,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1172,7 +1181,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1184,16 +1193,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1201,8 +1206,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1224,11 +1228,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1247,12 +1251,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1263,9 +1267,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1274,14 +1279,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1289,7 +1294,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1298,7 +1303,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1314,7 +1319,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1324,7 +1329,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1333,54 +1338,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1393,21 +1398,21 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid block $class-overloading-cast/A - block $class-overloading-cast/B + block $"class-overloading-cast/B" block $class-overloading-cast/D block $class-overloading-cast/A<~lib/string/String> block $class-overloading-cast/C block $class-overloading-cast/A - block $class-overloading-cast/B - block $class-overloading-cast/B + block $"class-overloading-cast/B" + block $"class-overloading-cast/B" block $class-overloading-cast/A - block $class-overloading-cast/B + block $"class-overloading-cast/B" block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer @@ -1415,8 +1420,8 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/B $class-overloading-cast/B $class-overloading-cast/A $class-overloading-cast/C $class-overloading-cast/A<~lib/string/String> $class-overloading-cast/D $class-overloading-cast/B $class-overloading-cast/A $invalid + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $"class-overloading-cast/B" $class-overloading-cast/A $"class-overloading-cast/B" $"class-overloading-cast/B" $class-overloading-cast/A $class-overloading-cast/C $class-overloading-cast/A<~lib/string/String> $class-overloading-cast/D $"class-overloading-cast/B" $class-overloading-cast/A $invalid end return end @@ -1425,12 +1430,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1465,7 +1466,6 @@ call $start:class-overloading-cast ) (func $class-overloading-cast/A#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1483,7 +1483,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1491,17 +1491,16 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1530,7 +1529,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -1550,55 +1549,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -1619,7 +1620,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$87 loop $while-continue|1 local.get $0 local.tee $3 @@ -1629,17 +1630,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$87 local.get $2 i32.const 2 i32.add @@ -1672,9 +1673,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1683,13 +1683,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i64.const 0 - i64.store $0 offset=8 - memory.size $0 + i64.store + memory.size i32.const 16 i32.shl i32.const 34476 @@ -1699,29 +1695,29 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1730,23 +1726,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $class-overloading-cast/A#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1762,23 +1756,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $class-overloading-cast/A#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1794,19 +1786,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1816,7 +1807,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1824,24 +1815,22 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1849,17 +1838,17 @@ local.get $0 global.set $class-overloading-cast/v3 global.get $~lib/memory/__stack_pointer - block $__inlined_func$class-overloading-cast/A#foo@override (result i32) + block $__inlined_func$class-overloading-cast/A#foo@override$136 (result i32) global.get $~lib/memory/__stack_pointer global.get $class-overloading-cast/v local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 block $default block $case1 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 4 i32.ne @@ -1871,18 +1860,15 @@ br $default end i32.const 1488 - br $__inlined_func$class-overloading-cast/A#foo@override + br $__inlined_func$class-overloading-cast/A#foo@override$136 end i32.const 1488 - br $__inlined_func$class-overloading-cast/A#foo@override + br $__inlined_func$class-overloading-cast/A#foo@override$136 end i32.const 1456 end local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1488 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1488 call $~lib/string/String.__eq @@ -1896,15 +1882,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading-cast/v2 - i32.store $0 offset=8 - local.get $0 - i32.const 1488 - i32.store $0 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 1488 - i32.store $0 offset=4 + i32.store i32.const 1488 i32.const 1488 call $~lib/string/String.__eq @@ -1917,31 +1899,26 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-overloading-cast/A#foo@override (result i32) + global.get $~lib/memory/__stack_pointer + block $__inlined_func$class-overloading-cast/A#foo@override$137 (result i32) global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading-cast/v3 - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=4 i32.const 1488 - local.get $1 + local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 7 i32.eq - br_if $__inlined_func$class-overloading-cast/A#foo@override + br_if $__inlined_func$class-overloading-cast/A#foo@override$137 drop i32.const 1456 end - local.set $1 + local.tee $0 + i32.store local.get $0 - local.get $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1488 - i32.store $0 offset=4 - local.get $1 i32.const 1488 call $~lib/string/String.__eq i32.eqz @@ -1962,19 +1939,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 9 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1984,7 +1960,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1992,24 +1968,22 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2019,21 +1993,15 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading-cast/c local.tee $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1600 - i32.store $0 offset=12 + i32.store offset=4 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load drop global.get $~lib/memory/__stack_pointer i32.const 1456 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1456 - i32.store $0 offset=4 + i32.store i32.const 1456 i32.const 1456 call $~lib/string/String.__eq @@ -2047,24 +2015,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading-cast/c - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=4 local.get $0 - i32.const 1600 - i32.store $0 offset=12 - local.get $1 i32.const 8 i32.sub - i32.load $0 + i32.load drop - local.get $0 - i32.const 1456 - i32.store $0 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1456 - i32.store $0 offset=4 + i32.store i32.const 1456 i32.const 1456 call $~lib/string/String.__eq @@ -2086,19 +2047,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 11 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2108,7 +2068,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -2116,13 +2076,13 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2132,7 +2092,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -2140,44 +2100,38 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1632 - i32.store $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 1632 - i32.store $0 offset=4 + i32.store i32.const 1632 i32.const 1632 call $~lib/string/String.__eq @@ -2191,7 +2145,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer return @@ -2221,7 +2175,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -2229,7 +2183,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2237,23 +2191,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/class-overloading.debug.wat b/tests/compiler/class-overloading.debug.wat index 10dc49de00..7cdea8bbb4 100644 --- a/tests/compiler/class-overloading.debug.wat +++ b/tests/compiler/class-overloading.debug.wat @@ -1,14 +1,14 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $class-overloading/which (mut i32) (i32.const 32)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -37,24 +37,24 @@ (global $~lib/memory/__heap_base i32 (i32.const 33612)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\02\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 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00\00\00\00\00") - (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00F\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00I\00B\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00I\00C\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00n\00o\00t\00 \00i\00m\00p\00l\00e\00m\00e\00n\00t\00e\00d\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 768) "\12\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00\00\00\00\00") + (data $12 (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00F\00\00\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00I\00B\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00I\00C\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00n\00o\00t\00 \00i\00m\00p\00l\00e\00m\00e\00n\00t\00e\00d\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 768) "\12\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -62,12 +62,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -81,7 +81,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -155,7 +155,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -225,11 +225,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -237,7 +237,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 256 @@ -369,7 +369,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -382,7 +382,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -398,34 +398,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -585,7 +585,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -608,7 +608,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -622,7 +622,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -645,7 +645,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -788,7 +788,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -874,7 +874,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -954,7 +954,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -988,7 +988,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1011,7 +1011,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1025,27 +1025,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 400 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1070,9 +1075,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1091,7 +1096,7 @@ if i32.const 0 i32.const 400 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1110,7 +1115,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1124,7 +1128,7 @@ if i32.const 0 i32.const 400 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1180,12 +1184,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1219,7 +1223,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1240,7 +1244,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1260,7 +1264,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1280,7 +1284,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1306,7 +1310,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1329,9 +1333,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1367,7 +1372,7 @@ if i32.const 0 i32.const 400 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1633,14 +1638,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1696,7 +1704,7 @@ if i32.const 64 i32.const 400 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1705,6 +1713,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1734,24 +1762,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1789,7 +1806,7 @@ if i32.const 0 i32.const 400 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1804,7 +1821,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1849,7 +1866,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1860,7 +1877,7 @@ if i32.const 0 i32.const 400 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1882,7 +1899,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1905,7 +1922,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1924,22 +1941,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1952,7 +1961,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1979,27 +1988,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2024,7 +2034,7 @@ if i32.const 0 i32.const 400 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2139,7 +2149,7 @@ if i32.const 0 i32.const 400 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2159,7 +2169,7 @@ if i32.const 0 i32.const 400 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2192,12 +2202,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2248,7 +2258,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2258,7 +2268,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -2310,9 +2320,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2345,10 +2355,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2477,7 +2487,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $2 local.get $2 i32.const 5 @@ -2529,7 +2539,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $2 local.get $2 i32.const 5 @@ -2581,7 +2591,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 5 @@ -2629,7 +2639,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $2 local.get $2 i32.const 5 @@ -2680,7 +2690,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 11 @@ -2709,7 +2719,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 15 @@ -2731,7 +2741,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 16 @@ -2803,16 +2813,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2837,7 +2842,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading/A $class-overloading/B $class-overloading/C $class-overloading/D $class-overloading/E $class-overloading/F $class-overloading/IA $class-overloading/CA $class-overloading/IC $class-overloading/CC $class-overloading/A2 $class-overloading/B2 $class-overloading/B1 $class-overloading/A1 $invalid end return @@ -2912,7 +2917,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2921,18 +2926,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2950,7 +2955,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2959,18 +2964,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2989,7 +2994,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -3027,7 +3032,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -3036,7 +3041,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -3054,14 +3059,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -3084,7 +3089,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3093,18 +3098,18 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading/B#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3116,18 +3121,18 @@ (func $class-overloading/C#a (param $this i32) (param $a i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $a call $class-overloading/B#a @@ -3135,14 +3140,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 496 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -3156,7 +3156,7 @@ i32.const 592 global.set $class-overloading/which global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3169,7 +3169,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3178,18 +3178,18 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading/B#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3207,7 +3207,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3216,18 +3216,18 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading/D#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3245,7 +3245,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3254,18 +3254,18 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading/E#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3283,7 +3283,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3292,18 +3292,18 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3321,7 +3321,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3330,18 +3330,18 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3359,7 +3359,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3368,18 +3368,18 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3397,7 +3397,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3406,18 +3406,18 @@ i32.const 15 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading/A2#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3429,14 +3429,14 @@ (func $start:class-overloading (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - memory.size $0 + i32.const 0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3460,7 +3460,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#a@override @@ -3468,14 +3468,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3492,7 +3487,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#b@override @@ -3500,14 +3495,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3524,7 +3514,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/A#get:c@override drop @@ -3532,14 +3522,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3556,7 +3541,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#set:c@override @@ -3564,14 +3549,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3591,7 +3571,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/C#a @@ -3599,14 +3579,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 592 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3623,7 +3598,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/C#b @@ -3631,14 +3606,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 592 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3655,7 +3625,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/C#get:c drop @@ -3663,14 +3633,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 592 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3685,7 +3650,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/C#set:c @@ -3693,14 +3658,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 592 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3720,7 +3680,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#a@override @@ -3728,14 +3688,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3752,7 +3707,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#b@override @@ -3760,14 +3715,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3784,7 +3734,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/A#get:c@override drop @@ -3792,14 +3742,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3814,7 +3759,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#set:c@override @@ -3822,14 +3767,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3849,7 +3789,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#a@override @@ -3857,14 +3797,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3881,7 +3816,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#b@override @@ -3889,14 +3824,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3913,7 +3843,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/A#get:c@override drop @@ -3921,14 +3851,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3943,7 +3868,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#set:c@override @@ -3951,14 +3876,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3978,7 +3898,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#a@override @@ -3986,14 +3906,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 624 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4010,7 +3925,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#b@override @@ -4018,14 +3933,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 624 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4042,7 +3952,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/A#get:c@override drop @@ -4050,14 +3960,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 624 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4074,7 +3979,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $class-overloading/A#set:c@override @@ -4082,14 +3987,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 624 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4109,21 +4009,16 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/IA#foo@override global.get $class-overloading/which local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 656 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4143,21 +4038,16 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/IA#foo@override global.get $class-overloading/which local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 688 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4175,7 +4065,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/A2#foo@override i32.const 3 @@ -4190,7 +4080,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4203,7 +4093,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4212,18 +4102,18 @@ i32.const 17 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4241,7 +4131,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4250,18 +4140,18 @@ i32.const 16 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $class-overloading/A1#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4279,12 +4169,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-overloading/A1#baz@override local.set $1 @@ -4304,13 +4194,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 call $class-overloading/B1#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $class-overloading/A1#bar local.set $1 @@ -4330,7 +4220,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -4339,7 +4229,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/class-overloading.release.wat b/tests/compiler/class-overloading.release.wat index 4716b7f5c1..02caf42072 100644 --- a/tests/compiler/class-overloading.release.wat +++ b/tests/compiler/class-overloading.release.wat @@ -1,12 +1,12 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 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))) + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $class-overloading/which (mut i32) (i32.const 1056)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -27,35 +27,35 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34636)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02") - (data (i32.const 1068) "<") - (data (i32.const 1080) "\02\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) "<") - (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\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 1324) ",") - (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1404) "<") - (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1468) "\1c") - (data (i32.const 1480) "\02\00\00\00\02\00\00\00A") - (data (i32.const 1500) "\1c") - (data (i32.const 1512) "\02\00\00\00\02\00\00\00B") - (data (i32.const 1532) "<") - (data (i32.const 1544) "\02\00\00\00(\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s") - (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\02\00\00\00\02\00\00\00C") - (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\02\00\00\00\02\00\00\00F") - (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\02\00\00\00\04\00\00\00I\00B") - (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\02\00\00\00\04\00\00\00I\00C") - (data (i32.const 1724) "<") - (data (i32.const 1736) "\02\00\00\00\1e\00\00\00n\00o\00t\00 \00i\00m\00p\00l\00e\00m\00e\00n\00t\00e\00d") - (data (i32.const 1792) "\12\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02") + (data $1 (i32.const 1068) "<") + (data $1.1 (i32.const 1080) "\02\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 $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1260) "<") + (data $5.1 (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1324) ",") + (data $6.1 (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1404) "<") + (data $8.1 (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1468) "\1c") + (data $9.1 (i32.const 1480) "\02\00\00\00\02\00\00\00A") + (data $10 (i32.const 1500) "\1c") + (data $10.1 (i32.const 1512) "\02\00\00\00\02\00\00\00B") + (data $11 (i32.const 1532) "<") + (data $11.1 (i32.const 1544) "\02\00\00\00(\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s") + (data $12 (i32.const 1596) "\1c") + (data $12.1 (i32.const 1608) "\02\00\00\00\02\00\00\00C") + (data $13 (i32.const 1628) "\1c") + (data $13.1 (i32.const 1640) "\02\00\00\00\02\00\00\00F") + (data $14 (i32.const 1660) "\1c") + (data $14.1 (i32.const 1672) "\02\00\00\00\04\00\00\00I\00B") + (data $15 (i32.const 1692) "\1c") + (data $15.1 (i32.const 1704) "\02\00\00\00\04\00\00\00I\00C") + (data $16 (i32.const 1724) "<") + (data $16.1 (i32.const 1736) "\02\00\00\00\1e\00\00\00n\00o\00t\00 \00i\00m\00p\00l\00e\00m\00e\00n\00t\00e\00d") + (data $17 (i32.const 1792) "\12\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/itcms/visitRoots @@ -65,45 +65,45 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-overloading/a local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-overloading/c local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-overloading/ia local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-overloading/ic local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $class-overloading/b2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1280 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -113,7 +113,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -131,7 +131,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -139,137 +139,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34636 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$171 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34636 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$171 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1152 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1792 + i32.load + i32.gt_u + if + i32.const 1280 + i32.const 1344 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1796 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1792 - i32.load $0 - i32.gt_u - if - i32.const 1280 - i32.const 1344 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1796 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -277,8 +297,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -290,10 +310,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -304,29 +324,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -334,10 +354,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -351,75 +371,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -441,7 +454,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -458,12 +471,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -480,17 +493,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -500,9 +513,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -527,13 +540,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -567,7 +580,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -623,19 +636,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -647,15 +660,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -663,23 +676,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1424 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -693,10 +708,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -704,23 +719,22 @@ if i32.const 0 i32.const 1424 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -732,52 +746,53 @@ if i32.const 0 i32.const 1424 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -785,7 +800,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -793,7 +808,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -804,10 +819,10 @@ end i32.const 34640 i32.const 0 - i32.store $0 + i32.store i32.const 36208 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -819,7 +834,7 @@ i32.const 34640 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -837,7 +852,7 @@ i32.const 34640 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -854,9 +869,10 @@ end i32.const 34640 i32.const 36212 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34640 global.set $~lib/rt/tlsf/ROOT @@ -886,7 +902,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -899,19 +915,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -922,7 +938,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -934,7 +950,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -947,12 +963,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -961,7 +973,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -972,26 +984,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1007,7 +1019,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1023,7 +1035,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1048,14 +1060,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1075,7 +1087,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1090,25 +1101,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1424 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1117,12 +1127,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1132,7 +1141,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1143,10 +1152,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1158,13 +1167,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1424 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1179,7 +1188,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1194,7 +1203,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1206,16 +1215,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1223,8 +1228,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1246,11 +1250,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1269,12 +1273,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1285,9 +1289,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1296,14 +1301,14 @@ if i32.const 0 i32.const 1424 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1311,7 +1316,7 @@ if i32.const 0 i32.const 1424 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1320,7 +1325,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1336,7 +1341,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1346,7 +1351,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1355,54 +1360,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1415,7 +1420,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $class-overloading/A#a@override (param $0 i32) @@ -1426,7 +1431,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub br_table $case0 $case1 $case0 $case0 $case2 $default @@ -1469,7 +1474,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-overloading/A $class-overloading/B $class-overloading/C $class-overloading/D $class-overloading/E $class-overloading/F $class-overloading/IA $class-overloading/CA $class-overloading/IC $class-overloading/CC $class-overloading/A2 $class-overloading/B2 $class-overloading/B1 $class-overloading/A1 $invalid end return @@ -1479,12 +1484,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1528,7 +1529,6 @@ ) (func $class-overloading/B#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1540,7 +1540,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1548,13 +1548,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1564,7 +1564,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1572,24 +1572,22 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1626,7 +1624,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -1646,55 +1644,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -1715,7 +1715,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$95 loop $while-continue|1 local.get $0 local.tee $3 @@ -1725,17 +1725,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$95 local.get $2 i32.const 2 i32.add @@ -1765,9 +1765,8 @@ i32.const 0 ) (func $class-overloading/C#a (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1782,20 +1781,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 1520 global.set $class-overloading/which - local.get $1 - i32.const 1520 - i32.store $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1520 - i32.store $0 offset=4 + i32.store i32.const 1520 i32.const 1520 call $~lib/string/String.__eq @@ -1811,12 +1806,11 @@ i32.const 1616 global.set $class-overloading/which global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $class-overloading/D#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1834,7 +1828,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1842,17 +1836,16 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $class-overloading/B#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1860,7 +1853,6 @@ local.get $0 ) (func $class-overloading/E#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1878,7 +1870,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1886,17 +1878,16 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $class-overloading/D#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1906,9 +1897,8 @@ (func $start:class-overloading (local $0 i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -1917,9 +1907,9 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - memory.size $0 + i32.const 0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34636 @@ -1929,26 +1919,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/pinSpace i32.const 1236 i32.const 1232 - i32.store $0 + i32.store i32.const 1240 i32.const 1232 - i32.store $0 + i32.store i32.const 1232 global.set $~lib/rt/itcms/toSpace i32.const 1380 i32.const 1376 - i32.store $0 + i32.store i32.const 1384 i32.const 1376 - i32.store $0 + i32.store i32.const 1376 global.set $~lib/rt/itcms/fromSpace i32.const 0 @@ -1957,16 +1947,13 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/A#a@override global.get $~lib/memory/__stack_pointer global.get $class-overloading/which local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1520 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1520 call $~lib/string/String.__eq @@ -1984,8 +1971,8 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#b@override + i32.store + block $__inlined_func$class-overloading/A#b@override$153 block $default block $case2 block $case1 @@ -1993,36 +1980,32 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub br_table $case0 $case1 $case0 $case0 $case2 $default end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override + br $__inlined_func$class-overloading/A#b@override$153 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override + br $__inlined_func$class-overloading/A#b@override$153 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override + br $__inlined_func$class-overloading/A#b@override$153 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1520 - i32.store $0 offset=4 - local.get $1 - i32.const 1520 call $~lib/string/String.__eq i32.eqz if @@ -2038,45 +2021,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#get:c@override - block $default6 - block $case27 - block $case18 - block $case09 + i32.store + block $__inlined_func$class-overloading/A#get:c@override$154 + block $default4 + block $case25 + block $case16 + block $case07 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case09 $case18 $case09 $case09 $case27 $default6 + br_table $case07 $case16 $case07 $case07 $case25 $default4 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override + br $__inlined_func$class-overloading/A#get:c@override$154 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override + br $__inlined_func$class-overloading/A#get:c@override$154 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override + br $__inlined_func$class-overloading/A#get:c@override$154 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1520 - i32.store $0 offset=4 - local.get $1 - i32.const 1520 call $~lib/string/String.__eq i32.eqz if @@ -2092,45 +2071,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#b@override10 - block $default11 - block $case212 - block $case113 - block $case014 + i32.store + block $__inlined_func$class-overloading/A#b@override$155 + block $default8 + block $case29 + block $case110 + block $case011 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case014 $case113 $case014 $case014 $case212 $default11 + br_table $case011 $case110 $case011 $case011 $case29 $default8 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override10 + br $__inlined_func$class-overloading/A#b@override$155 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override10 + br $__inlined_func$class-overloading/A#b@override$155 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override10 + br $__inlined_func$class-overloading/A#b@override$155 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1520 - i32.store $0 offset=4 - local.get $1 - i32.const 1520 call $~lib/string/String.__eq i32.eqz if @@ -2150,23 +2125,21 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $class-overloading/B#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2178,16 +2151,13 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/c local.tee $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/C#a global.get $~lib/memory/__stack_pointer global.get $class-overloading/which local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1616 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1616 call $~lib/string/String.__eq @@ -2203,17 +2173,13 @@ i32.const 1056 global.set $class-overloading/which global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/c - i32.store $0 + i32.store i32.const 1616 global.set $class-overloading/which - local.get $0 - i32.const 1616 - i32.store $0 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1616 - i32.store $0 offset=4 + i32.store i32.const 1616 i32.const 1616 call $~lib/string/String.__eq @@ -2229,17 +2195,13 @@ i32.const 1056 global.set $class-overloading/which global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/c - i32.store $0 + i32.store i32.const 1616 global.set $class-overloading/which - local.get $0 - i32.const 1616 - i32.store $0 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1616 - i32.store $0 offset=4 + i32.store i32.const 1616 i32.const 1616 call $~lib/string/String.__eq @@ -2253,17 +2215,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/c - i32.store $0 + i32.store i32.const 1616 global.set $class-overloading/which - local.get $0 - i32.const 1616 - i32.store $0 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1616 - i32.store $0 offset=4 + i32.store i32.const 1616 i32.const 1616 call $~lib/string/String.__eq @@ -2284,16 +2242,13 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/A#a@override global.get $~lib/memory/__stack_pointer global.get $class-overloading/which local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1520 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1520 call $~lib/string/String.__eq @@ -2311,45 +2266,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#b@override22 - block $default23 - block $case224 - block $case125 - block $case026 + i32.store + block $__inlined_func$class-overloading/A#b@override$157 + block $default16 + block $case217 + block $case118 + block $case019 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case026 $case125 $case026 $case026 $case224 $default23 + br_table $case019 $case118 $case019 $case019 $case217 $default16 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override22 + br $__inlined_func$class-overloading/A#b@override$157 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override22 + br $__inlined_func$class-overloading/A#b@override$157 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override22 + br $__inlined_func$class-overloading/A#b@override$157 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1520 - i32.store $0 offset=4 - local.get $1 - i32.const 1520 call $~lib/string/String.__eq i32.eqz if @@ -2365,45 +2316,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#get:c@override31 - block $default32 - block $case233 - block $case134 - block $case035 + i32.store + block $__inlined_func$class-overloading/A#get:c@override$158 + block $default24 + block $case225 + block $case126 + block $case027 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case035 $case134 $case035 $case035 $case233 $default32 + br_table $case027 $case126 $case027 $case027 $case225 $default24 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override31 + br $__inlined_func$class-overloading/A#get:c@override$158 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override31 + br $__inlined_func$class-overloading/A#get:c@override$158 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override31 + br $__inlined_func$class-overloading/A#get:c@override$158 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1520 - i32.store $0 offset=4 - local.get $1 - i32.const 1520 call $~lib/string/String.__eq i32.eqz if @@ -2417,45 +2364,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#b@override40 - block $default41 - block $case242 - block $case143 - block $case044 + i32.store + block $__inlined_func$class-overloading/A#b@override$159 + block $default32 + block $case233 + block $case134 + block $case035 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case044 $case143 $case044 $case044 $case242 $default41 + br_table $case035 $case134 $case035 $case035 $case233 $default32 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override40 + br $__inlined_func$class-overloading/A#b@override$159 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override40 + br $__inlined_func$class-overloading/A#b@override$159 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override40 + br $__inlined_func$class-overloading/A#b@override$159 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1520 - i32.store $0 offset=4 - local.get $1 - i32.const 1520 call $~lib/string/String.__eq i32.eqz if @@ -2474,16 +2417,13 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/A#a@override global.get $~lib/memory/__stack_pointer global.get $class-overloading/which local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1520 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1520 call $~lib/string/String.__eq @@ -2501,45 +2441,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#b@override49 - block $default50 - block $case251 - block $case152 - block $case053 + i32.store + block $__inlined_func$class-overloading/A#b@override$160 + block $default40 + block $case241 + block $case142 + block $case043 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case053 $case152 $case053 $case053 $case251 $default50 + br_table $case043 $case142 $case043 $case043 $case241 $default40 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override49 + br $__inlined_func$class-overloading/A#b@override$160 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override49 + br $__inlined_func$class-overloading/A#b@override$160 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override49 + br $__inlined_func$class-overloading/A#b@override$160 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1520 - i32.store $0 offset=4 - local.get $1 - i32.const 1520 call $~lib/string/String.__eq i32.eqz if @@ -2555,45 +2491,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#get:c@override58 - block $default59 - block $case260 - block $case161 - block $case062 + i32.store + block $__inlined_func$class-overloading/A#get:c@override$161 + block $default48 + block $case249 + block $case150 + block $case051 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case062 $case161 $case062 $case062 $case260 $default59 + br_table $case051 $case150 $case051 $case051 $case249 $default48 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override58 + br $__inlined_func$class-overloading/A#get:c@override$161 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override58 + br $__inlined_func$class-overloading/A#get:c@override$161 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override58 + br $__inlined_func$class-overloading/A#get:c@override$161 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1520 - i32.store $0 offset=4 - local.get $1 - i32.const 1520 call $~lib/string/String.__eq i32.eqz if @@ -2607,45 +2539,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#b@override67 - block $default68 - block $case269 - block $case170 - block $case071 + i32.store + block $__inlined_func$class-overloading/A#b@override$162 + block $default56 + block $case257 + block $case158 + block $case059 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case071 $case170 $case071 $case071 $case269 $default68 + br_table $case059 $case158 $case059 $case059 $case257 $default56 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override67 + br $__inlined_func$class-overloading/A#b@override$162 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override67 + br $__inlined_func$class-overloading/A#b@override$162 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override67 + br $__inlined_func$class-overloading/A#b@override$162 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1520 - i32.store $0 offset=4 - local.get $1 - i32.const 1520 call $~lib/string/String.__eq i32.eqz if @@ -2665,23 +2593,21 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 9 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $class-overloading/E#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2693,16 +2619,13 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 + i32.store local.get $0 call $class-overloading/A#a@override global.get $~lib/memory/__stack_pointer global.get $class-overloading/which local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1648 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1648 call $~lib/string/String.__eq @@ -2720,45 +2643,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#b@override77 - block $default78 - block $case279 - block $case180 - block $case081 + i32.store + block $__inlined_func$class-overloading/A#b@override$164 + block $default64 + block $case265 + block $case166 + block $case067 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case081 $case180 $case081 $case081 $case279 $default78 + br_table $case067 $case166 $case067 $case067 $case265 $default64 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override77 + br $__inlined_func$class-overloading/A#b@override$164 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override77 + br $__inlined_func$class-overloading/A#b@override$164 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override77 + br $__inlined_func$class-overloading/A#b@override$164 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1648 - i32.store $0 offset=4 - local.get $1 - i32.const 1648 call $~lib/string/String.__eq i32.eqz if @@ -2774,45 +2693,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#get:c@override86 - block $default87 - block $case288 - block $case189 - block $case090 + i32.store + block $__inlined_func$class-overloading/A#get:c@override$165 + block $default72 + block $case273 + block $case174 + block $case075 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case090 $case189 $case090 $case090 $case288 $default87 + br_table $case075 $case174 $case075 $case075 $case273 $default72 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override86 + br $__inlined_func$class-overloading/A#get:c@override$165 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override86 + br $__inlined_func$class-overloading/A#get:c@override$165 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#get:c@override86 + br $__inlined_func$class-overloading/A#get:c@override$165 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1648 - i32.store $0 offset=4 - local.get $1 - i32.const 1648 call $~lib/string/String.__eq i32.eqz if @@ -2828,45 +2743,41 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/a local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A#b@override95 - block $default96 - block $case297 - block $case198 - block $case099 + i32.store + block $__inlined_func$class-overloading/A#b@override$166 + block $default80 + block $case281 + block $case182 + block $case083 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.sub - br_table $case099 $case198 $case099 $case099 $case297 $default96 + br_table $case083 $case182 $case083 $case083 $case281 $default80 end i32.const 1520 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override95 + br $__inlined_func$class-overloading/A#b@override$166 end i32.const 1616 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override95 + br $__inlined_func$class-overloading/A#b@override$166 end i32.const 1648 global.set $class-overloading/which - br $__inlined_func$class-overloading/A#b@override95 + br $__inlined_func$class-overloading/A#b@override$166 end i32.const 1488 global.set $class-overloading/which end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1648 - i32.store $0 offset=4 - local.get $1 - i32.const 1648 call $~lib/string/String.__eq i32.eqz if @@ -2886,23 +2797,21 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 11 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2914,14 +2823,14 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/ia local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/IA#foo@override - block $default105 - block $case1106 + i32.store + block $__inlined_func$class-overloading/IA#foo@override$168 + block $default88 + block $case189 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 11 i32.ne @@ -2929,29 +2838,25 @@ local.get $0 i32.const 13 i32.eq - br_if $case1106 - br $default105 + br_if $case189 + br $default88 end i32.const 1680 global.set $class-overloading/which - br $__inlined_func$class-overloading/IA#foo@override + br $__inlined_func$class-overloading/IA#foo@override$168 end i32.const 1712 global.set $class-overloading/which - br $__inlined_func$class-overloading/IA#foo@override + br $__inlined_func$class-overloading/IA#foo@override$168 end unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1680 - i32.store $0 offset=4 - local.get $1 - i32.const 1680 call $~lib/string/String.__eq i32.eqz if @@ -2971,23 +2876,21 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 13 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2999,14 +2902,14 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/ic local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/IA#foo@override109 - block $default110 - block $case1111 + i32.store + block $__inlined_func$class-overloading/IA#foo@override$170 + block $default91 + block $case192 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 11 i32.ne @@ -3014,29 +2917,25 @@ local.get $0 i32.const 13 i32.eq - br_if $case1111 - br $default110 + br_if $case192 + br $default91 end i32.const 1680 global.set $class-overloading/which - br $__inlined_func$class-overloading/IA#foo@override109 + br $__inlined_func$class-overloading/IA#foo@override$170 end i32.const 1712 global.set $class-overloading/which - br $__inlined_func$class-overloading/IA#foo@override109 + br $__inlined_func$class-overloading/IA#foo@override$170 end unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $class-overloading/which - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1712 - i32.store $0 offset=4 - local.get $1 - i32.const 1712 call $~lib/string/String.__eq i32.eqz if @@ -3056,19 +2955,18 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 15 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -3078,7 +2976,7 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -3086,24 +2984,22 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -3113,12 +3009,12 @@ global.get $~lib/memory/__stack_pointer global.get $class-overloading/b2 local.tee $0 - i32.store $0 - block $__inlined_func$class-overloading/A2#foo@override + i32.store + block $__inlined_func$class-overloading/A2#foo@override$1 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 15 i32.eq if @@ -3131,10 +3027,9 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -3143,19 +3038,18 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 16 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -3165,7 +3059,7 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -3173,31 +3067,29 @@ i32.const 17 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3207,16 +3099,15 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 16 i32.ne if @@ -3235,7 +3126,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$class-overloading/A2#foo@override + br $__inlined_func$class-overloading/A2#foo@override$1 end i32.const 1744 i32.const 1552 @@ -3245,7 +3136,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -3275,7 +3166,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -3283,7 +3174,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3291,23 +3182,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/class-override.debug.wat b/tests/compiler/class-override.debug.wat new file mode 100644 index 0000000000..7ec0ffa3a3 --- /dev/null +++ b/tests/compiler/class-override.debug.wat @@ -0,0 +1,2672 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $class-override/x (mut i32) (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 480)) + (global $~lib/memory/__data_end i32 (i32.const 516)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33284)) + (global $~lib/memory/__heap_base i32 (i32.const 33284)) + (memory $0 1) + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00r\00i\00d\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 480) "\08\00\00\00 \00\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 1 funcref) + (elem $0 (i32.const 1)) + (export "fn" (func $class-override/fn)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) + local.get $this + local.get $nextWithColor + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:prev + local.get $space + return + ) + (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + return + ) + (func $~lib/rt/itcms/Object#get:color (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + return + ) + (func $~lib/rt/itcms/visitRoots (param $cookie i32) + (local $pn i32) + (local $iter i32) + local.get $cookie + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $pn + local.get $pn + call $~lib/rt/itcms/Object#get:next + local.set $iter + loop $while-continue|0 + local.get $iter + local.get $pn + i32.ne + if + i32.const 1 + drop + local.get $iter + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 160 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $iter + i32.const 20 + i32.add + local.get $cookie + call $~lib/rt/__visit_members + local.get $iter + call $~lib/rt/itcms/Object#get:next + local.set $iter + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $this i32) (param $color i32) + local.get $this + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $color + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) + local.get $this + local.get $obj + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $this i32) + (local $next i32) + (local $prev i32) + local.get $this + call $~lib/rt/itcms/Object#get:next + local.set $next + local.get $next + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $this + call $~lib/rt/itcms/Object#get:prev + i32.const 0 + i32.eq + if (result i32) + local.get $this + 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 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return + end + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.set $prev + i32.const 1 + drop + local.get $prev + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $next + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $next + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/__typeinfo (param $id i32) (result i32) + (local $ptr i32) + global.get $~lib/rt/__rtti_base + local.set $ptr + local.get $id + local.get $ptr + i32.load + i32.gt_u + if + i32.const 224 + i32.const 288 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $ptr + i32.const 4 + i32.add + local.get $id + i32.const 4 + i32.mul + i32.add + call $~lib/shared/typeinfo/Typeinfo#get:flags + return + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $this i32) (result i32) + (local $rtId i32) + local.get $this + call $~lib/rt/itcms/Object#get:rtId + local.set $rtId + local.get $rtId + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $rtId + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + return + ) + (func $~lib/rt/itcms/Object#linkTo (param $this i32) (param $list i32) (param $withColor i32) + (local $prev i32) + local.get $list + call $~lib/rt/itcms/Object#get:prev + local.set $prev + local.get $this + local.get $list + local.get $withColor + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $this + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $this + call $~lib/rt/itcms/Object#set:next + local.get $list + local.get $this + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $this i32) + (local $1 i32) + local.get $this + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 96 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $this + call $~lib/rt/itcms/Object#unlink + local.get $this + global.get $~lib/rt/itcms/toSpace + local.get $this + 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 $ptr i32) (param $cookie i32) + (local $obj i32) + local.get $ptr + i32.eqz + if + return + end + local.get $ptr + i32.const 20 + i32.sub + local.set $obj + i32.const 0 + drop + local.get $obj + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $obj + 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 $cookie i32) + (local $ptr i32) + global.get $~lib/memory/__stack_pointer + local.set $ptr + loop $while-continue|0 + local.get $ptr + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $ptr + i32.load + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + br $while-continue|0 + end + end + ) + (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) + i32.const 4 + local.get $this + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + return + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) + local.get $this + local.get $flMap + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) + local.get $this + local.get $next + i32.store offset=8 + ) + (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) + (local $blockInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $6 i32) + (local $7 i32) + (local $boundedSize i32) + (local $prev i32) + (local $next i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $root|14 i32) + (local $fl|15 i32) + (local $sl|16 i32) + (local $head i32) + (local $root|18 i32) + (local $fl|19 i32) + (local $slMap i32) + (local $root|21 i32) + (local $fl|22 i32) + (local $slMap|23 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + 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 $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + 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 $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + 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 $block + call $~lib/rt/tlsf/Block#get:prev + local.set $prev + local.get $block + call $~lib/rt/tlsf/Block#get:next + local.set $next + local.get $prev + if + local.get $prev + local.get $next + call $~lib/rt/tlsf/Block#set:next + end + local.get $next + if + local.get $next + local.get $prev + call $~lib/rt/tlsf/Block#set:prev + end + local.get $block + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end + i32.eq + if + local.get $root + local.set $root|14 + local.get $fl + local.set $fl|15 + local.get $sl + local.set $sl|16 + local.get $next + local.set $head + local.get $root|14 + local.get $fl|15 + i32.const 4 + i32.shl + local.get $sl|16 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $next + i32.eqz + if + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end + local.set $slMap + local.get $root + local.set $root|21 + local.get $fl + local.set $fl|22 + local.get $slMap + i32.const 1 + local.get $sl + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $slMap + local.set $slMap|23 + local.get $root|21 + local.get $fl|22 + i32.const 2 + i32.shl + i32.add + local.get $slMap|23 + i32.store offset=4 + local.get $slMap + i32.eqz + if + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + 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 $root i32) (param $block i32) + (local $blockInfo i32) + (local $block|3 i32) + (local $right i32) + (local $rightInfo i32) + (local $block|6 i32) + (local $block|7 i32) + (local $left i32) + (local $leftInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $13 i32) + (local $14 i32) + (local $boundedSize i32) + (local $root|16 i32) + (local $fl|17 i32) + (local $sl|18 i32) + (local $head i32) + (local $root|20 i32) + (local $fl|21 i32) + (local $sl|22 i32) + (local $head|23 i32) + (local $root|24 i32) + (local $fl|25 i32) + (local $root|26 i32) + (local $fl|27 i32) + (local $slMap i32) + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + 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 + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + local.get $rightInfo + i32.const 1 + i32.and + if + local.get $root + local.get $right + call $~lib/rt/tlsf/removeBlock + local.get $block + local.get $blockInfo + i32.const 4 + i32.add + local.get $rightInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + end + local.get $blockInfo + i32.const 2 + i32.and + if + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end + local.set $left + local.get $left + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $leftInfo + i32.const 1 + drop + local.get $leftInfo + 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 $root + local.get $left + call $~lib/rt/tlsf/removeBlock + local.get $left + local.set $block + local.get $block + local.get $leftInfo + i32.const 4 + i32.add + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $right + local.get $rightInfo + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + 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 $block + i32.const 4 + i32.add + local.get $size + i32.add + local.get $right + 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 $right + i32.const 4 + i32.sub + local.get $block + i32.store + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $13 + i32.const 1073741820 + local.tee $14 + local.get $13 + local.get $14 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + 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 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end + local.set $head + local.get $block + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $block + local.get $head + call $~lib/rt/tlsf/Block#set:next + local.get $head + if + local.get $head + local.get $block + call $~lib/rt/tlsf/Block#set:prev + end + local.get $root + local.set $root|20 + local.get $fl + local.set $fl|21 + local.get $sl + local.set $sl|22 + local.get $block + local.set $head|23 + local.get $root|20 + local.get $fl|21 + i32.const 4 + i32.shl + local.get $sl|22 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head|23 + i32.store offset=96 + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|26 + local.get $fl + local.set $fl|27 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end + i32.const 1 + local.get $sl + i32.shl + i32.or + local.set $slMap + local.get $root|26 + local.get $fl|27 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) + (local $tail i32) + (local $tailInfo i32) + (local $size i32) + (local $leftSize i32) + (local $left i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end + i32.const 1 + drop + local.get $start + i64.extend_i32_u + local.get $endU64 + i64.le_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 382 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $start + 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 $start + local.get $end + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $end + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|4 + local.get $root|4 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end + local.set $tail + i32.const 0 + local.set $tailInfo + local.get $tail + if + i32.const 1 + drop + local.get $start + local.get $tail + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $start + i32.const 16 + i32.sub + local.get $tail + i32.eq + if + local.get $start + i32.const 16 + i32.sub + local.set $start + local.get $tail + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $tailInfo + else + end + else + i32.const 1 + drop + local.get $start + local.get $root + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $end + local.get $start + i32.sub + local.set $size + local.get $size + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $size + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $leftSize + local.get $start + local.set $left + local.get $left + local.get $leftSize + i32.const 1 + i32.or + local.get $tailInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $start + i32.const 4 + i32.add + local.get $leftSize + i32.add + local.set $tail + local.get $tail + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.set $root|10 + local.get $tail + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 + local.get $root + local.get $left + call $~lib/rt/tlsf/insertBlock + i32.const 1 + return + ) + (func $~lib/rt/tlsf/initialize + (local $rootOffset i32) + (local $pagesBefore i32) + (local $pagesNeeded i32) + (local $root i32) + (local $root|4 i32) + (local $tail i32) + (local $fl i32) + (local $root|7 i32) + (local $fl|8 i32) + (local $slMap i32) + (local $sl i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $head i32) + (local $memStart 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 $rootOffset + memory.size + local.set $pagesBefore + local.get $rootOffset + 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 $pagesNeeded + local.get $pagesNeeded + local.get $pagesBefore + i32.gt_s + if (result i32) + local.get $pagesNeeded + local.get $pagesBefore + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $rootOffset + local.set $root + local.get $root + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|4 + i32.const 0 + local.set $tail + local.get $root|4 + local.get $tail + i32.store offset=1568 + i32.const 0 + local.set $fl + loop $for-loop|0 + local.get $fl + i32.const 23 + i32.lt_u + if + local.get $root + local.set $root|7 + local.get $fl + local.set $fl|8 + i32.const 0 + local.set $slMap + local.get $root|7 + local.get $fl|8 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + i32.const 0 + local.set $sl + loop $for-loop|1 + local.get $sl + i32.const 16 + i32.lt_u + if + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + i32.const 0 + local.set $head + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $sl + i32.const 1 + i32.add + local.set $sl + br $for-loop|1 + end + end + local.get $fl + i32.const 1 + i32.add + local.set $fl + br $for-loop|0 + end + end + local.get $rootOffset + i32.const 1572 + i32.add + local.set $memStart + i32.const 0 + drop + local.get $root + local.get $memStart + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $root + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/checkUsedBlock (param $ptr i32) (result i32) + (local $block i32) + local.get $ptr + i32.const 4 + i32.sub + local.set $block + local.get $ptr + i32.const 0 + i32.ne + if (result i32) + local.get $ptr + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 562 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $block + return + ) + (func $~lib/rt/tlsf/freeBlock (param $root i32) (param $block i32) + i32.const 0 + drop + local.get $block + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $block + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $ptr i32) + local.get $ptr + 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 $ptr + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $obj i32) + local.get $obj + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $obj + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $obj + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $obj i32) + (local $1 i32) + (local $black i32) + (local $from 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 $black + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $obj + loop $while-continue|1 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + global.set $~lib/rt/itcms/iter + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + 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 $obj + local.get $obj + 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 $obj + loop $while-continue|2 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + local.get $obj + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $from + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $from + global.set $~lib/rt/itcms/toSpace + local.get $black + global.set $~lib/rt/itcms/white + local.get $from + 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 $obj + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $obj + 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 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $obj + 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 + return + ) + (func $~lib/rt/itcms/interrupt + (local $budget 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 $budget + loop $do-loop|0 + local.get $budget + call $~lib/rt/itcms/step + i32.sub + local.set $budget + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + drop + global.get $~lib/rt/itcms/total + i32.const 200 + i32.const 100 + i32.div_u + i32.mul + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $budget + 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 $size i32) (result i32) + local.get $size + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $size + 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 + return + ) + (func $~lib/rt/tlsf/prepareSize (param $size i32) (result i32) + local.get $size + i32.const 1073741820 + i32.gt_u + if + i32.const 32 + i32.const 368 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $size + call $~lib/rt/tlsf/computeSize + return + ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) + (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) + (local $fl i32) + (local $sl i32) + (local $requestSize i32) + (local $root|5 i32) + (local $fl|6 i32) + (local $slMap i32) + (local $head i32) + (local $flMap i32) + (local $root|10 i32) + (local $fl|11 i32) + (local $root|12 i32) + (local $fl|13 i32) + (local $sl|14 i32) + (local $root|15 i32) + (local $fl|16 i32) + (local $sl|17 i32) + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $requestSize + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub + local.get $requestSize + i32.clz + i32.sub + local.set $fl + local.get $requestSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 334 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end + i32.const 0 + i32.const -1 + i32.xor + local.get $sl + i32.shl + i32.and + local.set $slMap + i32.const 0 + local.set $head + local.get $slMap + i32.eqz + if + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 0 + i32.const -1 + i32.xor + local.get $fl + i32.const 1 + i32.add + i32.shl + i32.and + local.set $flMap + local.get $flMap + i32.eqz + if + i32.const 0 + local.set $head + else + local.get $flMap + i32.ctz + local.set $fl + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end + local.set $slMap + i32.const 1 + drop + local.get $slMap + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) + local.get $root + local.set $root|15 + local.get $fl + local.set $fl|16 + local.get $slMap + i32.ctz + local.set $sl|17 + local.get $root|15 + local.get $fl|16 + i32.const 4 + i32.shl + local.get $sl|17 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.3 + end + local.set $head + end + local.get $head + return + ) + (func $~lib/rt/tlsf/growMemory (param $root i32) (param $size i32) + (local $pagesBefore i32) + (local $root|3 i32) + (local $pagesNeeded i32) + (local $5 i32) + (local $6 i32) + (local $pagesWanted i32) + (local $pagesAfter i32) + i32.const 0 + drop + local.get $size + i32.const 256 + i32.ge_u + if + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $size + end + memory.size + local.set $pagesBefore + local.get $size + i32.const 4 + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 4 + i32.sub + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end + i32.ne + i32.shl + i32.add + local.set $size + local.get $size + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $5 + local.get $pagesNeeded + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $pagesAfter + local.get $root + local.get $pagesBefore + i32.const 16 + i32.shl + local.get $pagesAfter + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $root i32) (param $block i32) (param $size i32) + (local $blockInfo i32) + (local $remaining i32) + (local $spare i32) + (local $block|6 i32) + (local $block|7 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $size + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $size + i32.sub + local.set $remaining + local.get $remaining + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $block + local.get $size + local.get $blockInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.set $spare + local.get $spare + local.get $remaining + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $spare + call $~lib/rt/tlsf/insertBlock + else + local.get $block + local.get $blockInfo + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $root i32) (param $size i32) (result i32) + (local $payloadSize i32) + (local $block i32) + local.get $size + call $~lib/rt/tlsf/prepareSize + local.set $payloadSize + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + local.get $block + i32.eqz + if + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/growMemory + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $payloadSize + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $block + call $~lib/rt/tlsf/removeBlock + local.get $root + local.get $block + local.get $payloadSize + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $block + return + ) + (func $~lib/rt/tlsf/__alloc (param $size 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 $size + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + return + ) + (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) + local.get $this + local.get $rtId + i32.store offset=12 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) + local.get $this + local.get $rtSize + i32.store offset=16 + ) + (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) + (local $obj i32) + (local $ptr i32) + local.get $size + i32.const 1073741804 + i32.ge_u + if + i32.const 32 + i32.const 96 + i32.const 261 + 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 $size + i32.add + call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub + local.set $obj + local.get $obj + local.get $id + call $~lib/rt/itcms/Object#set:rtId + local.get $obj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $obj + i32.const 20 + i32.add + local.set $ptr + local.get $ptr + i32.const 0 + local.get $size + memory.fill + local.get $ptr + return + ) + (func $class-override/A#f (param $this i32) (param $a i32) (result i32) + local.get $a + i32.const 1 + i32.add + return + ) + (func $start:class-override + 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 + call $class-override/D#constructor + global.set $class-override/x + i32.const 0 + call $class-override/fn + i32.const 111 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 24 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $class-override/A#f@override (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + block $default + block $case1 + block $case0 + local.get $0 + i32.const 8 + i32.sub + i32.load + local.set $2 + local.get $2 + i32.const 7 + i32.eq + br_if $case0 + local.get $2 + i32.const 5 + i32.eq + br_if $case1 + local.get $2 + i32.const 6 + i32.eq + br_if $case1 + br $default + end + local.get $0 + local.get $1 + call $class-override/B#f + return + end + local.get $0 + local.get $1 + call $class-override/C#f + return + end + local.get $0 + local.get $1 + call $class-override/A#f + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + global.get $class-override/x + 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 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $class-override/B + block $class-override/C + block $class-override/D + block $class-override/A + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-override/A $class-override/D $class-override/C $class-override/B $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + return + end + return + end + return + end + unreachable + ) + (func $~start + call $start:class-override + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33312 + i32.const 33360 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $class-override/A#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $class-override/B#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $class-override/A#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $class-override/C#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $class-override/B#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $class-override/D#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $class-override/C#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $class-override/fn (param $n i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $class-override/x + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + local.get $n + call $class-override/A#f@override + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $class-override/B#f (param $this i32) (param $a i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $a + call $class-override/A#f + i32.const 10 + i32.add + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $class-override/C#f (param $this i32) (param $a i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $a + call $class-override/B#f + i32.const 100 + i32.add + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/object/Object#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) +) diff --git a/tests/compiler/class-override.json b/tests/compiler/class-override.json new file mode 100644 index 0000000000..1bdd02b1be --- /dev/null +++ b/tests/compiler/class-override.json @@ -0,0 +1,4 @@ +{ + "asc_flags": [ + ] +} diff --git a/tests/compiler/class-override.release.wat b/tests/compiler/class-override.release.wat new file mode 100644 index 0000000000..b1418a45d3 --- /dev/null +++ b/tests/compiler/class-override.release.wat @@ -0,0 +1,1727 @@ +(module + (type $0 (func)) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (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 $class-override/x (mut i32) (i32.const 0)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34308)) + (memory $0 1) + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "<") + (data $8.1 (i32.const 1448) "\02\00\00\00\"\00\00\00c\00l\00a\00s\00s\00-\00o\00v\00e\00r\00r\00i\00d\00e\00.\00t\00s") + (data $9 (i32.const 1504) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 ") + (export "fn" (func $class-override/fn)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + global.get $class-override/x + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 1248 + call $~lib/rt/itcms/__visit + i32.const 1056 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 160 + 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/__visit (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $1 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $1 + i32.load offset=8 + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + 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$120 + local.get $1 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34308 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$120 + end + local.get $1 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1504 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + 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 $0 + local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + 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 + ) + (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 $3 + 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 $3 + i32.const -4 + i32.and + local.tee $3 + 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 $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1073741820 + local.get $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $2 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $3 + 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 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 $1 + local.get $0 + local.get $2 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=96 + i32.eq + if + local.get $1 + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $3 + i32.rotl + i32.and + local.set $3 + local.get $1 + local.get $3 + i32.store offset=4 + local.get $3 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $2 + 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 $4 + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + 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 + i32.const 1073741820 + local.get $2 + local.get $2 + i32.const 1073741820 + i32.ge_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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + 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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + 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 $5 + i32.shl + i32.or + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + 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 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.get $1 + i64.extend_i32_u + i64.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 382 + 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 $3 + if + local.get $3 + i32.const 4 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + local.tee $5 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $5 + local.set $1 + end + else + local.get $0 + i32.const 1572 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.wrap_i64 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $3 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + 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 $1 + i32.const 4 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.const 2 + i32.store + local.get $0 + local.get $3 + 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 34320 + i32.const 0 + i32.store + i32.const 35888 + 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 34320 + 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 $0 + i32.const 4 + i32.shl + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.const 34320 + 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 34320 + i32.const 35892 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + i32.const 34320 + 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 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 34308 + i32.lt_u + if + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 34308 + 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 34308 + 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 562 + 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 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (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 $0 + local.get $1 + 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 $2 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + 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 + 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$69 + 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 + i32.const 1 + i32.shl + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt$69 + end + local.get $1 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + 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 + i64.extend_i32_s + i64.const 16 + i64.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 499 + 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 501 + 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 $3 + i32.const -4 + i32.and + i32.const 28 + i32.sub + local.tee $4 + i32.const 16 + i32.ge_u + if + local.get $1 + local.get $3 + i32.const 2 + i32.and + i32.const 28 + i32.or + i32.store + local.get $1 + i32.const 32 + i32.add + local.tee $3 + local.get $4 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $2 + local.get $3 + 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.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 + local.get $0 + global.get $~lib/rt/itcms/white + i32.or + i32.store offset=4 + local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 + local.tee $0 + i32.const 0 + i32.const 0 + memory.fill + local.get $0 + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $invalid + block $class-override/B + block $class-override/C + block $class-override/D + block $class-override/A + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class-override/A $class-override/D $class-override/C $class-override/B $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + return + end + return + end + return + end + return + end + unreachable + ) + (func $~start + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + block $__inlined_func$start:class-override + memory.size + i32.const 16 + i32.shl + i32.const 34308 + 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 + 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 1540 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1540 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + 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 1540 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + 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 1540 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1540 + 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 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + global.set $class-override/x + i32.const 0 + call $class-override/fn + i32.const 111 + i32.ne + if + i32.const 0 + i32.const 1456 + i32.const 24 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$start:class-override + end + i32.const 34336 + i32.const 34384 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $class-override/fn (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 1540 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $class-override/x + local.tee $1 + i32.store + block $__inlined_func$class-override/A#f@override$126 + block $default + block $case1 + block $case0 + local.get $1 + i32.const 8 + i32.sub + i32.load + i32.const 5 + i32.sub + br_table $case1 $case1 $case0 $default + end + local.get $1 + local.get $0 + call $class-override/B#f + local.set $0 + br $__inlined_func$class-override/A#f@override$126 + 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 1540 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + local.get $0 + call $class-override/B#f + i32.const 100 + i32.add + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$class-override/A#f@override$126 + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 34336 + i32.const 34384 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $class-override/B#f (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1540 + i32.lt_s + if + i32.const 34336 + i32.const 34384 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.const 11 + i32.add + ) +) diff --git a/tests/compiler/class-override.ts b/tests/compiler/class-override.ts new file mode 100644 index 0000000000..08121693e6 --- /dev/null +++ b/tests/compiler/class-override.ts @@ -0,0 +1,24 @@ +export function fn(n: i32): i32 { + return x.f(n); +} + +class A { + f(a: i32): i32 { + return a + 1; + } +} +class B extends A { + f(a: i32): i32 { + return super.f(a) + 10; + } +} +class C extends B { + f(a: i32): i32 { + return super.f(a) + 100; + } +} +class D extends C {} + +let x: A = new D(); + +assert(fn(0) == 111); diff --git a/tests/compiler/class-static-function.debug.wat b/tests/compiler/class-static-function.debug.wat index 5b4e7c6bdb..8c028d9590 100644 --- a/tests/compiler/class-static-function.debug.wat +++ b/tests/compiler/class-static-function.debug.wat @@ -1,16 +1,16 @@ (module - (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (result i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/memory/__data_end i32 (i32.const 124)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32892)) (global $~lib/memory/__heap_base i32 (i32.const 32892)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\00c\00l\00a\00s\00s\00-\00s\00t\00a\00t\00i\00c\00-\00f\00u\00n\00c\00t\00i\00o\00n\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\00c\00l\00a\00s\00s\00-\00s\00t\00a\00t\00i\00c\00-\00f\00u\00n\00c\00t\00i\00o\00n\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $class-static-function/Example.staticFunc) (export "memory" (memory $0)) @@ -23,8 +23,8 @@ i32.const 0 global.set $~argumentsLength local.get $func - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $1) return ) (func $~start @@ -52,12 +52,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class-static-function/call i32.const 42 diff --git a/tests/compiler/class-static-function.release.wat b/tests/compiler/class-static-function.release.wat index 0c79d9603a..10a8811e24 100644 --- a/tests/compiler/class-static-function.release.wat +++ b/tests/compiler/class-static-function.release.wat @@ -1,14 +1,14 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (result i32))) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33916)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") - (data (i32.const 1068) "L") - (data (i32.const 1080) "\02\00\00\000\00\00\00c\00l\00a\00s\00s\00-\00s\00t\00a\00t\00i\00c\00-\00f\00u\00n\00c\00t\00i\00o\00n\00.\00t\00s") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\04\00\00\00\08\00\00\00\01") + (data $1 (i32.const 1068) "L") + (data $1.1 (i32.const 1080) "\02\00\00\000\00\00\00c\00l\00a\00s\00s\00-\00s\00t\00a\00t\00i\00c\00-\00f\00u\00n\00c\00t\00i\00o\00n\00.\00t\00s") (table $0 2 2 funcref) (elem $0 (i32.const 1) $class-static-function/Example.staticFunc) (export "memory" (memory $0)) @@ -17,7 +17,6 @@ i32.const 42 ) (func $~start - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -34,15 +33,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1056 - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $0) drop global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/class.debug.wat b/tests/compiler/class.debug.wat index 7e410bab1a..c69e4d351d 100644 --- a/tests/compiler/class.debug.wat +++ b/tests/compiler/class.debug.wat @@ -1,15 +1,16 @@ (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 (func (param i32 i32 i32) (result i32))) - (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) - (type $i32_f32_f32_=>_f32 (func (param i32 f32 f32) (result f32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param f32 f32) (result f32))) + (type $7 (func (param i32 i32 i32) (result i32))) + (type $8 (func (param i32 f32 f32) (result f32))) + (type $9 (func (param i32 i32 i32 i32))) + (type $10 (func (param i32 i32 i64) (result i32))) + (type $11 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $class/Animal.ONE (mut i32) (i32.const 1)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -32,17 +33,17 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33312)) (global $~lib/memory/__heap_base i32 (i32.const 33312)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 512) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\02\t\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $9 (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $10 (i32.const 512) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\02\t\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "testGenericInitializer" (func $class/testGenericInitializer)) @@ -101,40 +102,40 @@ ) (func $class/Animal#get:one (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $class/Animal#get:two (param $this i32) (result i32) local.get $this - i32.load16_s $0 offset=4 + i32.load16_s offset=4 ) (func $class/Animal#get:three (param $this i32) (result i32) local.get $this - i32.load8_s $0 offset=6 + i32.load8_s offset=6 ) (func $class/Animal#set:one (param $this i32) (param $one i32) local.get $this local.get $one - i32.store $0 + i32.store ) (func $class/Animal#set:two (param $this i32) (param $two i32) local.get $this local.get $two - i32.store16 $0 offset=4 + i32.store16 offset=4 ) (func $class/Animal#set:three (param $this i32) (param $three i32) local.get $this local.get $three - i32.store8 $0 offset=6 + i32.store8 offset=6 ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -148,7 +149,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -222,7 +223,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -292,11 +293,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -304,7 +305,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -436,7 +437,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -449,7 +450,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -465,34 +466,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -652,7 +653,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -675,7 +676,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -689,7 +690,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -712,7 +713,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -855,7 +856,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -941,7 +942,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1021,7 +1022,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1055,7 +1056,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1078,7 +1079,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1092,27 +1093,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1137,9 +1143,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1158,7 +1164,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1177,7 +1183,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1191,7 +1196,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1247,12 +1252,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1286,7 +1291,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1307,7 +1312,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1327,7 +1332,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1347,7 +1352,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1373,7 +1378,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1396,9 +1401,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1434,7 +1440,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1700,14 +1706,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1763,7 +1772,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1772,6 +1781,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1801,24 +1830,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1856,7 +1874,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1871,7 +1889,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1916,7 +1934,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1927,7 +1945,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1949,7 +1967,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1972,7 +1990,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1991,22 +2009,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2019,7 +2029,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2046,27 +2056,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2091,7 +2102,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2206,7 +2217,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2226,7 +2237,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2259,12 +2270,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2315,7 +2326,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2390,7 +2401,7 @@ (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2399,22 +2410,22 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $class/GenericInitializer#set:foo (param $this i32) (param $foo i32) local.get $this local.get $foo - i32.store $0 + i32.store local.get $this local.get $foo i32.const 0 @@ -2443,16 +2454,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $class/GenericInitializer~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2460,17 +2466,13 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2492,7 +2494,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class/Animal $class/GenericInitializer $~lib/array/Array $invalid end return @@ -2522,7 +2524,7 @@ ) (func $~start call $start:class - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2564,12 +2566,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $animal local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.const 2 @@ -2579,7 +2581,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 f32.const 1 f32.const 2 @@ -2589,7 +2591,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $class/Animal#get:one drop @@ -2597,7 +2599,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $class/Animal#get:two drop @@ -2605,7 +2607,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $class/Animal#get:three drop @@ -2613,7 +2615,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 i32.const 1 @@ -2623,7 +2625,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.const 1 @@ -2633,7 +2635,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.const 1 @@ -2646,7 +2648,7 @@ global.get $~lib/memory/__stack_pointer local.get $ptr local.tee $cls - i32.store $0 offset=4 + i32.store offset=4 local.get $cls local.set $3 global.get $~lib/memory/__stack_pointer @@ -2669,10 +2671,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -2681,13 +2683,13 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -2695,7 +2697,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -2703,7 +2705,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -2711,7 +2713,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -2744,7 +2746,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2753,20 +2755,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2774,7 +2776,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2782,7 +2784,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -2803,10 +2805,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2815,23 +2817,23 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 0 @@ -2839,7 +2841,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $class/GenericInitializer#set:foo local.get $this @@ -2859,14 +2861,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -2885,7 +2887,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2894,7 +2896,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -2913,7 +2915,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $class/test local.set $1 diff --git a/tests/compiler/class.release.wat b/tests/compiler/class.release.wat index 0018b38d96..992b686367 100644 --- a/tests/compiler/class.release.wat +++ b/tests/compiler/class.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param 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)) @@ -20,21 +20,21 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34336)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1484) ",") - (data (i32.const 1496) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1536) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\02\t") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) ",") + (data $8.1 (i32.const 1448) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $9 (i32.const 1484) ",") + (data $9.1 (i32.const 1496) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $10 (i32.const 1536) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00\02\t") (export "testGenericInitializer" (func $class/testGenericInitializer)) (export "memory" (memory $0)) (export "test" (func $export:class/test)) @@ -43,14 +43,14 @@ (local $0 i32) (local $1 i32) i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1456 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -60,7 +60,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -78,7 +78,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -95,7 +95,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -109,16 +109,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$139 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34336 @@ -133,10 +133,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$139 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -149,20 +149,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -171,7 +171,7 @@ else local.get $1 i32.const 1536 - i32.load $0 + i32.load i32.gt_u if i32.const 1248 @@ -186,13 +186,13 @@ i32.shl i32.const 1540 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -202,21 +202,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -224,8 +248,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -237,10 +261,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -251,29 +275,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -281,10 +305,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -298,75 +322,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -388,7 +405,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -405,12 +422,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -427,17 +444,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -447,9 +464,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -474,13 +491,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -514,7 +531,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -570,19 +587,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -594,15 +611,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -610,23 +627,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -640,10 +659,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -651,23 +670,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -679,52 +697,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -732,7 +751,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -740,7 +759,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -751,10 +770,10 @@ end i32.const 34336 i32.const 0 - i32.store $0 + i32.store i32.const 35904 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -766,7 +785,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -784,7 +803,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -801,9 +820,10 @@ end i32.const 34336 i32.const 35908 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34336 global.set $~lib/rt/tlsf/ROOT @@ -833,7 +853,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -846,19 +866,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -869,7 +889,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -881,7 +901,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -894,12 +914,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -908,7 +924,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -919,26 +935,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -954,7 +970,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -970,7 +986,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -995,14 +1011,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1022,7 +1038,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1037,25 +1052,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1064,12 +1078,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1077,47 +1090,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1128,7 +1143,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1138,7 +1153,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1155,10 +1170,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1174,13 +1189,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1195,7 +1210,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1222,7 +1237,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$71 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1234,16 +1249,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$71 end local.get $2 i32.const 0 @@ -1251,8 +1262,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1279,34 +1289,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1314,21 +1350,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1341,12 +1362,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1357,9 +1378,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1369,7 +1391,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1377,14 +1399,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1393,8 +1415,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1403,95 +1425,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1504,13 +1526,13 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store $0 + i32.store local.get $1 if local.get $0 @@ -1528,7 +1550,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.eq @@ -1536,7 +1558,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and local.tee $0 @@ -1576,23 +1598,22 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1602,7 +1623,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1611,18 +1632,17 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -1632,82 +1652,81 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 6 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/array/Array#set:buffer global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $1 call $~lib/array/Array#set:buffer global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 32 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $2 call $~lib/array/Array#set:buffer @@ -1725,75 +1744,72 @@ unreachable ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - block $folding-inner0 - block $invalid - block $~lib/array/Array + block $invalid + block $~lib/array/Array + block $class/GenericInitializer block $class/Animal - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $class/Animal $folding-inner0 $~lib/array/Array $invalid + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $class/Animal $class/GenericInitializer $~lib/array/Array $invalid + end + return end return end return end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit return end return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1568 - i32.lt_s - if - i32.const 34368 - i32.const 34416 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.load + call $~lib/rt/itcms/__visit return end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1568 + i32.lt_s + if + i32.const 34368 + i32.const 34416 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.store + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return end + unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34336 @@ -1803,31 +1819,30 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace ) (func $export:class/test (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1838,10 +1853,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1850,55 +1864,54 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load drop - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load16_s $0 offset=4 + i32.load16_s offset=4 drop - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load8_s $0 offset=6 + i32.load8_s offset=6 drop - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2 - i32.store16 $0 offset=4 - local.get $1 + i32.store16 offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3 - i32.store8 $0 offset=6 - local.get $1 + i32.store8 offset=6 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1916,23 +1929,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/closure.json b/tests/compiler/closure.json index 60af5f4ab5..043415b403 100644 --- a/tests/compiler/closure.json +++ b/tests/compiler/closure.json @@ -10,6 +10,8 @@ "$local0; // closure 3", "AS100: Not implemented: Closures", "$local0(123); // closure 4", + "AS100: Not implemented: Closures", + "$local0 = 10; // closure 5", "EOF" ] } diff --git a/tests/compiler/closure.ts b/tests/compiler/closure.ts index 8d83cc791c..26ba15304b 100644 --- a/tests/compiler/closure.ts +++ b/tests/compiler/closure.ts @@ -28,4 +28,12 @@ function testFuncParam($local0: (x: i32) => void): () => void { } testFuncParam((x: i32) => {}); +function testAssign(): (value: i32) => void { + let $local0 = 0; + return function inner(value: i32): void { + $local0 = 10; // closure 5 + }; +} +testAssign(); + ERROR("EOF"); diff --git a/tests/compiler/comma.debug.wat b/tests/compiler/comma.debug.wat index 87ec2d15d4..e329144ab1 100644 --- a/tests/compiler/comma.debug.wat +++ b/tests/compiler/comma.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $comma/a (mut i32) (i32.const 0)) (global $comma/b (mut i32) (i32.const 0)) @@ -8,7 +8,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -152,7 +152,6 @@ global.get $comma/a i32.lt_s if - nop global.get $comma/a i32.const 1 i32.sub diff --git a/tests/compiler/comma.release.wat b/tests/compiler/comma.release.wat index d33a8fd703..bf36eae36e 100644 --- a/tests/compiler/comma.release.wat +++ b/tests/compiler/comma.release.wat @@ -1,12 +1,12 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $comma/a (mut i32) (i32.const 0)) (global $comma/b (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\10\00\00\00c\00o\00m\00m\00a\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start diff --git a/tests/compiler/const-folding.debug.wat b/tests/compiler/const-folding.debug.wat index 4e34c1e61c..f3dfc817d6 100644 --- a/tests/compiler/const-folding.debug.wat +++ b/tests/compiler/const-folding.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i64_=>_i64 (func (param i64) (result i64))) + (type $0 (func)) + (type $1 (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)) diff --git a/tests/compiler/const-folding.release.wat b/tests/compiler/const-folding.release.wat index a296656855..bdd34a3c6c 100644 --- a/tests/compiler/const-folding.release.wat +++ b/tests/compiler/const-folding.release.wat @@ -1,6 +1,6 @@ (module - (type $i64_=>_i64 (func (param i64) (result i64))) - (type $none_=>_none (func)) + (type $0 (func (param i64) (result i64))) + (type $1 (func)) (global $const-folding/x (mut i32) (i32.const 0)) (memory $0 0) (export "x" (global $const-folding/x)) diff --git a/tests/compiler/constructor.debug.wat b/tests/compiler/constructor.debug.wat index 0b6fe521df..9e1fc9db1d 100644 --- a/tests/compiler/constructor.debug.wat +++ b/tests/compiler/constructor.debug.wat @@ -1,13 +1,14 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 (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))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 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)) @@ -40,16 +41,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33300)) (global $~lib/memory/__heap_base i32 (i32.const 33300)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00\1c\00\00\00c\00o\00n\00s\00t\00r\00u\00c\00t\00o\00r\00.\00t\00s\00") - (data (i32.const 464) "\10\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00c\00o\00n\00s\00t\00r\00u\00c\00t\00o\00r\00.\00t\00s\00") + (data $9 (i32.const 464) "\10\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -57,12 +58,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -76,7 +77,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -150,7 +151,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -220,11 +221,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -232,7 +233,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -364,7 +365,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -377,7 +378,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -393,34 +394,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -580,7 +581,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -603,7 +604,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -617,7 +618,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -640,7 +641,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -783,7 +784,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -869,7 +870,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -949,7 +950,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -983,7 +984,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1006,7 +1007,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1020,27 +1021,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1065,9 +1071,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1086,7 +1092,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1105,7 +1111,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1119,7 +1124,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1175,12 +1180,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1214,7 +1219,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1235,7 +1240,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1255,7 +1260,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1275,7 +1280,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1301,7 +1306,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1324,9 +1329,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1362,7 +1368,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1628,14 +1634,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1691,7 +1700,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1700,6 +1709,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1729,24 +1758,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1784,7 +1802,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1799,7 +1817,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1844,7 +1862,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1855,7 +1873,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1877,7 +1895,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1900,7 +1918,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1919,22 +1937,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1947,7 +1957,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1974,27 +1984,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2019,7 +2030,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2134,7 +2145,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2154,7 +2165,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2187,12 +2198,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2243,34 +2254,34 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $constructor/EmptyCtorWithFieldInit#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $constructor/EmptyCtorWithFieldNoInit#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $constructor/EmptyCtorWithFieldAccess#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $constructor/JustFieldInit#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $constructor/JustFieldNoInit#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $constructor/CtorReturns#constructor (param $this i32) (result i32) i32.const 0 @@ -2279,47 +2290,47 @@ (func $constructor/CtorFieldInitWithoutConstructor#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $constructor/CtorFieldInitWithoutConstructor#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $constructor/CtorFieldInitWithoutConstructor#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store $0 offset=4 + i32.store offset=4 ) (func $constructor/CtorFieldInitWithoutConstructor#get:b (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $constructor/CtorFieldInitOrder#get:a (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $constructor/CtorFieldInitOrder#get:b (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $constructor/CtorFieldInitOrder#get:c (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $constructor/CtorFieldInitOrder#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 offset=4 + i32.store offset=4 ) (func $constructor/CtorFieldInitOrder#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store $0 offset=8 + i32.store offset=8 ) (func $constructor/CtorFieldInitOrder#set:c (param $this i32) (param $c i32) local.get $this local.get $c - i32.store $0 + i32.store ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2413,16 +2424,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2445,7 +2451,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/EmptyCtorWithFieldAccess $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorReturns $constructor/CtorConditionallyReturns $constructor/CtorConditionallyReturnsThis $constructor/CtorFieldInitWithoutConstructor $constructor/CtorFieldInitOrder $invalid end return @@ -2510,7 +2516,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2519,13 +2525,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $constructor/EmptyCtorWithFieldInit#set:a @@ -2546,7 +2552,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2555,13 +2561,13 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $constructor/EmptyCtorWithFieldNoInit#set:a @@ -2582,7 +2588,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2591,13 +2597,13 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $constructor/EmptyCtorWithFieldAccess#set:a @@ -2605,7 +2611,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $constructor/EmptyCtorWithFieldAccess#set:a @@ -2626,7 +2632,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2635,18 +2641,18 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2664,7 +2670,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2673,23 +2679,23 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $constructor/JustFieldInit#set:a @@ -2710,7 +2716,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2719,23 +2725,23 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $constructor/JustFieldNoInit#set:a @@ -2756,10 +2762,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2768,23 +2774,23 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 10 call $constructor/CtorFieldInitWithoutConstructor#set:a @@ -2792,13 +2798,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $constructor/CtorFieldInitWithoutConstructor#get:a call $constructor/CtorFieldInitWithoutConstructor#set:b @@ -2819,10 +2825,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2831,13 +2837,13 @@ i32.const 15 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $a call $constructor/CtorFieldInitOrder#set:a @@ -2845,7 +2851,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $b call $constructor/CtorFieldInitOrder#set:b @@ -2853,20 +2859,20 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $constructor/CtorFieldInitOrder#get:a local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $constructor/CtorFieldInitOrder#get:b i32.add @@ -2887,7 +2893,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 call $constructor/CtorFieldInitOrder#get:a i32.const 1 @@ -2917,7 +2923,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 call $constructor/CtorFieldInitOrder#get:b i32.const 2 @@ -2935,7 +2941,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 call $constructor/CtorFieldInitOrder#get:c i32.const 3 @@ -2966,8 +2972,8 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3019,7 +3025,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $constructor/CtorFieldInitWithoutConstructor#get:a i32.const 10 @@ -3038,7 +3044,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $constructor/CtorFieldInitWithoutConstructor#get:b i32.const 10 @@ -3061,7 +3067,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $constructor/CtorFieldInitOrder#get:a i32.const 1 @@ -3079,7 +3085,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $constructor/CtorFieldInitOrder#get:b i32.const 2 @@ -3097,7 +3103,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $constructor/CtorFieldInitOrder#get:c i32.const 3 @@ -3125,7 +3131,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3134,7 +3140,7 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -3153,7 +3159,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3162,7 +3168,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -3181,7 +3187,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3190,7 +3196,7 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $constructor/b if @@ -3220,7 +3226,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3229,7 +3235,7 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $constructor/b if diff --git a/tests/compiler/constructor.release.wat b/tests/compiler/constructor.release.wat index 3ed50e889a..bf036d6c77 100644 --- a/tests/compiler/constructor.release.wat +++ b/tests/compiler/constructor.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (result 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 $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (result i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (param 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)) @@ -29,19 +29,19 @@ (global $constructor/ctorFieldInitOrder (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34324)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00\1c\00\00\00c\00o\00n\00s\00t\00r\00u\00c\00t\00o\00r\00.\00t\00s") - (data (i32.const 1488) "\10\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) ",") + (data $8.1 (i32.const 1448) "\02\00\00\00\1c\00\00\00c\00o\00n\00s\00t\00r\00u\00c\00t\00o\00r\00.\00t\00s") + (data $9 (i32.const 1488) "\10\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -51,63 +51,63 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $constructor/emptyCtorWithFieldInit local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $constructor/emptyCtorWithFieldNoInit local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $constructor/emptyCtorWithFieldAccess local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $constructor/none local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $constructor/justFieldInit local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $constructor/justFieldNoInit local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $constructor/ctorConditionallyReturnsThis local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $constructor/ctorFieldInitOrder local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -117,7 +117,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -135,7 +135,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -143,137 +143,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34324 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$153 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34324 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$153 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1488 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1492 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -281,8 +301,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -294,10 +314,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -308,29 +328,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -338,10 +358,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -355,75 +375,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -445,7 +458,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -462,12 +475,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -484,17 +497,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -504,9 +517,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -531,13 +544,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -571,7 +584,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -627,19 +640,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -651,15 +664,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -667,23 +680,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -697,10 +712,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -708,23 +723,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -736,52 +750,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -789,7 +804,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -797,7 +812,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -808,10 +823,10 @@ end i32.const 34336 i32.const 0 - i32.store $0 + i32.store i32.const 35904 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -823,7 +838,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -841,7 +856,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -858,9 +873,10 @@ end i32.const 34336 i32.const 35908 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34336 global.set $~lib/rt/tlsf/ROOT @@ -890,7 +906,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -903,19 +919,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -926,7 +942,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -938,7 +954,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -951,12 +967,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -965,7 +977,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -976,26 +988,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1011,7 +1023,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1027,7 +1039,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1052,14 +1064,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1079,7 +1091,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1094,25 +1105,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1121,12 +1131,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1134,47 +1143,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1185,7 +1196,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1195,7 +1206,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1212,10 +1223,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1231,13 +1242,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1252,7 +1263,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1279,7 +1290,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1291,16 +1302,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1308,8 +1315,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1336,34 +1342,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1371,21 +1403,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1398,12 +1415,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1414,9 +1431,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1426,7 +1444,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1434,14 +1452,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1450,8 +1468,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1460,95 +1478,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1561,7 +1579,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1585,7 +1603,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $constructor/EmptyCtor $constructor/EmptyCtorWithFieldInit $constructor/EmptyCtorWithFieldNoInit $constructor/EmptyCtorWithFieldAccess $constructor/None $constructor/JustFieldInit $constructor/JustFieldNoInit $constructor/CtorReturns $constructor/CtorConditionallyReturns $constructor/CtorConditionallyReturnsThis $constructor/CtorFieldInitWithoutConstructor $constructor/CtorFieldInitOrder $invalid end return @@ -1595,12 +1613,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1632,21 +1646,19 @@ (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-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34324 @@ -1656,46 +1668,45 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace - local.get $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 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1709,25 +1720,23 @@ global.get $~lib/memory/__stack_pointer i32.const 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1740,25 +1749,23 @@ global.get $~lib/memory/__stack_pointer i32.const 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1771,31 +1778,29 @@ global.get $~lib/memory/__stack_pointer i32.const 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1808,26 +1813,24 @@ global.get $~lib/memory/__stack_pointer i32.const 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1841,32 +1844,30 @@ global.get $~lib/memory/__stack_pointer i32.const 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 9 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1880,32 +1881,30 @@ global.get $~lib/memory/__stack_pointer i32.const 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 10 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1919,16 +1918,15 @@ global.get $~lib/memory/__stack_pointer i32.const 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 12 call $~lib/rt/itcms/__new - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1940,17 +1938,16 @@ global.get $~lib/memory/__stack_pointer i32.const 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 13 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1961,9 +1958,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 10 i32.ne if @@ -1978,9 +1975,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 10 i32.ne if @@ -1998,56 +1995,54 @@ global.get $~lib/memory/__stack_pointer i32.const 1556 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 15 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 2 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - i32.load $0 offset=4 - local.set $2 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $2 - local.get $1 - i32.load $0 offset=8 + local.get $0 + i32.load offset=8 i32.add - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.load $0 offset=4 + i32.store offset=4 + local.get $0 + i32.load offset=4 i32.const 1 i32.ne if @@ -2059,10 +2054,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.load $0 offset=8 + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=8 i32.const 2 i32.ne if @@ -2074,10 +2069,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.load $0 + local.get $0 + i32.store offset=4 + local.get $0 + i32.load i32.const 3 i32.ne if @@ -2092,14 +2087,14 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 global.set $constructor/ctorFieldInitOrder global.get $~lib/memory/__stack_pointer global.get $constructor/ctorFieldInitOrder local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.ne if @@ -2113,9 +2108,9 @@ global.get $~lib/memory/__stack_pointer global.get $constructor/ctorFieldInitOrder local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.ne if @@ -2129,9 +2124,9 @@ global.get $~lib/memory/__stack_pointer global.get $constructor/ctorFieldInitOrder local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 3 i32.ne if @@ -2157,7 +2152,6 @@ ) (func $constructor/CtorFieldInitWithoutConstructor#constructor (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2174,43 +2168,41 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 14 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -2235,7 +2227,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -2244,7 +2236,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2252,23 +2244,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/continue.debug.wat b/tests/compiler/continue.debug.wat index a94f69a260..c99183e195 100644 --- a/tests/compiler/continue.debug.wat +++ b/tests/compiler/continue.debug.wat @@ -1,5 +1,5 @@ (module - (type $i32_=>_none (func (param i32))) + (type $0 (func (param i32))) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/continue.release.wat b/tests/compiler/continue.release.wat index a1ca0b86db..a05249d212 100644 --- a/tests/compiler/continue.release.wat +++ b/tests/compiler/continue.release.wat @@ -1,5 +1,5 @@ (module - (type $i32_=>_none (func (param i32))) + (type $0 (func (param i32))) (memory $0 0) (export "testInherit" (func $continue/testInherit)) (export "memory" (memory $0)) diff --git a/tests/compiler/converge.debug.wat b/tests/compiler/converge.debug.wat index ed5204cecf..7acd820bd3 100644 --- a/tests/compiler/converge.debug.wat +++ b/tests/compiler/converge.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) @@ -9,6 +9,5 @@ (export "test" (func $converge/test)) (export "memory" (memory $0)) (func $converge/test - nop ) ) diff --git a/tests/compiler/converge.release.wat b/tests/compiler/converge.release.wat index a79d9a2846..7bbb53503e 100644 --- a/tests/compiler/converge.release.wat +++ b/tests/compiler/converge.release.wat @@ -1,9 +1,8 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (memory $0 0) (export "test" (func $converge/test)) (export "memory" (memory $0)) (func $converge/test - nop ) ) diff --git a/tests/compiler/declare.debug.wat b/tests/compiler/declare.debug.wat index eed58d3d8b..5bc4580d52 100644 --- a/tests/compiler/declare.debug.wat +++ b/tests/compiler/declare.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "declare" "externalConstant" (global $declare/externalConstant i32)) (import "declare" "my.externalConstant" (global $declare/my.externalConstant i32)) (import "declare" "externalFunction" (func $declare/externalFunction)) @@ -10,7 +10,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/declare.release.wat b/tests/compiler/declare.release.wat index bf9a075a34..93d8dcee02 100644 --- a/tests/compiler/declare.release.wat +++ b/tests/compiler/declare.release.wat @@ -1,14 +1,14 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "declare" "externalConstant" (global $declare/externalConstant i32)) (import "declare" "my.externalConstant" (global $declare/my.externalConstant i32)) (import "declare" "externalFunction" (func $declare/externalFunction)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "declare" "my.externalFunction" (func $declare/my.externalFunction)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\14\00\00\00d\00e\00c\00l\00a\00r\00e\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start diff --git a/tests/compiler/do.debug.wat b/tests/compiler/do.debug.wat index 7aeb17156a..cb3313e590 100644 --- a/tests/compiler/do.debug.wat +++ b/tests/compiler/do.debug.wat @@ -1,13 +1,13 @@ (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 $none_=>_i32 (func (result i32))) - (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $do/ran (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -29,16 +29,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33240)) (global $~lib/memory/__heap_base i32 (i32.const 33240)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00d\00o\00.\00t\00s\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\02\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 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 448) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00d\00o\00.\00t\00s\00\00\00") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 448) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -95,7 +95,6 @@ i32.const 10 local.set $n loop $do-loop|0 - nop local.get $n local.tee $1 i32.const 1 @@ -453,12 +452,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -472,7 +471,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -546,7 +545,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -616,11 +615,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -628,7 +627,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 256 @@ -760,7 +759,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -773,7 +772,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -789,34 +788,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -976,7 +975,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -999,7 +998,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -1013,7 +1012,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -1036,7 +1035,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -1179,7 +1178,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -1265,7 +1264,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1345,7 +1344,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1379,7 +1378,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1402,7 +1401,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1416,27 +1415,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 400 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1461,9 +1465,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1482,7 +1486,7 @@ if i32.const 0 i32.const 400 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1501,7 +1505,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1515,7 +1518,7 @@ if i32.const 0 i32.const 400 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1571,12 +1574,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1610,7 +1613,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1631,7 +1634,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1651,7 +1654,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1671,7 +1674,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1697,7 +1700,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1720,9 +1723,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1758,7 +1762,7 @@ if i32.const 0 i32.const 400 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -2024,14 +2028,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -2087,7 +2094,7 @@ if i32.const 64 i32.const 400 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -2096,6 +2103,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -2125,24 +2152,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -2180,7 +2196,7 @@ if i32.const 0 i32.const 400 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -2195,7 +2211,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -2240,7 +2256,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -2251,7 +2267,7 @@ if i32.const 0 i32.const 400 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -2273,7 +2289,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2296,7 +2312,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2315,22 +2331,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2343,7 +2351,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2370,27 +2378,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2415,7 +2424,7 @@ if i32.const 0 i32.const 400 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2530,7 +2539,7 @@ if i32.const 0 i32.const 400 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2550,7 +2559,7 @@ if i32.const 0 i32.const 400 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2583,12 +2592,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2639,7 +2648,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2653,14 +2662,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $i global.get $~lib/memory/__stack_pointer i32.const 0 call $do/Ref#constructor local.tee $ref - i32.store $0 + i32.store loop $do-loop|0 local.get $i i32.const 1 @@ -2676,7 +2685,7 @@ i32.const 0 call $do/Ref#constructor local.tee $ref - i32.store $0 + i32.store end local.get $ref br_if $do-loop|0 @@ -2726,14 +2735,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $i global.get $~lib/memory/__stack_pointer i32.const 0 call $do/Ref#constructor local.tee $ref - i32.store $0 + i32.store block $do-break|0 loop $do-loop|0 local.get $i @@ -2959,7 +2968,7 @@ end i32.const 0 global.set $do/ran - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3017,16 +3026,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -3038,7 +3042,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $do/Ref $invalid end return @@ -3081,7 +3085,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3090,18 +3094,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3119,7 +3123,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3128,7 +3132,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/do.release.wat b/tests/compiler/do.release.wat index 706b973d75..1b1313c49a 100644 --- a/tests/compiler/do.release.wat +++ b/tests/compiler/do.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param 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 $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (result i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (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)) @@ -19,31 +19,31 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34264)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\n\00\00\00d\00o\00.\00t\00s") - (data (i32.const 1068) "<") - (data (i32.const 1080) "\02\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) "<") - (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\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 1324) ",") - (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1404) "<") - (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1472) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\n\00\00\00d\00o\00.\00t\00s") + (data $1 (i32.const 1068) "<") + (data $1.1 (i32.const 1080) "\02\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 $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1260) "<") + (data $5.1 (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1324) ",") + (data $6.1 (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1404) "<") + (data $8.1 (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1472) "\05\00\00\00 \00\00\00 \00\00\00 \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 1280 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -53,7 +53,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -71,7 +71,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -79,137 +79,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34264 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$125 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34264 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$125 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1152 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1472 + i32.load + i32.gt_u + if + i32.const 1280 + i32.const 1344 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1476 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1472 - i32.load $0 - i32.gt_u - if - i32.const 1280 - i32.const 1344 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1476 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -217,8 +237,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -230,10 +250,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -244,29 +264,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -274,10 +294,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -291,75 +311,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -381,7 +394,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -398,12 +411,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -420,17 +433,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -440,9 +453,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -467,13 +480,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -507,7 +520,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -563,19 +576,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -587,15 +600,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -603,23 +616,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1424 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -633,10 +648,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -644,23 +659,22 @@ if i32.const 0 i32.const 1424 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -672,52 +686,53 @@ if i32.const 0 i32.const 1424 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -725,7 +740,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -733,7 +748,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -744,10 +759,10 @@ end i32.const 34272 i32.const 0 - i32.store $0 + i32.store i32.const 35840 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -759,7 +774,7 @@ i32.const 34272 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -777,7 +792,7 @@ i32.const 34272 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -794,9 +809,10 @@ end i32.const 34272 i32.const 35844 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34272 global.set $~lib/rt/tlsf/ROOT @@ -826,7 +842,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -839,19 +855,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -862,7 +878,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -874,7 +890,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -887,12 +903,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -901,7 +913,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -912,26 +924,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -947,7 +959,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -963,7 +975,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -988,14 +1000,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1015,7 +1027,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1030,25 +1041,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1424 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1057,12 +1067,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1072,7 +1081,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1083,10 +1092,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1098,13 +1107,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1424 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1119,7 +1128,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1134,7 +1143,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1146,16 +1155,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1163,8 +1168,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1186,11 +1190,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1209,12 +1213,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1225,9 +1229,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1236,14 +1241,14 @@ if i32.const 0 i32.const 1424 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1251,7 +1256,7 @@ if i32.const 0 i32.const 1424 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1260,7 +1265,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1276,7 +1281,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1286,7 +1291,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1295,54 +1300,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1355,7 +1360,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $start:do @@ -1614,7 +1619,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34264 @@ -1624,26 +1629,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/pinSpace i32.const 1236 i32.const 1232 - i32.store $0 + i32.store i32.const 1240 i32.const 1232 - i32.store $0 + i32.store i32.const 1232 global.set $~lib/rt/itcms/toSpace i32.const 1380 i32.const 1376 - i32.store $0 + i32.store i32.const 1384 i32.const 1376 - i32.store $0 + i32.store i32.const 1376 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1656,15 +1661,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer call $do/Ref#constructor - i32.store $0 - loop $do-loop|08 + i32.store + loop $do-loop|05 local.get $1 i32.const 1 i32.add @@ -1678,10 +1682,10 @@ global.get $~lib/memory/__stack_pointer call $do/Ref#constructor local.tee $0 - i32.store $0 + i32.store end local.get $0 - br_if $do-loop|08 + br_if $do-loop|05 end local.get $1 i32.const 10 @@ -1716,17 +1720,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer call $do/Ref#constructor local.tee $1 - i32.store $0 - loop $do-loop|012 - block $do-break|011 + i32.store + loop $do-loop|08 + block $do-break|06 local.get $0 i32.const 1 i32.add @@ -1736,10 +1739,10 @@ if i32.const 0 local.set $1 - br $do-break|011 + br $do-break|06 end call $do/Ref#constructor - br_if $do-loop|012 + br_if $do-loop|08 end end local.get $0 @@ -1818,7 +1821,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $do/Ref $invalid end return @@ -1828,12 +1831,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1856,19 +1855,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1878,7 +1876,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1886,15 +1884,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1909,23 +1906,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/duplicate-fields.debug.wat b/tests/compiler/duplicate-fields.debug.wat index 011e5b12d3..752c8deba5 100644 --- a/tests/compiler/duplicate-fields.debug.wat +++ b/tests/compiler/duplicate-fields.debug.wat @@ -1,13 +1,13 @@ (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_=>_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 $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -30,16 +30,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33296)) (global $~lib/memory/__heap_base i32 (i32.const 33296)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\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\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (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\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -47,17 +47,17 @@ (func $duplicate-fields/A#set:bar (param $this i32) (param $bar i32) local.get $this local.get $bar - i32.store $0 + i32.store ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -71,7 +71,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -145,7 +145,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -215,11 +215,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -227,7 +227,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -359,7 +359,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -372,7 +372,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -388,34 +388,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -575,7 +575,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -598,7 +598,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -612,7 +612,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -635,7 +635,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -778,7 +778,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -864,7 +864,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -944,7 +944,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -978,7 +978,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1001,7 +1001,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1015,27 +1015,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1060,9 +1065,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1081,7 +1086,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1100,7 +1105,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1114,7 +1118,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1170,12 +1174,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1209,7 +1213,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1230,7 +1234,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1250,7 +1254,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1270,7 +1274,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1296,7 +1300,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1319,9 +1323,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1357,7 +1362,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1623,14 +1628,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1686,7 +1694,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1695,6 +1703,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1724,24 +1752,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1779,7 +1796,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1794,7 +1811,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1839,7 +1856,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1850,7 +1867,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1872,7 +1889,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1895,7 +1912,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1914,22 +1931,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1942,7 +1951,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1969,27 +1978,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2014,7 +2024,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2129,7 +2139,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2149,7 +2159,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2182,12 +2192,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2238,18 +2248,18 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $duplicate-fields/B#set:bar (param $this i32) (param $bar i32) local.get $this local.get $bar - i32.store $0 + i32.store ) (func $duplicate-fields/B#get:bar (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2322,7 +2332,7 @@ (func $duplicate-fields/A2#set:bar (param $this i32) (param $bar i32) local.get $this local.get $bar - i32.store $0 + i32.store local.get $this local.get $bar i32.const 0 @@ -2331,7 +2341,7 @@ (func $duplicate-fields/B2#set:bar (param $this i32) (param $bar i32) local.get $this local.get $bar - i32.store $0 + i32.store local.get $this local.get $bar i32.const 0 @@ -2340,35 +2350,35 @@ (func $duplicate-fields/Foo#set:foo (param $this i32) (param $foo i32) local.get $this local.get $foo - i32.store $0 + i32.store ) (func $duplicate-fields/B2#get:bar (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $duplicate-fields/Foo#get:foo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $duplicate-fields/A3#set:prot (param $this i32) (param $prot i32) local.get $this local.get $prot - i32.store $0 + i32.store ) (func $duplicate-fields/A3#set:pub (param $this i32) (param $pub i32) local.get $this local.get $pub - i32.store $0 offset=4 + i32.store offset=4 ) (func $duplicate-fields/B3#set:prot (param $this i32) (param $prot i32) local.get $this local.get $prot - i32.store $0 + i32.store ) (func $duplicate-fields/B3#set:pub (param $this i32) (param $pub i32) local.get $this local.get $pub - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2399,16 +2409,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $duplicate-fields/A2~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2416,13 +2421,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $duplicate-fields/B2~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2430,13 +2431,9 @@ local.get $1 call $duplicate-fields/A2~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2454,7 +2451,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~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/B3 $duplicate-fields/A3 $invalid end return @@ -2515,7 +2512,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2524,13 +2521,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $duplicate-fields/A#set:bar @@ -2538,7 +2535,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $bar call $duplicate-fields/A#set:bar @@ -2559,7 +2556,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2568,13 +2565,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $duplicate-fields/B#set:bar @@ -2583,17 +2580,17 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $bar call $duplicate-fields/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $bar call $duplicate-fields/B#set:bar @@ -2614,10 +2611,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2626,13 +2623,13 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $duplicate-fields/A2#set:bar @@ -2640,13 +2637,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $bar local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $duplicate-fields/A2#set:bar local.get $this @@ -2666,10 +2663,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2678,13 +2675,13 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $duplicate-fields/B2#set:bar @@ -2693,28 +2690,28 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $bar local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $duplicate-fields/A2#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $bar local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $duplicate-fields/B2#set:bar local.get $this @@ -2734,7 +2731,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2743,13 +2740,13 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $duplicate-fields/Foo#set:foo @@ -2757,7 +2754,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $foo call $duplicate-fields/Foo#set:foo @@ -2778,7 +2775,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2787,23 +2784,23 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $duplicate-fields/A3#set:prot @@ -2811,7 +2808,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $duplicate-fields/A3#set:pub @@ -2832,7 +2829,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2841,23 +2838,23 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $duplicate-fields/A3#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $duplicate-fields/B3#set:prot @@ -2865,7 +2862,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $duplicate-fields/B3#set:pub @@ -2886,7 +2883,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 0 i32.const 0 i32.eq @@ -2895,7 +2892,7 @@ i32.const 0 i32.eq drop - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2920,7 +2917,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $duplicate-fields/B#get:bar i32.const 10 @@ -2949,7 +2946,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store local.get $0 call $duplicate-fields/B2#constructor global.set $duplicate-fields/raz @@ -2957,13 +2954,13 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $duplicate-fields/B2#get:bar local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $duplicate-fields/Foo#get:foo i32.const 1 @@ -2994,7 +2991,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3003,7 +3000,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/duplicate-fields.release.wat b/tests/compiler/duplicate-fields.release.wat index 036f800214..100107f6b6 100644 --- a/tests/compiler/duplicate-fields.release.wat +++ b/tests/compiler/duplicate-fields.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (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)) @@ -21,19 +21,19 @@ (global $duplicate-fields/raz (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34320)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\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\00\00\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 $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "<") + (data $8.1 (i32.const 1448) "\02\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 $9 (i32.const 1504) "\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\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -43,21 +43,21 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~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 + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -67,7 +67,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -85,7 +85,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -102,7 +102,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -116,16 +116,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$139 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34320 @@ -140,10 +140,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$139 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -156,20 +156,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -178,7 +178,7 @@ else local.get $1 i32.const 1504 - i32.load $0 + i32.load i32.gt_u if i32.const 1248 @@ -193,13 +193,13 @@ i32.shl i32.const 1508 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -209,21 +209,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -231,8 +255,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -244,10 +268,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -258,29 +282,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -288,10 +312,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -305,75 +329,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -395,7 +412,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -412,12 +429,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -434,17 +451,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -454,9 +471,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -481,13 +498,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -521,7 +538,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -577,19 +594,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -601,15 +618,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -617,23 +634,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -647,10 +666,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -658,23 +677,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -686,52 +704,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -739,7 +758,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -747,7 +766,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -758,10 +777,10 @@ end i32.const 34320 i32.const 0 - i32.store $0 + i32.store i32.const 35888 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -773,7 +792,7 @@ i32.const 34320 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -791,7 +810,7 @@ i32.const 34320 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -808,9 +827,10 @@ end i32.const 34320 i32.const 35892 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34320 global.set $~lib/rt/tlsf/ROOT @@ -840,7 +860,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -853,19 +873,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -876,7 +896,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -888,7 +908,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -901,12 +921,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -915,7 +931,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -926,26 +942,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -961,7 +977,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -977,7 +993,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1002,14 +1018,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1029,7 +1045,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1044,25 +1059,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1071,12 +1085,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1084,47 +1097,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1135,7 +1150,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1145,7 +1160,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1162,10 +1177,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1181,13 +1196,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1202,7 +1217,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1229,7 +1244,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1241,16 +1256,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1258,8 +1269,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1286,34 +1296,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1321,21 +1357,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1348,12 +1369,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1364,9 +1385,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1376,7 +1398,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1384,14 +1406,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1400,8 +1422,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1410,95 +1432,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1511,13 +1533,13 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $duplicate-fields/A2#set:bar (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store $0 + i32.store local.get $1 if local.get $0 @@ -1535,7 +1557,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.eq @@ -1543,7 +1565,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and local.tee $0 @@ -1570,7 +1592,6 @@ end ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $folding-inner0 block $invalid block $duplicate-fields/A3 @@ -1585,7 +1606,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $duplicate-fields/A $duplicate-fields/B $folding-inner0 $duplicate-fields/Foo $duplicate-fields/B2 $duplicate-fields/B3 $duplicate-fields/A3 $invalid end return @@ -1601,12 +1622,8 @@ return end local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit br $folding-inner0 end return @@ -1616,18 +1633,13 @@ unreachable end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit ) (func $~start (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1638,10 +1650,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - memory.size $0 + i64.store + memory.size i32.const 16 i32.shl i32.const 34320 @@ -1651,29 +1662,29 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1682,26 +1693,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1711,7 +1721,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1720,34 +1730,32 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1757,9 +1765,9 @@ global.get $~lib/memory/__stack_pointer global.get $duplicate-fields/foo local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 10 i32.ne if @@ -1779,35 +1787,33 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 7 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $1 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -1817,32 +1823,30 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $duplicate-fields/A2#set:bar global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + local.get $1 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -1852,12 +1856,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.eqz if @@ -1866,38 +1869,37 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $duplicate-fields/A2#set:bar global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + local.get $1 + i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $duplicate-fields/A2#set:bar global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + local.get $1 + i32.store offset=8 local.get $0 - local.get $2 + local.get $1 call $duplicate-fields/A2#set:bar global.get $~lib/memory/__stack_pointer i32.const 12 @@ -1908,14 +1910,14 @@ global.get $~lib/memory/__stack_pointer global.get $duplicate-fields/raz local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 + i32.load local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -1935,20 +1937,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 9 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1958,7 +1959,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1967,13 +1968,13 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1983,7 +1984,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1992,46 +1993,44 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store 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 $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2049,23 +2048,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/empty-exportruntime.debug.wat b/tests/compiler/empty-exportruntime.debug.wat index 25aa3ed731..e95efa75fe 100644 --- a/tests/compiler/empty-exportruntime.debug.wat +++ b/tests/compiler/empty-exportruntime.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -28,17 +28,17 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33332)) (global $~lib/memory/__heap_base i32 (i32.const 33332)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") - (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") - (data (i32.const 544) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") + (data $9 (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") + (data $10 (i32.const 544) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "__new" (func $~lib/rt/itcms/__new)) @@ -51,12 +51,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -70,7 +70,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -144,7 +144,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -214,11 +214,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -226,7 +226,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -358,7 +358,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -371,7 +371,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -387,34 +387,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -574,7 +574,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -597,7 +597,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -611,7 +611,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -634,7 +634,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -777,7 +777,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -863,7 +863,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -943,7 +943,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -977,7 +977,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1000,7 +1000,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1014,27 +1014,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1059,9 +1064,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1080,7 +1085,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1099,7 +1104,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1113,7 +1117,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1169,12 +1173,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1208,7 +1212,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1229,7 +1233,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1249,7 +1253,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1269,7 +1273,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1295,7 +1299,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1318,9 +1322,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1356,7 +1361,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1622,14 +1627,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1685,7 +1693,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1694,6 +1702,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1723,24 +1751,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1778,7 +1795,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1793,7 +1810,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1838,7 +1855,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1849,7 +1866,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1871,7 +1888,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1894,7 +1911,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1913,22 +1930,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1941,7 +1950,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1968,27 +1977,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2013,7 +2023,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2128,7 +2138,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2148,7 +2158,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2181,12 +2191,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2237,7 +2247,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2376,16 +2386,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2396,7 +2401,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return @@ -2413,7 +2418,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base diff --git a/tests/compiler/empty-exportruntime.release.wat b/tests/compiler/empty-exportruntime.release.wat index 70d90691f3..605d4f43c8 100644 --- a/tests/compiler/empty-exportruntime.release.wat +++ b/tests/compiler/empty-exportruntime.release.wat @@ -1,12 +1,12 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_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 (func (param i32) (result i32))) + (type $0 (func (param i32))) + (type $1 (func)) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param 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)) @@ -20,21 +20,21 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 1568)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 1500) "<") - (data (i32.const 1512) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 1568) "\04\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "<") + (data $8.1 (i32.const 1448) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") + (data $9 (i32.const 1500) "<") + (data $9.1 (i32.const 1512) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") + (data $10 (i32.const 1568) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "__new" (func $~lib/rt/itcms/__new)) (export "__pin" (func $~lib/rt/itcms/__pin)) (export "__unpin" (func $~lib/rt/itcms/__unpin)) @@ -46,16 +46,16 @@ (local $0 i32) (local $1 i32) i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1456 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1520 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -65,7 +65,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -83,7 +83,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -94,14 +94,14 @@ (func $~lib/rt/itcms/Object#unlink (param $0 i32) (local $1 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34356 @@ -119,7 +119,7 @@ return end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $0 i32.eqz if @@ -132,15 +132,15 @@ end local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#makeGray (param $0 i32) (local $1 i32) @@ -151,7 +151,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -170,7 +170,7 @@ global.get $~lib/rt/itcms/toSpace local.set $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 i32.const 2 i32.le_u @@ -179,7 +179,7 @@ else local.get $2 i32.const 1568 - i32.load $0 + i32.load i32.gt_u if i32.const 1248 @@ -194,13 +194,13 @@ i32.shl i32.const 1572 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 global.get $~lib/rt/itcms/white @@ -210,21 +210,45 @@ select local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -232,8 +256,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -245,10 +269,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -259,29 +283,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -289,10 +313,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -306,75 +330,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -396,7 +413,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -413,12 +430,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -435,17 +452,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -455,9 +472,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -482,13 +499,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -522,7 +539,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -578,19 +595,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -602,15 +619,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -618,23 +635,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -648,10 +667,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -659,23 +678,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -687,52 +705,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -740,7 +759,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -748,7 +767,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -759,10 +778,10 @@ end i32.const 34368 i32.const 0 - i32.store $0 + i32.store i32.const 35936 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -774,7 +793,7 @@ i32.const 34368 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -792,7 +811,7 @@ i32.const 34368 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -809,9 +828,10 @@ end i32.const 34368 i32.const 35940 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34368 global.set $~lib/rt/tlsf/ROOT @@ -841,7 +861,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -854,19 +874,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -877,7 +897,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -889,7 +909,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -902,12 +922,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -916,7 +932,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -927,26 +943,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -962,7 +978,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -978,7 +994,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1003,14 +1019,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1030,7 +1046,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1045,25 +1060,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1072,12 +1086,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1085,47 +1098,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1136,7 +1151,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1146,7 +1161,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1163,10 +1178,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1182,13 +1197,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1203,7 +1218,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1230,7 +1245,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1242,16 +1257,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1259,8 +1270,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1287,34 +1297,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1322,21 +1358,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1349,12 +1370,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1365,9 +1386,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1377,7 +1399,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1385,14 +1407,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1401,8 +1423,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1411,95 +1433,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1512,7 +1534,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/rt/itcms/__pin (param $0 i32) (result i32) @@ -1525,7 +1547,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1542,27 +1564,27 @@ call $~lib/rt/itcms/Object#unlink global.get $~lib/rt/itcms/pinSpace local.tee $3 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $3 i32.const 3 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end local.get $0 ) @@ -1578,7 +1600,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1602,27 +1624,27 @@ call $~lib/rt/itcms/Object#unlink global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end ) (func $~lib/rt/itcms/__collect @@ -1669,7 +1691,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return @@ -1679,18 +1701,14 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34356 @@ -1700,46 +1718,27 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace ) - (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 $0 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 - ) ) diff --git a/tests/compiler/empty-new.debug.wat b/tests/compiler/empty-new.debug.wat index f9d53606aa..424bdfc617 100644 --- a/tests/compiler/empty-new.debug.wat +++ b/tests/compiler/empty-new.debug.wat @@ -1,13 +1,13 @@ (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -28,15 +28,15 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33204)) (global $~lib/memory/__heap_base i32 (i32.const 33204)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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 416) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -44,12 +44,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -63,7 +63,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -137,7 +137,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -207,11 +207,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -219,7 +219,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -351,7 +351,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -364,7 +364,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -380,34 +380,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -567,7 +567,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -590,7 +590,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -604,7 +604,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -627,7 +627,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -770,7 +770,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -856,7 +856,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -936,7 +936,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -970,7 +970,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -993,7 +993,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1007,27 +1007,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1052,9 +1057,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1073,7 +1078,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1092,7 +1097,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1106,7 +1110,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1162,12 +1166,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1201,7 +1205,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1222,7 +1226,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1242,7 +1246,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1262,7 +1266,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1288,7 +1292,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1311,9 +1315,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1349,7 +1354,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1615,14 +1620,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1678,7 +1686,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1687,6 +1695,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1716,24 +1744,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1771,7 +1788,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1786,7 +1803,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1831,7 +1848,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1842,7 +1859,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1864,7 +1881,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1887,7 +1904,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1906,22 +1923,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1934,7 +1943,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1961,27 +1970,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2006,7 +2016,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2121,7 +2131,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2141,7 +2151,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2174,12 +2184,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2230,12 +2240,12 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $start:empty-new - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2272,16 +2282,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2292,7 +2297,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return diff --git a/tests/compiler/empty-new.release.wat b/tests/compiler/empty-new.release.wat index 5e298862ac..21625b2ae4 100644 --- a/tests/compiler/empty-new.release.wat +++ b/tests/compiler/empty-new.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 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 (func (param i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32 i32 i32))) + (type $4 (func (param i32 i32 i64))) + (type $5 (func (result i32))) + (type $6 (func (param 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)) @@ -18,29 +18,29 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\04\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1440) "\04\00\00\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 + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -50,7 +50,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -68,7 +68,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -76,137 +76,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34228 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$107 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34228 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$107 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1440 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1444 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -214,8 +234,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -227,10 +247,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -241,29 +261,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -271,10 +291,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -288,75 +308,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -378,7 +391,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -395,12 +408,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -417,17 +430,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -437,9 +450,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -464,13 +477,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -504,7 +517,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -560,19 +573,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -584,15 +597,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -600,23 +613,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -630,10 +645,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -641,23 +656,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -669,52 +683,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -722,7 +737,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -730,7 +745,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -741,10 +756,10 @@ end i32.const 34240 i32.const 0 - i32.store $0 + i32.store i32.const 35808 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -756,7 +771,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -774,7 +789,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -791,9 +806,10 @@ end i32.const 34240 i32.const 35812 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34240 global.set $~lib/rt/tlsf/ROOT @@ -823,7 +839,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -836,19 +852,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -859,7 +875,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -871,7 +887,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -884,12 +900,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -898,7 +910,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -909,26 +921,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -944,7 +956,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -960,7 +972,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -985,14 +997,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1012,7 +1024,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1027,25 +1038,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1054,12 +1064,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1069,7 +1078,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1080,10 +1089,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1095,13 +1104,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1116,7 +1125,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1131,7 +1140,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $0 loop $do-loop|0 @@ -1143,16 +1152,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $0 i32.const 0 @@ -1160,14 +1165,13 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $0 i32.add global.set $~lib/rt/itcms/threshold end @@ -1183,11 +1187,11 @@ local.tee $0 i32.eqz if - memory.size $0 + memory.size local.tee $0 i32.const 4 local.get $1 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $0 i32.const 16 i32.shl @@ -1206,12 +1210,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1222,9 +1226,10 @@ local.get $0 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $1 call $~lib/rt/tlsf/searchBlock @@ -1233,14 +1238,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1248,7 +1253,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1257,7 +1262,7 @@ local.get $0 call $~lib/rt/tlsf/removeBlock local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const -4 i32.and @@ -1273,7 +1278,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $0 i32.const 32 i32.add @@ -1283,7 +1288,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock @@ -1292,54 +1297,54 @@ local.get $2 i32.const -2 i32.and - i32.store $0 + i32.store local.get $0 i32.const 4 i32.add local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $1 local.get $1 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $0 i32.const 0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1351,7 +1356,7 @@ i32.add i32.const 0 i32.const 0 - memory.fill $0 + memory.fill ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid @@ -1362,7 +1367,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return @@ -1372,18 +1377,14 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34228 @@ -1393,47 +1394,28 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace call $~lib/rt/itcms/__new ) - (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 $0 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 - ) ) diff --git a/tests/compiler/enum-to-string-error.json b/tests/compiler/enum-to-string-error.json new file mode 100644 index 0000000000..1165029fc1 --- /dev/null +++ b/tests/compiler/enum-to-string-error.json @@ -0,0 +1,7 @@ +{ + "asc_flags": [], + "stderr": [ + "TS2476: A const enum member can only be accessed using a string literal.", + "EOF" + ] +} diff --git a/tests/compiler/enum-to-string-error.ts b/tests/compiler/enum-to-string-error.ts new file mode 100644 index 0000000000..cbb58deb38 --- /dev/null +++ b/tests/compiler/enum-to-string-error.ts @@ -0,0 +1,9 @@ +const enum CE { + CE0, + CE1, + CE2, +} + +assert(CE[CE.CE0] === "CE0"); + +ERROR("EOF"); \ No newline at end of file diff --git a/tests/compiler/enum-to-string.debug.wat b/tests/compiler/enum-to-string.debug.wat new file mode 100644 index 0000000000..0f60906aa8 --- /dev/null +++ b/tests/compiler/enum-to-string.debug.wat @@ -0,0 +1,613 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $3 (func (param i32 i32 i32 i32))) + (type $4 (func (param i32 i32) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $enum-to-string/Enum.E0 i32 (i32.const 0)) + (global $enum-to-string/Enum.E1 i32 (i32.const 1)) + (global $enum-to-string/Enum.E2 i32 (i32.const 2)) + (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/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $enum-to-string/v (mut i32) (i32.const 0)) + (global $enum-to-string/EnumWithInit.E0 i32 (i32.const 1)) + (global $enum-to-string/EnumWithInit.E1 i32 (i32.const 2)) + (global $enum-to-string/EnumWithInit.E2 i32 (i32.const 4)) + (global $enum-to-string/EnumWithDup.E0 i32 (i32.const 1)) + (global $enum-to-string/EnumWithDup.E1 i32 (i32.const 2)) + (global $enum-to-string/EnumWithDup.E2 i32 (i32.const 1)) + (global $~lib/memory/__data_end i32 (i32.const 268)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33036)) + (global $~lib/memory/__heap_base i32 (i32.const 33036)) + (memory $0 1) + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00E\002\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00E\001\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00E\000\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00e\00n\00u\00m\00-\00t\00o\00-\00s\00t\00r\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00C\00E\002\00\00\00\00\00\00\00") + (data $5 (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00C\00E\001\00\00\00\00\00\00\00") + (data $6 (i32.const 236) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00C\00E\000\00\00\00\00\00\00\00") + (table $0 1 1 funcref) + (elem $0 (i32.const 1)) + (export "memory" (memory $0)) + (start $~start) + (func $enum-to-string/Enum#__enum_to_string (param $0 i32) (result i32) + global.get $enum-to-string/Enum.E2 + local.get $0 + i32.eq + if + i32.const 32 + return + end + global.get $enum-to-string/Enum.E1 + local.get $0 + i32.eq + if + i32.const 64 + return + end + global.get $enum-to-string/Enum.E0 + local.get $0 + i32.eq + if + i32.const 96 + return + end + unreachable + ) + (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) + local.get $this + i32.load offset=16 + ) + (func $~lib/string/String#get:length (param $this i32) (result i32) + local.get $this + i32.const 20 + i32.sub + call $~lib/rt/common/OBJECT#get:rtSize + i32.const 1 + i32.shr_u + return + ) + (func $~lib/util/string/compareImpl (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) + (local $ptr1 i32) + (local $ptr2 i32) + (local $7 i32) + (local $a i32) + (local $b i32) + local.get $str1 + local.get $index1 + i32.const 1 + i32.shl + i32.add + local.set $ptr1 + local.get $str2 + local.get $index2 + i32.const 1 + i32.shl + i32.add + local.set $ptr2 + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $len + i32.const 4 + i32.ge_u + if (result i32) + local.get $ptr1 + i32.const 7 + i32.and + local.get $ptr2 + i32.const 7 + i32.and + i32.or + i32.eqz + else + i32.const 0 + end + if + block $do-break|0 + loop $do-loop|0 + local.get $ptr1 + i64.load + local.get $ptr2 + i64.load + i64.ne + if + br $do-break|0 + end + local.get $ptr1 + i32.const 8 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 8 + i32.add + local.set $ptr2 + local.get $len + i32.const 4 + i32.sub + local.set $len + local.get $len + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end + end + end + loop $while-continue|1 + local.get $len + local.tee $7 + i32.const 1 + i32.sub + local.set $len + local.get $7 + if + local.get $ptr1 + i32.load16_u + local.set $a + local.get $ptr2 + i32.load16_u + local.set $b + local.get $a + local.get $b + i32.ne + if + local.get $a + local.get $b + i32.sub + return + end + local.get $ptr1 + i32.const 2 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 2 + i32.add + local.set $ptr2 + br $while-continue|1 + end + end + i32.const 0 + return + ) + (func $enum-to-string/InlineEnum#__enum_to_string (param $0 i32) (result i32) + i32.const 2 + local.get $0 + i32.eq + if + i32.const 192 + return + end + i32.const 1 + local.get $0 + i32.eq + if + i32.const 224 + return + end + i32.const 0 + local.get $0 + i32.eq + if + i32.const 256 + return + end + unreachable + ) + (func $enum-to-string/EnumWithInit#__enum_to_string (param $0 i32) (result i32) + global.get $enum-to-string/EnumWithInit.E2 + local.get $0 + i32.eq + if + i32.const 32 + return + end + global.get $enum-to-string/EnumWithInit.E1 + local.get $0 + i32.eq + if + i32.const 64 + return + end + global.get $enum-to-string/EnumWithInit.E0 + local.get $0 + i32.eq + if + i32.const 96 + return + end + unreachable + ) + (func $enum-to-string/EnumWithDup#__enum_to_string (param $0 i32) (result i32) + global.get $enum-to-string/EnumWithDup.E2 + local.get $0 + i32.eq + if + i32.const 32 + return + end + global.get $enum-to-string/EnumWithDup.E1 + local.get $0 + i32.eq + if + i32.const 64 + return + end + global.get $enum-to-string/EnumWithDup.E0 + local.get $0 + i32.eq + if + i32.const 96 + return + end + unreachable + ) + (func $~start + call $start:enum-to-string + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33056 + i32.const 33104 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/string/String.__eq (param $left i32) (param $right i32) (result i32) + (local $leftLength i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $left + local.get $right + i32.eq + if + i32.const 1 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + i32.const 0 + i32.eq + end + if + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + call $~lib/util/string/compareImpl + i32.eqz + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $start:enum-to-string + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $enum-to-string/Enum.E0 + call $enum-to-string/Enum#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 96 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 7 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $enum-to-string/Enum.E1 + call $enum-to-string/Enum#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 64 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 8 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $enum-to-string/Enum.E2 + call $enum-to-string/Enum#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 32 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 9 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $enum-to-string/Enum.E2 + global.set $enum-to-string/v + global.get $enum-to-string/v + call $enum-to-string/Enum#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 32 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $enum-to-string/InlineEnum#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 256 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 21 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $enum-to-string/InlineEnum#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 224 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 22 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $enum-to-string/InlineEnum#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 192 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 23 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $enum-to-string/EnumWithInit.E0 + call $enum-to-string/EnumWithInit#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 96 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 31 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $enum-to-string/EnumWithInit.E1 + call $enum-to-string/EnumWithInit#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 64 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 32 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $enum-to-string/EnumWithInit.E2 + call $enum-to-string/EnumWithInit#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 32 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 33 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $enum-to-string/EnumWithDup.E0 + call $enum-to-string/EnumWithDup#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 32 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 41 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $enum-to-string/EnumWithDup.E1 + call $enum-to-string/EnumWithDup#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 64 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 42 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $enum-to-string/EnumWithDup.E2 + call $enum-to-string/EnumWithDup#__enum_to_string + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 32 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + 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 + ) +) diff --git a/tests/compiler/enum-to-string.json b/tests/compiler/enum-to-string.json new file mode 100644 index 0000000000..ea57a955e1 --- /dev/null +++ b/tests/compiler/enum-to-string.json @@ -0,0 +1,3 @@ +{ + "asc_flags": [] +} diff --git a/tests/compiler/enum-to-string.release.wat b/tests/compiler/enum-to-string.release.wat new file mode 100644 index 0000000000..91a870b03a --- /dev/null +++ b/tests/compiler/enum-to-string.release.wat @@ -0,0 +1,408 @@ +(module + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34060)) + (memory $0 1) + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\04\00\00\00E\002") + (data $1 (i32.const 1068) "\1c") + (data $1.1 (i32.const 1080) "\02\00\00\00\04\00\00\00E\001") + (data $2 (i32.const 1100) "\1c") + (data $2.1 (i32.const 1112) "\02\00\00\00\04\00\00\00E\000") + (data $3 (i32.const 1132) "<") + (data $3.1 (i32.const 1144) "\02\00\00\00\"\00\00\00e\00n\00u\00m\00-\00t\00o\00-\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data $4 (i32.const 1196) "\1c") + (data $4.1 (i32.const 1208) "\02\00\00\00\06\00\00\00C\00E\002") + (data $5 (i32.const 1228) "\1c") + (data $5.1 (i32.const 1240) "\02\00\00\00\06\00\00\00C\00E\001") + (data $6 (i32.const 1260) "\1c") + (data $6.1 (i32.const 1272) "\02\00\00\00\06\00\00\00C\00E\000") + (export "memory" (memory $0)) + (start $~start) + (func $~start + call $start:enum-to-string + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1292 + i32.lt_s + if + i32.const 34080 + i32.const 34128 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + local.get $1 + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz + 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$2 + 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$2 + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.eqz + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $start:enum-to-string + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1292 + i32.lt_s + if + i32.const 34080 + i32.const 34128 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1120 + i32.store + i32.const 1120 + i32.const 1120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 7 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store + i32.const 1088 + i32.const 1088 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 8 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1056 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 9 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1056 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1280 + i32.store + i32.const 1280 + i32.const 1280 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 21 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1248 + i32.store + i32.const 1248 + i32.const 1248 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 22 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1216 + i32.store + i32.const 1216 + i32.const 1216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 23 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1120 + i32.store + i32.const 1120 + i32.const 1120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 31 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store + i32.const 1088 + i32.const 1088 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 32 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1056 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 33 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1056 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 41 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store + i32.const 1088 + i32.const 1088 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 42 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1056 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + 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 + ) +) diff --git a/tests/compiler/enum-to-string.ts b/tests/compiler/enum-to-string.ts new file mode 100644 index 0000000000..2fc056323d --- /dev/null +++ b/tests/compiler/enum-to-string.ts @@ -0,0 +1,43 @@ +enum Enum { + E0, + E1, + E2, +} + +assert(Enum[Enum.E0] === "E0"); +assert(Enum[Enum.E1] === "E1"); +assert(Enum[Enum.E2] === "E2"); + +let v = Enum.E2; +assert(Enum[v] === "E2"); + +@inline +enum InlineEnum { + CE0, + CE1, + CE2, +} + +assert(InlineEnum[InlineEnum.CE0] === "CE0"); +assert(InlineEnum[InlineEnum.CE1] === "CE1"); +assert(InlineEnum[InlineEnum.CE2] === "CE2"); + +enum EnumWithInit { + E0 = 1, + E1 = 2, + E2 = 4, +} + +assert(EnumWithInit[EnumWithInit.E0] === "E0"); +assert(EnumWithInit[EnumWithInit.E1] === "E1"); +assert(EnumWithInit[EnumWithInit.E2] === "E2"); + +enum EnumWithDup { + E0 = 1, + E1 = 2, + E2 = 1, +} + +assert(EnumWithDup[EnumWithDup.E0] === "E2"); +assert(EnumWithDup[EnumWithDup.E1] === "E1"); +assert(EnumWithDup[EnumWithDup.E2] === "E2"); diff --git a/tests/compiler/enum.debug.wat b/tests/compiler/enum.debug.wat index c558bf38d0..f29db0f6d9 100644 --- a/tests/compiler/enum.debug.wat +++ b/tests/compiler/enum.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (result i32))) (global $enum/Implicit.ZERO i32 (i32.const 0)) (global $enum/Implicit.ONE i32 (i32.const 1)) (global $enum/Implicit.TWO i32 (i32.const 2)) diff --git a/tests/compiler/export-default.debug.wat b/tests/compiler/export-default.debug.wat index 8e89c44e60..d897bb947d 100644 --- a/tests/compiler/export-default.debug.wat +++ b/tests/compiler/export-default.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) @@ -10,6 +10,5 @@ (export "default" (func $export-default/theDefault)) (export "memory" (memory $0)) (func $export-default/theDefault - nop ) ) diff --git a/tests/compiler/export-default.release.wat b/tests/compiler/export-default.release.wat index 3d4b1febf3..d2e7be5666 100644 --- a/tests/compiler/export-default.release.wat +++ b/tests/compiler/export-default.release.wat @@ -1,10 +1,9 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (memory $0 0) (export "theDefault" (func $export-default/theDefault)) (export "default" (func $export-default/theDefault)) (export "memory" (memory $0)) (func $export-default/theDefault - nop ) ) diff --git a/tests/compiler/export.debug.wat b/tests/compiler/export.debug.wat index 8280225fa8..84acd4d38e 100644 --- a/tests/compiler/export.debug.wat +++ b/tests/compiler/export.debug.wat @@ -1,5 +1,5 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func (param i32 i32) (result i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) diff --git a/tests/compiler/export.release.wat b/tests/compiler/export.release.wat index a785e0e68b..cab08e7ae1 100644 --- a/tests/compiler/export.release.wat +++ b/tests/compiler/export.release.wat @@ -1,5 +1,5 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func (param i32 i32) (result i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) diff --git a/tests/compiler/exportimport-table.debug.wat b/tests/compiler/exportimport-table.debug.wat index ef2b7d21f4..66306446a2 100644 --- a/tests/compiler/exportimport-table.debug.wat +++ b/tests/compiler/exportimport-table.debug.wat @@ -1,18 +1,17 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (import "env" "table" (table $0 2 funcref)) (global $exportimport-table/f (mut i32) (i32.const 32)) (global $~lib/memory/__data_end i32 (i32.const 44)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32812)) (global $~lib/memory/__heap_base i32 (i32.const 32812)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (elem $0 (i32.const 1) $start:exportimport-table~anonymous|0) (export "memory" (memory $0)) (export "table" (table $0)) (start $~start) (func $start:exportimport-table~anonymous|0 - nop ) (func $start:exportimport-table global.get $exportimport-table/f diff --git a/tests/compiler/exportimport-table.release.wat b/tests/compiler/exportimport-table.release.wat index 561ef27673..9c5d7e1158 100644 --- a/tests/compiler/exportimport-table.release.wat +++ b/tests/compiler/exportimport-table.release.wat @@ -1,13 +1,12 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (import "env" "table" (table $0 2 funcref)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\04\00\00\00\08\00\00\00\01") (elem $0 (i32.const 1) $start:exportimport-table~anonymous|0) (export "memory" (memory $0)) (export "table" (table $0)) (func $start:exportimport-table~anonymous|0 - nop ) ) diff --git a/tests/compiler/exports-lazy.debug.wat b/tests/compiler/exports-lazy.debug.wat index 6658233494..af546f4467 100644 --- a/tests/compiler/exports-lazy.debug.wat +++ b/tests/compiler/exports-lazy.debug.wat @@ -1,15 +1,15 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $exports-lazy/lazyGlobalUsed i32 (i32.const 64)) (global $exports-lazy/lazyGlobalUnused i32 (i32.const 144)) (global $~lib/memory/__data_end i32 (i32.const 172)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32940)) (global $~lib/memory/__heap_base i32 (i32.const 32940)) (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\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00 \00\00\00 \00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00p\00\00\00p\00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00 \00\00\00 \00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $3 (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00p\00\00\00p\00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "lazyGlobalUnused" (global $exports-lazy/lazyGlobalUnused)) @@ -18,16 +18,13 @@ (start $~start) (func $start:exports-lazy (local $0 i32) - (local $1 i32) global.get $exports-lazy/lazyGlobalUsed drop call $exports-lazy/lazyFuncUsed ) (func $exports-lazy/lazyFuncUsed - nop ) (func $exports-lazy/lazyFuncUnused - nop ) (func $~start call $start:exports-lazy diff --git a/tests/compiler/exports-lazy.release.wat b/tests/compiler/exports-lazy.release.wat index 7c57e8ad76..ee41631b40 100644 --- a/tests/compiler/exports-lazy.release.wat +++ b/tests/compiler/exports-lazy.release.wat @@ -2,14 +2,14 @@ (global $exports-lazy/lazyGlobalUsed i32 (i32.const 1088)) (global $exports-lazy/lazyGlobalUnused i32 (i32.const 1168)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 1068) ",") - (data (i32.const 1080) "\04\00\00\00\10\00\00\00 \04\00\00 \04\00\00\0c\00\00\00\03") - (data (i32.const 1116) "\1c") - (data (i32.const 1128) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 1148) ",") - (data (i32.const 1160) "\04\00\00\00\10\00\00\00p\04\00\00p\04\00\00\0c\00\00\00\03") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\04\00\00\00\10\00\00\00 \04\00\00 \04\00\00\0c\00\00\00\03") + (data $2 (i32.const 1116) "\1c") + (data $2.1 (i32.const 1128) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $3 (i32.const 1148) ",") + (data $3.1 (i32.const 1160) "\04\00\00\00\10\00\00\00p\04\00\00p\04\00\00\0c\00\00\00\03") (export "lazyGlobalUnused" (global $exports-lazy/lazyGlobalUnused)) (export "lazyGlobalUsed" (global $exports-lazy/lazyGlobalUsed)) (export "memory" (memory $0)) diff --git a/tests/compiler/exports.debug.wat b/tests/compiler/exports.debug.wat index 73c27b1893..6179d7f839 100644 --- a/tests/compiler/exports.debug.wat +++ b/tests/compiler/exports.debug.wat @@ -1,6 +1,6 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32))) (global $exports/Animal.CAT i32 (i32.const 0)) (global $exports/Animal.DOG i32 (i32.const 1)) (global $exports/animals.Animal.CAT i32 (i32.const 0)) diff --git a/tests/compiler/exports.release.wat b/tests/compiler/exports.release.wat index 992ce0cde5..ec7aad9f8e 100644 --- a/tests/compiler/exports.release.wat +++ b/tests/compiler/exports.release.wat @@ -1,6 +1,6 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32))) (global $exports/Animal.CAT i32 (i32.const 0)) (global $exports/Animal.DOG i32 (i32.const 1)) (global $~argumentsLength (mut i32) (i32.const 0)) diff --git a/tests/compiler/exportstar-rereexport.debug.wat b/tests/compiler/exportstar-rereexport.debug.wat index 4faa4152c2..26289418ed 100644 --- a/tests/compiler/exportstar-rereexport.debug.wat +++ b/tests/compiler/exportstar-rereexport.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) @@ -37,17 +37,17 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33304)) (global $~lib/memory/__heap_base i32 (i32.const 33304)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00") - (data (i32.const 512) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00") + (data $10 (i32.const 512) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "a" (global $export/a)) @@ -79,17 +79,17 @@ (func $exports/Car#set:doors (param $this i32) (param $doors i32) local.get $this local.get $doors - i32.store $0 + i32.store ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -103,7 +103,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -177,7 +177,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -247,11 +247,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -259,7 +259,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 272 @@ -391,7 +391,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -404,7 +404,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -420,34 +420,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -607,7 +607,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -630,7 +630,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -644,7 +644,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -667,7 +667,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -810,7 +810,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -896,7 +896,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -976,7 +976,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1010,7 +1010,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1033,7 +1033,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1047,27 +1047,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 416 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1092,9 +1097,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1113,7 +1118,7 @@ if i32.const 0 i32.const 416 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1132,7 +1137,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1146,7 +1150,7 @@ if i32.const 0 i32.const 416 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1202,12 +1206,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1241,7 +1245,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1262,7 +1266,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1282,7 +1286,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1302,7 +1306,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1328,7 +1332,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1351,9 +1355,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1389,7 +1394,7 @@ if i32.const 0 i32.const 416 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1655,14 +1660,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1718,7 +1726,7 @@ if i32.const 80 i32.const 416 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1727,6 +1735,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1756,24 +1784,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1811,7 +1828,7 @@ if i32.const 0 i32.const 416 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1826,7 +1843,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1871,7 +1888,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1882,7 +1899,7 @@ if i32.const 0 i32.const 416 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1904,7 +1921,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1927,7 +1944,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1946,22 +1963,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1974,7 +1983,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2001,27 +2010,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2046,7 +2056,7 @@ if i32.const 0 i32.const 416 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2161,7 +2171,7 @@ if i32.const 0 i32.const 416 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2181,7 +2191,7 @@ if i32.const 0 i32.const 416 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2214,12 +2224,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2270,19 +2280,18 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $exports/Car#get:doors (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $start:exportstar-rereexport call $start:rereexport ) (func $export-default/theDefault - nop ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2320,16 +2329,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2341,7 +2345,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid end return @@ -2384,7 +2388,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2393,13 +2397,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $doors call $exports/Car#set:doors @@ -2407,7 +2411,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $doors call $exports/Car#set:doors @@ -2428,12 +2432,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $exports/Car#get:doors local.set $1 @@ -2453,7 +2457,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 i32.const 2 call $export/add @@ -2490,7 +2494,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2515,7 +2519,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 @@ -2543,7 +2547,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store call $start:reexport i32.const 2 i32.const 2 @@ -2581,7 +2585,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 @@ -2631,7 +2635,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 diff --git a/tests/compiler/exportstar-rereexport.release.wat b/tests/compiler/exportstar-rereexport.release.wat index 194cf0e9e1..fbd6f1e267 100644 --- a/tests/compiler/exportstar-rereexport.release.wat +++ b/tests/compiler/exportstar-rereexport.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $0 (func)) + (type $1 (func (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) @@ -24,21 +24,21 @@ (global $rereexport/exportsNamespaceCar (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34328)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1276) "<") - (data (i32.const 1288) "\02\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 1340) ",") - (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1420) "<") - (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1484) ",") - (data (i32.const 1496) "\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") - (data (i32.const 1536) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\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 $2 (i32.const 1148) "<") + (data $2.1 (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1276) "<") + (data $5.1 (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1340) ",") + (data $6.1 (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1420) "<") + (data $8.1 (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1484) ",") + (data $9.1 (i32.const 1496) "\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") + (data $10 (i32.const 1536) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "a" (global $export/a)) (export "renamed_a" (global $export/a)) (export "renamed_b" (global $export/b)) @@ -51,30 +51,30 @@ (local $0 i32) (local $1 i32) i32.const 1296 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1104 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $rereexport/car local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $rereexport/exportsNamespaceCar local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $reexport/car local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -84,7 +84,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -102,7 +102,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -110,137 +110,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34328 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$120 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34328 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$120 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1168 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1536 + i32.load + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1540 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1536 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1540 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -248,8 +268,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -261,10 +281,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -275,29 +295,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -305,10 +325,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -322,75 +342,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -412,7 +425,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -429,12 +442,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -451,17 +464,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -471,9 +484,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -498,13 +511,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -538,7 +551,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -594,19 +607,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -618,15 +631,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -634,23 +647,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1440 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -664,10 +679,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -675,23 +690,22 @@ if i32.const 0 i32.const 1440 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -703,52 +717,53 @@ if i32.const 0 i32.const 1440 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -756,7 +771,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -764,7 +779,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -775,10 +790,10 @@ end i32.const 34336 i32.const 0 - i32.store $0 + i32.store i32.const 35904 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -790,7 +805,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -808,7 +823,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -825,9 +840,10 @@ end i32.const 34336 i32.const 35908 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34336 global.set $~lib/rt/tlsf/ROOT @@ -857,7 +873,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -870,19 +886,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -893,7 +909,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -905,7 +921,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -918,12 +934,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -932,7 +944,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -943,26 +955,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -978,7 +990,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -994,7 +1006,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1019,14 +1031,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1046,7 +1058,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1061,25 +1072,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1440 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1088,12 +1098,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1103,7 +1112,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1114,10 +1123,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1129,13 +1138,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1440 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1150,7 +1159,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1165,7 +1174,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $0 loop $do-loop|0 @@ -1177,16 +1186,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $0 i32.const 0 @@ -1194,8 +1199,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1217,11 +1221,11 @@ local.tee $0 i32.eqz if - memory.size $0 + memory.size local.tee $0 i32.const 4 local.get $1 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $0 i32.const 16 i32.shl @@ -1240,12 +1244,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1256,9 +1260,10 @@ local.get $0 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $1 call $~lib/rt/tlsf/searchBlock @@ -1267,14 +1272,14 @@ if i32.const 0 i32.const 1440 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1282,7 +1287,7 @@ if i32.const 0 i32.const 1440 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1291,7 +1296,7 @@ local.get $0 call $~lib/rt/tlsf/removeBlock local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const -4 i32.and @@ -1307,7 +1312,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $0 i32.const 32 i32.add @@ -1317,7 +1322,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock @@ -1326,54 +1331,54 @@ local.get $2 i32.const -2 i32.and - i32.store $0 + i32.store local.get $0 i32.const 4 i32.add local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $1 local.get $1 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $0 i32.const 4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 4 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1385,11 +1390,10 @@ i32.add local.tee $0 i32.const 0 - i32.store $0 align=1 + i32.store align=1 local.get $0 ) (func $export-default/theDefault - nop ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid @@ -1401,7 +1405,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid end return @@ -1411,12 +1415,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1425,7 +1425,7 @@ ) (func $~start (local $0 i32) - block $__inlined_func$start:exportstar-rereexport + block $__inlined_func$start:exportstar-rereexport$1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1436,10 +1436,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1449,8 +1448,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34328 @@ -1460,26 +1459,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1220 i32.const 1216 - i32.store $0 + i32.store i32.const 1224 i32.const 1216 - i32.store $0 + i32.store i32.const 1216 global.set $~lib/rt/itcms/pinSpace i32.const 1252 i32.const 1248 - i32.store $0 + i32.store i32.const 1256 i32.const 1248 - i32.store $0 + i32.store i32.const 1248 global.set $~lib/rt/itcms/toSpace i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/fromSpace call $exports/Car#constructor @@ -1487,7 +1486,7 @@ global.get $~lib/memory/__stack_pointer global.get $reexport/car local.tee $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 @@ -1509,7 +1508,7 @@ global.get $~lib/memory/__stack_pointer global.get $rereexport/car local.tee $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 @@ -1527,7 +1526,7 @@ global.get $~lib/memory/__stack_pointer global.get $rereexport/exportsNamespaceCar local.tee $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 @@ -1544,7 +1543,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$start:exportstar-rereexport + br $__inlined_func$start:exportstar-rereexport$1 end i32.const 34352 i32.const 34400 @@ -1556,7 +1555,6 @@ ) (func $exports/Car#constructor (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1573,34 +1571,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) (func $exports/Car#get:numDoors (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1617,38 +1612,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $0 - local.get $1 + i32.load + 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) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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 ) ) diff --git a/tests/compiler/exportstar.debug.wat b/tests/compiler/exportstar.debug.wat index 8280225fa8..84acd4d38e 100644 --- a/tests/compiler/exportstar.debug.wat +++ b/tests/compiler/exportstar.debug.wat @@ -1,5 +1,5 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func (param i32 i32) (result i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) diff --git a/tests/compiler/exportstar.release.wat b/tests/compiler/exportstar.release.wat index a785e0e68b..cab08e7ae1 100644 --- a/tests/compiler/exportstar.release.wat +++ b/tests/compiler/exportstar.release.wat @@ -1,5 +1,5 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func (param i32 i32) (result i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) diff --git a/tests/compiler/extends-baseaggregate.debug.wat b/tests/compiler/extends-baseaggregate.debug.wat index 47277e92da..9842604142 100644 --- a/tests/compiler/extends-baseaggregate.debug.wat +++ b/tests/compiler/extends-baseaggregate.debug.wat @@ -1,14 +1,14 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_f64_=>_none (func (param i32 f64))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 f64))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $extends-baseaggregate/poolB i32 (i32.const 64)) (global $extends-baseaggregate/poolA i32 (i32.const 144)) @@ -32,21 +32,21 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33484)) (global $~lib/memory/__heap_base i32 (i32.const 33484)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\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\00\00\00\00\00\00\00\00\08\00\00\00\10\00\00\00 \00\00\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 92) "\1c\00\00\00\00\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 124) ",\00\00\00\00\00\00\00\00\00\00\00\t\00\00\00\10\00\00\00p\00\00\00p\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 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 336) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 428) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 672) "\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\02A\00\00\02A\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\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 $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\10\00\00\00 \00\00\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 $2 (i32.const 92) "\1c\00\00\00\00\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 $3 (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\t\00\00\00\10\00\00\00p\00\00\00p\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 336) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 428) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $12 (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $13 (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $14 (i32.const 672) "\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\02A\00\00\02A\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -54,12 +54,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -73,7 +73,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -147,7 +147,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -217,11 +217,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -229,7 +229,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 384 @@ -361,7 +361,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -374,7 +374,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -390,34 +390,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -577,7 +577,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -600,7 +600,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -614,7 +614,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -637,7 +637,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -780,7 +780,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -866,7 +866,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -946,7 +946,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -980,7 +980,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1003,7 +1003,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1017,27 +1017,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 528 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1062,9 +1067,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1083,7 +1088,7 @@ if i32.const 0 i32.const 528 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1102,7 +1107,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1116,7 +1120,7 @@ if i32.const 0 i32.const 528 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1172,12 +1176,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1211,7 +1215,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1232,7 +1236,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1252,7 +1256,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1272,7 +1276,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1298,7 +1302,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1321,9 +1325,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1359,7 +1364,7 @@ if i32.const 0 i32.const 528 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1625,14 +1630,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1688,7 +1696,7 @@ if i32.const 192 i32.const 528 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1697,6 +1705,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1726,24 +1754,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1781,7 +1798,7 @@ if i32.const 0 i32.const 528 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1796,7 +1813,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1841,7 +1858,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1852,7 +1869,7 @@ if i32.const 0 i32.const 528 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1874,7 +1891,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1897,7 +1914,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1916,22 +1933,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1944,7 +1953,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1971,27 +1980,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2016,7 +2026,7 @@ if i32.const 0 i32.const 528 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2131,7 +2141,7 @@ if i32.const 0 i32.const 528 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2151,7 +2161,7 @@ if i32.const 0 i32.const 528 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2184,12 +2194,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2240,19 +2250,19 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $extends-baseaggregate/A1#set:padding0 (param $this i32) (param $padding0 f64) local.get $this local.get $padding0 - f64.store $0 + f64.store ) (func $extends-baseaggregate/A1#set:padding1 (param $this i32) (param $padding1 f64) local.get $this local.get $padding1 - f64.store $0 offset=8 + f64.store offset=8 ) (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2325,7 +2335,7 @@ (func $extends-baseaggregate/A1#set:c1 (param $this i32) (param $c1 i32) local.get $this local.get $c1 - i32.store $0 offset=16 + i32.store offset=16 local.get $this local.get $c1 i32.const 0 @@ -2333,19 +2343,19 @@ ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2389,18 +2399,18 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2434,16 +2444,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $extends-baseaggregate/B1~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2451,13 +2456,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $extends-baseaggregate/A1~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2465,13 +2466,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 offset=16 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=16 + local.get $1 + call $~lib/rt/itcms/__visit ) (func $extends-baseaggregate/C1~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2479,13 +2476,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $extends-baseaggregate/A2~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2494,15 +2487,15 @@ ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2514,7 +2507,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2539,7 +2532,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $extends-baseaggregate/B1 $extends-baseaggregate/A1 $extends-baseaggregate/C1 $extends-baseaggregate/A2 $~lib/array/Array $~lib/array/Array $invalid end return @@ -2610,7 +2603,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2619,23 +2612,23 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f64.const 0 call $extends-baseaggregate/A1#set:padding0 @@ -2643,7 +2636,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f64.const 0 call $extends-baseaggregate/A1#set:padding1 @@ -2651,7 +2644,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $extends-baseaggregate/A1#set:c1 @@ -2672,7 +2665,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2681,18 +2674,18 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $extends-baseaggregate/A1#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2720,12 +2713,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -2752,7 +2745,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -2802,10 +2795,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -2813,7 +2806,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2831,12 +2824,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $oldLen @@ -2855,7 +2848,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.get $oldLen @@ -2863,7 +2856,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store local.get $this local.get $value i32.const 1 @@ -2872,7 +2865,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $len call $~lib/array/Array#set:length_ @@ -2889,8 +2882,6 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2898,8 +2889,8 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - memory.size $0 + i64.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2917,18 +2908,18 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace global.get $extends-baseaggregate/poolA - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $2 + i32.store + local.get $2 i32.const 0 call $extends-baseaggregate/A2#constructor - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $2 + i32.store offset=4 + local.get $2 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer @@ -2948,14 +2939,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $cur @@ -2964,7 +2955,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 2 @@ -2977,7 +2968,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -2996,7 +2987,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:buffer local.get $cookie @@ -3018,14 +3009,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $cur @@ -3034,7 +3025,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 2 @@ -3047,7 +3038,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -3066,7 +3057,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:buffer local.get $cookie @@ -3085,7 +3076,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3094,7 +3085,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/extends-baseaggregate.release.wat b/tests/compiler/extends-baseaggregate.release.wat index df7393d0c5..280a9a62c3 100644 --- a/tests/compiler/extends-baseaggregate.release.wat +++ b/tests/compiler/extends-baseaggregate.release.wat @@ -1,11 +1,12 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32))) + (type $1 (func)) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param i32 i32 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)) @@ -19,48 +20,48 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34508)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01") - (data (i32.const 1068) ",") - (data (i32.const 1080) "\08\00\00\00\10\00\00\00 \04\00\00 \04") - (data (i32.const 1116) "\1c") - (data (i32.const 1128) "\01") - (data (i32.const 1148) ",") - (data (i32.const 1160) "\t\00\00\00\10\00\00\00p\04\00\00p\04") - (data (i32.const 1196) "<") - (data (i32.const 1208) "\02\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 1260) "<") - (data (i32.const 1272) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1388) "<") - (data (i32.const 1400) "\02\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 1452) ",") - (data (i32.const 1464) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1532) "<") - (data (i32.const 1544) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1596) ",") - (data (i32.const 1608) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1644) ",") - (data (i32.const 1656) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1696) "\n\00\00\00 \00\00\00 \00\00\00 ") - (data (i32.const 1732) "\02A\00\00\02A") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\01") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\08\00\00\00\10\00\00\00 \04\00\00 \04") + (data $2 (i32.const 1116) "\1c") + (data $2.1 (i32.const 1128) "\01") + (data $3 (i32.const 1148) ",") + (data $3.1 (i32.const 1160) "\t\00\00\00\10\00\00\00p\04\00\00p\04") + (data $4 (i32.const 1196) "<") + (data $4.1 (i32.const 1208) "\02\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 $5 (i32.const 1260) "<") + (data $5.1 (i32.const 1272) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $8 (i32.const 1388) "<") + (data $8.1 (i32.const 1400) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $9 (i32.const 1452) ",") + (data $9.1 (i32.const 1464) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $11 (i32.const 1532) "<") + (data $11.1 (i32.const 1544) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $12 (i32.const 1596) ",") + (data $12.1 (i32.const 1608) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $13 (i32.const 1644) ",") + (data $13.1 (i32.const 1656) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $14 (i32.const 1696) "\n\00\00\00 \00\00\00 \00\00\00 ") + (data $14.1 (i32.const 1732) "\02A\00\00\02A") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1168 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1408 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1616 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1216 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -70,7 +71,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -88,7 +89,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -105,7 +106,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -119,16 +120,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$142 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34508 @@ -143,10 +144,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$142 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -159,20 +160,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -181,7 +182,7 @@ else local.get $1 i32.const 1696 - i32.load $0 + i32.load i32.gt_u if i32.const 1408 @@ -196,13 +197,13 @@ i32.shl i32.const 1700 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -212,21 +213,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -234,8 +259,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -247,10 +272,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -261,29 +286,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -291,10 +316,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -308,75 +333,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -398,7 +416,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -415,12 +433,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -437,17 +455,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -457,9 +475,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -484,13 +502,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -524,7 +542,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -580,19 +598,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -604,15 +622,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -620,23 +638,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1552 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -650,10 +670,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -661,23 +681,22 @@ if i32.const 0 i32.const 1552 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -689,52 +708,53 @@ if i32.const 0 i32.const 1552 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -742,7 +762,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -750,7 +770,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -761,10 +781,10 @@ end i32.const 34512 i32.const 0 - i32.store $0 + i32.store i32.const 36080 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -776,7 +796,7 @@ i32.const 34512 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -794,7 +814,7 @@ i32.const 34512 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -811,9 +831,10 @@ end i32.const 34512 i32.const 36084 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34512 global.set $~lib/rt/tlsf/ROOT @@ -843,7 +864,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -856,19 +877,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -879,7 +900,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -891,7 +912,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -904,12 +925,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -918,7 +935,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -929,26 +946,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -964,7 +981,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -980,7 +997,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1005,14 +1022,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1032,7 +1049,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1047,25 +1063,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1552 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1074,12 +1089,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1087,47 +1101,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1138,7 +1154,7 @@ if i32.const 0 i32.const 1552 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1148,7 +1164,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1165,10 +1181,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1184,13 +1200,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1552 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1205,7 +1221,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1232,7 +1248,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1244,16 +1260,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1261,8 +1273,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1289,34 +1300,60 @@ if i32.const 1216 i32.const 1552 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1324,21 +1361,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1351,12 +1373,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1367,9 +1389,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1379,7 +1402,7 @@ if i32.const 0 i32.const 1552 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1387,14 +1410,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1552 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1403,8 +1426,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1413,95 +1436,95 @@ if i32.const 0 i32.const 1552 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1514,8 +1537,67 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill + local.get $1 + ) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1280 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end ) (func $~lib/array/Array~visit (param $0 i32) (local $1 i32) @@ -1537,21 +1619,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl i32.add @@ -1562,11 +1643,11 @@ i32.lt_u if local.get $1 - i32.load $0 + i32.load local.tee $3 if local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $1 i32.const 4 @@ -1577,66 +1658,60 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/__visit_members (param $0 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/array/Array - block $~lib/array/Array - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $~lib/array/Array $~lib/array/Array $invalid + block $folding-inner0 + block $invalid + block $~lib/array/Array + block $~lib/array/Array + block $extends-baseaggregate/A2 + block $extends-baseaggregate/A1 + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $extends-baseaggregate/A1 $folding-inner0 $extends-baseaggregate/A2 $~lib/array/Array $~lib/array/Array $invalid + end + return end return end return end + local.get $0 + i32.load offset=16 + call $~lib/rt/itcms/__visit return end local.get $0 - call $~lib/array/Array~visit + i32.load offset=16 + call $~lib/rt/itcms/__visit return end local.get $0 call $~lib/array/Array~visit return end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/array/Array~visit + return end - return + unreachable end local.get $0 - i32.load $0 offset=16 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit ) (func $~start (local $0 i32) @@ -1656,10 +1731,9 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - memory.size $0 + i64.store + memory.size i32.const 16 i32.shl i32.const 34508 @@ -1669,32 +1743,32 @@ global.set $~lib/rt/itcms/threshold i32.const 1332 i32.const 1328 - i32.store $0 + i32.store i32.const 1336 i32.const 1328 - i32.store $0 + i32.store i32.const 1328 global.set $~lib/rt/itcms/pinSpace i32.const 1364 i32.const 1360 - i32.store $0 + i32.store i32.const 1368 i32.const 1360 - i32.store $0 + i32.store i32.const 1360 global.set $~lib/rt/itcms/toSpace i32.const 1508 i32.const 1504 - i32.store $0 + i32.store i32.const 1512 i32.const 1504 - i32.store $0 + i32.store i32.const 1504 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1168 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1703,20 +1777,19 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 20 i32.const 7 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $6 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 offset=4 - local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1726,22 +1799,22 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - local.get $5 + i64.store + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 20 i32.const 5 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $6 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $5 - i32.store $0 offset=4 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1751,56 +1824,58 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $5 + i32.store + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $6 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 - i32.store $0 + local.get $6 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 f64.const 0 - f64.store $0 + f64.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 f64.const 0 - f64.store $0 offset=8 + f64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 + local.get $6 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $5 - i32.store $0 + local.get $6 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $6 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1810,20 +1885,19 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1168 - i32.store $0 + i32.store i32.const 1180 - i32.load $0 - local.tee $4 + i32.load + local.tee $5 i32.const 1 i32.add - local.tee $3 - local.set $1 - local.get $0 + local.tee $4 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1832,21 +1906,20 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1168 - i32.store $0 - local.get $1 + i32.store + local.get $2 i32.const 1176 - i32.load $0 + i32.load local.tee $0 i32.const 2 i32.shr_u i32.gt_u if - local.get $1 + local.get $2 i32.const 268435455 i32.gt_u if @@ -1859,8 +1932,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 1168 - i32.store $0 - block $__inlined_func$~lib/rt/itcms/__renew + i32.store + block $__inlined_func$~lib/rt/itcms/__renew$141 i32.const 1073741820 local.get $0 i32.const 1 @@ -1870,77 +1943,75 @@ i32.const 1073741820 i32.ge_u select - local.tee $0 + local.tee $1 i32.const 8 - local.get $1 - local.get $1 + local.get $2 + local.get $2 i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $1 + local.tee $0 local.get $0 local.get $1 - i32.gt_u + i32.lt_u select - local.tee $2 + local.tee $3 i32.const 1168 - i32.load $0 - local.tee $1 + i32.load + local.tee $0 i32.const 20 i32.sub - local.tee $6 - i32.load $0 + local.tee $2 + i32.load i32.const -4 i32.and i32.const 16 i32.sub i32.le_u if - local.get $6 local.get $2 - i32.store $0 offset=16 - local.get $1 - local.set $0 - br $__inlined_func$~lib/rt/itcms/__renew + local.get $3 + i32.store offset=16 + local.get $0 + local.set $1 + br $__inlined_func$~lib/rt/itcms/__renew$141 end + local.get $3 local.get $2 - local.get $6 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new - local.tee $0 - local.get $1 + local.tee $1 + local.get $0 + local.get $3 local.get $2 - local.get $6 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $2 local.get $2 - local.get $6 - i32.lt_u + local.get $3 + i32.gt_u select - memory.copy $0 $0 + memory.copy end local.get $0 local.get $1 i32.ne if i32.const 1168 - local.get $0 - i32.store $0 + local.get $1 + i32.store i32.const 1172 - local.get $0 - i32.store $0 - local.get $0 - if - local.get $0 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $1 + i32.store + i32.const 1168 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link end i32.const 1176 - local.get $2 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1948,29 +2019,26 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1168 - i32.store $0 + i32.store i32.const 1172 - i32.load $0 - local.get $4 + i32.load + local.get $5 i32.const 2 i32.shl i32.add - local.get $5 - i32.store $0 - local.get $5 - if - local.get $5 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $6 + i32.store + i32.const 1168 + local.get $6 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1168 - i32.store $0 + i32.store i32.const 1180 - local.get $3 - i32.store $0 - local.get $0 + local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1987,64 +2055,4 @@ 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 $0 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 $2 i32) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - i32.const 1152 - i32.load $0 - i32.const 3 - i32.and - local.tee $2 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - i32.const 1148 - local.get $0 - local.get $1 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $2 - i32.const 3 - i32.eq - i32.and - if - local.get $0 - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) ) diff --git a/tests/compiler/extends-recursive.debug.wat b/tests/compiler/extends-recursive.debug.wat index cf33e5b1e1..a4d78b0d14 100644 --- a/tests/compiler/extends-recursive.debug.wat +++ b/tests/compiler/extends-recursive.debug.wat @@ -1,13 +1,13 @@ (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_=>_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 $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32 i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -28,15 +28,15 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33212)) (global $~lib/memory/__heap_base i32 (i32.const 33212)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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 416) "\06\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 $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\06\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -44,12 +44,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -63,7 +63,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -137,7 +137,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -207,11 +207,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -219,7 +219,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -351,7 +351,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -364,7 +364,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -380,34 +380,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -567,7 +567,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -590,7 +590,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -604,7 +604,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -627,7 +627,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -770,7 +770,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -856,7 +856,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -936,7 +936,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -970,7 +970,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -993,7 +993,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1007,27 +1007,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1052,9 +1057,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1073,7 +1078,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1092,7 +1097,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1106,7 +1110,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1162,12 +1166,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1201,7 +1205,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1222,7 +1226,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1242,7 +1246,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1262,7 +1266,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1288,7 +1292,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1311,9 +1315,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1349,7 +1354,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1615,14 +1620,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1678,7 +1686,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1687,6 +1695,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1716,24 +1744,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1771,7 +1788,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1786,7 +1803,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1831,7 +1848,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1842,7 +1859,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1864,7 +1881,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1887,7 +1904,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1906,22 +1923,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1934,7 +1943,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1961,27 +1970,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2006,7 +2016,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2121,7 +2131,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2141,7 +2151,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2174,12 +2184,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2230,7 +2240,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2305,14 +2315,14 @@ (func $extends-recursive/Parent#set:child (param $this i32) (param $child i32) local.get $this local.get $child - i32.store $0 + i32.store local.get $this local.get $child i32.const 0 call $~lib/rt/itcms/__link ) (func $start:extends-recursive - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2348,16 +2358,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $extends-recursive/Child~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2370,13 +2375,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2389,7 +2390,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $extends-recursive/Child $extends-recursive/Parent $invalid end return @@ -2440,7 +2441,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2449,23 +2450,23 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $extends-recursive/Parent#set:child @@ -2486,7 +2487,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2495,18 +2496,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $extends-recursive/Parent#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2524,7 +2525,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2533,7 +2534,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/extends-recursive.release.wat b/tests/compiler/extends-recursive.release.wat index 22cf7dfea4..b00fbf4cd8 100644 --- a/tests/compiler/extends-recursive.release.wat +++ b/tests/compiler/extends-recursive.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (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)) @@ -19,29 +19,29 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34236)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\06\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1440) "\06\00\00\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 + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -51,7 +51,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -69,7 +69,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -77,137 +77,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter - i32.eq + i32.eqz if - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.get $1 - global.set $~lib/rt/itcms/iter + return end - block $__inlined_func$~lib/rt/itcms/Object#unlink + 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 - i32.load $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 + local.tee $1 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + 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$116 local.get $0 - i32.const 34236 - i32.lt_u + i32.load offset=4 + i32.const -4 i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load offset=8 + i32.eqz + local.get $0 + i32.const 34236 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$116 + end + local.get $0 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + i32.or + i32.store offset=4 end + global.get $~lib/rt/itcms/toSpace + local.set $2 local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + i32.load offset=12 + local.tee $1 + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1440 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load + i32.const 32 + i32.and end - local.get $1 + local.set $3 local.get $2 - i32.store $0 offset=8 + i32.load offset=8 + local.set $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 + i32.or + i32.store offset=4 + local.get $0 local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) + i32.store offset=4 + local.get $2 + local.get $0 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount i32.const 1 - else - local.get $1 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 2 - i32.shl - i32.const 1444 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -215,8 +235,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -228,10 +248,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -242,29 +262,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -272,10 +292,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -289,75 +309,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -379,7 +392,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -396,12 +409,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -418,17 +431,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -438,9 +451,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -465,13 +478,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -505,7 +518,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -561,19 +574,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -585,15 +598,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -601,23 +614,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -631,10 +646,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -642,23 +657,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -670,52 +684,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -723,7 +738,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -731,7 +746,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -742,10 +757,10 @@ end i32.const 34240 i32.const 0 - i32.store $0 + i32.store i32.const 35808 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -757,7 +772,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -775,7 +790,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -792,9 +807,10 @@ end i32.const 34240 i32.const 35812 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34240 global.set $~lib/rt/tlsf/ROOT @@ -824,7 +840,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -837,19 +853,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -860,7 +876,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -872,7 +888,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -885,12 +901,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -899,7 +911,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -910,26 +922,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -945,7 +957,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -961,7 +973,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -986,14 +998,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1013,7 +1025,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1028,25 +1039,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1055,12 +1065,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1068,47 +1077,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1119,7 +1130,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1129,7 +1140,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1146,10 +1157,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1165,13 +1176,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1186,7 +1197,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1213,7 +1224,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1225,16 +1236,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1242,8 +1249,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1270,34 +1276,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1305,21 +1337,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1332,12 +1349,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1348,9 +1365,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1360,7 +1378,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1368,14 +1386,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1384,8 +1402,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1394,95 +1412,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1495,7 +1513,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1507,7 +1525,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid end return @@ -1519,19 +1537,15 @@ unreachable end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit ) (func $~start (local $0 i32) (local $1 i32) (local $2 i32) - block $__inlined_func$start:extends-recursive - memory.size $0 + block $__inlined_func$start:extends-recursive$1 + memory.size i32.const 16 i32.shl i32.const 34236 @@ -1541,26 +1555,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1573,20 +1587,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1596,7 +1609,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1605,13 +1618,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1621,7 +1634,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1630,33 +1643,31 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$start:extends-recursive + br $__inlined_func$start:extends-recursive$1 end i32.const 34256 i32.const 34304 @@ -1666,23 +1677,4 @@ unreachable end ) - (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 $0 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 - ) ) diff --git a/tests/compiler/external.debug.wat b/tests/compiler/external.debug.wat index 828dfb20ae..67fa2919b1 100644 --- a/tests/compiler/external.debug.wat +++ b/tests/compiler/external.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (import "foo" "var" (global $external/var_ i32)) (import "external" "foo" (func $external/foo)) (import "external" "bar" (func $external/two)) diff --git a/tests/compiler/external.release.wat b/tests/compiler/external.release.wat index 4ce1f3c834..26463e94fb 100644 --- a/tests/compiler/external.release.wat +++ b/tests/compiler/external.release.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (import "foo" "var" (global $external/var_ i32)) (import "external" "foo" (func $external/foo)) (import "external" "bar" (func $external/two)) diff --git a/tests/compiler/features/gc.debug.wat b/tests/compiler/features/gc.debug.wat index 2c70df1018..8f24f21139 100644 --- a/tests/compiler/features/gc.debug.wat +++ b/tests/compiler/features/gc.debug.wat @@ -1,7 +1,7 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (type $1) (param i32 i32 i32 i32))) (global $features/gc/globalFunc funcref (ref.null nofunc)) (global $features/gc/globalExtern externref (ref.null noextern)) (global $features/gc/globalAny anyref (ref.null none)) @@ -14,7 +14,7 @@ (global $~lib/memory/__heap_base i32 (i32.const 32828)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00g\00c\00.\00t\00s\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00g\00c\00.\00t\00s\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "globalFunc" (global $features/gc/globalFunc)) @@ -26,12 +26,12 @@ (export "globalArray" (global $features/gc/globalArray)) (export "memory" (memory $0)) (export "_start" (func $~start)) - (func $features/gc/test_i31 (type $none_=>_none) - (local $ref i31ref) + (func $features/gc/test_i31 (type $0) + (local $ref (ref i31)) (local $val i32) (local $uval i32) i32.const 123 - i31.new + ref.i31 local.set $ref local.get $ref ref.is_null @@ -50,10 +50,10 @@ i31.get_u local.set $uval ) - (func $start:features/gc (type $none_=>_none) + (func $start:features/gc (type $0) call $features/gc/test_i31 ) - (func $~start (type $none_=>_none) + (func $~start (type $0) global.get $~started if return diff --git a/tests/compiler/features/gc.release.wat b/tests/compiler/features/gc.release.wat index 67e9ca9bde..e5baaab127 100644 --- a/tests/compiler/features/gc.release.wat +++ b/tests/compiler/features/gc.release.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $features/gc/globalFunc funcref (ref.null nofunc)) (global $features/gc/globalExtern externref (ref.null noextern)) (global $features/gc/globalAny anyref (ref.null none)) @@ -8,8 +8,8 @@ (global $features/gc/globalStruct structref (ref.null none)) (global $features/gc/globalArray arrayref (ref.null none)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00g\00c\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00g\00c\00.\00t\00s") (export "globalFunc" (global $features/gc/globalFunc)) (export "globalExtern" (global $features/gc/globalExtern)) (export "globalAny" (global $features/gc/globalAny)) @@ -19,7 +19,6 @@ (export "globalArray" (global $features/gc/globalArray)) (export "memory" (memory $0)) (export "_start" (func $~start)) - (func $~start (type $none_=>_none) - nop + (func $~start (type $0) ) ) diff --git a/tests/compiler/features/gc.ts b/tests/compiler/features/gc.ts index 496e13d321..a21093b929 100644 --- a/tests/compiler/features/gc.ts +++ b/tests/compiler/features/gc.ts @@ -9,10 +9,10 @@ test_i31(); // constant globals -export const globalFunc: funcref = null; -export const globalExtern: externref = null; -export const globalAny: anyref = null; -export const globalEq: eqref = null; -export const globalI31: i31ref = null; -export const globalStruct: structref = null; -export const globalArray: arrayref = null; +export const globalFunc: ref_func | null = null; +export const globalExtern: ref_extern | null = null; +export const globalAny: ref_any | null = null; +export const globalEq: ref_eq | null = null; +export const globalI31: ref_i31 | null = null; +export const globalStruct: ref_struct | null = null; +export const globalArray: ref_array | null = null; diff --git a/tests/compiler/features/reference-types.debug.wat b/tests/compiler/features/reference-types.debug.wat index 2f379046b2..77709d2bd9 100644 --- a/tests/compiler/features/reference-types.debug.wat +++ b/tests/compiler/features/reference-types.debug.wat @@ -1,8 +1,8 @@ (module - (type $none_=>_none (func)) - (type $none_=>_externref (func (result externref))) - (type $externref_=>_externref (func (param externref) (result externref))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (result externref))) + (type $2 (func (param externref) (result externref))) + (type $3 (func (param i32 i32 i32 i32))) (import "reference-types" "somethingReal" (func $features/reference-types/somethingReal (result externref))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "reference-types" "somethingNull" (func $features/reference-types/somethingNull (result externref))) @@ -20,8 +20,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32988)) (global $~lib/memory/__heap_base i32 (i32.const 32988)) (memory $0 1) - (data (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 92) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s\00\00\00\00\00\00\00") + (data $1 (i32.const 92) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (elem declare func $features/reference-types/someFunc) @@ -35,9 +35,8 @@ (export "nonNullReal" (global $features/reference-types/nonNullReal)) (export "memory" (memory $0)) (start $~start) - (func $features/reference-types/testLocal + (func $features/reference-types/testLocal (local $local funcref) - (local $localInit funcref) ref.null nofunc local.set $local local.get $local @@ -68,25 +67,9 @@ call $~lib/builtins/abort unreachable end - ref.null nofunc - local.set $localInit - local.get $localInit - ref.is_null - i32.eqz - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 74 - i32.const 3 - call $~lib/builtins/abort - unreachable - end ) - (func $features/reference-types/testLocal + (func $features/reference-types/testLocal (local $local externref) - (local $localInit externref) ref.null noextern local.set $local local.get $local @@ -117,24 +100,8 @@ call $~lib/builtins/abort unreachable end - ref.null noextern - local.set $localInit - local.get $localInit - ref.is_null - i32.eqz - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 74 - i32.const 3 - call $~lib/builtins/abort - unreachable - end ) (func $features/reference-types/someFunc - nop ) (func $start:features/reference-types (local $funcLocal funcref) @@ -161,7 +128,6 @@ i32.eqz i32.eqz if - nop else i32.const 0 i32.eqz @@ -178,7 +144,6 @@ ref.is_null i32.eqz if - nop else i32.const 0 i32.eqz @@ -288,8 +253,8 @@ call $~lib/builtins/abort unreachable end - call $features/reference-types/testLocal - call $features/reference-types/testLocal + call $features/reference-types/testLocal + call $features/reference-types/testLocal ref.func $features/reference-types/someFunc global.set $features/reference-types/funcGlobal global.get $features/reference-types/funcGlobal @@ -297,7 +262,7 @@ if i32.const 0 i32.const 32 - i32.const 83 + i32.const 81 i32.const 1 call $~lib/builtins/abort unreachable @@ -307,7 +272,7 @@ if i32.const 0 i32.const 32 - i32.const 85 + i32.const 83 i32.const 1 call $~lib/builtins/abort unreachable @@ -319,7 +284,7 @@ if i32.const 0 i32.const 32 - i32.const 88 + i32.const 86 i32.const 3 call $~lib/builtins/abort unreachable @@ -330,7 +295,7 @@ if (result funcref) i32.const 112 i32.const 32 - i32.const 97 + i32.const 95 i32.const 28 call $~lib/builtins/abort unreachable @@ -344,7 +309,7 @@ if (result externref) i32.const 112 i32.const 32 - i32.const 98 + i32.const 96 i32.const 28 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/features/reference-types.release.wat b/tests/compiler/features/reference-types.release.wat index 4cb09191e6..1c580b033e 100644 --- a/tests/compiler/features/reference-types.release.wat +++ b/tests/compiler/features/reference-types.release.wat @@ -1,8 +1,8 @@ (module - (type $none_=>_externref (func (result externref))) - (type $none_=>_none (func)) - (type $externref_=>_externref (func (param externref) (result externref))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (result externref))) + (type $1 (func)) + (type $2 (func (param externref) (result externref))) + (type $3 (func (param i32 i32 i32 i32))) (import "reference-types" "somethingReal" (func $features/reference-types/somethingReal (result externref))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "reference-types" "somethingNull" (func $features/reference-types/somethingNull (result externref))) @@ -13,10 +13,10 @@ (global $features/reference-types/nonNullFunc (mut funcref) (ref.null nofunc)) (global $features/reference-types/nonNullReal (mut externref) (ref.null noextern)) (memory $0 1) - (data (i32.const 1036) "L") - (data (i32.const 1048) "\02\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s") - (data (i32.const 1116) "|") - (data (i32.const 1128) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") + (data $0 (i32.const 1036) "L") + (data $0.1 (i32.const 1048) "\02\00\00\006\00\00\00f\00e\00a\00t\00u\00r\00e\00s\00/\00r\00e\00f\00e\00r\00e\00n\00c\00e\00-\00t\00y\00p\00e\00s\00.\00t\00s") + (data $1 (i32.const 1116) "|") + (data $1.1 (i32.const 1128) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") (elem declare func $features/reference-types/someFunc) (export "external" (func $features/reference-types/external)) (export "somethingReal" (func $features/reference-types/somethingReal)) @@ -29,7 +29,6 @@ (export "memory" (memory $0)) (start $~start) (func $features/reference-types/someFunc - nop ) (func $features/reference-types/internal (param $0 externref) (result externref) local.get $0 @@ -104,7 +103,7 @@ if i32.const 1136 i32.const 1056 - i32.const 98 + i32.const 96 i32.const 28 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/features/reference-types.ts b/tests/compiler/features/reference-types.ts index 816c844c4d..050c9f1e3d 100644 --- a/tests/compiler/features/reference-types.ts +++ b/tests/compiler/features/reference-types.ts @@ -70,8 +70,6 @@ function testLocal(): void { assert(!local); local = null; assert(!local); - let localInit: T = null; - assert(!localInit); } testLocal(); testLocal(); diff --git a/tests/compiler/features/relaxed-simd.debug.wat b/tests/compiler/features/relaxed-simd.debug.wat new file mode 100644 index 0000000000..af8063a69d --- /dev/null +++ b/tests/compiler/features/relaxed-simd.debug.wat @@ -0,0 +1,175 @@ +(module + (type $0 (func)) + (global $features/relaxed-simd/v v128 (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)) + (global $features/relaxed-simd/r (mut v128) (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)) + (memory $0 0) + (table $0 1 1 funcref) + (elem $0 (i32.const 1)) + (export "memory" (memory $0)) + (start $~start) + (func $start:features/relaxed-simd + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i8x16.relaxed_swizzle + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i8x16.relaxed_swizzle + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + i32x4.relaxed_trunc_f32x4_s + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + i32x4.relaxed_trunc_f32x4_s + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + i32x4.relaxed_trunc_f32x4_u + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + i32x4.relaxed_trunc_f32x4_u + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + i32x4.relaxed_trunc_f64x2_s_zero + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + i32x4.relaxed_trunc_f64x2_s_zero + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + i32x4.relaxed_trunc_f64x2_u_zero + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + i32x4.relaxed_trunc_f64x2_u_zero + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f32x4.relaxed_madd + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f32x4.relaxed_madd + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f32x4.relaxed_nmadd + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f32x4.relaxed_nmadd + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f64x2.relaxed_madd + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f64x2.relaxed_madd + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f64x2.relaxed_nmadd + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f64x2.relaxed_nmadd + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i8x16.laneselect + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i8x16.laneselect + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i16x8.laneselect + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i16x8.laneselect + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i32x4.laneselect + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i32x4.laneselect + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i64x2.laneselect + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i64x2.laneselect + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f32x4.relaxed_min + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f32x4.relaxed_min + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f32x4.relaxed_max + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f32x4.relaxed_max + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f64x2.relaxed_min + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f64x2.relaxed_min + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f64x2.relaxed_max + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + f64x2.relaxed_max + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i16x8.relaxed_q15mulr_s + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i16x8.relaxed_q15mulr_s + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i16x8.dot_i8x16_i7x16_s + global.set $features/relaxed-simd/r + global.get $features/relaxed-simd/v + global.get $features/relaxed-simd/v + i16x8.dot_i8x16_i7x16_s + global.set $features/relaxed-simd/r + ) + (func $~start + call $start:features/relaxed-simd + ) +) diff --git a/tests/compiler/features/relaxed-simd.json b/tests/compiler/features/relaxed-simd.json new file mode 100644 index 0000000000..a01579d1e7 --- /dev/null +++ b/tests/compiler/features/relaxed-simd.json @@ -0,0 +1,9 @@ +{ + "asc_flags": [ + "--runtime stub" + ], + "features": [ + "simd", + "relaxed-simd" + ] +} diff --git a/tests/compiler/features/relaxed-simd.release.wat b/tests/compiler/features/relaxed-simd.release.wat new file mode 100644 index 0000000000..23da3862e2 --- /dev/null +++ b/tests/compiler/features/relaxed-simd.release.wat @@ -0,0 +1,4 @@ +(module + (memory $0 0) + (export "memory" (memory $0)) +) diff --git a/tests/compiler/features/relaxed-simd.ts b/tests/compiler/features/relaxed-simd.ts new file mode 100644 index 0000000000..3fc581cc7e --- /dev/null +++ b/tests/compiler/features/relaxed-simd.ts @@ -0,0 +1,83 @@ +const v = v128.splat(0); +let r: v128; + +r = i8x16.relaxed_swizzle(v, v); +// == +r = v128.relaxed_swizzle(v, v); + +r = i32x4.relaxed_trunc_f32x4_s(v); +// == +r = v128.relaxed_trunc(v); + +r = i32x4.relaxed_trunc_f32x4_u(v); +// == +r = v128.relaxed_trunc(v); + +r = i32x4.relaxed_trunc_f64x2_s_zero(v); +// == +r = v128.relaxed_trunc_zero(v); + +r = i32x4.relaxed_trunc_f64x2_u_zero(v); +// == +r = v128.relaxed_trunc_zero(v); + +r = f32x4.relaxed_madd(v, v, v); +// == +r = v128.relaxed_madd(v, v, v); + +r = f32x4.relaxed_nmadd(v, v, v); +// == +r = v128.relaxed_nmadd(v, v, v); + +r = f64x2.relaxed_madd(v, v, v); +// == +r = v128.relaxed_madd(v, v, v); + +r = f64x2.relaxed_nmadd(v, v, v); +// == +r = v128.relaxed_nmadd(v, v, v); + +r = i8x16.relaxed_laneselect(v, v, v); +// == +r = v128.relaxed_laneselect(v, v, v); + +r = i16x8.relaxed_laneselect(v, v, v); +// == +r = v128.relaxed_laneselect(v, v, v); + +r = i32x4.relaxed_laneselect(v, v, v); +// == +r = v128.relaxed_laneselect(v, v, v); + +r = i64x2.relaxed_laneselect(v, v, v); +// == +r = v128.relaxed_laneselect(v, v, v); + +r = f32x4.relaxed_min(v, v); +// == +r = v128.relaxed_min(v, v); + +r = f32x4.relaxed_max(v, v); +// == +r = v128.relaxed_max(v, v); + +r = f64x2.relaxed_min(v, v); +// == +r = v128.relaxed_min(v, v); + +r = f64x2.relaxed_max(v, v); +// == +r = v128.relaxed_max(v, v); + +r = i16x8.relaxed_q15mulr_s(v, v); +// == +r = v128.relaxed_q15mulr(v, v); + +r = i16x8.relaxed_dot_i8x16_i7x16_s(v, v); +// == +r = v128.relaxed_dot(v, v); + +// TODO: not yet implemented in binaryen/src/wasm-interpreter.h +// r = i32x4.relaxed_dot_i8x16_i7x16_add_s(v, v, v); +// // == +// r = v128.relaxed_dot_add(v, v, v); diff --git a/tests/compiler/features/threads.debug.wat b/tests/compiler/features/threads.debug.wat index 17d896b01f..b3b7038f39 100644 --- a/tests/compiler/features/threads.debug.wat +++ b/tests/compiler/features/threads.debug.wat @@ -1,541 +1,541 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/native/ASC_FEATURE_THREADS i32 (i32.const 1)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) - (memory $0 (shared 1 10)) + (memory $0 1 10 shared) (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $features/threads/testAtomic i32.const 0 - i32.atomic.load8_u $0 + i32.atomic.load8_u drop i32.const 0 - i32.atomic.load16_u $0 + i32.atomic.load16_u drop i32.const 0 - i32.atomic.load $0 + i32.atomic.load drop i32.const 0 - i64.atomic.load8_u $0 + i64.atomic.load8_u drop i32.const 0 - i64.atomic.load16_u $0 + i64.atomic.load16_u drop i32.const 0 - i64.atomic.load32_u $0 + i64.atomic.load32_u drop i32.const 0 - i64.atomic.load $0 + i64.atomic.load drop i32.const 0 - i64.atomic.load $0 offset=8 + i64.atomic.load offset=8 drop i32.const 0 i32.const 1 - i32.atomic.store8 $0 + i32.atomic.store8 i32.const 0 i32.const 1 - i32.atomic.store16 $0 + i32.atomic.store16 i32.const 0 i32.const 1 - i32.atomic.store $0 + i32.atomic.store i32.const 0 i64.const 1 - i64.atomic.store8 $0 + i64.atomic.store8 i32.const 0 i64.const 1 - i64.atomic.store16 $0 + i64.atomic.store16 i32.const 0 i64.const 1 - i64.atomic.store32 $0 + i64.atomic.store32 i32.const 0 i64.const 1 - i64.atomic.store $0 + i64.atomic.store i32.const 0 i64.const 1 - i64.atomic.store $0 offset=8 + i64.atomic.store offset=8 i32.const 0 i32.const 1 - i32.atomic.rmw8.add_u $0 + i32.atomic.rmw8.add_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.add_u $0 + i32.atomic.rmw16.add_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.add $0 + i32.atomic.rmw.add drop i32.const 0 i64.const 1 - i64.atomic.rmw8.add_u $0 + i64.atomic.rmw8.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.add_u $0 + i64.atomic.rmw16.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.add_u $0 + i64.atomic.rmw32.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.add $0 + i64.atomic.rmw.add drop i32.const 0 i64.const 1 - i64.atomic.rmw.add $0 offset=8 + i64.atomic.rmw.add offset=8 drop i32.const 0 i32.const 1 - i32.atomic.rmw8.sub_u $0 + i32.atomic.rmw8.sub_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.sub_u $0 + i32.atomic.rmw16.sub_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.sub $0 + i32.atomic.rmw.sub drop i32.const 0 i64.const 1 - i64.atomic.rmw8.sub_u $0 + i64.atomic.rmw8.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.sub_u $0 + i64.atomic.rmw16.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.sub_u $0 + i64.atomic.rmw32.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.sub $0 + i64.atomic.rmw.sub drop i32.const 0 i64.const 1 - i64.atomic.rmw.sub $0 offset=8 + i64.atomic.rmw.sub offset=8 drop i32.const 0 i32.const 1 - i32.atomic.rmw8.and_u $0 + i32.atomic.rmw8.and_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.and_u $0 + i32.atomic.rmw16.and_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.and $0 + i32.atomic.rmw.and drop i32.const 0 i64.const 1 - i64.atomic.rmw8.and_u $0 + i64.atomic.rmw8.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.and_u $0 + i64.atomic.rmw16.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.and_u $0 + i64.atomic.rmw32.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.and $0 + i64.atomic.rmw.and drop i32.const 0 i64.const 1 - i64.atomic.rmw.and $0 offset=8 + i64.atomic.rmw.and offset=8 drop i32.const 0 i32.const 1 - i32.atomic.rmw8.or_u $0 + i32.atomic.rmw8.or_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.or_u $0 + i32.atomic.rmw16.or_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.or $0 + i32.atomic.rmw.or drop i32.const 0 i64.const 1 - i64.atomic.rmw8.or_u $0 + i64.atomic.rmw8.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.or_u $0 + i64.atomic.rmw16.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.or_u $0 + i64.atomic.rmw32.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.or $0 + i64.atomic.rmw.or drop i32.const 0 i64.const 1 - i64.atomic.rmw.or $0 offset=8 + i64.atomic.rmw.or offset=8 drop i32.const 0 i32.const 1 - i32.atomic.rmw8.xor_u $0 + i32.atomic.rmw8.xor_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.xor_u $0 + i32.atomic.rmw16.xor_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.xor $0 + i32.atomic.rmw.xor drop i32.const 0 i64.const 1 - i64.atomic.rmw8.xor_u $0 + i64.atomic.rmw8.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.xor_u $0 + i64.atomic.rmw16.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.xor_u $0 + i64.atomic.rmw32.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.xor $0 + i64.atomic.rmw.xor drop i32.const 0 i64.const 1 - i64.atomic.rmw.xor $0 offset=8 + i64.atomic.rmw.xor offset=8 drop i32.const 0 i32.const 1 - i32.atomic.rmw8.xchg_u $0 + i32.atomic.rmw8.xchg_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.xchg_u $0 + i32.atomic.rmw16.xchg_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.xchg $0 + i32.atomic.rmw.xchg drop i32.const 0 i64.const 1 - i64.atomic.rmw8.xchg_u $0 + i64.atomic.rmw8.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.xchg_u $0 + i64.atomic.rmw16.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.xchg_u $0 + i64.atomic.rmw32.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.xchg $0 + i64.atomic.rmw.xchg drop i32.const 0 i64.const 1 - i64.atomic.rmw.xchg $0 offset=8 + i64.atomic.rmw.xchg offset=8 drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw8.cmpxchg_u $0 + i32.atomic.rmw8.cmpxchg_u drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw16.cmpxchg_u $0 + i32.atomic.rmw16.cmpxchg_u drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw.cmpxchg $0 + i32.atomic.rmw.cmpxchg drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw8.cmpxchg_u $0 + i64.atomic.rmw8.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw16.cmpxchg_u $0 + i64.atomic.rmw16.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw32.cmpxchg_u $0 + i64.atomic.rmw32.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw.cmpxchg $0 + i64.atomic.rmw.cmpxchg drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw.cmpxchg $0 offset=8 + i64.atomic.rmw.cmpxchg offset=8 drop ) (func $features/threads/testAtomicAsm i32.const 0 - i32.atomic.load8_u $0 + i32.atomic.load8_u drop i32.const 0 - i32.atomic.load16_u $0 + i32.atomic.load16_u drop i32.const 0 - i32.atomic.load $0 + i32.atomic.load drop i32.const 0 - i64.atomic.load8_u $0 + i64.atomic.load8_u drop i32.const 0 - i64.atomic.load16_u $0 + i64.atomic.load16_u drop i32.const 0 - i64.atomic.load32_u $0 + i64.atomic.load32_u drop i32.const 0 - i64.atomic.load $0 + i64.atomic.load drop i32.const 0 i32.const 1 - i32.atomic.store8 $0 + i32.atomic.store8 i32.const 0 i32.const 1 - i32.atomic.store16 $0 + i32.atomic.store16 i32.const 0 i32.const 1 - i32.atomic.store $0 + i32.atomic.store i32.const 0 i64.const 1 - i64.atomic.store8 $0 + i64.atomic.store8 i32.const 0 i64.const 1 - i64.atomic.store16 $0 + i64.atomic.store16 i32.const 0 i64.const 1 - i64.atomic.store32 $0 + i64.atomic.store32 i32.const 0 i64.const 1 - i64.atomic.store $0 + i64.atomic.store i32.const 0 i32.const 1 - i32.atomic.rmw8.add_u $0 + i32.atomic.rmw8.add_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.add_u $0 + i32.atomic.rmw16.add_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.add $0 + i32.atomic.rmw.add drop i32.const 0 i64.const 1 - i64.atomic.rmw8.add_u $0 + i64.atomic.rmw8.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.add_u $0 + i64.atomic.rmw16.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.add_u $0 + i64.atomic.rmw32.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.add $0 + i64.atomic.rmw.add drop i32.const 0 i32.const 1 - i32.atomic.rmw8.sub_u $0 + i32.atomic.rmw8.sub_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.sub_u $0 + i32.atomic.rmw16.sub_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.sub $0 + i32.atomic.rmw.sub drop i32.const 0 i64.const 1 - i64.atomic.rmw8.sub_u $0 + i64.atomic.rmw8.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.sub_u $0 + i64.atomic.rmw16.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.sub_u $0 + i64.atomic.rmw32.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.sub $0 + i64.atomic.rmw.sub drop i32.const 0 i32.const 1 - i32.atomic.rmw8.and_u $0 + i32.atomic.rmw8.and_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.and_u $0 + i32.atomic.rmw16.and_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.and $0 + i32.atomic.rmw.and drop i32.const 0 i64.const 1 - i64.atomic.rmw8.and_u $0 + i64.atomic.rmw8.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.and_u $0 + i64.atomic.rmw16.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.and_u $0 + i64.atomic.rmw32.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.and $0 + i64.atomic.rmw.and drop i32.const 0 i32.const 1 - i32.atomic.rmw8.or_u $0 + i32.atomic.rmw8.or_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.or_u $0 + i32.atomic.rmw16.or_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.or $0 + i32.atomic.rmw.or drop i32.const 0 i64.const 1 - i64.atomic.rmw8.or_u $0 + i64.atomic.rmw8.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.or_u $0 + i64.atomic.rmw16.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.or_u $0 + i64.atomic.rmw32.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.or $0 + i64.atomic.rmw.or drop i32.const 0 i32.const 1 - i32.atomic.rmw8.xor_u $0 + i32.atomic.rmw8.xor_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.xor_u $0 + i32.atomic.rmw16.xor_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.xor $0 + i32.atomic.rmw.xor drop i32.const 0 i64.const 1 - i64.atomic.rmw8.xor_u $0 + i64.atomic.rmw8.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.xor_u $0 + i64.atomic.rmw16.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.xor_u $0 + i64.atomic.rmw32.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.xor $0 + i64.atomic.rmw.xor drop i32.const 0 i32.const 1 - i32.atomic.rmw8.xchg_u $0 + i32.atomic.rmw8.xchg_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.xchg_u $0 + i32.atomic.rmw16.xchg_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.xchg $0 + i32.atomic.rmw.xchg drop i32.const 0 i64.const 1 - i64.atomic.rmw8.xchg_u $0 + i64.atomic.rmw8.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.xchg_u $0 + i64.atomic.rmw16.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.xchg_u $0 + i64.atomic.rmw32.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.xchg $0 + i64.atomic.rmw.xchg drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw8.cmpxchg_u $0 + i32.atomic.rmw8.cmpxchg_u drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw16.cmpxchg_u $0 + i32.atomic.rmw16.cmpxchg_u drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw.cmpxchg $0 + i32.atomic.rmw.cmpxchg drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw8.cmpxchg_u $0 + i64.atomic.rmw8.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw16.cmpxchg_u $0 + i64.atomic.rmw16.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw32.cmpxchg_u $0 + i64.atomic.rmw32.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw.cmpxchg $0 + i64.atomic.rmw.cmpxchg drop ) (func $start:features/threads diff --git a/tests/compiler/features/threads.release.wat b/tests/compiler/features/threads.release.wat index bfc37be431..679c863058 100644 --- a/tests/compiler/features/threads.release.wat +++ b/tests/compiler/features/threads.release.wat @@ -1,535 +1,535 @@ (module - (type $none_=>_none (func)) - (memory $0 (shared 1 10)) + (type $0 (func)) + (memory $0 1 10 shared) (export "memory" (memory $0)) (start $~start) (func $features/threads/testAtomic i32.const 0 - i32.atomic.load8_u $0 + i32.atomic.load8_u drop i32.const 0 - i32.atomic.load16_u $0 + i32.atomic.load16_u drop i32.const 0 - i32.atomic.load $0 + i32.atomic.load drop i32.const 0 - i64.atomic.load8_u $0 + i64.atomic.load8_u drop i32.const 0 - i64.atomic.load16_u $0 + i64.atomic.load16_u drop i32.const 0 - i64.atomic.load32_u $0 + i64.atomic.load32_u drop i32.const 0 - i64.atomic.load $0 + i64.atomic.load drop i32.const 8 - i64.atomic.load $0 + i64.atomic.load drop i32.const 0 i32.const 1 - i32.atomic.store8 $0 + i32.atomic.store8 i32.const 0 i32.const 1 - i32.atomic.store16 $0 + i32.atomic.store16 i32.const 0 i32.const 1 - i32.atomic.store $0 + i32.atomic.store i32.const 0 i64.const 1 - i64.atomic.store8 $0 + i64.atomic.store8 i32.const 0 i64.const 1 - i64.atomic.store16 $0 + i64.atomic.store16 i32.const 0 i64.const 1 - i64.atomic.store32 $0 + i64.atomic.store32 i32.const 0 i64.const 1 - i64.atomic.store $0 + i64.atomic.store i32.const 8 i64.const 1 - i64.atomic.store $0 + i64.atomic.store i32.const 0 i32.const 1 - i32.atomic.rmw8.add_u $0 + i32.atomic.rmw8.add_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.add_u $0 + i32.atomic.rmw16.add_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.add $0 + i32.atomic.rmw.add drop i32.const 0 i64.const 1 - i64.atomic.rmw8.add_u $0 + i64.atomic.rmw8.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.add_u $0 + i64.atomic.rmw16.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.add_u $0 + i64.atomic.rmw32.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.add $0 + i64.atomic.rmw.add drop i32.const 0 i64.const 1 - i64.atomic.rmw.add $0 offset=8 + i64.atomic.rmw.add offset=8 drop i32.const 0 i32.const 1 - i32.atomic.rmw8.sub_u $0 + i32.atomic.rmw8.sub_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.sub_u $0 + i32.atomic.rmw16.sub_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.sub $0 + i32.atomic.rmw.sub drop i32.const 0 i64.const 1 - i64.atomic.rmw8.sub_u $0 + i64.atomic.rmw8.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.sub_u $0 + i64.atomic.rmw16.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.sub_u $0 + i64.atomic.rmw32.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.sub $0 + i64.atomic.rmw.sub drop i32.const 0 i64.const 1 - i64.atomic.rmw.sub $0 offset=8 + i64.atomic.rmw.sub offset=8 drop i32.const 0 i32.const 1 - i32.atomic.rmw8.and_u $0 + i32.atomic.rmw8.and_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.and_u $0 + i32.atomic.rmw16.and_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.and $0 + i32.atomic.rmw.and drop i32.const 0 i64.const 1 - i64.atomic.rmw8.and_u $0 + i64.atomic.rmw8.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.and_u $0 + i64.atomic.rmw16.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.and_u $0 + i64.atomic.rmw32.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.and $0 + i64.atomic.rmw.and drop i32.const 0 i64.const 1 - i64.atomic.rmw.and $0 offset=8 + i64.atomic.rmw.and offset=8 drop i32.const 0 i32.const 1 - i32.atomic.rmw8.or_u $0 + i32.atomic.rmw8.or_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.or_u $0 + i32.atomic.rmw16.or_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.or $0 + i32.atomic.rmw.or drop i32.const 0 i64.const 1 - i64.atomic.rmw8.or_u $0 + i64.atomic.rmw8.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.or_u $0 + i64.atomic.rmw16.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.or_u $0 + i64.atomic.rmw32.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.or $0 + i64.atomic.rmw.or drop i32.const 0 i64.const 1 - i64.atomic.rmw.or $0 offset=8 + i64.atomic.rmw.or offset=8 drop i32.const 0 i32.const 1 - i32.atomic.rmw8.xor_u $0 + i32.atomic.rmw8.xor_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.xor_u $0 + i32.atomic.rmw16.xor_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.xor $0 + i32.atomic.rmw.xor drop i32.const 0 i64.const 1 - i64.atomic.rmw8.xor_u $0 + i64.atomic.rmw8.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.xor_u $0 + i64.atomic.rmw16.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.xor_u $0 + i64.atomic.rmw32.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.xor $0 + i64.atomic.rmw.xor drop i32.const 0 i64.const 1 - i64.atomic.rmw.xor $0 offset=8 + i64.atomic.rmw.xor offset=8 drop i32.const 0 i32.const 1 - i32.atomic.rmw8.xchg_u $0 + i32.atomic.rmw8.xchg_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.xchg_u $0 + i32.atomic.rmw16.xchg_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.xchg $0 + i32.atomic.rmw.xchg drop i32.const 0 i64.const 1 - i64.atomic.rmw8.xchg_u $0 + i64.atomic.rmw8.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.xchg_u $0 + i64.atomic.rmw16.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.xchg_u $0 + i64.atomic.rmw32.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.xchg $0 + i64.atomic.rmw.xchg drop i32.const 0 i64.const 1 - i64.atomic.rmw.xchg $0 offset=8 + i64.atomic.rmw.xchg offset=8 drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw8.cmpxchg_u $0 + i32.atomic.rmw8.cmpxchg_u drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw16.cmpxchg_u $0 + i32.atomic.rmw16.cmpxchg_u drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw.cmpxchg $0 + i32.atomic.rmw.cmpxchg drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw8.cmpxchg_u $0 + i64.atomic.rmw8.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw16.cmpxchg_u $0 + i64.atomic.rmw16.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw32.cmpxchg_u $0 + i64.atomic.rmw32.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw.cmpxchg $0 + i64.atomic.rmw.cmpxchg drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw.cmpxchg $0 offset=8 + i64.atomic.rmw.cmpxchg offset=8 drop ) (func $features/threads/testAtomicAsm i32.const 0 - i32.atomic.load8_u $0 + i32.atomic.load8_u drop i32.const 0 - i32.atomic.load16_u $0 + i32.atomic.load16_u drop i32.const 0 - i32.atomic.load $0 + i32.atomic.load drop i32.const 0 - i64.atomic.load8_u $0 + i64.atomic.load8_u drop i32.const 0 - i64.atomic.load16_u $0 + i64.atomic.load16_u drop i32.const 0 - i64.atomic.load32_u $0 + i64.atomic.load32_u drop i32.const 0 - i64.atomic.load $0 + i64.atomic.load drop i32.const 0 i32.const 1 - i32.atomic.store8 $0 + i32.atomic.store8 i32.const 0 i32.const 1 - i32.atomic.store16 $0 + i32.atomic.store16 i32.const 0 i32.const 1 - i32.atomic.store $0 + i32.atomic.store i32.const 0 i64.const 1 - i64.atomic.store8 $0 + i64.atomic.store8 i32.const 0 i64.const 1 - i64.atomic.store16 $0 + i64.atomic.store16 i32.const 0 i64.const 1 - i64.atomic.store32 $0 + i64.atomic.store32 i32.const 0 i64.const 1 - i64.atomic.store $0 + i64.atomic.store i32.const 0 i32.const 1 - i32.atomic.rmw8.add_u $0 + i32.atomic.rmw8.add_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.add_u $0 + i32.atomic.rmw16.add_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.add $0 + i32.atomic.rmw.add drop i32.const 0 i64.const 1 - i64.atomic.rmw8.add_u $0 + i64.atomic.rmw8.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.add_u $0 + i64.atomic.rmw16.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.add_u $0 + i64.atomic.rmw32.add_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.add $0 + i64.atomic.rmw.add drop i32.const 0 i32.const 1 - i32.atomic.rmw8.sub_u $0 + i32.atomic.rmw8.sub_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.sub_u $0 + i32.atomic.rmw16.sub_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.sub $0 + i32.atomic.rmw.sub drop i32.const 0 i64.const 1 - i64.atomic.rmw8.sub_u $0 + i64.atomic.rmw8.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.sub_u $0 + i64.atomic.rmw16.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.sub_u $0 + i64.atomic.rmw32.sub_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.sub $0 + i64.atomic.rmw.sub drop i32.const 0 i32.const 1 - i32.atomic.rmw8.and_u $0 + i32.atomic.rmw8.and_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.and_u $0 + i32.atomic.rmw16.and_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.and $0 + i32.atomic.rmw.and drop i32.const 0 i64.const 1 - i64.atomic.rmw8.and_u $0 + i64.atomic.rmw8.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.and_u $0 + i64.atomic.rmw16.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.and_u $0 + i64.atomic.rmw32.and_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.and $0 + i64.atomic.rmw.and drop i32.const 0 i32.const 1 - i32.atomic.rmw8.or_u $0 + i32.atomic.rmw8.or_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.or_u $0 + i32.atomic.rmw16.or_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.or $0 + i32.atomic.rmw.or drop i32.const 0 i64.const 1 - i64.atomic.rmw8.or_u $0 + i64.atomic.rmw8.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.or_u $0 + i64.atomic.rmw16.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.or_u $0 + i64.atomic.rmw32.or_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.or $0 + i64.atomic.rmw.or drop i32.const 0 i32.const 1 - i32.atomic.rmw8.xor_u $0 + i32.atomic.rmw8.xor_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.xor_u $0 + i32.atomic.rmw16.xor_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.xor $0 + i32.atomic.rmw.xor drop i32.const 0 i64.const 1 - i64.atomic.rmw8.xor_u $0 + i64.atomic.rmw8.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.xor_u $0 + i64.atomic.rmw16.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.xor_u $0 + i64.atomic.rmw32.xor_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.xor $0 + i64.atomic.rmw.xor drop i32.const 0 i32.const 1 - i32.atomic.rmw8.xchg_u $0 + i32.atomic.rmw8.xchg_u drop i32.const 0 i32.const 1 - i32.atomic.rmw16.xchg_u $0 + i32.atomic.rmw16.xchg_u drop i32.const 0 i32.const 1 - i32.atomic.rmw.xchg $0 + i32.atomic.rmw.xchg drop i32.const 0 i64.const 1 - i64.atomic.rmw8.xchg_u $0 + i64.atomic.rmw8.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw16.xchg_u $0 + i64.atomic.rmw16.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw32.xchg_u $0 + i64.atomic.rmw32.xchg_u drop i32.const 0 i64.const 1 - i64.atomic.rmw.xchg $0 + i64.atomic.rmw.xchg drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw8.cmpxchg_u $0 + i32.atomic.rmw8.cmpxchg_u drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw16.cmpxchg_u $0 + i32.atomic.rmw16.cmpxchg_u drop i32.const 0 i32.const 1 i32.const 2 - i32.atomic.rmw.cmpxchg $0 + i32.atomic.rmw.cmpxchg drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw8.cmpxchg_u $0 + i64.atomic.rmw8.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw16.cmpxchg_u $0 + i64.atomic.rmw16.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw32.cmpxchg_u $0 + i64.atomic.rmw32.cmpxchg_u drop i32.const 0 i64.const 1 i64.const 2 - i64.atomic.rmw.cmpxchg $0 + i64.atomic.rmw.cmpxchg drop ) (func $~start diff --git a/tests/compiler/field-initialization.debug.wat b/tests/compiler/field-initialization.debug.wat index 1ae15dff38..e5375a2469 100644 --- a/tests/compiler/field-initialization.debug.wat +++ b/tests/compiler/field-initialization.debug.wat @@ -1,14 +1,14 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i32 i32 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)) @@ -31,23 +31,23 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33644)) (global $~lib/memory/__heap_base i32 (i32.const 33644)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00f\00i\00e\00l\00d\00-\00i\00n\00i\00t\00i\00a\00l\00i\00z\00a\00t\00i\00o\00n\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00b\00b\00b\00\00\00\00\00\00\00") - (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00c\00c\00\00\00\00\00\00\00\00\00") - (data (i32.const 768) "\1a\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00f\00i\00e\00l\00d\00-\00i\00n\00i\00t\00i\00a\00l\00i\00z\00a\00t\00i\00o\00n\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $10 (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $11 (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00b\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00b\00b\00b\00\00\00\00\00\00\00") + (data $15 (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00c\00c\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 768) "\1a\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -55,12 +55,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -74,7 +74,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -148,7 +148,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -218,11 +218,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -230,7 +230,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -362,7 +362,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -375,7 +375,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -391,34 +391,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -578,7 +578,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -601,7 +601,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -615,7 +615,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -638,7 +638,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -781,7 +781,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -867,7 +867,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -947,7 +947,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -981,7 +981,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1004,7 +1004,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1018,27 +1018,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1063,9 +1068,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1084,7 +1089,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1103,7 +1108,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1117,7 +1121,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1173,12 +1177,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1212,7 +1216,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1233,7 +1237,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1253,7 +1257,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1273,7 +1277,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1299,7 +1303,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1322,9 +1326,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1360,7 +1365,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1626,14 +1631,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1689,7 +1697,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1698,6 +1706,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1727,24 +1755,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1782,7 +1799,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1797,7 +1814,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1842,7 +1859,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1853,7 +1870,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1875,7 +1892,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1898,7 +1915,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1917,22 +1934,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1945,7 +1954,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1972,27 +1981,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2017,7 +2027,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2132,7 +2142,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2152,7 +2162,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2185,12 +2195,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2241,27 +2251,27 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $field-initialization/Value_Init#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $field-initialization/Value_Init#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Value#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $field-initialization/Value#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) @@ -2334,7 +2344,7 @@ (func $field-initialization/Ref_Init#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2342,12 +2352,12 @@ ) (func $field-initialization/Ref_Init#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Nullable_Init#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2355,12 +2365,12 @@ ) (func $field-initialization/Nullable_Init#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Nullable#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2368,39 +2378,39 @@ ) (func $field-initialization/Nullable#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Value_Ctor#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $field-initialization/Value_Ctor#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Value_Init_Ctor#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $field-initialization/Value_Init_Ctor#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Value_Ctor_Init#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $field-initialization/Value_Ctor_Init#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Ref_Init_Ctor#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2408,12 +2418,12 @@ ) (func $field-initialization/Ref_Init_Ctor#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Ref_Ctor_Init#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2421,12 +2431,12 @@ ) (func $field-initialization/Ref_Ctor_Init#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Ref_Ctor_Param#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2434,12 +2444,12 @@ ) (func $field-initialization/Ref_Ctor_Param#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Nullable_Ctor#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2447,12 +2457,12 @@ ) (func $field-initialization/Nullable_Ctor#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Nullable_Init_Ctor#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2460,12 +2470,12 @@ ) (func $field-initialization/Nullable_Init_Ctor#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Nullable_Ctor_Init#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2473,12 +2483,12 @@ ) (func $field-initialization/Nullable_Ctor_Init#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Inherit_Base#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2486,17 +2496,17 @@ ) (func $field-initialization/Inherit_Base#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/SomeObject#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $field-initialization/SomeObject#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.get $b i32.const 0 @@ -2504,15 +2514,15 @@ ) (func $field-initialization/SomeObject#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/SomeObject#get:b (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -2564,9 +2574,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2599,10 +2609,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2630,7 +2640,7 @@ (func $field-initialization/SomeOtherObject#set:c (param $this i32) (param $c i32) local.get $this local.get $c - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $c i32.const 0 @@ -2638,12 +2648,12 @@ ) (func $field-initialization/SomeOtherObject#get:c (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $field-initialization/Flow_Balanced#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2651,12 +2661,12 @@ ) (func $field-initialization/Flow_Balanced#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Ref_Init_InlineCtor#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2664,12 +2674,12 @@ ) (func $field-initialization/Ref_Init_InlineCtor#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $field-initialization/Ref_InlineCtor_Init#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 @@ -2677,7 +2687,7 @@ ) (func $field-initialization/Ref_InlineCtor_Init#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2697,16 +2707,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $field-initialization/Ref_Init~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2714,13 +2719,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Nullable_Init~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2728,13 +2729,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Nullable~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2742,13 +2739,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Ref_Init_Ctor~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2756,13 +2749,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Ref_Ctor_Init~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2770,13 +2759,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Ref_Ctor_Param~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2784,13 +2769,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Nullable_Ctor~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2798,13 +2779,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Nullable_Init_Ctor~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2812,13 +2789,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Nullable_Ctor_Init~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2826,13 +2799,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Inherit~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2845,13 +2814,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Inherit_Ctor~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2864,13 +2829,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 offset=4 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/SomeOtherObject~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2878,13 +2839,9 @@ local.get $1 call $field-initialization/SomeObject~visit local.get $0 - i32.load $0 offset=8 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=8 + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Flow_Balanced~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2892,13 +2849,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Ref_Init_InlineCtor~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2906,13 +2859,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $field-initialization/Ref_InlineCtor_Init~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2920,13 +2869,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2959,7 +2904,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $field-initialization/Value_Init $field-initialization/Value $field-initialization/Ref_Init $field-initialization/Nullable_Init $field-initialization/Nullable $field-initialization/Value_Ctor $field-initialization/Value_Init_Ctor $field-initialization/Value_Ctor_Init $field-initialization/Ref_Init_Ctor $field-initialization/Ref_Ctor_Init $field-initialization/Ref_Ctor_Param $field-initialization/Nullable_Ctor $field-initialization/Nullable_Init_Ctor $field-initialization/Nullable_Ctor_Init $field-initialization/Inherit $field-initialization/Inherit_Base $field-initialization/Inherit_Ctor $field-initialization/SomeObject $field-initialization/SomeOtherObject $field-initialization/Flow_Balanced $field-initialization/Ref_Init_InlineCtor $field-initialization/Ref_InlineCtor_Init $invalid end return @@ -3095,7 +3040,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3104,23 +3049,23 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $field-initialization/Value_Init#set:a @@ -3141,7 +3086,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3150,23 +3095,23 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/Value#set:a @@ -3187,10 +3132,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -3199,23 +3144,23 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 0 @@ -3223,7 +3168,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $field-initialization/Ref_Init#set:a local.get $this @@ -3243,10 +3188,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -3255,23 +3200,23 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 0 @@ -3279,7 +3224,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $field-initialization/Nullable_Init#set:a local.get $this @@ -3299,7 +3244,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3308,23 +3253,23 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/Nullable#set:a @@ -3345,7 +3290,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3354,13 +3299,13 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/Value_Ctor#set:a @@ -3381,7 +3326,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3390,13 +3335,13 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $field-initialization/Value_Init_Ctor#set:a @@ -3417,7 +3362,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3426,13 +3371,13 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/Value_Ctor_Init#set:a @@ -3440,7 +3385,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $field-initialization/Value_Ctor_Init#set:a @@ -3461,10 +3406,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -3473,13 +3418,13 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 0 @@ -3487,7 +3432,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $field-initialization/Ref_Init_Ctor#set:a local.get $this @@ -3507,10 +3452,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -3519,13 +3464,13 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/Ref_Ctor_Init#set:a @@ -3533,7 +3478,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 0 @@ -3541,7 +3486,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $field-initialization/Ref_Ctor_Init#set:a local.get $this @@ -3561,10 +3506,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -3573,19 +3518,19 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $field-initialization/Ref_Ctor_Param#set:a local.get $this @@ -3605,7 +3550,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3614,13 +3559,13 @@ i32.const 15 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/Nullable_Ctor#set:a @@ -3641,10 +3586,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -3653,13 +3598,13 @@ i32.const 16 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 0 @@ -3667,7 +3612,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $field-initialization/Nullable_Init_Ctor#set:a local.get $this @@ -3687,10 +3632,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -3699,13 +3644,13 @@ i32.const 17 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/Nullable_Ctor_Init#set:a @@ -3713,7 +3658,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 0 @@ -3721,7 +3666,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $field-initialization/Nullable_Ctor_Init#set:a local.get $this @@ -3741,10 +3686,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -3753,23 +3698,23 @@ i32.const 19 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 0 @@ -3777,7 +3722,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $field-initialization/Inherit_Base#set:a local.get $this @@ -3797,7 +3742,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3806,18 +3751,18 @@ i32.const 18 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $field-initialization/Inherit_Base#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3835,7 +3780,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3844,18 +3789,18 @@ i32.const 20 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $field-initialization/Inherit_Base#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3873,7 +3818,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3882,23 +3827,23 @@ i32.const 21 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/SomeObject#set:a @@ -3906,7 +3851,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/SomeObject#set:b @@ -3928,7 +3873,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -3966,7 +3911,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -3975,7 +3920,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -3993,14 +3938,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -4023,7 +3968,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4032,23 +3977,23 @@ i32.const 22 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $field-initialization/SomeObject#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $field-initialization/SomeOtherObject#set:c @@ -4069,10 +4014,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -4081,13 +4026,13 @@ i32.const 23 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $field-initialization/Flow_Balanced#set:a @@ -4097,7 +4042,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -4105,7 +4050,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $field-initialization/Flow_Balanced#set:a else @@ -4113,7 +4058,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -4121,7 +4066,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $field-initialization/Flow_Balanced#set:a end @@ -4170,15 +4115,15 @@ (local $33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 148 + i32.const 144 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 148 - memory.fill $0 - memory.size $0 + i32.const 144 + memory.fill + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -4199,12 +4144,12 @@ i32.const 0 call $field-initialization/Value_Init#constructor local.tee $0 - i32.store $0 + i32.store local.get $0 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Value_Init#get:a i32.const 1 @@ -4222,12 +4167,12 @@ i32.const 0 call $field-initialization/Value#constructor local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Value#get:a i32.const 0 @@ -4245,12 +4190,12 @@ i32.const 0 call $field-initialization/Ref_Init#constructor local.tee $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Ref_Init#get:a i32.const 0 @@ -4268,12 +4213,12 @@ i32.const 0 call $field-initialization/Nullable_Init#constructor local.tee $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $3 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Nullable_Init#get:a i32.const 0 @@ -4291,12 +4236,12 @@ i32.const 0 call $field-initialization/Nullable#constructor local.tee $4 - i32.store $0 offset=20 + i32.store offset=20 local.get $4 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Nullable#get:a i32.const 0 @@ -4314,12 +4259,12 @@ i32.const 0 call $field-initialization/Value_Ctor#constructor local.tee $5 - i32.store $0 offset=24 + i32.store offset=24 local.get $5 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Value_Ctor#get:a i32.const 0 @@ -4337,12 +4282,12 @@ i32.const 0 call $field-initialization/Value_Init_Ctor#constructor local.tee $6 - i32.store $0 offset=28 + i32.store offset=28 local.get $6 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Value_Init_Ctor#get:a i32.const 1 @@ -4360,12 +4305,12 @@ i32.const 0 call $field-initialization/Value_Ctor_Init#constructor local.tee $7 - i32.store $0 offset=32 + i32.store offset=32 local.get $7 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Value_Ctor_Init#get:a i32.const 1 @@ -4383,12 +4328,12 @@ i32.const 0 call $field-initialization/Ref_Init_Ctor#constructor local.tee $8 - i32.store $0 offset=36 + i32.store offset=36 local.get $8 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Ref_Init_Ctor#get:a i32.const 0 @@ -4406,12 +4351,12 @@ i32.const 0 call $field-initialization/Ref_Ctor_Init#constructor local.tee $9 - i32.store $0 offset=40 + i32.store offset=40 local.get $9 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Ref_Ctor_Init#get:a i32.const 0 @@ -4430,23 +4375,23 @@ i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $10 - i32.store $0 offset=44 + i32.store offset=44 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $10 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=48 + i32.store offset=4 local.get $34 call $field-initialization/Ref_Ctor_Param#constructor local.tee $11 - i32.store $0 offset=52 + i32.store offset=48 local.get $11 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Ref_Ctor_Param#get:a local.get $10 @@ -4464,12 +4409,12 @@ i32.const 0 call $field-initialization/Nullable_Ctor#constructor local.tee $12 - i32.store $0 offset=56 + i32.store offset=52 local.get $12 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Nullable_Ctor#get:a i32.const 0 @@ -4487,12 +4432,12 @@ i32.const 0 call $field-initialization/Nullable_Init_Ctor#constructor local.tee $13 - i32.store $0 offset=60 + i32.store offset=56 local.get $13 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Nullable_Init_Ctor#get:a i32.const 0 @@ -4510,12 +4455,12 @@ i32.const 0 call $field-initialization/Nullable_Ctor_Init#constructor local.tee $14 - i32.store $0 offset=64 + i32.store offset=60 local.get $14 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Nullable_Ctor_Init#get:a i32.const 0 @@ -4533,12 +4478,12 @@ i32.const 0 call $field-initialization/Inherit#constructor local.tee $15 - i32.store $0 offset=68 + i32.store offset=64 local.get $15 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Inherit_Base#get:a i32.const 0 @@ -4556,12 +4501,12 @@ i32.const 0 call $field-initialization/Inherit_Ctor#constructor local.tee $16 - i32.store $0 offset=72 + i32.store offset=68 local.get $16 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Inherit_Base#get:a i32.const 0 @@ -4580,21 +4525,21 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $17 - i32.store $0 offset=76 + i32.store offset=72 local.get $17 i32.const 0 - i32.store $0 + i32.store local.get $17 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $17 local.tee $18 - i32.store $0 offset=80 + i32.store offset=76 local.get $18 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/SomeObject#get:a i32.const 0 @@ -4612,13 +4557,13 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=48 + i32.store offset=80 local.get $34 call $field-initialization/SomeObject#get:b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 0 call $~lib/string/String.__eq @@ -4636,26 +4581,26 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $19 - i32.store $0 offset=84 + i32.store offset=84 local.get $19 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 1 call $field-initialization/SomeObject#set:a local.get $19 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 local.tee $20 - i32.store $0 offset=88 + i32.store offset=88 local.get $20 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/SomeObject#get:a i32.const 1 @@ -4673,13 +4618,13 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=48 + i32.store offset=80 local.get $34 call $field-initialization/SomeObject#get:b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 0 call $~lib/string/String.__eq @@ -4697,31 +4642,26 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $21 - i32.store $0 offset=92 + i32.store offset=92 local.get $21 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 624 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=48 - local.get $34 call $field-initialization/SomeObject#set:b local.get $21 i32.const 0 - i32.store $0 + i32.store local.get $21 local.tee $22 - i32.store $0 offset=96 + i32.store offset=96 local.get $22 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/SomeObject#get:a i32.const 0 @@ -4739,20 +4679,15 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=100 + i32.store offset=80 local.get $34 call $field-initialization/SomeObject#get:b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 624 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=48 - local.get $34 call $~lib/string/String.__eq i32.eqz if @@ -4768,12 +4703,12 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $23 - i32.store $0 offset=104 + i32.store offset=100 local.get $23 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 2 call $field-initialization/SomeObject#set:a @@ -4781,23 +4716,18 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 656 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=48 - local.get $34 call $field-initialization/SomeObject#set:b local.get $23 local.tee $24 - i32.store $0 offset=108 + i32.store offset=104 local.get $24 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/SomeObject#get:a i32.const 2 @@ -4815,20 +4745,15 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=100 + i32.store offset=80 local.get $34 call $field-initialization/SomeObject#get:b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 656 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=48 - local.get $34 call $~lib/string/String.__eq i32.eqz if @@ -4844,34 +4769,29 @@ i32.const 0 call $field-initialization/SomeOtherObject#constructor local.tee $25 - i32.store $0 offset=112 + i32.store offset=108 local.get $25 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 688 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=48 - local.get $34 call $field-initialization/SomeOtherObject#set:c local.get $25 i32.const 0 - i32.store $0 + i32.store local.get $25 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $25 local.tee $26 - i32.store $0 offset=116 + i32.store offset=112 local.get $26 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/SomeObject#get:a i32.const 0 @@ -4889,13 +4809,13 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=48 + i32.store offset=80 local.get $34 call $field-initialization/SomeObject#get:b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 0 call $~lib/string/String.__eq @@ -4912,20 +4832,15 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=100 + i32.store offset=80 local.get $34 call $field-initialization/SomeOtherObject#get:c local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 688 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=48 - local.get $34 call $~lib/string/String.__eq i32.eqz if @@ -4941,12 +4856,12 @@ i32.const 0 call $field-initialization/SomeOtherObject#constructor local.tee $27 - i32.store $0 offset=120 + i32.store offset=116 local.get $27 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 3 call $field-initialization/SomeObject#set:a @@ -4954,36 +4869,26 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 720 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=48 - local.get $34 call $field-initialization/SomeObject#set:b local.get $27 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 752 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=48 - local.get $34 call $field-initialization/SomeOtherObject#set:c local.get $27 local.tee $28 - i32.store $0 offset=124 + i32.store offset=120 local.get $28 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/SomeObject#get:a i32.const 3 @@ -5001,20 +4906,15 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=100 + i32.store offset=80 local.get $34 call $field-initialization/SomeObject#get:b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 720 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=48 - local.get $34 call $~lib/string/String.__eq i32.eqz if @@ -5029,20 +4929,15 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=100 + i32.store offset=80 local.get $34 call $field-initialization/SomeOtherObject#get:c local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 752 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=48 - local.get $34 call $~lib/string/String.__eq i32.eqz if @@ -5058,12 +4953,12 @@ i32.const 1 call $field-initialization/Flow_Balanced#constructor local.tee $29 - i32.store $0 offset=128 + i32.store offset=124 local.get $29 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Flow_Balanced#get:a i32.const 0 @@ -5088,13 +4983,13 @@ i32.const 24 call $~lib/rt/itcms/__new local.tee $30 - i32.store $0 offset=132 + i32.store offset=128 end local.get $30 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 0 i32.const 0 @@ -5102,17 +4997,17 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=48 + i32.store offset=80 local.get $34 call $field-initialization/Ref_Init_InlineCtor#set:a local.get $30 local.tee $31 - i32.store $0 offset=136 + i32.store offset=132 local.get $31 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Ref_Init_InlineCtor#get:a i32.const 0 @@ -5137,13 +5032,13 @@ i32.const 25 call $~lib/rt/itcms/__new local.tee $32 - i32.store $0 offset=140 + i32.store offset=136 end local.get $32 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 0 call $field-initialization/Ref_InlineCtor_Init#set:a @@ -5151,7 +5046,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 i32.const 0 i32.const 0 @@ -5159,17 +5054,17 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=48 + i32.store offset=80 local.get $34 call $field-initialization/Ref_InlineCtor_Init#set:a local.get $32 local.tee $33 - i32.store $0 offset=144 + i32.store offset=140 local.get $33 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store offset=4 local.get $34 call $field-initialization/Ref_InlineCtor_Init#get:a i32.const 0 @@ -5184,7 +5079,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 148 + i32.const 144 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5197,7 +5092,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -5206,7 +5101,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -5226,7 +5121,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.gt_u @@ -5243,7 +5138,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne diff --git a/tests/compiler/field-initialization.release.wat b/tests/compiler/field-initialization.release.wat index 7900b0fb37..6f87390f7f 100644 --- a/tests/compiler/field-initialization.release.wat +++ b/tests/compiler/field-initialization.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_i32 (func (param 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 $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (result i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) (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)) @@ -20,48 +20,48 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34668)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "L") - (data (i32.const 1448) "\02\00\00\00.\00\00\00f\00i\00e\00l\00d\00-\00i\00n\00i\00t\00i\00a\00l\00i\00z\00a\00t\00i\00o\00n\00.\00t\00s") - (data (i32.const 1516) ",") - (data (i32.const 1528) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1564) "<") - (data (i32.const 1576) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\02\00\00\00\02\00\00\00b") - (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\02\00\00\00\04\00\00\00b\00b") - (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\02\00\00\00\02\00\00\00c") - (data (i32.const 1724) "\1c") - (data (i32.const 1736) "\02\00\00\00\06\00\00\00b\00b\00b") - (data (i32.const 1756) "\1c") - (data (i32.const 1768) "\02\00\00\00\04\00\00\00c\00c") - (data (i32.const 1792) "\1a\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") - (data (i32.const 1832) " \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "L") + (data $8.1 (i32.const 1448) "\02\00\00\00.\00\00\00f\00i\00e\00l\00d\00-\00i\00n\00i\00t\00i\00a\00l\00i\00z\00a\00t\00i\00o\00n\00.\00t\00s") + (data $9 (i32.const 1516) ",") + (data $9.1 (i32.const 1528) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $10 (i32.const 1564) "<") + (data $10.1 (i32.const 1576) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $11 (i32.const 1628) "\1c") + (data $11.1 (i32.const 1640) "\02\00\00\00\02\00\00\00b") + (data $12 (i32.const 1660) "\1c") + (data $12.1 (i32.const 1672) "\02\00\00\00\04\00\00\00b\00b") + (data $13 (i32.const 1692) "\1c") + (data $13.1 (i32.const 1704) "\02\00\00\00\02\00\00\00c") + (data $14 (i32.const 1724) "\1c") + (data $14.1 (i32.const 1736) "\02\00\00\00\06\00\00\00b\00b\00b") + (data $15 (i32.const 1756) "\1c") + (data $15.1 (i32.const 1768) "\02\00\00\00\04\00\00\00c\00c") + (data $16 (i32.const 1792) "\1a\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data $16.1 (i32.const 1832) " \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 + call $~lib/rt/itcms/__visit i32.const 1536 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -71,7 +71,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -89,7 +89,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -106,7 +106,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -120,16 +120,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$241 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34668 @@ -144,10 +144,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$241 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -160,20 +160,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -182,7 +182,7 @@ else local.get $1 i32.const 1792 - i32.load $0 + i32.load i32.gt_u if i32.const 1248 @@ -197,13 +197,13 @@ i32.shl i32.const 1796 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -213,21 +213,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -235,8 +259,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -248,10 +272,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -262,29 +286,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -292,10 +316,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -309,75 +333,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -399,7 +416,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -416,12 +433,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -438,17 +455,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -458,9 +475,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -485,13 +502,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -525,7 +542,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -581,19 +598,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -605,15 +622,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -621,23 +638,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -651,10 +670,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -662,23 +681,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -690,52 +708,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -743,7 +762,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -751,7 +770,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -762,10 +781,10 @@ end i32.const 34672 i32.const 0 - i32.store $0 + i32.store i32.const 36240 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -777,7 +796,7 @@ i32.const 34672 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -795,7 +814,7 @@ i32.const 34672 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -812,9 +831,10 @@ end i32.const 34672 i32.const 36244 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34672 global.set $~lib/rt/tlsf/ROOT @@ -844,7 +864,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -857,19 +877,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -880,7 +900,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -892,7 +912,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -905,12 +925,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -919,7 +935,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -930,26 +946,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -965,7 +981,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -981,7 +997,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1006,14 +1022,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1033,7 +1049,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1048,25 +1063,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1075,12 +1089,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1088,47 +1101,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1139,7 +1154,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1149,7 +1164,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1166,10 +1181,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1185,13 +1200,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1206,7 +1221,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1233,7 +1248,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1245,16 +1260,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1262,8 +1273,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1290,34 +1300,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1325,21 +1361,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1352,12 +1373,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1368,9 +1389,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1380,7 +1402,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1388,14 +1410,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1404,8 +1426,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1414,95 +1436,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1515,89 +1537,116 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $field-initialization/SomeOtherObject - block $field-initialization/SomeObject - block $field-initialization/Value_Ctor_Init - block $field-initialization/Value_Init_Ctor - block $field-initialization/Value_Ctor - block $field-initialization/Value - block $field-initialization/Value_Init - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $field-initialization/Value_Init $field-initialization/Value $folding-inner0 $folding-inner0 $folding-inner0 $field-initialization/Value_Ctor $field-initialization/Value_Init_Ctor $field-initialization/Value_Ctor_Init $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $field-initialization/SomeObject $field-initialization/SomeOtherObject $folding-inner0 $folding-inner0 $folding-inner0 $invalid - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load 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 + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $folding-inner0 + block $invalid + block $field-initialization/SomeOtherObject + block $field-initialization/SomeObject + block $field-initialization/Value_Ctor_Init + block $field-initialization/Value_Init_Ctor + block $field-initialization/Value_Ctor + block $field-initialization/Value + block $field-initialization/Value_Init + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $field-initialization/Value_Init $field-initialization/Value $folding-inner0 $folding-inner0 $folding-inner0 $field-initialization/Value_Ctor $field-initialization/Value_Init_Ctor $field-initialization/Value_Ctor_Init $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $field-initialization/SomeObject $field-initialization/SomeOtherObject $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return end local.get $0 - i32.load $0 offset=8 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit return end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.load offset=4 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + call $~lib/rt/itcms/__visit + return end - return + unreachable end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit ) (func $~start call $start:field-initialization @@ -1620,12 +1669,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.eqz if @@ -1634,34 +1682,30 @@ i32.const 19 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -1669,7 +1713,6 @@ local.get $0 ) (func $field-initialization/SomeObject#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1687,7 +1730,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1696,29 +1739,31 @@ i32.const 21 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=4 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1747,7 +1792,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -1767,55 +1812,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -1836,7 +1883,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$118 loop $while-continue|1 local.get $0 local.tee $3 @@ -1846,17 +1893,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$118 local.get $2 i32.const 2 i32.add @@ -1887,7 +1934,6 @@ ) (func $field-initialization/SomeOtherObject#constructor (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1904,30 +1950,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 22 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $field-initialization/SomeObject#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1938,9 +1985,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 148 + i32.const 144 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1949,11 +1995,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 148 - memory.fill $0 - memory.size $0 + i32.const 144 + memory.fill + memory.size i32.const 16 i32.shl i32.const 34668 @@ -1963,29 +2008,30 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1994,42 +2040,39 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 4 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/object/Object#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -2041,7 +2084,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2050,42 +2093,39 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 5 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/object/Object#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load if i32.const 0 i32.const 1456 @@ -2095,7 +2135,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -2104,56 +2144,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 6 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/object/Object#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $2 - i32.store $0 + i32.store + local.get $1 local.get $2 - if - local.get $1 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -2164,7 +2198,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -2173,56 +2207,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 7 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/object/Object#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $2 - i32.store $0 + i32.store + local.get $1 local.get $2 - if - local.get $1 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -2233,7 +2261,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2242,42 +2270,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 8 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/object/Object#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store local.get $1 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load if i32.const 0 i32.const 1456 @@ -2287,7 +2315,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2296,34 +2324,31 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 9 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load if i32.const 0 i32.const 1456 @@ -2333,7 +2358,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2342,34 +2367,31 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 10 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -2381,7 +2403,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2390,40 +2412,37 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 11 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -2435,7 +2454,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -2444,47 +2463,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 12 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $2 - i32.store $0 + i32.store + local.get $1 local.get $2 - if - local.get $1 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -2495,7 +2509,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -2504,53 +2518,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 13 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store local.get $1 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $2 - i32.store $0 + i32.store + local.get $1 local.get $2 - if - local.get $1 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=40 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -2562,13 +2574,12 @@ end global.get $~lib/memory/__stack_pointer call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 - i32.store $0 offset=44 + local.tee $0 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=48 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2578,47 +2589,41 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 14 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $2 local.get $0 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.store + local.get $2 + local.get $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $0 - i32.store $0 offset=52 + i32.store offset=48 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 local.get $0 - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.load $0 + local.get $2 + i32.load i32.ne if i32.const 0 @@ -2629,7 +2634,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2638,33 +2643,34 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 15 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store local.get $1 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=56 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load if i32.const 0 i32.const 1456 @@ -2674,7 +2680,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -2683,47 +2689,42 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 16 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $2 - i32.store $0 + i32.store + local.get $1 local.get $2 - if - local.get $1 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=60 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -2734,7 +2735,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -2743,53 +2744,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 17 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store local.get $1 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $2 - i32.store $0 + i32.store + local.get $1 local.get $2 - if - local.get $1 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=64 + i32.store offset=60 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -2800,7 +2799,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2809,36 +2808,33 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 18 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $field-initialization/Inherit_Base#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=68 + i32.store offset=64 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -2849,7 +2845,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2858,36 +2854,33 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 20 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $field-initialization/Inherit_Base#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=72 + i32.store offset=68 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -2898,25 +2891,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 0 call $field-initialization/SomeObject#constructor local.tee $1 - i32.store $0 offset=76 + i32.store offset=72 local.get $1 i32.const 0 - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 - i32.store $0 offset=80 + i32.store offset=76 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load if i32.const 0 i32.const 1456 @@ -2926,14 +2918,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=48 - local.get $0 + i32.store offset=80 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/string/String.__eq @@ -2947,28 +2938,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 0 call $field-initialization/SomeObject#constructor local.tee $1 - i32.store $0 offset=84 + i32.store offset=84 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 - i32.store $0 offset=88 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -2980,14 +2970,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=48 - local.get $0 + i32.store offset=80 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/string/String.__eq @@ -3001,34 +2990,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 0 call $field-initialization/SomeObject#constructor local.tee $1 - i32.store $0 offset=92 + i32.store offset=92 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1648 - i32.store $0 offset=48 + i32.store offset=4 local.get $1 i32.const 1648 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1648 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/__link local.get $1 i32.const 0 - i32.store $0 - local.get $0 + i32.store local.get $1 - i32.store $0 offset=96 + i32.store offset=96 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load if i32.const 0 i32.const 1456 @@ -3038,19 +3023,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=100 - local.get $0 + i32.store offset=80 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 - local.tee $1 - i32.store $0 offset=4 + i32.load offset=4 + local.tee $0 + i32.store offset=4 local.get $0 i32.const 1648 - i32.store $0 offset=48 - local.get $1 - i32.const 1648 call $~lib/string/String.__eq i32.eqz if @@ -3062,37 +3043,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 0 call $field-initialization/SomeObject#constructor local.tee $1 - i32.store $0 offset=104 + i32.store offset=100 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1680 - i32.store $0 offset=48 + i32.store offset=4 local.get $1 i32.const 1680 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1680 - call $byn-split-outlined-A$~lib/rt/itcms/__link - local.get $0 + call $~lib/rt/itcms/__link local.get $1 - i32.store $0 offset=108 + i32.store offset=104 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.const 2 i32.ne if @@ -3104,19 +3081,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=100 - local.get $0 + i32.store offset=80 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 - local.tee $1 - i32.store $0 offset=4 + i32.load offset=4 + local.tee $0 + i32.store offset=4 local.get $0 i32.const 1680 - i32.store $0 offset=48 - local.get $1 - i32.const 1680 call $~lib/string/String.__eq i32.eqz if @@ -3128,36 +3101,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer call $field-initialization/SomeOtherObject#constructor local.tee $1 - i32.store $0 offset=112 + i32.store offset=108 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=48 + i32.store offset=4 local.get $1 i32.const 1712 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1712 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/__link local.get $1 i32.const 0 - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 - i32.store $0 offset=116 + i32.store offset=112 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load if i32.const 0 i32.const 1456 @@ -3167,14 +3136,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=48 - local.get $0 + i32.store offset=80 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/string/String.__eq @@ -3188,19 +3156,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=100 - local.get $0 + i32.store offset=80 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=8 - local.tee $1 - i32.store $0 offset=4 + i32.load offset=8 + local.tee $0 + i32.store offset=4 local.get $0 i32.const 1712 - i32.store $0 offset=48 - local.get $1 - i32.const 1712 call $~lib/string/String.__eq i32.eqz if @@ -3212,49 +3176,41 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer call $field-initialization/SomeOtherObject#constructor local.tee $1 - i32.store $0 offset=120 + i32.store offset=116 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1744 - i32.store $0 offset=48 + i32.store offset=4 local.get $1 i32.const 1744 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1744 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 - i32.const 1776 - i32.store $0 offset=48 + i32.store offset=4 local.get $1 i32.const 1776 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1776 - call $byn-split-outlined-A$~lib/rt/itcms/__link - local.get $0 + call $~lib/rt/itcms/__link local.get $1 - i32.store $0 offset=124 + i32.store offset=120 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.const 3 i32.ne if @@ -3266,19 +3222,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=100 - local.get $0 + i32.store offset=80 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 - local.tee $2 - i32.store $0 offset=4 + i32.load offset=4 + local.tee $0 + i32.store offset=4 local.get $0 i32.const 1744 - i32.store $0 offset=48 - local.get $2 - i32.const 1744 call $~lib/string/String.__eq i32.eqz if @@ -3290,19 +3242,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=100 - local.get $0 + i32.store offset=80 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=8 - local.tee $1 - i32.store $0 offset=4 + i32.load offset=8 + local.tee $0 + i32.store offset=4 local.get $0 i32.const 1776 - i32.store $0 offset=48 - local.get $1 - i32.const 1776 call $~lib/string/String.__eq i32.eqz if @@ -3314,7 +3262,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -3323,53 +3271,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 23 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store local.get $1 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $2 - i32.store $0 + i32.store + local.get $1 local.get $2 - if - local.get $1 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=128 + i32.store offset=124 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -3380,37 +3326,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 24 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=132 + i32.store offset=128 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=48 + i32.store offset=80 local.get $1 local.get $2 - i32.store $0 + i32.store + local.get $1 local.get $2 - if - local.get $1 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 + call $~lib/rt/itcms/__link local.get $1 - i32.store $0 offset=136 + i32.store offset=132 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -3421,43 +3363,42 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 25 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=140 + i32.store offset=136 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store local.get $1 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=48 + i32.store offset=80 local.get $1 local.get $2 - i32.store $0 + i32.store + local.get $1 local.get $2 - if - local.get $1 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 + call $~lib/rt/itcms/__link local.get $1 - i32.store $0 offset=144 + i32.store offset=140 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 + i32.load i32.eqz if i32.const 0 @@ -3468,7 +3409,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 148 + i32.const 144 i32.add global.set $~lib/memory/__stack_pointer return @@ -3498,7 +3439,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -3507,7 +3448,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3533,87 +3474,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 1 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store 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) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) ) diff --git a/tests/compiler/field-reference-types.json b/tests/compiler/field-reference-types.json new file mode 100644 index 0000000000..328a6864a7 --- /dev/null +++ b/tests/compiler/field-reference-types.json @@ -0,0 +1,7 @@ +{ + "stderr": [ + "Not implemented: Reference typed fields", + "Not implemented: Reference typed fields", + "EOF" + ] +} diff --git a/tests/compiler/field-reference-types.ts b/tests/compiler/field-reference-types.ts new file mode 100644 index 0000000000..181e62a0ef --- /dev/null +++ b/tests/compiler/field-reference-types.ts @@ -0,0 +1,12 @@ +class Foo { + bar: externref = null; +} + +class Baz { + qux: T; +} + +new Foo(); +new Baz(); + +ERROR("EOF"); diff --git a/tests/compiler/field.debug.wat b/tests/compiler/field.debug.wat index c78c314916..e2ca4b3acc 100644 --- a/tests/compiler/field.debug.wat +++ b/tests/compiler/field.debug.wat @@ -1,14 +1,15 @@ (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_=>_none (func (param i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32 i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i32 i32) (result i32))) + (type $10 (func (param i32 i32 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)) @@ -29,16 +30,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33248)) (global $~lib/memory/__heap_base i32 (i32.const 33248)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 448) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\02A\00\00\02\t\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "\1c\00\00\00\00\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 $9 (i32.const 448) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00\02A\00\00\02\t\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -46,12 +47,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -65,7 +66,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -139,7 +140,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -209,11 +210,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -221,7 +222,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -353,7 +354,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -366,7 +367,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -382,34 +383,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -569,7 +570,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -592,7 +593,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -606,7 +607,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -629,7 +630,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -772,7 +773,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -858,7 +859,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -938,7 +939,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -972,7 +973,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -995,7 +996,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1009,27 +1010,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1054,9 +1060,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1075,7 +1081,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1094,7 +1100,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1108,7 +1113,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1164,12 +1169,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1203,7 +1208,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1224,7 +1229,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1244,7 +1249,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1264,7 +1269,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1290,7 +1295,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1313,9 +1318,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1351,7 +1357,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1617,14 +1623,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1680,7 +1689,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1689,6 +1698,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1718,24 +1747,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1773,7 +1791,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1788,7 +1806,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1833,7 +1851,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1844,7 +1862,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1866,7 +1884,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1889,7 +1907,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1908,22 +1926,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1936,7 +1946,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1963,27 +1973,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2008,7 +2019,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2123,7 +2134,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2143,7 +2154,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2176,12 +2187,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2232,7 +2243,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2247,7 +2258,7 @@ local.get $buffer local.get $data local.get $size - memory.copy $0 $0 + memory.copy end local.get $buffer return @@ -2323,14 +2334,13 @@ (func $field/NoStaticConflict#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store local.get $this local.get $a i32.const 0 call $~lib/rt/itcms/__link ) (func $field/NoStaticConflict.a (param $v i32) - nop ) (func $~lib/rt/itcms/__collect i32.const 0 @@ -2379,7 +2389,7 @@ drop ) (func $start:field - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2414,16 +2424,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $field/NoStaticConflict~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2431,25 +2436,21 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/string/String>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2461,7 +2462,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2483,7 +2484,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $field/NoStaticConflict $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid end return @@ -2533,7 +2534,6 @@ (func $field/NoStaticConflict#constructor (param $this i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2541,10 +2541,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2553,42 +2553,42 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 2 i32.const 5 i32.const 432 call $~lib/rt/__newArray - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 + local.get $2 + i32.store offset=8 + local.get $2 call $field/NoStaticConflict#set:a local.get $this - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 ) (func $field/testNoStaticConflict (local $inst i32) @@ -2600,17 +2600,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 call $field/NoStaticConflict#constructor local.tee $inst - i32.store $0 + i32.store local.get $inst local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $field/NoStaticConflict.a global.get $~lib/memory/__stack_pointer @@ -2630,14 +2630,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $cur @@ -2646,7 +2646,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length_ i32.const 2 @@ -2659,7 +2659,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -2678,7 +2678,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:buffer local.get $cookie @@ -2697,14 +2697,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -2723,7 +2723,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2732,7 +2732,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -2754,7 +2754,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -2765,27 +2765,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/field.release.wat b/tests/compiler/field.release.wat index ba44f6ffdb..415b3934d5 100644 --- a/tests/compiler/field.release.wat +++ b/tests/compiler/field.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (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)) @@ -19,32 +19,32 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34272)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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") - (data (i32.const 1472) "\07\00\00\00 \00\00\00 \00\00\00 ") - (data (i32.const 1496) "\02A\00\00\02\t") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "\1c") + (data $8.1 (i32.const 1448) "\01") + (data $9 (i32.const 1472) "\07\00\00\00 \00\00\00 \00\00\00 ") + (data $9.1 (i32.const 1496) "\02A\00\00\02\t") (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 + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -54,7 +54,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -72,7 +72,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -89,7 +89,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -103,16 +103,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$127 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34272 @@ -127,10 +127,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$127 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -143,20 +143,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -165,7 +165,7 @@ else local.get $1 i32.const 1472 - i32.load $0 + i32.load i32.gt_u if i32.const 1248 @@ -180,13 +180,13 @@ i32.shl i32.const 1476 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -196,21 +196,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -218,8 +242,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -231,10 +255,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -245,29 +269,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -275,10 +299,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -292,75 +316,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -382,7 +399,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -399,12 +416,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -421,17 +438,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -441,9 +458,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -468,13 +485,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -508,7 +525,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -564,19 +581,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -588,15 +605,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -604,23 +621,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -634,10 +653,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -645,23 +664,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -673,52 +691,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -726,7 +745,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -734,7 +753,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -745,10 +764,10 @@ end i32.const 34272 i32.const 0 - i32.store $0 + i32.store i32.const 35840 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -760,7 +779,7 @@ i32.const 34272 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -778,7 +797,7 @@ i32.const 34272 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -795,9 +814,10 @@ end i32.const 34272 i32.const 35844 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34272 global.set $~lib/rt/tlsf/ROOT @@ -827,7 +847,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -840,19 +860,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -863,7 +883,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -875,7 +895,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -888,12 +908,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -902,7 +918,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -913,26 +929,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -948,7 +964,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -964,7 +980,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -989,14 +1005,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1016,7 +1032,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1031,25 +1046,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1058,12 +1072,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1071,47 +1084,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1122,7 +1137,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1132,7 +1147,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1149,10 +1164,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1168,13 +1183,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1189,7 +1204,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1216,7 +1231,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1228,16 +1243,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1245,8 +1256,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1273,34 +1283,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1308,21 +1344,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1335,12 +1356,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1351,9 +1372,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1363,7 +1385,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1371,14 +1393,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1387,8 +1409,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1397,95 +1419,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1498,311 +1520,271 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $start:field - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - memory.size $0 - i32.const 16 - i32.shl - i32.const 34272 + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold + 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 + ) + (func $start:field + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + memory.size + i32.const 16 + i32.shl + i32.const 34272 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1504 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1504 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 4 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=4 - local.get $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1504 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1504 - i32.lt_s - br_if $folding-inner0 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1504 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~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 1504 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1504 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 i32.const 0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.const 1456 i32.const 0 - memory.copy $0 $0 - local.get $3 - local.get $2 - i32.store $0 - i32.const 16 - i32.const 5 call $~lib/rt/itcms/__new - local.tee $3 - local.get $2 - i32.store $0 - local.get $2 - if - local.get $3 - i32.eqz - br_if $folding-inner1 - global.get $~lib/rt/itcms/white - local.get $2 - i32.const 20 - i32.sub - local.tee $4 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $5 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $4 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $5 - i32.const 3 - i32.eq - i32.and - if - local.get $4 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end - local.get $3 - local.get $2 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 - i32.const 0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - i32.eqz - br_if $folding-inner1 - global.get $~lib/rt/itcms/white - local.get $3 - i32.const 20 - i32.sub - local.tee $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $2 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - i32.const 3 - i32.eq - i32.and - if - local.get $2 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|0 - end - end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1504 + 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 0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.const 1456 + i32.const 0 + memory.copy + local.get $3 + i32.store + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $2 + local.get $3 + i32.store + local.get $2 + local.get $3 + call $~lib/rt/itcms/__link + local.get $2 + local.get $3 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + local.get $2 + i32.const 0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|0 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|1 + br $while-continue|0 end end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i64.const 200 - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold - return end - i32.const 34304 - i32.const 34352 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + return end - i32.const 0 - i32.const 1120 - i32.const 295 - i32.const 14 + i32.const 34304 + i32.const 34352 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable ) @@ -1810,75 +1792,37 @@ (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/array/Array - block $~lib/array/Array<~lib/string/String> - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner2 $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid + block $folding-inner1 + block $folding-inner0 + block $invalid + block $~lib/array/Array + block $~lib/array/Array<~lib/string/String> + block $field/NoStaticConflict + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $field/NoStaticConflict $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid + end + return end return end return end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1504 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - local.get $0 - i32.store $0 local.get $0 - i32.load $0 offset=4 - local.set $1 - local.get $2 - local.get $0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $2 - i32.lt_u - if - local.get $1 - i32.load $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end - end - br $folding-inner1 + i32.load + call $~lib/rt/itcms/__visit + return end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1890,62 +1834,78 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + local.tee $3 + if + local.get $3 + call $~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end br $folding-inner1 end - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1504 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + br $folding-inner1 end - i32.const 34304 - i32.const 34352 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return + i32.const 34304 + i32.const 34352 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.store + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~start call $start:field ) - (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 $0 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 - ) ) diff --git a/tests/compiler/for.debug.wat b/tests/compiler/for.debug.wat index d0dfeb7f33..fd03f109f2 100644 --- a/tests/compiler/for.debug.wat +++ b/tests/compiler/for.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (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_=>_i32 (func (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 $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $for/ran (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -29,16 +29,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33240)) (global $~lib/memory/__heap_base i32 (i32.const 33240)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\02\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 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 448) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s\00") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 448) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -114,7 +114,6 @@ i32.const 0 i32.gt_s if - nop local.get $i i32.const 1 i32.sub @@ -434,12 +433,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -453,7 +452,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -527,7 +526,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -597,11 +596,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -609,7 +608,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 256 @@ -741,7 +740,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -754,7 +753,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -770,34 +769,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -957,7 +956,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -980,7 +979,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -994,7 +993,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -1017,7 +1016,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -1160,7 +1159,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -1246,7 +1245,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1326,7 +1325,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1360,7 +1359,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1383,7 +1382,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1397,27 +1396,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 400 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1442,9 +1446,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1463,7 +1467,7 @@ if i32.const 0 i32.const 400 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1482,7 +1486,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1496,7 +1499,7 @@ if i32.const 0 i32.const 400 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1552,12 +1555,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1591,7 +1594,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1612,7 +1615,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1632,7 +1635,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1652,7 +1655,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1678,7 +1681,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1701,9 +1704,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1739,7 +1743,7 @@ if i32.const 0 i32.const 400 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -2005,14 +2009,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -2068,7 +2075,7 @@ if i32.const 64 i32.const 400 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -2077,6 +2084,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -2106,24 +2133,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -2161,7 +2177,7 @@ if i32.const 0 i32.const 400 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -2176,7 +2192,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -2221,7 +2237,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -2232,7 +2248,7 @@ if i32.const 0 i32.const 400 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -2254,7 +2270,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2277,7 +2293,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2296,22 +2312,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2324,7 +2332,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2351,27 +2359,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2396,7 +2405,7 @@ if i32.const 0 i32.const 400 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2511,7 +2520,7 @@ if i32.const 0 i32.const 400 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2531,7 +2540,7 @@ if i32.const 0 i32.const 400 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2564,12 +2573,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2620,7 +2629,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2634,14 +2643,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $i global.get $~lib/memory/__stack_pointer i32.const 0 call $for/Ref#constructor local.tee $ref - i32.store $0 + i32.store loop $for-loop|0 local.get $ref if @@ -2659,7 +2668,7 @@ i32.const 0 call $for/Ref#constructor local.tee $ref - i32.store $0 + i32.store end br $for-loop|0 end @@ -2709,18 +2718,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $i global.get $~lib/memory/__stack_pointer i32.const 0 call $for/Ref#constructor local.tee $ref - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer call $for/getRef local.tee $ref - i32.store $0 + i32.store block $for-break0 loop $for-loop|0 call $for/getRef @@ -2739,7 +2748,7 @@ global.get $~lib/memory/__stack_pointer call $for/getRef local.tee $ref - i32.store $0 + i32.store br $for-loop|0 end end @@ -2966,7 +2975,7 @@ end i32.const 0 global.set $for/ran - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3024,16 +3033,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -3045,7 +3049,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $for/Ref $invalid end return @@ -3088,7 +3092,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3097,18 +3101,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3126,7 +3130,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3135,7 +3139,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/for.release.wat b/tests/compiler/for.release.wat index 851bd7bbe1..4f07612e6c 100644 --- a/tests/compiler/for.release.wat +++ b/tests/compiler/for.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param 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 $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (result i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (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)) @@ -19,31 +19,31 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34264)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s") - (data (i32.const 1068) "<") - (data (i32.const 1080) "\02\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) "<") - (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\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 1324) ",") - (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1404) "<") - (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1472) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\0c\00\00\00f\00o\00r\00.\00t\00s") + (data $1 (i32.const 1068) "<") + (data $1.1 (i32.const 1080) "\02\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 $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1260) "<") + (data $5.1 (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1324) ",") + (data $6.1 (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1404) "<") + (data $8.1 (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1472) "\05\00\00\00 \00\00\00 \00\00\00 \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 1280 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -53,7 +53,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -71,7 +71,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -79,137 +79,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34264 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$128 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34264 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$128 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1152 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1472 + i32.load + i32.gt_u + if + i32.const 1280 + i32.const 1344 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1476 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1472 - i32.load $0 - i32.gt_u - if - i32.const 1280 - i32.const 1344 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1476 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -217,8 +237,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -230,10 +250,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -244,29 +264,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -274,10 +294,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -291,75 +311,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -381,7 +394,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -398,12 +411,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -420,17 +433,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -440,9 +453,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -467,13 +480,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -507,7 +520,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -563,19 +576,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -587,15 +600,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -603,23 +616,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1424 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -633,10 +648,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -644,23 +659,22 @@ if i32.const 0 i32.const 1424 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -672,52 +686,53 @@ if i32.const 0 i32.const 1424 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -725,7 +740,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -733,7 +748,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -744,10 +759,10 @@ end i32.const 34272 i32.const 0 - i32.store $0 + i32.store i32.const 35840 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -759,7 +774,7 @@ i32.const 34272 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -777,7 +792,7 @@ i32.const 34272 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -794,9 +809,10 @@ end i32.const 34272 i32.const 35844 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34272 global.set $~lib/rt/tlsf/ROOT @@ -826,7 +842,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -839,19 +855,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -862,7 +878,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -874,7 +890,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -887,12 +903,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -901,7 +913,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -912,26 +924,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -947,7 +959,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -963,7 +975,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -988,14 +1000,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1015,7 +1027,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1030,25 +1041,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1424 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1057,12 +1067,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1072,7 +1081,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1083,10 +1092,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1098,13 +1107,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1424 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1119,7 +1128,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1134,7 +1143,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1146,16 +1155,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1163,8 +1168,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1186,11 +1190,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1209,12 +1213,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1225,9 +1229,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1236,14 +1241,14 @@ if i32.const 0 i32.const 1424 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1251,7 +1256,7 @@ if i32.const 0 i32.const 1424 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1260,7 +1265,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1276,7 +1281,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1286,7 +1291,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1295,54 +1300,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1355,7 +1360,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $start:for @@ -1598,7 +1603,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34264 @@ -1608,26 +1613,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/pinSpace i32.const 1236 i32.const 1232 - i32.store $0 + i32.store i32.const 1240 i32.const 1232 - i32.store $0 + i32.store i32.const 1232 global.set $~lib/rt/itcms/toSpace i32.const 1380 i32.const 1376 - i32.store $0 + i32.store i32.const 1384 i32.const 1376 - i32.store $0 + i32.store i32.const 1376 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1640,16 +1645,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer call $for/Ref#constructor local.tee $0 - i32.store $0 - loop $for-loop|08 + i32.store + loop $for-loop|05 local.get $0 if local.get $1 @@ -1665,9 +1669,9 @@ global.get $~lib/memory/__stack_pointer call $for/Ref#constructor local.tee $0 - i32.store $0 + i32.store end - br $for-loop|08 + br $for-loop|05 end end local.get $1 @@ -1703,22 +1707,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer call $for/Ref#constructor - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer call $for/Ref#constructor local.tee $0 - i32.store $0 - loop $for-loop|011 + i32.store + loop $for-loop|08 call $for/Ref#constructor if - block $for-break010 + block $for-break06 local.get $1 i32.const 1 i32.add @@ -1728,13 +1731,13 @@ if i32.const 0 local.set $0 - br $for-break010 + br $for-break06 end global.get $~lib/memory/__stack_pointer call $for/Ref#constructor local.tee $0 - i32.store $0 - br $for-loop|011 + i32.store + br $for-loop|08 end end end @@ -1814,7 +1817,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $for/Ref $invalid end return @@ -1824,12 +1827,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1852,19 +1851,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1874,7 +1872,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1882,15 +1880,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1905,23 +1902,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/function-call.debug.wat b/tests/compiler/function-call.debug.wat index 767b8ac545..d533f74061 100644 --- a/tests/compiler/function-call.debug.wat +++ b/tests/compiler/function-call.debug.wat @@ -1,13 +1,14 @@ (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 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 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 $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32) (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $function-call/fnVoid (mut i32) (i32.const 32)) (global $~argumentsLength (mut i32) (i32.const 0)) @@ -35,33 +36,31 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33548)) (global $~lib/memory/__heap_base i32 (i32.const 33548)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00c\00a\00l\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\t\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 736) "\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") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00c\00a\00l\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $11 (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $12 (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $14 (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\t\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 736) "\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") (table $0 9 9 funcref) (elem $0 (i32.const 1) $start:function-call~anonymous|0 $start:function-call~anonymous|1 $start:function-call~anonymous|2 $start:function-call~anonymous|3 $start:function-call~fn2|4 $function-call/Foo#fnVoid $function-call/Foo#fnThis $function-call/Foo#fnRet) (export "memory" (memory $0)) (start $~start) (func $start:function-call~anonymous|0 - nop ) (func $start:function-call~anonymous|1 - nop ) (func $start:function-call~anonymous|2 (param $a i32) (param $b i32) (result i32) local.get $a @@ -82,12 +81,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -101,7 +100,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -175,7 +174,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -245,11 +244,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -257,7 +256,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 448 @@ -389,7 +388,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -402,7 +401,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -418,34 +417,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -605,7 +604,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -628,7 +627,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -642,7 +641,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -665,7 +664,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -808,7 +807,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -894,7 +893,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -974,7 +973,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1008,7 +1007,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1031,7 +1030,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1045,27 +1044,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 592 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1090,9 +1094,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1111,7 +1115,7 @@ if i32.const 0 i32.const 592 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1130,7 +1134,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1144,7 +1147,7 @@ if i32.const 0 i32.const 592 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1200,12 +1203,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1239,7 +1242,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1260,7 +1263,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1280,7 +1283,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1300,7 +1303,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1326,7 +1329,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1349,9 +1352,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1387,7 +1391,7 @@ if i32.const 0 i32.const 592 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1653,14 +1657,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1716,7 +1723,7 @@ if i32.const 256 i32.const 592 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1725,6 +1732,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1754,24 +1781,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1809,7 +1825,7 @@ if i32.const 0 i32.const 592 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1824,7 +1840,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1869,7 +1885,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1880,7 +1896,7 @@ if i32.const 0 i32.const 592 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1902,7 +1918,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1925,7 +1941,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1944,22 +1960,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1972,7 +1980,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1999,27 +2007,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2044,7 +2053,7 @@ if i32.const 0 i32.const 592 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2159,7 +2168,7 @@ if i32.const 0 i32.const 592 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2179,7 +2188,7 @@ if i32.const 0 i32.const 592 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2212,12 +2221,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2268,12 +2277,11 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $function-call/Foo#fnVoid (param $this i32) - nop ) (func $function-call/Foo#fnThis (param $this i32) (result i32) local.get $this @@ -2307,20 +2315,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/function/Function<%28%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2332,7 +2335,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2344,7 +2347,7 @@ ) (func $~lib/function/Function<%28this:i32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28this:i32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2356,7 +2359,7 @@ ) (func $~lib/function/Function<%28this:function-call/Foo%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28this:function-call/Foo%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2368,7 +2371,7 @@ ) (func $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2393,7 +2396,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28this:i32%29=>i32> $function-call/Foo $~lib/function/Function<%28this:function-call/Foo%29=>void> $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32> $invalid end return @@ -2461,7 +2464,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2470,18 +2473,18 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2499,24 +2502,24 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 global.set $~argumentsLength global.get $function-call/fnVoid - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $2) i32.const 0 global.set $~argumentsLength global.get $function-call/faVoid - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $2) i32.const 1 i32.const 2 i32.const 2 global.set $~argumentsLength global.get $function-call/fnRet - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $4) i32.const 3 i32.eq i32.eqz @@ -2533,8 +2536,8 @@ i32.const 2 global.set $~argumentsLength global.get $function-call/faRet - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $4) i32.const 5 i32.eq i32.eqz @@ -2550,8 +2553,8 @@ i32.const 0 global.set $~argumentsLength global.get $function-call/fnThis - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 1 i32.eq i32.eqz @@ -2563,7 +2566,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2587,19 +2590,19 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 global.set $~argumentsLength i32.const 656 - i32.load $0 - call_indirect $0 (type $i32_=>_none) + i32.load + call_indirect (type $3) i32.const 1 i32.const 0 global.set $~argumentsLength i32.const 688 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 1 i32.eq i32.eqz @@ -2615,15 +2618,15 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 i32.const 2 i32.const 2 global.set $~argumentsLength i32.const 720 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) i32.const 3 i32.eq i32.eqz @@ -2649,12 +2652,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28%29=>void>#get:_env local.get $cookie @@ -2673,12 +2676,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env local.get $cookie @@ -2697,12 +2700,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28this:i32%29=>i32>#get:_env local.get $cookie @@ -2721,12 +2724,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28this:function-call/Foo%29=>void>#get:_env local.get $cookie @@ -2745,12 +2748,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32>#get:_env local.get $cookie @@ -2769,7 +2772,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2778,7 +2781,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/function-call.release.wat b/tests/compiler/function-call.release.wat index 5b0f85c5d6..fa80a471b8 100644 --- a/tests/compiler/function-call.release.wat +++ b/tests/compiler/function-call.release.wat @@ -1,13 +1,13 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param 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 $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) + (type $8 (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)) @@ -22,42 +22,41 @@ (global $function-call/foo (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34572)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") - (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\04\00\00\00\08\00\00\00\02") - (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\05\00\00\00\08\00\00\00\03") - (data (i32.const 1132) "<") - (data (i32.const 1144) "\02\00\00\00 \00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00c\00a\00l\00l\00.\00t\00s") - (data (i32.const 1196) "\1c") - (data (i32.const 1208) "\05\00\00\00\08\00\00\00\04") - (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\06\00\00\00\08\00\00\00\05") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\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 1324) "<") - (data (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1452) "<") - (data (i32.const 1464) "\02\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 1516) ",") - (data (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1596) "<") - (data (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\08\00\00\00\08\00\00\00\06") - (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\06\00\00\00\08\00\00\00\07") - (data (i32.const 1724) "\1c") - (data (i32.const 1736) "\t\00\00\00\08\00\00\00\08") - (data (i32.const 1760) "\n\00\00\00 \00\00\00 \00\00\00 ") - (data (i32.const 1792) " ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\04\00\00\00\08\00\00\00\01") + (data $1 (i32.const 1068) "\1c") + (data $1.1 (i32.const 1080) "\04\00\00\00\08\00\00\00\02") + (data $2 (i32.const 1100) "\1c") + (data $2.1 (i32.const 1112) "\05\00\00\00\08\00\00\00\03") + (data $3 (i32.const 1132) "<") + (data $3.1 (i32.const 1144) "\02\00\00\00 \00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00c\00a\00l\00l\00.\00t\00s") + (data $4 (i32.const 1196) "\1c") + (data $4.1 (i32.const 1208) "\05\00\00\00\08\00\00\00\04") + (data $5 (i32.const 1228) "\1c") + (data $5.1 (i32.const 1240) "\06\00\00\00\08\00\00\00\05") + (data $6 (i32.const 1260) "<") + (data $6.1 (i32.const 1272) "\02\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 $7 (i32.const 1324) "<") + (data $7.1 (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $10 (i32.const 1452) "<") + (data $10.1 (i32.const 1464) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $11 (i32.const 1516) ",") + (data $11.1 (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $13 (i32.const 1596) "<") + (data $13.1 (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $14 (i32.const 1660) "\1c") + (data $14.1 (i32.const 1672) "\08\00\00\00\08\00\00\00\06") + (data $15 (i32.const 1692) "\1c") + (data $15.1 (i32.const 1704) "\06\00\00\00\08\00\00\00\07") + (data $16 (i32.const 1724) "\1c") + (data $16.1 (i32.const 1736) "\t\00\00\00\08\00\00\00\08") + (data $17 (i32.const 1760) "\n\00\00\00 \00\00\00 \00\00\00 ") + (data $17.1 (i32.const 1792) " ") (table $0 9 9 funcref) (elem $0 (i32.const 1) $start:function-call~anonymous|0 $start:function-call~anonymous|0 $start:function-call~anonymous|2 $start:function-call~anonymous|2 $start:function-call~fn2|4 $function-call/Foo#fnVoid $start:function-call~fn2|4 $function-call/Foo#fnRet) (export "memory" (memory $0)) (start $~start) (func $start:function-call~anonymous|0 - nop ) (func $start:function-call~anonymous|2 (param $0 i32) (param $1 i32) (result i32) local.get $0 @@ -74,15 +73,15 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1472 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1280 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -92,7 +91,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -110,7 +109,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -118,137 +117,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34572 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$115 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34572 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$115 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1344 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1760 + i32.load + i32.gt_u + if + i32.const 1472 + i32.const 1536 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1764 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1760 - i32.load $0 - i32.gt_u - if - i32.const 1472 - i32.const 1536 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1764 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -256,8 +275,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -269,10 +288,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -283,29 +302,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -313,10 +332,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -330,75 +349,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -420,7 +432,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -437,12 +449,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -459,17 +471,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -479,9 +491,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -506,13 +518,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -546,7 +558,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -602,19 +614,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -626,15 +638,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -642,23 +654,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1616 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -672,10 +686,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -683,23 +697,22 @@ if i32.const 0 i32.const 1616 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -711,52 +724,53 @@ if i32.const 0 i32.const 1616 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -764,7 +778,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -772,7 +786,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -783,10 +797,10 @@ end i32.const 34576 i32.const 0 - i32.store $0 + i32.store i32.const 36144 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -798,7 +812,7 @@ i32.const 34576 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -816,7 +830,7 @@ i32.const 34576 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -833,9 +847,10 @@ end i32.const 34576 i32.const 36148 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34576 global.set $~lib/rt/tlsf/ROOT @@ -865,7 +880,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -878,19 +893,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -901,7 +916,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -913,7 +928,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -926,12 +941,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -940,7 +951,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -951,26 +962,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -986,7 +997,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1002,7 +1013,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1027,14 +1038,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1054,7 +1065,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1069,25 +1079,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1616 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1096,12 +1105,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1111,7 +1119,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1122,10 +1130,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1137,13 +1145,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1616 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1158,7 +1166,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1173,7 +1181,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1185,16 +1193,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1202,8 +1206,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1225,11 +1228,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1248,12 +1251,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1264,9 +1267,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1275,14 +1279,14 @@ if i32.const 0 i32.const 1616 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1290,7 +1294,7 @@ if i32.const 0 i32.const 1616 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1299,7 +1303,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1315,7 +1319,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1325,7 +1329,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1334,54 +1338,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1394,17 +1398,15 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $function-call/Foo#fnVoid (param $0 i32) - nop ) (func $function-call/Foo#fnRet (param $0 i32) (param $1 i32) (param $2 i32) (result i32) i32.const 3 ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $folding-inner0 block $invalid block $function-call/Foo @@ -1415,7 +1417,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $function-call/Foo $folding-inner0 $folding-inner0 $invalid end return @@ -1425,12 +1427,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1453,19 +1451,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1485,18 +1478,18 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1056 - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) i32.const 1088 - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) i32.const 1 i32.const 2 i32.const 1120 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $3) i32.const 3 i32.ne if @@ -1510,8 +1503,8 @@ i32.const 2 i32.const 3 i32.const 1216 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $3) i32.const 5 i32.ne if @@ -1524,10 +1517,10 @@ end i32.const 1 i32.const 1248 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $1) drop - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34572 @@ -1537,26 +1530,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/pinSpace i32.const 1428 i32.const 1424 - i32.store $0 + i32.store i32.const 1432 i32.const 1424 - i32.store $0 + i32.store i32.const 1424 global.set $~lib/rt/itcms/toSpace i32.const 1572 i32.const 1568 - i32.store $0 + i32.store i32.const 1576 i32.const 1568 - i32.store $0 + i32.store i32.const 1568 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1568,19 +1561,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1590,7 +1582,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1598,15 +1590,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1616,26 +1607,26 @@ global.get $~lib/memory/__stack_pointer global.get $function-call/foo local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 1680 - i32.load $0 - call_indirect $0 (type $i32_=>_none) + i32.load + call_indirect (type $2) i32.const 1 i32.const 1712 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $1) drop global.get $~lib/memory/__stack_pointer global.get $function-call/foo local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 1 i32.const 2 i32.const 1744 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $5) i32.const 3 i32.ne if @@ -1659,23 +1650,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/function-expression.debug.wat b/tests/compiler/function-expression.debug.wat index 9e4772b1de..15aa15e36f 100644 --- a/tests/compiler/function-expression.debug.wat +++ b/tests/compiler/function-expression.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_i32 (func (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (result i32))) + (type $4 (func)) + (type $5 (func (param i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $function-expression/f1 (mut i32) (i32.const 32)) (global $~argumentsLength (mut i32) (i32.const 0)) @@ -34,35 +34,35 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33900)) (global $~lib/memory/__heap_base i32 (i32.const 33900)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s\00") - (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 332) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 620) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 688) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 720) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 812) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 864) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 892) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 956) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1020) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1052) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1088) "\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") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s\00") + (data $2 (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 236) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 300) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 332) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 364) "\1c\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 396) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 428) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 460) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $17 (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $18 (i32.const 688) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 720) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $20 (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $21 (i32.const 812) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $22 (i32.const 864) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $23 (i32.const 892) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $24 (i32.const 956) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") + (data $26 (i32.const 1020) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") + (data $27 (i32.const 1052) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") + (data $28 (i32.const 1088) "\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") (table $0 20 20 funcref) (elem $0 (i32.const 1) $start:function-expression~anonymous|0 $start:function-expression~anonymous|1 $start:function-expression~someName|2 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $function-expression/testOmittedReturn1~anonymous|0 $function-expression/testOmittedReturn2~anonymous|0 $function-expression/testOmittedReturn3~anonymous|0 $function-expression/testNullable~anonymous|0 $start:function-expression~anonymous|7~anonymous|0 $start:function-expression~anonymous|7 $function-expression/testLocal~anonymous|0~anonymous|0 $function-expression/testLocal~anonymous|0 $function-expression/testField~anonymous|0~anonymous|0 $function-expression/testField~anonymous|0 $function-expression/semanticallyAnonymous~fnDecl $function-expression/semanticallyAnonymous~fnDecl|0) (export "semanticallyAnonymous" (func $function-expression/semanticallyAnonymous)) @@ -77,7 +77,6 @@ return ) (func $start:function-expression~someName|2 - nop ) (func $start:function-expression~anonymous|3 (result i32) i32.const 1 @@ -93,8 +92,8 @@ i32.const 2 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) return ) (func $start:function-expression~anonymous|5 (param $a i32) (param $$1 i32) (result i32) @@ -155,21 +154,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 global.get $~lib/memory/__stack_pointer i32.const 0 global.set $~argumentsLength global.get $function-expression/globalFunc - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $3) local.tee $0 - i32.store $0 + i32.store i32.const 1 global.set $~argumentsLength local.get $0 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 25 i32.eq i32.eqz @@ -202,25 +201,25 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 544 local.tee $localFunc - i32.store $0 + i32.store i32.const 1 global.get $~lib/memory/__stack_pointer i32.const 0 global.set $~argumentsLength local.get $localFunc - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $3) local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $1 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 25 i32.eq i32.eqz @@ -240,12 +239,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -259,7 +258,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -333,7 +332,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -403,11 +402,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -415,7 +414,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 768 @@ -547,7 +546,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -560,7 +559,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -576,34 +575,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -763,7 +762,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -786,7 +785,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -800,7 +799,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -823,7 +822,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -966,7 +965,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -1052,7 +1051,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1132,7 +1131,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1166,7 +1165,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1189,7 +1188,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1203,27 +1202,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 912 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1248,9 +1252,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1269,7 +1273,7 @@ if i32.const 0 i32.const 912 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1288,7 +1292,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1302,7 +1305,7 @@ if i32.const 0 i32.const 912 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1358,12 +1361,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1397,7 +1400,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1418,7 +1421,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1438,7 +1441,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1458,7 +1461,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1484,7 +1487,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1507,9 +1510,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1545,7 +1549,7 @@ if i32.const 0 i32.const 912 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1811,14 +1815,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1874,7 +1881,7 @@ if i32.const 576 i32.const 912 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1883,6 +1890,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1912,24 +1939,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1967,7 +1983,7 @@ if i32.const 0 i32.const 912 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1982,7 +1998,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -2027,7 +2043,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -2038,7 +2054,7 @@ if i32.const 0 i32.const 912 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -2060,7 +2076,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2083,7 +2099,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2102,22 +2118,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2130,7 +2138,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2157,27 +2165,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2202,7 +2211,7 @@ if i32.const 0 i32.const 912 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2317,7 +2326,7 @@ if i32.const 0 i32.const 912 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2337,7 +2346,7 @@ if i32.const 0 i32.const 912 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2370,12 +2379,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2426,7 +2435,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2501,7 +2510,7 @@ (func $function-expression/FieldClass#set:fieldFunc (param $this i32) (param $fieldFunc i32) local.get $this local.get $fieldFunc - i32.store $0 + i32.store local.get $this local.get $fieldFunc i32.const 0 @@ -2515,7 +2524,7 @@ ) (func $function-expression/FieldClass#get:fieldFunc (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $function-expression/semanticallyAnonymous~fnDecl (param $val i32) (result i32) local.get $val @@ -2534,11 +2543,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 1040 local.tee $fnDecl - i32.store $0 + i32.store local.get $fnDecl drop local.get $fnDecl @@ -2573,20 +2582,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/function/Function<%28i32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2598,7 +2602,7 @@ ) (func $~lib/function/Function<%28%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2610,7 +2614,7 @@ ) (func $~lib/function/Function<%28%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2622,7 +2626,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2634,7 +2638,7 @@ ) (func $~lib/function/Function<%28%29=>%28i32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28%29=>%28i32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2650,13 +2654,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2673,7 +2673,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $~lib/function/Function<%28%29=>void> $~lib/function/Function<%28%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28%29=>%28i32%29=>i32> $function-expression/FieldClass $invalid end return @@ -2744,10 +2744,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2756,19 +2756,19 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $fieldFunc local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $function-expression/FieldClass#set:fieldFunc local.get $this @@ -2784,27 +2784,27 @@ (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 1008 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $function-expression/FieldClass#constructor local.tee $fieldInst - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.get $~lib/memory/__stack_pointer i32.const 0 @@ -2813,18 +2813,18 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $2 call $function-expression/FieldClass#get:fieldFunc - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $3) local.tee $1 - i32.store $0 offset=12 + i32.store offset=8 i32.const 1 global.set $~argumentsLength local.get $1 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 25 i32.eq i32.eqz @@ -2837,7 +2837,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -2850,13 +2850,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 i32.const 1 global.set $~argumentsLength global.get $function-expression/f1 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 1 i32.eq i32.eqz @@ -2872,8 +2872,8 @@ i32.const 1 global.set $~argumentsLength global.get $function-expression/f2 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 2 i32.eq i32.eqz @@ -2888,13 +2888,13 @@ i32.const 0 global.set $~argumentsLength global.get $function-expression/f3 - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $4) i32.const 0 global.set $~argumentsLength global.get $function-expression/f4 - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $3) i32.const 1 i32.eq i32.eqz @@ -2910,7 +2910,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $function-expression/testOmitted i32.const 3 @@ -2928,7 +2928,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $function-expression/testOmitted i32.const 1 @@ -2946,7 +2946,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $function-expression/testOmitted i32.const 42 @@ -2965,8 +2965,8 @@ i32.const 2 global.set $~argumentsLength call $function-expression/testOmittedReturn1 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 3 i32.eq i32.eqz @@ -2983,8 +2983,8 @@ i32.const 2 global.set $~argumentsLength call $function-expression/testOmittedReturn2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 1 i32.eq i32.eqz @@ -3001,8 +3001,8 @@ i32.const 2 global.set $~argumentsLength call $function-expression/testOmittedReturn3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 42 i32.eq i32.eqz @@ -3029,7 +3029,7 @@ end call $function-expression/testGlobal call $function-expression/testLocal - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3062,12 +3062,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%29=>i32>#get:_env local.get $cookie @@ -3086,12 +3086,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28%29=>void>#get:_env local.get $cookie @@ -3110,12 +3110,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28%29=>i32>#get:_env local.get $cookie @@ -3134,12 +3134,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env local.get $cookie @@ -3158,12 +3158,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28%29=>%28i32%29=>i32>#get:_env local.get $cookie @@ -3183,11 +3183,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 448 local.tee $myFunc - i32.store $0 + i32.store local.get $myFunc local.set $1 global.get $~lib/memory/__stack_pointer @@ -3207,11 +3207,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 512 local.tee $myFunc - i32.store $0 + i32.store local.get $myFunc local.set $1 global.get $~lib/memory/__stack_pointer @@ -3231,11 +3231,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 976 local.tee $myFunc - i32.store $0 + i32.store local.get $myFunc local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/function-expression.release.wat b/tests/compiler/function-expression.release.wat index d6f33c3c79..9272f39796 100644 --- a/tests/compiler/function-expression.release.wat +++ b/tests/compiler/function-expression.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $0 (func (result i32))) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func)) + (type $4 (func (param i32))) + (type $5 (func (param i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) (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)) @@ -20,57 +20,57 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34924)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") - (data (i32.const 1068) "<") - (data (i32.const 1080) "\02\00\00\00,\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s") - (data (i32.const 1132) "\1c") - (data (i32.const 1144) "\04\00\00\00\08\00\00\00\02") - (data (i32.const 1164) "\1c") - (data (i32.const 1176) "\05\00\00\00\08\00\00\00\03") - (data (i32.const 1196) "\1c") - (data (i32.const 1208) "\06\00\00\00\08\00\00\00\04") - (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\07\00\00\00\08\00\00\00\05") - (data (i32.const 1260) "\1c") - (data (i32.const 1272) "\07\00\00\00\08\00\00\00\06") - (data (i32.const 1292) "\1c") - (data (i32.const 1304) "\07\00\00\00\08\00\00\00\07") - (data (i32.const 1324) "\1c") - (data (i32.const 1336) "\07\00\00\00\08\00\00\00\08") - (data (i32.const 1356) "\1c") - (data (i32.const 1368) "\07\00\00\00\08\00\00\00\t") - (data (i32.const 1388) "\1c") - (data (i32.const 1400) "\07\00\00\00\08\00\00\00\n") - (data (i32.const 1420) "\1c") - (data (i32.const 1432) "\06\00\00\00\08\00\00\00\0b") - (data (i32.const 1452) "\1c") - (data (i32.const 1464) "\04\00\00\00\08\00\00\00\0c") - (data (i32.const 1484) "\1c") - (data (i32.const 1496) "\08\00\00\00\08\00\00\00\r") - (data (i32.const 1516) "\1c") - (data (i32.const 1528) "\04\00\00\00\08\00\00\00\0e") - (data (i32.const 1548) "\1c") - (data (i32.const 1560) "\08\00\00\00\08\00\00\00\0f") - (data (i32.const 1580) "<") - (data (i32.const 1592) "\02\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 1644) "<") - (data (i32.const 1656) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1772) "<") - (data (i32.const 1784) "\02\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 1836) ",") - (data (i32.const 1848) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1916) "<") - (data (i32.const 1928) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1980) "\1c") - (data (i32.const 1992) "\04\00\00\00\08\00\00\00\10") - (data (i32.const 2012) "\1c") - (data (i32.const 2024) "\08\00\00\00\08\00\00\00\11") - (data (i32.const 2044) "\1c") - (data (i32.const 2056) "\04\00\00\00\08\00\00\00\12") - (data (i32.const 2076) "\1c") - (data (i32.const 2088) "\04\00\00\00\08\00\00\00\13") - (data (i32.const 2112) "\n\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\04\00\00\00\08\00\00\00\01") + (data $1 (i32.const 1068) "<") + (data $1.1 (i32.const 1080) "\02\00\00\00,\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s") + (data $2 (i32.const 1132) "\1c") + (data $2.1 (i32.const 1144) "\04\00\00\00\08\00\00\00\02") + (data $3 (i32.const 1164) "\1c") + (data $3.1 (i32.const 1176) "\05\00\00\00\08\00\00\00\03") + (data $4 (i32.const 1196) "\1c") + (data $4.1 (i32.const 1208) "\06\00\00\00\08\00\00\00\04") + (data $5 (i32.const 1228) "\1c") + (data $5.1 (i32.const 1240) "\07\00\00\00\08\00\00\00\05") + (data $6 (i32.const 1260) "\1c") + (data $6.1 (i32.const 1272) "\07\00\00\00\08\00\00\00\06") + (data $7 (i32.const 1292) "\1c") + (data $7.1 (i32.const 1304) "\07\00\00\00\08\00\00\00\07") + (data $8 (i32.const 1324) "\1c") + (data $8.1 (i32.const 1336) "\07\00\00\00\08\00\00\00\08") + (data $9 (i32.const 1356) "\1c") + (data $9.1 (i32.const 1368) "\07\00\00\00\08\00\00\00\t") + (data $10 (i32.const 1388) "\1c") + (data $10.1 (i32.const 1400) "\07\00\00\00\08\00\00\00\n") + (data $11 (i32.const 1420) "\1c") + (data $11.1 (i32.const 1432) "\06\00\00\00\08\00\00\00\0b") + (data $12 (i32.const 1452) "\1c") + (data $12.1 (i32.const 1464) "\04\00\00\00\08\00\00\00\0c") + (data $13 (i32.const 1484) "\1c") + (data $13.1 (i32.const 1496) "\08\00\00\00\08\00\00\00\r") + (data $14 (i32.const 1516) "\1c") + (data $14.1 (i32.const 1528) "\04\00\00\00\08\00\00\00\0e") + (data $15 (i32.const 1548) "\1c") + (data $15.1 (i32.const 1560) "\08\00\00\00\08\00\00\00\0f") + (data $16 (i32.const 1580) "<") + (data $16.1 (i32.const 1592) "\02\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 $17 (i32.const 1644) "<") + (data $17.1 (i32.const 1656) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $20 (i32.const 1772) "<") + (data $20.1 (i32.const 1784) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $21 (i32.const 1836) ",") + (data $21.1 (i32.const 1848) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $23 (i32.const 1916) "<") + (data $23.1 (i32.const 1928) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $24 (i32.const 1980) "\1c") + (data $24.1 (i32.const 1992) "\04\00\00\00\08\00\00\00\10") + (data $25 (i32.const 2012) "\1c") + (data $25.1 (i32.const 2024) "\08\00\00\00\08\00\00\00\11") + (data $26 (i32.const 2044) "\1c") + (data $26.1 (i32.const 2056) "\04\00\00\00\08\00\00\00\12") + (data $27 (i32.const 2076) "\1c") + (data $27.1 (i32.const 2088) "\04\00\00\00\08\00\00\00\13") + (data $28 (i32.const 2112) "\n\00\00\00 \00\00\00 \00\00\00 ") (table $0 20 20 funcref) (elem $0 (i32.const 1) $start:function-expression~anonymous|0 $start:function-expression~anonymous|0 $start:function-expression~someName|2 $start:function-expression~anonymous|3 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $start:function-expression~anonymous|4 $start:function-expression~anonymous|5 $start:function-expression~anonymous|6 $start:function-expression~anonymous|3 $start:function-expression~anonymous|7~anonymous|0 $start:function-expression~anonymous|7 $start:function-expression~anonymous|7~anonymous|0 $function-expression/testLocal~anonymous|0 $start:function-expression~anonymous|7~anonymous|0 $function-expression/testField~anonymous|0 $start:function-expression~anonymous|0 $start:function-expression~anonymous|0) (export "semanticallyAnonymous" (func $function-expression/semanticallyAnonymous)) @@ -80,7 +80,6 @@ local.get $0 ) (func $start:function-expression~someName|2 - nop ) (func $start:function-expression~anonymous|3 (result i32) i32.const 1 @@ -103,12 +102,12 @@ (local $0 i32) (local $1 i32) i32.const 1792 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1600 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -118,7 +117,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -136,7 +135,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -153,7 +152,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -167,16 +166,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$133 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34924 @@ -191,10 +190,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$133 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -207,20 +206,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -229,7 +228,7 @@ else local.get $1 i32.const 2112 - i32.load $0 + i32.load i32.gt_u if i32.const 1792 @@ -244,13 +243,13 @@ i32.shl i32.const 2116 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -260,21 +259,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -282,8 +305,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -295,10 +318,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -309,29 +332,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -339,10 +362,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -356,75 +379,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -446,7 +462,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -463,12 +479,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -485,17 +501,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -505,9 +521,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -532,13 +548,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -572,7 +588,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -628,19 +644,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -652,15 +668,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -668,23 +684,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1936 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -698,10 +716,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -709,23 +727,22 @@ if i32.const 0 i32.const 1936 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -737,52 +754,53 @@ if i32.const 0 i32.const 1936 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -790,7 +808,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -798,7 +816,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -809,10 +827,10 @@ end i32.const 34928 i32.const 0 - i32.store $0 + i32.store i32.const 36496 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -824,7 +842,7 @@ i32.const 34928 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -842,7 +860,7 @@ i32.const 34928 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -859,9 +877,10 @@ end i32.const 34928 i32.const 36500 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34928 global.set $~lib/rt/tlsf/ROOT @@ -891,7 +910,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -904,19 +923,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -927,7 +946,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -939,7 +958,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -952,12 +971,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -966,7 +981,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -977,26 +992,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1012,7 +1027,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1028,7 +1043,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1053,14 +1068,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1080,7 +1095,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1095,25 +1109,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1936 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1122,12 +1135,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1137,7 +1149,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1148,10 +1160,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1163,13 +1175,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1936 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1184,7 +1196,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1199,7 +1211,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$71 i32.const 2048 local.set $0 loop $do-loop|0 @@ -1211,16 +1223,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$71 end local.get $0 i32.const 0 @@ -1228,8 +1236,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1251,11 +1258,11 @@ local.tee $0 i32.eqz if - memory.size $0 + memory.size local.tee $0 i32.const 4 local.get $1 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $0 i32.const 16 i32.shl @@ -1274,12 +1281,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1290,9 +1297,10 @@ local.get $0 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $1 call $~lib/rt/tlsf/searchBlock @@ -1301,14 +1309,14 @@ if i32.const 0 i32.const 1936 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1316,7 +1324,7 @@ if i32.const 0 i32.const 1936 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1325,7 +1333,7 @@ local.get $0 call $~lib/rt/tlsf/removeBlock local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const -4 i32.and @@ -1341,7 +1349,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $0 i32.const 32 i32.add @@ -1351,7 +1359,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock @@ -1360,54 +1368,54 @@ local.get $2 i32.const -2 i32.and - i32.store $0 + i32.store local.get $0 i32.const 4 i32.add local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $1 local.get $1 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $0 i32.const 9 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 4 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1419,11 +1427,10 @@ i32.add local.tee $0 i32.const 0 - i32.store $0 align=1 + i32.store align=1 local.get $0 ) (func $function-expression/semanticallyAnonymous - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1440,81 +1447,76 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2064 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $invalid + block $folding-inner0 + block $invalid + block $function-expression/FieldClass + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $function-expression/FieldClass $invalid + end + return end return end return end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit return end - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2156 - i32.lt_s - if - i32.const 34944 - i32.const 34992 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.tee $0 - if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.load + call $~lib/rt/itcms/__visit + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - return + unreachable end - local.get $0 - i32.load $0 - local.tee $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 2156 + i32.lt_s if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~start call $start:function-expression @@ -1534,11 +1536,11 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 i32.const 1056 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 1 i32.ne if @@ -1551,8 +1553,8 @@ end i32.const 2 i32.const 1152 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 2 i32.ne if @@ -1564,11 +1566,11 @@ unreachable end i32.const 1184 - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $3) i32.const 1216 - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $0) i32.const 1 i32.ne if @@ -1581,12 +1583,12 @@ end global.get $~lib/memory/__stack_pointer i32.const 1248 - i32.store $0 + i32.store i32.const 1 i32.const 2 i32.const 1248 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.const 3 i32.ne if @@ -1599,12 +1601,12 @@ end global.get $~lib/memory/__stack_pointer i32.const 1280 - i32.store $0 + i32.store i32.const 1 i32.const 2 i32.const 1280 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.const 1 i32.ne if @@ -1617,12 +1619,12 @@ end global.get $~lib/memory/__stack_pointer i32.const 1312 - i32.store $0 + i32.store i32.const 1 i32.const 2 i32.const 1312 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.const 42 i32.ne if @@ -1636,8 +1638,8 @@ i32.const 1 i32.const 2 i32.const 1344 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.const 3 i32.ne if @@ -1651,8 +1653,8 @@ i32.const 1 i32.const 2 i32.const 1376 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.const 1 i32.ne if @@ -1666,8 +1668,8 @@ i32.const 1 i32.const 2 i32.const 1408 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.const 42 i32.ne if @@ -1687,19 +1689,18 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1504 - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $0) local.tee $0 - i32.store $0 + i32.store i32.const 1 local.get $0 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 25 i32.ne if @@ -1723,22 +1724,21 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 1568 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1568 - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $0) local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 local.get $0 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 25 i32.ne if @@ -1753,7 +1753,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34924 @@ -1763,30 +1763,30 @@ global.set $~lib/rt/itcms/threshold i32.const 1716 i32.const 1712 - i32.store $0 + i32.store i32.const 1720 i32.const 1712 - i32.store $0 + i32.store i32.const 1712 global.set $~lib/rt/itcms/pinSpace i32.const 1748 i32.const 1744 - i32.store $0 + i32.store i32.const 1752 i32.const 1744 - i32.store $0 + i32.store i32.const 1744 global.set $~lib/rt/itcms/toSpace i32.const 1892 i32.const 1888 - i32.store $0 + i32.store i32.const 1896 i32.const 1888 - i32.store $0 + i32.store i32.const 1888 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1794,16 +1794,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 2032 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -1812,26 +1812,24 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 2032 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2032 - i32.store $0 + i32.store local.get $1 i32.eqz if @@ -1844,7 +1842,7 @@ end global.get $~lib/rt/itcms/white i32.const 2016 - i32.load $0 + i32.load i32.const 3 i32.and i32.eq @@ -1852,10 +1850,10 @@ local.get $1 i32.const 20 i32.sub - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and - local.tee $2 + local.tee $0 global.get $~lib/rt/itcms/white i32.eqz i32.eq @@ -1866,7 +1864,7 @@ global.get $~lib/rt/itcms/state i32.const 1 i32.eq - local.get $2 + local.get $0 i32.const 3 i32.eq i32.and @@ -1880,23 +1878,22 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + i32.load + call_indirect (type $0) local.tee $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 1 local.get $0 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 25 i32.ne if @@ -1908,7 +1905,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer call $function-expression/semanticallyAnonymous @@ -1926,7 +1923,6 @@ unreachable ) (func $start:function-expression~anonymous|7 (result i32) - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1943,20 +1939,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1472 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 1472 ) (func $function-expression/testLocal~anonymous|0 (result i32) - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1973,20 +1967,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1536 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 1536 ) (func $function-expression/testField~anonymous|0 (result i32) - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2003,35 +1995,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2000 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 2000 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/function-inline-regressions.debug.wat b/tests/compiler/function-inline-regressions.debug.wat index d8e8863181..8d0f3aa3af 100644 --- a/tests/compiler/function-inline-regressions.debug.wat +++ b/tests/compiler/function-inline-regressions.debug.wat @@ -1,9 +1,9 @@ (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 $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (result i32))) + (type $4 (func (param i32 i32 i32) (result i32))) (global $function-inline-regressions/struct i32 (i32.const 0)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) @@ -26,28 +26,28 @@ i32.mul local.get $b i32.add - i32.load $0 + i32.load return ) (func $function-inline-regressions/loadZ (result i32) i32.const 16 - i32.load $0 + i32.load return ) (func $function-inline-regressions/Struct#set:v0 (param $this i32) (param $v0 i32) local.get $this local.get $v0 - i32.store $0 + i32.store ) (func $function-inline-regressions/Struct#set:v1 (param $this i32) (param $v1 i32) local.get $this local.get $v1 - i32.store $0 offset=4 + i32.store offset=4 ) (func $function-inline-regressions/Struct#set:v2 (param $this i32) (param $v2 i32) local.get $this local.get $v2 - i32.store $0 offset=8 + i32.store offset=8 ) (func $function-inline-regressions/foo (param $v0 i32) (param $v1 i32) (param $v2 i32) (result i32) (local $x i32) diff --git a/tests/compiler/function-inline-regressions.release.wat b/tests/compiler/function-inline-regressions.release.wat index 677c473797..8fb2f2a946 100644 --- a/tests/compiler/function-inline-regressions.release.wat +++ b/tests/compiler/function-inline-regressions.release.wat @@ -1,6 +1,6 @@ (module - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32))) + (type $1 (func (param i32 i32 i32) (result i32))) (memory $0 0) (export "baz" (func $function-inline-regressions/baz)) (export "foo" (func $function-inline-regressions/foo)) @@ -17,11 +17,11 @@ i32.const 1 i32.shl local.tee $3 - i32.load $0 offset=1 + i32.load offset=1 local.get $3 - i32.load $0 + i32.load i32.const 16 - i32.load $0 + i32.load local.tee $3 i32.add i32.add @@ -30,13 +30,13 @@ end i32.const 0 local.get $0 - i32.store $0 + i32.store i32.const 4 local.get $1 - i32.store $0 + i32.store i32.const 8 local.get $2 - i32.store $0 + i32.store local.get $3 ) ) diff --git a/tests/compiler/function-types.debug.wat b/tests/compiler/function-types.debug.wat index b4a07cb3f9..06b04a6227 100644 --- a/tests/compiler/function-types.debug.wat +++ b/tests/compiler/function-types.debug.wat @@ -1,11 +1,11 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (result i32))) + (type $2 (func (param i32 i32 i32) (result i32))) + (type $3 (func)) + (type $4 (func (param i64 i64) (result i64))) + (type $5 (func (param f64 f64) (result f64))) + (type $6 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $function-types/i32Adder (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) @@ -14,11 +14,11 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32972)) (global $~lib/memory/__heap_base i32 (i32.const 32972)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") (table $0 5 5 funcref) (elem $0 (i32.const 1) $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/addI32) (export "memory" (memory $0)) @@ -59,8 +59,8 @@ i32.const 2 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) return ) (func $function-types/doAdd (param $a i32) (param $b i32) (result i32) @@ -69,8 +69,8 @@ i32.const 2 global.set $~argumentsLength call $function-types/makeAdder - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) return ) (func $function-types/addI32 (param $a i32) (param $b i32) (result i32) @@ -85,8 +85,8 @@ i32.const 2 global.set $~argumentsLength local.get $adder - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) return ) (func $~start @@ -114,7 +114,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $1of1 block $0of1 block $outOfRange @@ -128,7 +128,7 @@ global.get $~lib/memory/__stack_pointer call $function-types/makeAdder local.tee $adder - i32.store $0 + i32.store end local.get $a local.get $b @@ -136,7 +136,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 call $function-types/makeAndAdd local.set $3 @@ -155,7 +155,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store call $function-types/makeAdder global.set $function-types/i32Adder i32.const 1 @@ -163,8 +163,8 @@ i32.const 2 global.set $~argumentsLength global.get $function-types/i32Adder - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 3 i32.eq i32.eqz @@ -183,8 +183,8 @@ i32.const 2 global.set $~argumentsLength global.get $function-types/i64Adder - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i64) + i32.load + call_indirect (type $4) i64.const 30 i64.eq i32.eqz @@ -201,8 +201,8 @@ i32.const 2 global.set $~argumentsLength call $function-types/makeAdder - i32.load $0 - call_indirect $0 (type $f64_f64_=>_f64) + i32.load + call_indirect (type $5) f64.const 4 f64.eq i32.eqz @@ -220,7 +220,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $function-types/doAddWithFn i32.const 5 @@ -254,7 +254,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $function-types/doAddWithFn i32.const 9 @@ -291,7 +291,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $function-types/makeAndAdd i32.const 3 diff --git a/tests/compiler/function-types.release.wat b/tests/compiler/function-types.release.wat index 896541fa7a..726e8230ce 100644 --- a/tests/compiler/function-types.release.wat +++ b/tests/compiler/function-types.release.wat @@ -1,24 +1,23 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i64 i64) (result i64))) + (type $2 (func (param f64 f64) (result f64))) + (type $3 (func (param i32 i32 i32 i32))) + (type $4 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $function-types/i32Adder (mut i32) (i32.const 0)) - (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33996)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") - (data (i32.const 1068) "<") - (data (i32.const 1080) "\02\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s") - (data (i32.const 1132) "\1c") - (data (i32.const 1144) "\05\00\00\00\08\00\00\00\02") - (data (i32.const 1164) "\1c") - (data (i32.const 1176) "\06\00\00\00\08\00\00\00\03") - (data (i32.const 1196) "\1c") - (data (i32.const 1208) "\04\00\00\00\08\00\00\00\04") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\04\00\00\00\08\00\00\00\01") + (data $1 (i32.const 1068) "<") + (data $1.1 (i32.const 1080) "\02\00\00\00\"\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00-\00t\00y\00p\00e\00s\00.\00t\00s") + (data $2 (i32.const 1132) "\1c") + (data $2.1 (i32.const 1144) "\05\00\00\00\08\00\00\00\02") + (data $3 (i32.const 1164) "\1c") + (data $3.1 (i32.const 1176) "\06\00\00\00\08\00\00\00\03") + (data $4 (i32.const 1196) "\1c") + (data $4.1 (i32.const 1208) "\04\00\00\00\08\00\00\00\04") (table $0 5 5 funcref) (elem $0 (i32.const 1) $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0 $function-types/makeAdder~anonymous|0) (export "memory" (memory $0)) @@ -36,7 +35,6 @@ ) (func $~start (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -48,16 +46,14 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1056 global.set $function-types/i32Adder - i32.const 2 - global.set $~argumentsLength i32.const 1 i32.const 2 i32.const 1056 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 3 i32.ne if @@ -68,13 +64,11 @@ call $~lib/builtins/abort unreachable end - i32.const 2 - global.set $~argumentsLength i64.const 10 i64.const 20 i32.const 1152 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i64) + i32.load + call_indirect (type $1) i64.const 30 i64.ne if @@ -85,13 +79,11 @@ call $~lib/builtins/abort unreachable end - i32.const 2 - global.set $~argumentsLength f64.const 1.5 f64.const 2.5 i32.const 1184 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_f64) + i32.load + call_indirect (type $2) f64.const 4 f64.ne if @@ -104,15 +96,13 @@ end global.get $~lib/memory/__stack_pointer global.get $function-types/i32Adder - local.tee $1 - i32.store $0 - i32.const 2 - global.set $~argumentsLength + local.tee $0 + i32.store i32.const 2 i32.const 3 - local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.get $0 + i32.load + call_indirect (type $0) i32.const 5 i32.ne if @@ -123,13 +113,11 @@ call $~lib/builtins/abort unreachable end - i32.const 2 - global.set $~argumentsLength i32.const 3 i32.const 4 i32.const 1056 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 7 i32.ne if @@ -142,14 +130,12 @@ end global.get $~lib/memory/__stack_pointer i32.const 1216 - i32.store $0 - i32.const 2 - global.set $~argumentsLength + i32.store i32.const 4 i32.const 5 i32.const 1216 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 9 i32.ne if @@ -160,8 +146,6 @@ call $~lib/builtins/abort unreachable end - i32.const 2 - global.set $~argumentsLength global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -172,39 +156,22 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 2 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 1056 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 - end + i64.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - i32.const 2 - global.set $~argumentsLength + i32.const 1056 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store offset=4 i32.const 1 i32.const 2 - local.get $0 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - local.set $0 + i32.const 1056 + i32.load + call_indirect (type $0) global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 i32.const 3 i32.ne if @@ -217,14 +184,12 @@ end global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 - i32.const 2 - global.set $~argumentsLength + i32.store i32.const 1 i32.const 2 i32.const 1056 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 3 i32.ne if diff --git a/tests/compiler/getter-call.debug.wat b/tests/compiler/getter-call.debug.wat index 85f306f981..9b5cc21b43 100644 --- a/tests/compiler/getter-call.debug.wat +++ b/tests/compiler/getter-call.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) - (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (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)) @@ -29,16 +29,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33244)) (global $~lib/memory/__heap_base i32 (i32.const 33244)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\05\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 448) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 448) "\06\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 2 2 funcref) (elem $0 (i32.const 1) $getter-call/C#get:x~anonymous|0) (export "test" (func $getter-call/test)) @@ -47,12 +47,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -66,7 +66,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -140,7 +140,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -210,11 +210,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -222,7 +222,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -354,7 +354,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -367,7 +367,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -383,34 +383,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -570,7 +570,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -593,7 +593,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -607,7 +607,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -630,7 +630,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -773,7 +773,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -859,7 +859,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -939,7 +939,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -973,7 +973,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -996,7 +996,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1010,27 +1010,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1055,9 +1060,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1076,7 +1081,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1095,7 +1100,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1109,7 +1113,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1165,12 +1169,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1204,7 +1208,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1225,7 +1229,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1245,7 +1249,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1265,7 +1269,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1291,7 +1295,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1314,9 +1318,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1352,7 +1357,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1618,14 +1623,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1681,7 +1689,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1690,6 +1698,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1719,24 +1747,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1774,7 +1791,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1789,7 +1806,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1834,7 +1851,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1845,7 +1862,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1867,7 +1884,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1890,7 +1907,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1909,22 +1926,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1937,7 +1946,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1964,27 +1973,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2009,7 +2019,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2124,7 +2134,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2144,7 +2154,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2177,12 +2187,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2233,7 +2243,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2259,20 +2269,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/function/Function<%28%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2293,7 +2298,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $getter-call/C $~lib/function/Function<%28%29=>i32> $invalid end return @@ -2317,7 +2322,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2357,7 +2362,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2366,18 +2371,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2396,23 +2401,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 call $getter-call/C#constructor local.tee $c - i32.store $0 + i32.store i32.const 0 global.set $~argumentsLength local.get $c local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $getter-call/C#get:x - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $4) local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2430,12 +2435,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28%29=>i32>#get:_env local.get $cookie @@ -2454,7 +2459,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2463,7 +2468,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/getter-call.release.wat b/tests/compiler/getter-call.release.wat index 776f67aa5c..b31fd6bd03 100644 --- a/tests/compiler/getter-call.release.wat +++ b/tests/compiler/getter-call.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $0 (func (result i32))) + (type $1 (func)) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (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)) @@ -19,19 +19,19 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34268)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\05\00\00\00\08\00\00\00\01") - (data (i32.const 1472) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "\1c") + (data $8.1 (i32.const 1448) "\05\00\00\00\08\00\00\00\01") + (data $9 (i32.const 1472) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (table $0 2 2 funcref) (elem $0 (i32.const 1) $getter-call/C#get:x~anonymous|0) (export "test" (func $getter-call/test)) @@ -41,12 +41,12 @@ (local $0 i32) (local $1 i32) i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -56,7 +56,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -74,7 +74,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -82,137 +82,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34268 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$115 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34268 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$115 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1472 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1476 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1472 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1476 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -220,8 +240,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -233,10 +253,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -247,29 +267,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -277,10 +297,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -294,75 +314,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -384,7 +397,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -401,12 +414,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -423,17 +436,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -443,9 +456,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -470,13 +483,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -510,7 +523,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -566,19 +579,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -590,15 +603,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -606,23 +619,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -636,10 +651,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -647,23 +662,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -675,52 +689,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -728,7 +743,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -736,7 +751,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -747,10 +762,10 @@ end i32.const 34272 i32.const 0 - i32.store $0 + i32.store i32.const 35840 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -762,7 +777,7 @@ i32.const 34272 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -780,7 +795,7 @@ i32.const 34272 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -797,9 +812,10 @@ end i32.const 34272 i32.const 35844 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34272 global.set $~lib/rt/tlsf/ROOT @@ -829,7 +845,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -842,19 +858,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -865,7 +881,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -877,7 +893,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -890,12 +906,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -904,7 +916,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -915,26 +927,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -950,7 +962,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -966,7 +978,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -991,14 +1003,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1018,7 +1030,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1033,25 +1044,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1060,12 +1070,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1075,7 +1084,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1086,10 +1095,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1101,13 +1110,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1122,7 +1131,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1137,7 +1146,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1149,16 +1158,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1166,8 +1171,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1189,11 +1193,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1212,12 +1216,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1228,9 +1232,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1239,14 +1244,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1254,7 +1259,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1263,7 +1268,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1279,7 +1284,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1289,7 +1294,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1298,54 +1303,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1358,14 +1363,13 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $getter-call/C#get:x~anonymous|0 (result i32) i32.const 42 ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $invalid block $~lib/function/Function<%28%29=>i32> block $getter-call/C @@ -1376,7 +1380,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $getter-call/C $~lib/function/Function<%28%29=>i32> $invalid end return @@ -1386,12 +1390,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1412,19 +1412,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1434,7 +1429,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34268 @@ -1444,26 +1439,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace ) @@ -1481,10 +1476,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1493,19 +1488,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1515,7 +1509,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1523,28 +1517,26 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store 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 $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1456 - i32.load $0 - call_indirect $0 (type $none_=>_i32) + i32.load + call_indirect (type $0) drop global.get $~lib/memory/__stack_pointer i32.const 8 @@ -1560,23 +1552,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/getter-setter-errors.json b/tests/compiler/getter-setter-errors.json new file mode 100644 index 0000000000..21c80b71ce --- /dev/null +++ b/tests/compiler/getter-setter-errors.json @@ -0,0 +1,9 @@ +{ + "asc_flags": [ + ], + "stderr": [ + "AS229: Property 'm' only has a setter and is missing a getter.", + "TS2808: Get accessor 'm2' must be at least as accessible as the setter.", + "EOF" + ] +} diff --git a/tests/compiler/getter-setter-errors.ts b/tests/compiler/getter-setter-errors.ts new file mode 100644 index 0000000000..c714d2f843 --- /dev/null +++ b/tests/compiler/getter-setter-errors.ts @@ -0,0 +1,20 @@ +class UseNonExistedGetter { + set m(v: string) {} +} +new UseNonExistedGetter().m.toString(); + +class GetSetWithoutDifferenceVisibility { + public get m1(): i32 { + return 1; + } + private set m1(v: i32) {} + + private get m2(): i32 { + return 1; + } + public set m2(v: i32) {} +} +new GetSetWithoutDifferenceVisibility().m1; // m1 is valid +new GetSetWithoutDifferenceVisibility().m2; // m2 is invalid + +ERROR("EOF"); diff --git a/tests/compiler/getter-setter.debug.wat b/tests/compiler/getter-setter.debug.wat index 47bb3b4712..82ad196874 100644 --- a/tests/compiler/getter-setter.debug.wat +++ b/tests/compiler/getter-setter.debug.wat @@ -1,15 +1,15 @@ (module - (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_=>_none (func (param i32))) + (type $0 (func)) + (type $1 (func (result i32))) + (type $2 (func (param i32 i32 i32 i32))) + (type $3 (func (param i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $getter-setter/Foo._bar (mut i32) (i32.const 0)) (global $~lib/memory/__data_end i32 (i32.const 76)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32844)) (global $~lib/memory/__heap_base i32 (i32.const 32844)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -23,6 +23,7 @@ global.set $getter-setter/Foo._bar ) (func $start:getter-setter + (local $0 i32) call $getter-setter/Foo.get:bar i32.const 0 i32.eq @@ -50,8 +51,9 @@ unreachable end i32.const 2 + local.tee $0 call $getter-setter/Foo.set:bar - call $getter-setter/Foo.get:bar + local.get $0 i32.const 2 i32.eq i32.eqz diff --git a/tests/compiler/getter-setter.release.wat b/tests/compiler/getter-setter.release.wat index 1295dd28d7..dc779d8714 100644 --- a/tests/compiler/getter-setter.release.wat +++ b/tests/compiler/getter-setter.release.wat @@ -1,11 +1,11 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $getter-setter/Foo._bar (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00 \00\00\00g\00e\00t\00t\00e\00r\00-\00s\00e\00t\00t\00e\00r\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start diff --git a/tests/compiler/heap.debug.wat b/tests/compiler/heap.debug.wat index f5ff3ed2d9..3b82eebc93 100644 --- a/tests/compiler/heap.debug.wat +++ b/tests/compiler/heap.debug.wat @@ -1,12 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (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_=>_none (func (param i32 i32 i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func)) + (type $4 (func (param i32 i32 i32) (result i32))) + (type $5 (func (param i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) @@ -15,8 +16,8 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32908)) (global $~lib/memory/__heap_base i32 (i32.const 32908)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -24,38 +25,38 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -215,7 +216,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -238,7 +239,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -252,7 +253,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -275,7 +276,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -418,7 +419,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -504,7 +505,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -584,7 +585,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -618,7 +619,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -641,7 +642,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -655,27 +656,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 32 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -700,9 +706,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -721,7 +727,7 @@ if i32.const 0 i32.const 32 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -740,7 +746,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -754,7 +759,7 @@ if i32.const 0 i32.const 32 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -810,12 +815,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -849,7 +854,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -870,7 +875,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -890,7 +895,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -910,7 +915,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -936,7 +941,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -959,9 +964,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -995,7 +1001,7 @@ if i32.const 96 i32.const 32 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1004,6 +1010,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1033,24 +1059,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1088,7 +1103,7 @@ if i32.const 0 i32.const 32 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1103,7 +1118,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1148,7 +1163,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1159,7 +1174,7 @@ if i32.const 0 i32.const 32 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1181,7 +1196,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1204,7 +1219,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1223,22 +1238,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1251,7 +1258,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1278,27 +1285,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -1323,7 +1331,7 @@ if i32.const 0 i32.const 32 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -1438,7 +1446,7 @@ if i32.const 0 i32.const 32 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1458,7 +1466,7 @@ if i32.const 0 i32.const 32 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1523,7 +1531,7 @@ if i32.const 0 i32.const 32 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1562,7 +1570,7 @@ i32.const -1 i32.xor i32.and - memory.copy $0 $0 + memory.copy local.get $block global.get $~lib/memory/__heap_base i32.ge_u diff --git a/tests/compiler/heap.release.wat b/tests/compiler/heap.release.wat index 81ede8e691..14a0518c9b 100644 --- a/tests/compiler/heap.release.wat +++ b/tests/compiler/heap.release.wat @@ -1,18 +1,19 @@ (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 $none_=>_none (func)) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $heap/ptr (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1100) "<") - (data (i32.const 1112) "\02\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 $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\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") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) @@ -21,8 +22,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -34,10 +35,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -48,29 +49,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -78,10 +79,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -95,75 +96,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -185,7 +179,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -202,12 +196,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -224,17 +218,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -244,9 +238,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -271,13 +265,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -311,7 +305,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -367,19 +361,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -391,15 +385,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -407,23 +401,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1056 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -437,10 +433,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -448,23 +444,22 @@ if i32.const 0 i32.const 1056 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -476,52 +471,53 @@ if i32.const 0 i32.const 1056 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -529,7 +525,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -537,7 +533,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -548,10 +544,10 @@ end i32.const 33936 i32.const 0 - i32.store $0 + i32.store i32.const 35504 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -563,7 +559,7 @@ i32.const 33936 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -581,7 +577,7 @@ i32.const 33936 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -598,9 +594,10 @@ end i32.const 33936 i32.const 35508 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 33936 global.set $~lib/rt/tlsf/ROOT @@ -612,67 +609,71 @@ if i32.const 1120 i32.const 1056 - i32.const 458 + i32.const 461 i32.const 29 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 + if (result i32) + i32.const 12 + else + local.get $0 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -683,7 +684,7 @@ if i32.const 0 i32.const 1056 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -693,7 +694,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -710,10 +711,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -729,13 +730,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1056 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -750,7 +751,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -760,7 +761,7 @@ (local $3 i32) (local $4 i32) local.get $1 - i32.load $0 + i32.load local.set $3 local.get $2 i32.const 4 @@ -770,7 +771,7 @@ if i32.const 0 i32.const 1056 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -790,7 +791,7 @@ i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add @@ -802,7 +803,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -811,21 +812,21 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $0 local.get $0 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end ) (func $~lib/rt/tlsf/allocateBlock (param $0 i32) (param $1 i32) (result i32) @@ -839,11 +840,35 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $3 + local.get $2 + i32.const 256 + i32.ge_u + if (result i32) + local.get $2 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $2 + i32.const 1 + i32.const 27 + local.get $2 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $2 + end + else + local.get $2 + end i32.const 4 local.get $0 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $3 i32.const 16 i32.shl @@ -851,21 +876,6 @@ i32.sub 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 @@ -878,12 +888,12 @@ local.get $3 i32.lt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $1 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -894,9 +904,10 @@ local.get $3 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $0 local.get $2 @@ -906,7 +917,7 @@ if i32.const 0 i32.const 1056 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -914,14 +925,14 @@ end local.get $2 local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1056 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -951,14 +962,14 @@ i32.const 1 else local.get $1 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1056 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -977,20 +988,20 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and - memory.copy $0 $0 + memory.copy local.get $1 i32.const 33932 i32.ge_u if local.get $1 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 + i32.store local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -1033,7 +1044,7 @@ call $~lib/rt/tlsf/moveBlock local.set $0 else - block $__inlined_func$~lib/rt/tlsf/reallocateBlock + block $__inlined_func$~lib/rt/tlsf/reallocateBlock$53 global.get $~lib/rt/tlsf/ROOT local.set $3 local.get $0 @@ -1043,7 +1054,7 @@ call $~lib/rt/tlsf/prepareSize local.tee $5 local.get $0 - i32.load $0 + i32.load local.tee $1 i32.const -4 i32.and @@ -1054,18 +1065,18 @@ local.get $0 local.get $5 call $~lib/rt/tlsf/prepareBlock - br $__inlined_func$~lib/rt/tlsf/reallocateBlock + br $__inlined_func$~lib/rt/tlsf/reallocateBlock$53 end local.get $0 i32.const 4 i32.add local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -1090,12 +1101,12 @@ i32.and local.get $4 i32.or - i32.store $0 + i32.store local.get $3 local.get $0 local.get $5 call $~lib/rt/tlsf/prepareBlock - br $__inlined_func$~lib/rt/tlsf/reallocateBlock + br $__inlined_func$~lib/rt/tlsf/reallocateBlock$53 end end local.get $3 @@ -1119,16 +1130,14 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 call $~lib/rt/tlsf/checkUsedBlock local.tee $0 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $0 call $~lib/rt/tlsf/insertBlock end diff --git a/tests/compiler/if.debug.wat b/tests/compiler/if.debug.wat index 2863dd29ac..482f743bca 100644 --- a/tests/compiler/if.debug.wat +++ b/tests/compiler/if.debug.wat @@ -1,14 +1,14 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__data_end i32 (i32.const 76)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32844)) (global $~lib/memory/__heap_base i32 (i32.const 32844)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00i\00f\00.\00t\00s\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00e\00r\00r\00o\00r\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00i\00f\00.\00t\00s\00\00\00") + (data $1 (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00e\00r\00r\00o\00r\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "ifThenElse" (func $if/ifThenElse)) diff --git a/tests/compiler/if.release.wat b/tests/compiler/if.release.wat index 5e88059002..549bb1ff21 100644 --- a/tests/compiler/if.release.wat +++ b/tests/compiler/if.release.wat @@ -1,12 +1,12 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\n\00\00\00i\00f\00.\00t\00s") - (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\02\00\00\00\n\00\00\00e\00r\00r\00o\00r") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\n\00\00\00i\00f\00.\00t\00s") + (data $1 (i32.const 1068) "\1c") + (data $1.1 (i32.const 1080) "\02\00\00\00\n\00\00\00e\00r\00r\00o\00r") (export "ifThenElse" (func $if/ifThenElse)) (export "ifThen" (func $if/ifThen)) (export "ifThenElseBlock" (func $if/ifThenElse)) diff --git a/tests/compiler/import-memory.debug.wat b/tests/compiler/import-memory.debug.wat index f9c631a204..9478e9002e 100644 --- a/tests/compiler/import-memory.debug.wat +++ b/tests/compiler/import-memory.debug.wat @@ -1,18 +1,18 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "env" "memory" (memory $0 1)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__data_end i32 (i32.const 76)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32844)) (global $~lib/memory/__heap_base i32 (i32.const 32844)) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00m\00p\00o\00r\00t\00-\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00m\00p\00o\00r\00t\00-\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $start:import-memory - memory.size $0 + memory.size i32.const 0 i32.ne i32.eqz diff --git a/tests/compiler/import-memory.release.wat b/tests/compiler/import-memory.release.wat index 4282ac5254..be4cb9b4ae 100644 --- a/tests/compiler/import-memory.release.wat +++ b/tests/compiler/import-memory.release.wat @@ -1,13 +1,13 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func)) (import "env" "memory" (memory $0 1)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (data (i32.const 1036) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00m\00p\00o\00r\00t\00-\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 1036) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00m\00p\00o\00r\00t\00-\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") (export "memory" (memory $0)) (start $~start) (func $~start - memory.size $0 + memory.size i32.eqz if i32.const 0 diff --git a/tests/compiler/import.debug.wat b/tests/compiler/import.debug.wat index 7126d98f5c..bec85bb9df 100644 --- a/tests/compiler/import.debug.wat +++ b/tests/compiler/import.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32 i32) (result i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) (global $export/c i32 (i32.const 3)) @@ -31,10 +31,8 @@ return ) (func $export/ns.two - nop ) (func $export-default/theDefault - nop ) (func $start:import global.get $export/a diff --git a/tests/compiler/incremental-gc/call-indirect.debug.wat b/tests/compiler/incremental-gc/call-indirect.debug.wat new file mode 100644 index 0000000000..f41def2823 --- /dev/null +++ b/tests/compiler/incremental-gc/call-indirect.debug.wat @@ -0,0 +1,2641 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (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/itcms/total (mut i32) (i32.const 0)) + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 544)) + (global $~lib/memory/__data_end i32 (i32.const 576)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33344)) + (global $~lib/memory/__heap_base i32 (i32.const 33344)) + (memory $0 1) + (data $0 (i32.const 16) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 112) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 444) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00>\00\00\00i\00n\00c\00r\00e\00m\00e\00n\00t\00a\00l\00-\00g\00c\00/\00c\00a\00l\00l\00-\00i\00n\00d\00i\00r\00e\00c\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 544) "\07\00\00\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 2 2 funcref) + (elem $0 (i32.const 1) $incremental-gc/call-indirect/foo) + (export "issue_2923" (func $incremental-gc/call-indirect/issue_2923)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) + local.get $this + local.get $nextWithColor + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:prev + local.get $space + return + ) + (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + return + ) + (func $~lib/rt/itcms/Object#get:color (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + return + ) + (func $~lib/rt/itcms/visitRoots (param $cookie i32) + (local $pn i32) + (local $iter i32) + local.get $cookie + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $pn + local.get $pn + call $~lib/rt/itcms/Object#get:next + local.set $iter + loop $while-continue|0 + local.get $iter + local.get $pn + i32.ne + if + i32.const 1 + drop + local.get $iter + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 160 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $iter + i32.const 20 + i32.add + local.get $cookie + call $~lib/rt/__visit_members + local.get $iter + call $~lib/rt/itcms/Object#get:next + local.set $iter + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $this i32) (param $color i32) + local.get $this + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $color + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) + local.get $this + local.get $obj + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $this i32) + (local $next i32) + (local $prev i32) + local.get $this + call $~lib/rt/itcms/Object#get:next + local.set $next + local.get $next + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $this + call $~lib/rt/itcms/Object#get:prev + i32.const 0 + i32.eq + if (result i32) + local.get $this + global.get $~lib/memory/__heap_base + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return + end + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.set $prev + i32.const 1 + drop + local.get $prev + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $next + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $next + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/__typeinfo (param $id i32) (result i32) + (local $ptr i32) + global.get $~lib/rt/__rtti_base + local.set $ptr + local.get $id + local.get $ptr + i32.load + i32.gt_u + if + i32.const 160 + i32.const 224 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $ptr + i32.const 4 + i32.add + local.get $id + i32.const 4 + i32.mul + i32.add + call $~lib/shared/typeinfo/Typeinfo#get:flags + return + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $this i32) (result i32) + (local $rtId i32) + local.get $this + call $~lib/rt/itcms/Object#get:rtId + local.set $rtId + local.get $rtId + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $rtId + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + return + ) + (func $~lib/rt/itcms/Object#linkTo (param $this i32) (param $list i32) (param $withColor i32) + (local $prev i32) + local.get $list + call $~lib/rt/itcms/Object#get:prev + local.set $prev + local.get $this + local.get $list + local.get $withColor + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $this + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $this + call $~lib/rt/itcms/Object#set:next + local.get $list + local.get $this + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $this i32) + (local $1 i32) + local.get $this + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 64 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $this + call $~lib/rt/itcms/Object#unlink + local.get $this + global.get $~lib/rt/itcms/toSpace + local.get $this + 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 $ptr i32) (param $cookie i32) + (local $obj i32) + local.get $ptr + i32.eqz + if + return + end + local.get $ptr + i32.const 20 + i32.sub + local.set $obj + i32.const 0 + drop + local.get $obj + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $obj + 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 $cookie i32) + (local $ptr i32) + global.get $~lib/memory/__stack_pointer + local.set $ptr + loop $while-continue|0 + local.get $ptr + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $ptr + i32.load + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + br $while-continue|0 + end + end + ) + (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) + i32.const 4 + local.get $this + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + return + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) + local.get $this + local.get $flMap + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) + local.get $this + local.get $next + i32.store offset=8 + ) + (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) + (local $blockInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $6 i32) + (local $7 i32) + (local $boundedSize i32) + (local $prev i32) + (local $next i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $root|14 i32) + (local $fl|15 i32) + (local $sl|16 i32) + (local $head i32) + (local $root|18 i32) + (local $fl|19 i32) + (local $slMap i32) + (local $root|21 i32) + (local $fl|22 i32) + (local $slMap|23 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 284 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/tlsf/Block#get:prev + local.set $prev + local.get $block + call $~lib/rt/tlsf/Block#get:next + local.set $next + local.get $prev + if + local.get $prev + local.get $next + call $~lib/rt/tlsf/Block#set:next + end + local.get $next + if + local.get $next + local.get $prev + call $~lib/rt/tlsf/Block#set:prev + end + local.get $block + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end + i32.eq + if + local.get $root + local.set $root|14 + local.get $fl + local.set $fl|15 + local.get $sl + local.set $sl|16 + local.get $next + local.set $head + local.get $root|14 + local.get $fl|15 + i32.const 4 + i32.shl + local.get $sl|16 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $next + i32.eqz + if + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end + local.set $slMap + local.get $root + local.set $root|21 + local.get $fl + local.set $fl|22 + local.get $slMap + i32.const 1 + local.get $sl + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $slMap + local.set $slMap|23 + local.get $root|21 + local.get $fl|22 + i32.const 2 + i32.shl + i32.add + local.get $slMap|23 + i32.store offset=4 + local.get $slMap + i32.eqz + if + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + 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 $root i32) (param $block i32) + (local $blockInfo i32) + (local $block|3 i32) + (local $right i32) + (local $rightInfo i32) + (local $block|6 i32) + (local $block|7 i32) + (local $left i32) + (local $leftInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $13 i32) + (local $14 i32) + (local $boundedSize i32) + (local $root|16 i32) + (local $fl|17 i32) + (local $sl|18 i32) + (local $head i32) + (local $root|20 i32) + (local $fl|21 i32) + (local $sl|22 i32) + (local $head|23 i32) + (local $root|24 i32) + (local $fl|25 i32) + (local $root|26 i32) + (local $fl|27 i32) + (local $slMap i32) + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 203 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + local.get $rightInfo + i32.const 1 + i32.and + if + local.get $root + local.get $right + call $~lib/rt/tlsf/removeBlock + local.get $block + local.get $blockInfo + i32.const 4 + i32.add + local.get $rightInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + end + local.get $blockInfo + i32.const 2 + i32.and + if + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end + local.set $left + local.get $left + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $leftInfo + i32.const 1 + drop + local.get $leftInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 221 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $left + call $~lib/rt/tlsf/removeBlock + local.get $left + local.set $block + local.get $block + local.get $leftInfo + i32.const 4 + i32.add + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $right + local.get $rightInfo + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + drop + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.get $right + i32.eq + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 234 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $right + i32.const 4 + i32.sub + local.get $block + i32.store + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $13 + i32.const 1073741820 + local.tee $14 + local.get $13 + local.get $14 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end + local.set $head + local.get $block + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $block + local.get $head + call $~lib/rt/tlsf/Block#set:next + local.get $head + if + local.get $head + local.get $block + call $~lib/rt/tlsf/Block#set:prev + end + local.get $root + local.set $root|20 + local.get $fl + local.set $fl|21 + local.get $sl + local.set $sl|22 + local.get $block + local.set $head|23 + local.get $root|20 + local.get $fl|21 + i32.const 4 + i32.shl + local.get $sl|22 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head|23 + i32.store offset=96 + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|26 + local.get $fl + local.set $fl|27 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end + i32.const 1 + local.get $sl + i32.shl + i32.or + local.set $slMap + local.get $root|26 + local.get $fl|27 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) + (local $tail i32) + (local $tailInfo i32) + (local $size i32) + (local $leftSize i32) + (local $left i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end + i32.const 1 + drop + local.get $start + i64.extend_i32_u + local.get $endU64 + i64.le_u + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 382 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $start + 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 $start + local.get $end + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $end + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|4 + local.get $root|4 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end + local.set $tail + i32.const 0 + local.set $tailInfo + local.get $tail + if + i32.const 1 + drop + local.get $start + local.get $tail + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $start + i32.const 16 + i32.sub + local.get $tail + i32.eq + if + local.get $start + i32.const 16 + i32.sub + local.set $start + local.get $tail + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $tailInfo + else + end + else + i32.const 1 + drop + local.get $start + local.get $root + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $end + local.get $start + i32.sub + local.set $size + local.get $size + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $size + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $leftSize + local.get $start + local.set $left + local.get $left + local.get $leftSize + i32.const 1 + i32.or + local.get $tailInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $start + i32.const 4 + i32.add + local.get $leftSize + i32.add + local.set $tail + local.get $tail + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.set $root|10 + local.get $tail + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 + local.get $root + local.get $left + call $~lib/rt/tlsf/insertBlock + i32.const 1 + return + ) + (func $~lib/rt/tlsf/initialize + (local $rootOffset i32) + (local $pagesBefore i32) + (local $pagesNeeded i32) + (local $root i32) + (local $root|4 i32) + (local $tail i32) + (local $fl i32) + (local $root|7 i32) + (local $fl|8 i32) + (local $slMap i32) + (local $sl i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $head i32) + (local $memStart 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 $rootOffset + memory.size + local.set $pagesBefore + local.get $rootOffset + 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 $pagesNeeded + local.get $pagesNeeded + local.get $pagesBefore + i32.gt_s + if (result i32) + local.get $pagesNeeded + local.get $pagesBefore + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $rootOffset + local.set $root + local.get $root + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|4 + i32.const 0 + local.set $tail + local.get $root|4 + local.get $tail + i32.store offset=1568 + i32.const 0 + local.set $fl + loop $for-loop|0 + local.get $fl + i32.const 23 + i32.lt_u + if + local.get $root + local.set $root|7 + local.get $fl + local.set $fl|8 + i32.const 0 + local.set $slMap + local.get $root|7 + local.get $fl|8 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + i32.const 0 + local.set $sl + loop $for-loop|1 + local.get $sl + i32.const 16 + i32.lt_u + if + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + i32.const 0 + local.set $head + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $sl + i32.const 1 + i32.add + local.set $sl + br $for-loop|1 + end + end + local.get $fl + i32.const 1 + i32.add + local.set $fl + br $for-loop|0 + end + end + local.get $rootOffset + i32.const 1572 + i32.add + local.set $memStart + i32.const 0 + drop + local.get $root + local.get $memStart + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $root + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/checkUsedBlock (param $ptr i32) (result i32) + (local $block i32) + local.get $ptr + i32.const 4 + i32.sub + local.set $block + local.get $ptr + i32.const 0 + i32.ne + if (result i32) + local.get $ptr + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 562 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $block + return + ) + (func $~lib/rt/tlsf/freeBlock (param $root i32) (param $block i32) + i32.const 0 + drop + local.get $block + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $block + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $ptr i32) + local.get $ptr + 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 $ptr + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $obj i32) + local.get $obj + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $obj + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $obj + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $obj i32) + (local $1 i32) + (local $black i32) + (local $from 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 $black + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $obj + loop $while-continue|1 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + global.set $~lib/rt/itcms/iter + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + 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 $obj + local.get $obj + 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 $obj + loop $while-continue|2 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + local.get $obj + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $from + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $from + global.set $~lib/rt/itcms/toSpace + local.get $black + global.set $~lib/rt/itcms/white + local.get $from + 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 $obj + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $obj + 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 64 + i32.const 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $obj + 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 + return + ) + (func $~lib/rt/itcms/__collect + i32.const 0 + drop + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + i32.const 0 + drop + ) + (func $~lib/rt/itcms/interrupt + (local $budget 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 $budget + loop $do-loop|0 + local.get $budget + call $~lib/rt/itcms/step + i32.sub + local.set $budget + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + drop + global.get $~lib/rt/itcms/total + i32.const 200 + i32.const 100 + i32.div_u + i32.mul + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $budget + 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 $size i32) (result i32) + local.get $size + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $size + 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 + return + ) + (func $~lib/rt/tlsf/prepareSize (param $size i32) (result i32) + local.get $size + i32.const 1073741820 + i32.gt_u + if + i32.const 368 + i32.const 304 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $size + call $~lib/rt/tlsf/computeSize + return + ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) + (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) + (local $fl i32) + (local $sl i32) + (local $requestSize i32) + (local $root|5 i32) + (local $fl|6 i32) + (local $slMap i32) + (local $head i32) + (local $flMap i32) + (local $root|10 i32) + (local $fl|11 i32) + (local $root|12 i32) + (local $fl|13 i32) + (local $sl|14 i32) + (local $root|15 i32) + (local $fl|16 i32) + (local $sl|17 i32) + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $requestSize + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub + local.get $requestSize + i32.clz + i32.sub + local.set $fl + local.get $requestSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 334 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end + i32.const 0 + i32.const -1 + i32.xor + local.get $sl + i32.shl + i32.and + local.set $slMap + i32.const 0 + local.set $head + local.get $slMap + i32.eqz + if + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 0 + i32.const -1 + i32.xor + local.get $fl + i32.const 1 + i32.add + i32.shl + i32.and + local.set $flMap + local.get $flMap + i32.eqz + if + i32.const 0 + local.set $head + else + local.get $flMap + i32.ctz + local.set $fl + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end + local.set $slMap + i32.const 1 + drop + local.get $slMap + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) + local.get $root + local.set $root|15 + local.get $fl + local.set $fl|16 + local.get $slMap + i32.ctz + local.set $sl|17 + local.get $root|15 + local.get $fl|16 + i32.const 4 + i32.shl + local.get $sl|17 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.3 + end + local.set $head + end + local.get $head + return + ) + (func $~lib/rt/tlsf/growMemory (param $root i32) (param $size i32) + (local $pagesBefore i32) + (local $root|3 i32) + (local $pagesNeeded i32) + (local $5 i32) + (local $6 i32) + (local $pagesWanted i32) + (local $pagesAfter i32) + i32.const 0 + drop + local.get $size + i32.const 256 + i32.ge_u + if + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $size + end + memory.size + local.set $pagesBefore + local.get $size + i32.const 4 + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 4 + i32.sub + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end + i32.ne + i32.shl + i32.add + local.set $size + local.get $size + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $5 + local.get $pagesNeeded + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $pagesAfter + local.get $root + local.get $pagesBefore + i32.const 16 + i32.shl + local.get $pagesAfter + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $root i32) (param $block i32) (param $size i32) + (local $blockInfo i32) + (local $remaining i32) + (local $spare i32) + (local $block|6 i32) + (local $block|7 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $size + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $size + i32.sub + local.set $remaining + local.get $remaining + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $block + local.get $size + local.get $blockInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.set $spare + local.get $spare + local.get $remaining + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $spare + call $~lib/rt/tlsf/insertBlock + else + local.get $block + local.get $blockInfo + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $root i32) (param $size i32) (result i32) + (local $payloadSize i32) + (local $block i32) + local.get $size + call $~lib/rt/tlsf/prepareSize + local.set $payloadSize + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + local.get $block + i32.eqz + if + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/growMemory + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $payloadSize + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $block + call $~lib/rt/tlsf/removeBlock + local.get $root + local.get $block + local.get $payloadSize + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $block + return + ) + (func $~lib/rt/tlsf/__alloc (param $size 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 $size + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + return + ) + (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) + local.get $this + local.get $rtId + i32.store offset=12 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) + local.get $this + local.get $rtSize + i32.store offset=16 + ) + (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) + (local $obj i32) + (local $ptr i32) + local.get $size + i32.const 1073741804 + i32.ge_u + if + i32.const 368 + i32.const 64 + i32.const 261 + 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 $size + i32.add + call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub + local.set $obj + local.get $obj + local.get $id + call $~lib/rt/itcms/Object#set:rtId + local.get $obj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $obj + i32.const 20 + i32.add + local.set $ptr + local.get $ptr + i32.const 0 + local.get $size + memory.fill + local.get $ptr + return + ) + (func $incremental-gc/call-indirect/B#set:v (param $this i32) (param $v i32) + local.get $this + local.get $v + i32.store + ) + (func $incremental-gc/call-indirect/A#get:v (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32>#get:index (param $this i32) (result i32) + local.get $this + i32.load + return + ) + (func $incremental-gc/call-indirect/A#set:v (param $this i32) (param $v i32) + local.get $this + local.get $v + i32.store + ) + (func $start:incremental-gc/call-indirect + i32.const 16 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 112 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 256 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + 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 + call $incremental-gc/call-indirect/issue_2923 + i32.const 10 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 464 + i32.const 17 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + i32.const 160 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 368 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) + ) + (func $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32>#get:_env (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32>#__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $incremental-gc/call-indirect/B + block $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32> + block $incremental-gc/call-indirect/A + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $incremental-gc/call-indirect/A $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32> $incremental-gc/call-indirect/B $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32>~visit + return + end + return + end + unreachable + ) + (func $~start + call $start:incremental-gc/call-indirect + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33376 + i32.const 33424 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $incremental-gc/call-indirect/B#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 20 + call $incremental-gc/call-indirect/B#set:v + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $incremental-gc/call-indirect/foo (param $a i32) (result i32) + (local $b 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 + call $~lib/rt/itcms/__collect + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $incremental-gc/call-indirect/B#constructor + local.tee $b + i32.store + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $incremental-gc/call-indirect/A#get:v + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $incremental-gc/call-indirect/A#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 10 + call $incremental-gc/call-indirect/A#set:v + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $incremental-gc/call-indirect/issue_2923 (result i32) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + i32.const 0 + call $incremental-gc/call-indirect/A#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 432 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + call $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32>#get:index + call_indirect (type $0) + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + ) + (func $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32>#__visit (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) +) diff --git a/tests/compiler/incremental-gc/call-indirect.json b/tests/compiler/incremental-gc/call-indirect.json new file mode 100644 index 0000000000..1bdd02b1be --- /dev/null +++ b/tests/compiler/incremental-gc/call-indirect.json @@ -0,0 +1,4 @@ +{ + "asc_flags": [ + ] +} diff --git a/tests/compiler/incremental-gc/call-indirect.release.wat b/tests/compiler/incremental-gc/call-indirect.release.wat new file mode 100644 index 0000000000..709def24e2 --- /dev/null +++ b/tests/compiler/incremental-gc/call-indirect.release.wat @@ -0,0 +1,1845 @@ +(module + (type $0 (func)) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (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/itcms/total (mut i32) (i32.const 0)) + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34352)) + (memory $0 1) + (data $1 (i32.const 1052) "<") + (data $1.1 (i32.const 1064) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $3 (i32.const 1148) "<") + (data $3.1 (i32.const 1160) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $4 (i32.const 1212) ",") + (data $4.1 (i32.const 1224) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $6 (i32.const 1292) "<") + (data $6.1 (i32.const 1304) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $7 (i32.const 1356) "<") + (data $7.1 (i32.const 1368) "\02\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 $8 (i32.const 1420) "\1c") + (data $8.1 (i32.const 1432) "\05\00\00\00\08\00\00\00\01") + (data $9 (i32.const 1452) "\\") + (data $9.1 (i32.const 1464) "\02\00\00\00>\00\00\00i\00n\00c\00r\00e\00m\00e\00n\00t\00a\00l\00-\00g\00c\00/\00c\00a\00l\00l\00-\00i\00n\00d\00i\00r\00e\00c\00t\00.\00t\00s") + (data $10 (i32.const 1552) "\07\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 2 2 funcref) + (elem $0 (i32.const 1) $incremental-gc/call-indirect/foo) + (export "issue_2923" (func $incremental-gc/call-indirect/issue_2923)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + i32.const 1168 + call $~lib/rt/itcms/__visit + i32.const 1376 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1072 + i32.const 160 + 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/__visit (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $1 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $1 + i32.load offset=8 + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 1072 + i32.const 148 + 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$123 + local.get $1 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34352 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1072 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$123 + end + local.get $1 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1072 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1552 + i32.load + i32.gt_u + if + i32.const 1168 + i32.const 1232 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1556 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load offset=8 + local.set $0 + local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + 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 + ) + (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 $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1312 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.tee $3 + i32.const 12 + i32.lt_u + if + i32.const 0 + i32.const 1312 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1073741820 + local.get $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $2 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $3 + 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 1312 + 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 $1 + local.get $0 + local.get $2 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=96 + i32.eq + if + local.get $1 + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $3 + i32.rotl + i32.and + local.set $3 + local.get $1 + local.get $3 + i32.store offset=4 + local.get $3 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $2 + 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 1312 + 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 1312 + 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 1312 + 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 1312 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + i32.ne + if + i32.const 0 + i32.const 1312 + 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 + i32.const 1073741820 + local.get $2 + local.get $2 + i32.const 1073741820 + i32.ge_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 1312 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + 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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + 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 $5 + i32.shl + i32.or + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + 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 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.get $1 + i64.extend_i32_u + i64.lt_u + if + i32.const 0 + i32.const 1312 + i32.const 382 + 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 $3 + if + local.get $3 + i32.const 4 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1312 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + local.tee $5 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $5 + local.set $1 + end + else + local.get $0 + i32.const 1572 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1312 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.wrap_i64 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $3 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + 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 $1 + i32.const 4 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.const 2 + i32.store + local.get $0 + local.get $3 + 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 34352 + i32.const 0 + i32.store + i32.const 35920 + 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 34352 + 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 $0 + i32.const 4 + i32.shl + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.const 34352 + 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 34352 + i32.const 35924 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + i32.const 34352 + 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 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 34352 + i32.lt_u + if + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 1072 + i32.const 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 34352 + 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 34352 + 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 1312 + i32.const 562 + 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 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (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 + 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.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $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 + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1312 + i32.const 334 + 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 1312 + i32.const 347 + 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/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 1376 + i32.const 1072 + i32.const 261 + 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$69 + 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 + i32.const 1 + i32.shl + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt$69 + end + local.get $2 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.set $4 + local.get $0 + i32.const 16 + i32.add + local.tee $2 + i32.const 1073741820 + i32.gt_u + if + i32.const 1376 + i32.const 1312 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end + local.tee $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + memory.size + local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end + i32.const 4 + local.get $4 + i32.load offset=1568 + local.get $2 + i32.const 16 + i32.shl + i32.const 4 + i32.sub + i32.ne + i32.shl + i32.add + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $2 + 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 $4 + local.get $2 + i32.const 16 + i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + local.get $4 + local.get $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1312 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + local.get $5 + local.get $2 + i32.load + i32.const -4 + i32.and + i32.gt_u + if + i32.const 0 + i32.const 1312 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $2 + i32.load + local.set $6 + local.get $5 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1312 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const -4 + i32.and + local.get $5 + i32.sub + local.tee $3 + i32.const 16 + i32.ge_u + if + local.get $2 + local.get $5 + local.get $6 + i32.const 2 + i32.and + i32.or + i32.store + local.get $2 + i32.const 4 + i32.add + local.get $5 + i32.add + local.tee $5 + local.get $3 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $4 + local.get $5 + 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 + local.get $1 + global.get $~lib/rt/itcms/white + i32.or + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $3 + local.get $2 + local.get $3 + i32.load offset=4 + i32.const 3 + i32.and + 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 $1 + i32.const 0 + local.get $0 + memory.fill + local.get $1 + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $invalid + block $incremental-gc/call-indirect/B + block $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32> + block $incremental-gc/call-indirect/A + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $incremental-gc/call-indirect/A $~lib/function/Function<%28incremental-gc/call-indirect/A%29=>i32> $incremental-gc/call-indirect/B $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + return + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + return + end + unreachable + ) + (func $~start + i32.const 1028 + i32.const 1024 + i32.store + i32.const 1032 + i32.const 1024 + i32.store + i32.const 1024 + global.set $~lib/rt/itcms/pinSpace + i32.const 1124 + i32.const 1120 + i32.store + i32.const 1128 + i32.const 1120 + i32.store + i32.const 1120 + global.set $~lib/rt/itcms/toSpace + i32.const 1268 + i32.const 1264 + i32.store + i32.const 1272 + i32.const 1264 + i32.store + i32.const 1264 + global.set $~lib/rt/itcms/fromSpace + memory.size + i32.const 16 + i32.shl + i32.const 34352 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + call $incremental-gc/call-indirect/issue_2923 + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 1472 + i32.const 17 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $incremental-gc/call-indirect/foo (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/object/Object#constructor + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 20 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $incremental-gc/call-indirect/issue_2923 (result i32) + (local $0 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 1584 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 10 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1440 + i32.store offset=4 + local.get $0 + i32.const 1440 + i32.load + call_indirect (type $1) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/object/Object#constructor (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) +) diff --git a/tests/compiler/incremental-gc/call-indirect.ts b/tests/compiler/incremental-gc/call-indirect.ts new file mode 100644 index 0000000000..9c4f0ed06e --- /dev/null +++ b/tests/compiler/incremental-gc/call-indirect.ts @@ -0,0 +1,17 @@ +class A { + v: i32 = 10; +} +class B { + v: i32 = 20; +} +function foo(a: A): i32 { + __collect(); // to trigger GC + let b = new B(); + return a.v; +} + +export function issue_2923(): i32 { + return call_indirect(foo.index, new A()); +} + +assert(issue_2923() == 10); diff --git a/tests/compiler/indexof-valueof.debug.wat b/tests/compiler/indexof-valueof.debug.wat index ef5bb5c1c2..259e6d6148 100644 --- a/tests/compiler/indexof-valueof.debug.wat +++ b/tests/compiler/indexof-valueof.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/infer-array.debug.wat b/tests/compiler/infer-array.debug.wat index 2fb7162a3f..9a5dcdf64f 100644 --- a/tests/compiler/infer-array.debug.wat +++ b/tests/compiler/infer-array.debug.wat @@ -1,16 +1,17 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_none (func)) - (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_=>_f64 (func (param i32 i32) (result f64))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32 i32))) + (type $5 (func)) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i32 i32) (result i32))) + (type $10 (func (param i32 i32) (result f64))) + (type $11 (func (param i32 i32) (result f32))) + (type $12 (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -32,32 +33,32 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33960)) (global $~lib/memory/__heap_base i32 (i32.const 33960)) (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\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\02\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 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 444) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00n\00f\00e\00r\00-\00a\00r\00r\00a\00y\00.\00t\00s\00") - (data (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00") - (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\ff\ff\ff\ff\00\00\00\00") - (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") - (data (i32.const 700) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\00\03\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\04\00\00\00\00\00\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\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1004) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1136) "\r\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\1a\00\00\02\01\00\00\02\19\00\00 \00\00\00\02a\00\00\02a\00\00\02\01\00\00\02A\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 444) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $10 (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00n\00f\00e\00r\00-\00a\00r\00r\00a\00y\00.\00t\00s\00") + (data $11 (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00") + (data $12 (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\ff\ff\ff\ff\00\00\00\00") + (data $13 (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00") + (data $14 (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") + (data $15 (i32.const 700) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $16 (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\00\03\00\00\00\00\00\00") + (data $18 (i32.const 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $20 (i32.const 876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $21 (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\01\00\00\00\00\00\00\00") + (data $22 (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $23 (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $24 (i32.const 1004) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 1136) "\r\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\1a\00\00\02\01\00\00\02\19\00\00 \00\00\00\02a\00\00\02a\00\00\02\01\00\00\02A\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -65,12 +66,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -84,7 +85,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -158,7 +159,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -228,11 +229,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -240,7 +241,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 256 @@ -372,7 +373,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -385,7 +386,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -401,34 +402,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -588,7 +589,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -611,7 +612,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -625,7 +626,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -648,7 +649,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -791,7 +792,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -877,7 +878,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -957,7 +958,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -991,7 +992,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1014,7 +1015,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1028,27 +1029,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 400 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1073,9 +1079,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1094,7 +1100,7 @@ if i32.const 0 i32.const 400 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1113,7 +1119,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1127,7 +1132,7 @@ if i32.const 0 i32.const 400 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1183,12 +1188,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1222,7 +1227,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1243,7 +1248,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1263,7 +1268,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1283,7 +1288,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1309,7 +1314,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1332,9 +1337,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1370,7 +1376,7 @@ if i32.const 0 i32.const 400 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1636,14 +1642,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1699,7 +1708,7 @@ if i32.const 64 i32.const 400 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1708,6 +1717,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1737,24 +1766,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1792,7 +1810,7 @@ if i32.const 0 i32.const 400 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1807,7 +1825,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1852,7 +1870,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1863,7 +1881,7 @@ if i32.const 0 i32.const 400 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1885,7 +1903,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1908,7 +1926,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1927,22 +1945,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1955,7 +1965,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1982,27 +1992,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2027,7 +2038,7 @@ if i32.const 0 i32.const 400 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2142,7 +2153,7 @@ if i32.const 0 i32.const 400 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2162,7 +2173,7 @@ if i32.const 0 i32.const 400 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2195,12 +2206,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2251,7 +2262,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2266,7 +2277,7 @@ local.get $buffer local.get $data local.get $size - memory.copy $0 $0 + memory.copy end local.get $buffer return @@ -2341,51 +2352,51 @@ ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2429,47 +2440,47 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array<~lib/string/String|null>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/string/String|null>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array<~lib/array/Array>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/array/Array>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array<~lib/array/Array>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2492,20 +2503,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2517,7 +2523,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2529,7 +2535,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2541,7 +2547,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2553,7 +2559,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2565,7 +2571,7 @@ ) (func $~lib/array/Array<~lib/string/String|null>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String|null>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2577,7 +2583,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2589,7 +2595,7 @@ ) (func $~lib/array/Array<~lib/array/Array>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2617,7 +2623,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $infer-array/Ref $~lib/array/Array $~lib/array/Array<~lib/string/String|null> $~lib/array/Array $~lib/array/Array<~lib/array/Array> $invalid end return @@ -2701,13 +2707,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2723,14 +2729,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -2754,13 +2760,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2776,14 +2782,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -2806,13 +2812,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2828,14 +2834,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -2859,13 +2865,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2881,14 +2887,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -2910,7 +2916,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2919,18 +2925,18 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2958,12 +2964,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -2990,7 +2996,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -3040,10 +3046,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -3051,7 +3057,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3067,13 +3073,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3100,7 +3106,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -3111,7 +3117,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -3119,7 +3125,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -3141,13 +3147,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3164,16 +3170,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 1 @@ -3198,13 +3204,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String|null>#get:length_ i32.ge_u @@ -3221,16 +3227,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String|null>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 1 @@ -3255,13 +3261,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3277,14 +3283,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -3306,13 +3312,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.ge_u @@ -3339,7 +3345,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -3350,7 +3356,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $index @@ -3358,7 +3364,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -3380,13 +3386,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.ge_u @@ -3403,16 +3409,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -3448,12 +3454,12 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) + (local $10 f32) (local $11 i32) (local $12 i32) (local $13 i32) (local $14 i32) - (local $15 f32) + (local $15 i32) (local $16 i32) (local $17 i32) (local $18 i32) @@ -3475,32 +3481,16 @@ (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) - global.get $~lib/memory/__stack_pointer - i32.const 112 + global.get $~lib/memory/__stack_pointer + i32.const 96 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 112 - memory.fill $0 - memory.size $0 + i32.const 96 + memory.fill + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3523,14 +3513,14 @@ i32.const 4 i32.const 32 call $~lib/rt/__newArray - local.tee $2 - i32.store $0 - local.get $2 - local.set $52 + local.tee $1 + i32.store + local.get $1 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3544,12 +3534,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.set $52 + local.get $1 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3569,14 +3559,14 @@ i32.const 5 i32.const 560 call $~lib/rt/__newArray - local.tee $5 - i32.store $0 offset=8 - local.get $5 - local.set $52 + local.tee $3 + i32.store offset=8 + local.get $3 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3596,14 +3586,14 @@ i32.const 6 i32.const 608 call $~lib/rt/__newArray - local.tee $8 - i32.store $0 offset=12 - local.get $8 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.tee $5 + i32.store offset=12 + local.get $5 + local.set $36 + global.get $~lib/memory/__stack_pointer + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3617,12 +3607,12 @@ call $~lib/builtins/abort unreachable end - local.get $8 - local.set $52 + local.get $5 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3637,12 +3627,12 @@ call $~lib/builtins/abort unreachable end - local.get $8 - local.set $52 + local.get $5 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 1 call $~lib/array/Array#__get i32.const -1 @@ -3662,14 +3652,14 @@ i32.const 5 i32.const 640 call $~lib/rt/__newArray - local.tee $11 - i32.store $0 offset=16 - local.get $11 - local.set $52 + local.tee $7 + i32.store offset=16 + local.get $7 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3689,14 +3679,14 @@ i32.const 7 i32.const 688 call $~lib/rt/__newArray - local.tee $14 - i32.store $0 offset=20 - local.get $14 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.tee $9 + i32.store offset=20 + local.get $9 + local.set $36 + global.get $~lib/memory/__stack_pointer + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3710,25 +3700,25 @@ call $~lib/builtins/abort unreachable end - local.get $14 - local.set $52 + local.get $9 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 1 call $~lib/array/Array#__get - local.set $15 + local.set $10 global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-array/Ref#constructor - local.tee $16 - i32.store $0 offset=24 + local.tee $11 + i32.store offset=24 global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-array/Ref#constructor - local.tee $17 - i32.store $0 offset=28 + local.tee $12 + i32.store offset=28 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2 @@ -3736,30 +3726,25 @@ i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $18 - i32.store $0 offset=32 - global.get $~lib/memory/__stack_pointer - local.get $18 - i32.load $0 offset=4 - local.tee $19 - i32.store $0 offset=36 - local.get $18 + local.tee $13 + i32.store offset=32 + local.get $13 i32.const 0 - local.get $16 + local.get $11 call $~lib/array/Array#__set - local.get $18 + local.get $13 i32.const 1 - local.get $17 + local.get $12 call $~lib/array/Array#__set - local.get $18 - local.tee $20 - i32.store $0 offset=40 - local.get $20 - local.set $52 + local.get $13 + local.tee $14 + i32.store offset=36 + local.get $14 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3776,13 +3761,13 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-array/Ref#constructor - local.tee $21 - i32.store $0 offset=44 + local.tee $15 + i32.store offset=40 global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-array/Ref#constructor - local.tee $22 - i32.store $0 offset=48 + local.tee $16 + i32.store offset=44 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2 @@ -3790,30 +3775,25 @@ i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $23 - i32.store $0 offset=52 - global.get $~lib/memory/__stack_pointer - local.get $23 - i32.load $0 offset=4 - local.tee $24 - i32.store $0 offset=56 - local.get $23 + local.tee $17 + i32.store offset=48 + local.get $17 i32.const 0 - local.get $21 + local.get $15 call $~lib/array/Array#__set - local.get $23 + local.get $17 i32.const 1 - local.get $22 + local.get $16 call $~lib/array/Array#__set - local.get $23 - local.tee $25 - i32.store $0 offset=60 - local.get $25 - local.set $52 + local.get $17 + local.tee $18 + i32.store offset=52 + local.get $18 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 1 call $~lib/array/Array#__get drop @@ -3830,8 +3810,8 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-array/Ref#constructor - local.tee $26 - i32.store $0 offset=64 + local.tee $19 + i32.store offset=56 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2 @@ -3839,30 +3819,25 @@ i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $27 - i32.store $0 offset=68 - global.get $~lib/memory/__stack_pointer - local.get $27 - i32.load $0 offset=4 - local.tee $28 - i32.store $0 offset=72 - local.get $27 + local.tee $20 + i32.store offset=60 + local.get $20 i32.const 0 - local.get $26 + local.get $19 call $~lib/array/Array#__set - local.get $27 + local.get $20 i32.const 1 i32.const 0 call $~lib/array/Array#__set - local.get $27 - local.tee $29 - i32.store $0 offset=76 - local.get $29 - local.set $52 + local.get $20 + local.tee $21 + i32.store offset=64 + local.get $21 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3882,14 +3857,14 @@ i32.const 10 i32.const 800 call $~lib/rt/__newArray - local.tee $32 - i32.store $0 offset=80 - local.get $32 - local.set $52 + local.tee $23 + i32.store offset=68 + local.get $23 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array<~lib/string/String|null>#__get drop @@ -3909,14 +3884,14 @@ i32.const 11 i32.const 832 call $~lib/rt/__newArray - local.tee $35 - i32.store $0 offset=84 - local.get $35 - local.set $52 + local.tee $25 + i32.store offset=72 + local.get $25 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3930,12 +3905,12 @@ call $~lib/builtins/abort unreachable end - local.get $35 - local.set $52 + local.get $25 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3956,14 +3931,14 @@ i32.const 11 i32.const 864 call $~lib/rt/__newArray - local.tee $38 - i32.store $0 offset=88 - local.get $38 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.tee $27 + i32.store offset=76 + local.get $27 + local.set $36 + global.get $~lib/memory/__stack_pointer + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -3977,12 +3952,12 @@ call $~lib/builtins/abort unreachable end - local.get $38 - local.set $52 + local.get $27 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -4003,14 +3978,14 @@ i32.const 4 i32.const 896 call $~lib/rt/__newArray - local.tee $41 - i32.store $0 offset=92 - local.get $41 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.tee $29 + i32.store offset=80 + local.get $29 + local.set $36 + global.get $~lib/memory/__stack_pointer + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -4024,12 +3999,12 @@ call $~lib/builtins/abort unreachable end - local.get $41 - local.set $52 + local.get $29 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -4050,14 +4025,14 @@ i32.const 4 i32.const 928 call $~lib/rt/__newArray - local.tee $44 - i32.store $0 offset=96 - local.get $44 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.tee $31 + i32.store offset=84 + local.get $31 + local.set $36 + global.get $~lib/memory/__stack_pointer + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -4071,12 +4046,12 @@ call $~lib/builtins/abort unreachable end - local.get $44 - local.set $52 + local.get $31 + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array#__get drop @@ -4098,14 +4073,9 @@ i32.const 12 i32.const 0 call $~lib/rt/__newArray - local.tee $45 - i32.store $0 offset=100 - global.get $~lib/memory/__stack_pointer - local.get $45 - i32.load $0 offset=4 - local.tee $46 - i32.store $0 offset=104 - local.get $45 + local.tee $32 + i32.store offset=88 + local.get $32 i32.const 0 i32.const 1 i32.const 2 @@ -4113,7 +4083,7 @@ i32.const 960 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $45 + local.get $32 i32.const 1 i32.const 1 i32.const 2 @@ -4121,15 +4091,15 @@ i32.const 992 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $45 - local.tee $51 - i32.store $0 offset=108 - local.get $51 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=4 - local.get $52 + local.get $32 + local.tee $35 + i32.store offset=92 + local.get $35 + local.set $36 + global.get $~lib/memory/__stack_pointer + local.get $36 + i32.store offset=4 + local.get $36 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get drop @@ -4147,7 +4117,7 @@ i32.eqz drop global.get $~lib/memory/__stack_pointer - i32.const 112 + i32.const 96 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4160,14 +4130,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -4186,14 +4156,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -4212,14 +4182,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -4238,14 +4208,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -4267,14 +4237,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $cur @@ -4283,7 +4253,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 2 @@ -4296,7 +4266,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -4315,7 +4285,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:buffer local.get $cookie @@ -4337,14 +4307,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String|null>#get:dataStart local.set $cur @@ -4353,7 +4323,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String|null>#get:length_ i32.const 2 @@ -4366,7 +4336,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -4385,7 +4355,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String|null>#get:buffer local.get $cookie @@ -4404,14 +4374,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -4433,14 +4403,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.set $cur @@ -4449,7 +4419,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.const 2 @@ -4462,7 +4432,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -4481,7 +4451,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:buffer local.get $cookie @@ -4503,7 +4473,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -4514,27 +4484,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer @@ -4553,7 +4523,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -4562,7 +4532,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/infer-array.release.wat b/tests/compiler/infer-array.release.wat index 7c009e0413..07fd25eb5e 100644 --- a/tests/compiler/infer-array.release.wat +++ b/tests/compiler/infer-array.release.wat @@ -1,12 +1,13 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param 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 (func (param i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32))) + (type $1 (func)) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) + (type $8 (func (param i32 i32 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)) @@ -20,69 +21,69 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34984)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 1068) "<") - (data (i32.const 1080) "\02\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) "<") - (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\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 1324) ",") - (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1404) "<") - (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1468) ",") - (data (i32.const 1480) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1516) ",") - (data (i32.const 1528) "\02\00\00\00\1c\00\00\00i\00n\00f\00e\00r\00-\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1564) ",") - (data (i32.const 1576) "\01\00\00\00\18") - (data (i32.const 1590) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@") - (data (i32.const 1612) "\1c") - (data (i32.const 1624) "\01\00\00\00\08\00\00\00\01\00\00\00\ff\ff\ff\ff") - (data (i32.const 1644) ",") - (data (i32.const 1656) "\01\00\00\00\18") - (data (i32.const 1670) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@") - (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") - (data (i32.const 1724) ",") - (data (i32.const 1736) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1772) "\1c") - (data (i32.const 1784) "\02\00\00\00\02\00\00\00a") - (data (i32.const 1804) "\1c") - (data (i32.const 1816) "\01\00\00\00\08\00\00\00\00\00\00\00\00\07") - (data (i32.const 1836) "\1c") - (data (i32.const 1848) "\01\00\00\00\04") - (data (i32.const 1868) "\1c") - (data (i32.const 1880) "\01\00\00\00\08") - (data (i32.const 1900) "\1c") - (data (i32.const 1912) "\01\00\00\00\08\00\00\00\01") - (data (i32.const 1932) "\1c") - (data (i32.const 1944) "\01\00\00\00\08\00\00\00\00\00\00\00\01") - (data (i32.const 1964) "\1c") - (data (i32.const 1976) "\01\00\00\00\04\00\00\00\01") - (data (i32.const 1996) "\1c") - (data (i32.const 2008) "\01\00\00\00\04\00\00\00\02") - (data (i32.const 2028) "|") - (data (i32.const 2040) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 2160) "\r\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\1a\00\00\02\01\00\00\02\19\00\00 \00\00\00\02a\00\00\02a\00\00\02\01\00\00\02A") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $1 (i32.const 1068) "<") + (data $1.1 (i32.const 1080) "\02\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 $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1260) "<") + (data $5.1 (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1324) ",") + (data $6.1 (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1404) "<") + (data $8.1 (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1468) ",") + (data $9.1 (i32.const 1480) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $10 (i32.const 1516) ",") + (data $10.1 (i32.const 1528) "\02\00\00\00\1c\00\00\00i\00n\00f\00e\00r\00-\00a\00r\00r\00a\00y\00.\00t\00s") + (data $11 (i32.const 1564) ",") + (data $11.1 (i32.const 1576) "\01\00\00\00\18") + (data $11.2 (i32.const 1590) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@") + (data $12 (i32.const 1612) "\1c") + (data $12.1 (i32.const 1624) "\01\00\00\00\08\00\00\00\01\00\00\00\ff\ff\ff\ff") + (data $13 (i32.const 1644) ",") + (data $13.1 (i32.const 1656) "\01\00\00\00\18") + (data $13.2 (i32.const 1670) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@") + (data $14 (i32.const 1692) "\1c") + (data $14.1 (i32.const 1704) "\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") + (data $15 (i32.const 1724) ",") + (data $15.1 (i32.const 1736) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $16 (i32.const 1772) "\1c") + (data $16.1 (i32.const 1784) "\02\00\00\00\02\00\00\00a") + (data $17 (i32.const 1804) "\1c") + (data $17.1 (i32.const 1816) "\01\00\00\00\08\00\00\00\00\00\00\00\00\07") + (data $18 (i32.const 1836) "\1c") + (data $18.1 (i32.const 1848) "\01\00\00\00\04") + (data $19 (i32.const 1868) "\1c") + (data $19.1 (i32.const 1880) "\01\00\00\00\08") + (data $20 (i32.const 1900) "\1c") + (data $20.1 (i32.const 1912) "\01\00\00\00\08\00\00\00\01") + (data $21 (i32.const 1932) "\1c") + (data $21.1 (i32.const 1944) "\01\00\00\00\08\00\00\00\00\00\00\00\01") + (data $22 (i32.const 1964) "\1c") + (data $22.1 (i32.const 1976) "\01\00\00\00\04\00\00\00\01") + (data $23 (i32.const 1996) "\1c") + (data $23.1 (i32.const 2008) "\01\00\00\00\04\00\00\00\02") + (data $24 (i32.const 2028) "|") + (data $24.1 (i32.const 2040) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data $25 (i32.const 2160) "\r\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\1a\00\00\02\01\00\00\02\19\00\00 \00\00\00\02a\00\00\02a\00\00\02\01\00\00\02A") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1280 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1744 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2048 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -92,7 +93,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -110,7 +111,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -127,7 +128,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -141,16 +142,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$154 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34984 @@ -165,10 +166,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$154 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -181,20 +182,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -203,7 +204,7 @@ else local.get $1 i32.const 2160 - i32.load $0 + i32.load i32.gt_u if i32.const 1280 @@ -218,13 +219,13 @@ i32.shl i32.const 2164 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -234,21 +235,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -256,8 +281,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -269,10 +294,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -283,29 +308,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -313,10 +338,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -330,75 +355,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -420,7 +438,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -437,12 +455,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -459,17 +477,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -479,9 +497,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -506,13 +524,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -546,7 +564,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -602,19 +620,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -626,15 +644,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -642,23 +660,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1424 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -672,10 +692,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -683,23 +703,22 @@ if i32.const 0 i32.const 1424 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -711,52 +730,53 @@ if i32.const 0 i32.const 1424 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -764,7 +784,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -772,7 +792,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -783,10 +803,10 @@ end i32.const 34992 i32.const 0 - i32.store $0 + i32.store i32.const 36560 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -798,7 +818,7 @@ i32.const 34992 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -816,7 +836,7 @@ i32.const 34992 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -833,9 +853,10 @@ end i32.const 34992 i32.const 36564 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34992 global.set $~lib/rt/tlsf/ROOT @@ -865,7 +886,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -878,19 +899,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -901,7 +922,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -913,7 +934,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -926,12 +947,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -940,7 +957,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -951,26 +968,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -986,7 +1003,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1002,7 +1019,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1027,14 +1044,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1054,7 +1071,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1069,25 +1085,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1424 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1096,12 +1111,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1109,47 +1123,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1160,7 +1176,7 @@ if i32.const 0 i32.const 1424 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1170,7 +1186,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1187,10 +1203,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1206,13 +1222,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1424 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1227,7 +1243,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1254,7 +1270,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1266,16 +1282,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1283,8 +1295,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1311,34 +1322,60 @@ if i32.const 1088 i32.const 1424 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1346,21 +1383,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1373,12 +1395,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1389,9 +1411,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1401,7 +1424,7 @@ if i32.const 0 i32.const 1424 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1409,14 +1432,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1424 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1425,8 +1448,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1435,95 +1458,95 @@ if i32.const 0 i32.const 1424 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1536,9 +1559,68 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) (func $~lib/rt/__visit_members (param $0 i32) (local $1 i32) (local $2 i32) @@ -1555,7 +1637,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $infer-array/Ref $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner1 $invalid end return @@ -1565,12 +1647,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1586,19 +1664,14 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1614,21 +1687,20 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl i32.add @@ -1639,11 +1711,11 @@ i32.lt_u if local.get $1 - i32.load $0 + i32.load local.tee $3 if local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $1 i32.const 4 @@ -1654,14 +1726,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1679,7 +1747,6 @@ call $start:infer-array ) (func $~lib/array/Array#__get (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1696,14 +1763,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eqz if i32.const 1280 @@ -1714,20 +1780,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - i32.load $0 + i32.load offset=4 + i32.load drop - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1744,14 +1808,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eqz if i32.const 1280 @@ -1762,20 +1825,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - f64.load $0 + i32.load offset=4 + f64.load drop - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1792,15 +1853,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1280 @@ -1811,25 +1871,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1846,15 +1902,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1280 @@ -1865,18 +1920,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load drop - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1894,20 +1948,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1917,7 +1970,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1926,15 +1979,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1965,15 +2017,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -2001,15 +2052,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $4 i32.const 2 i32.shr_u @@ -2028,8 +2078,8 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - block $__inlined_func$~lib/rt/itcms/__renew + i32.store + block $__inlined_func$~lib/rt/itcms/__renew$149 i32.const 1073741820 local.get $4 i32.const 1 @@ -2055,12 +2105,12 @@ select local.tee $5 local.get $0 - i32.load $0 + i32.load local.tee $4 i32.const 20 i32.sub local.tee $7 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -2069,26 +2119,26 @@ if local.get $7 local.get $5 - i32.store $0 offset=16 + i32.store offset=16 local.get $4 local.set $3 - br $__inlined_func$~lib/rt/itcms/__renew + br $__inlined_func$~lib/rt/itcms/__renew$149 end local.get $5 local.get $7 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $3 local.get $4 local.get $5 local.get $7 - i32.load $0 offset=16 + i32.load offset=16 local.tee $7 local.get $5 local.get $7 i32.lt_u select - memory.copy $0 $0 + memory.copy end local.get $3 local.get $4 @@ -2096,21 +2146,18 @@ if local.get $0 local.get $3 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link end local.get $0 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2118,29 +2165,26 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $6 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 + i32.store + local.get $0 local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2155,7 +2199,6 @@ unreachable ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2172,15 +2215,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1280 @@ -2191,19 +2233,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 offset=4 - local.get $2 + i32.load + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2214,7 +2255,7 @@ (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 112 + i32.const 96 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -2223,11 +2264,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 112 - memory.fill $0 - memory.size $0 + i32.const 96 + memory.fill + memory.size i32.const 16 i32.shl i32.const 34984 @@ -2237,44 +2277,44 @@ global.set $~lib/rt/itcms/threshold i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/pinSpace i32.const 1236 i32.const 1232 - i32.store $0 + i32.store i32.const 1240 i32.const 1232 - i32.store $0 + i32.store i32.const 1232 global.set $~lib/rt/itcms/toSpace i32.const 1380 i32.const 1376 - i32.store $0 + i32.store i32.const 1384 i32.const 1376 - i32.store $0 + i32.store i32.const 1376 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 i32.const 4 i32.const 1056 call $~lib/rt/__newArray local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -2284,10 +2324,10 @@ i32.const 1584 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -2297,24 +2337,24 @@ i32.const 1632 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get drop global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get drop global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array#__get @@ -2335,10 +2375,10 @@ i32.const 1664 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -2348,29 +2388,28 @@ i32.const 1712 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $0 - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $1 - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer - local.set $2 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -2378,11 +2417,7 @@ i32.const 0 call $~lib/rt/__newArray local.tee $3 - i32.store $0 offset=32 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load $0 offset=4 - i32.store $0 offset=36 + i32.store offset=32 local.get $3 i32.const 0 local.get $0 @@ -2391,25 +2426,23 @@ i32.const 1 local.get $1 call $~lib/array/Array#__set - local.get $2 local.get $3 - i32.store $0 offset=40 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $0 - i32.store $0 offset=44 + i32.store offset=40 global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $1 - i32.store $0 offset=48 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.set $2 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -2417,11 +2450,7 @@ i32.const 0 call $~lib/rt/__newArray local.tee $3 - i32.store $0 offset=52 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load $0 offset=4 - i32.store $0 offset=56 + i32.store offset=48 local.get $3 i32.const 0 local.get $0 @@ -2430,21 +2459,19 @@ i32.const 1 local.get $1 call $~lib/array/Array#__set - local.get $2 local.get $3 - i32.store $0 offset=60 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $0 - i32.store $0 offset=64 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -2452,11 +2479,7 @@ i32.const 0 call $~lib/rt/__newArray local.tee $2 - i32.store $0 offset=68 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 offset=4 - i32.store $0 offset=72 + i32.store offset=60 local.get $2 i32.const 0 local.get $0 @@ -2465,12 +2488,11 @@ i32.const 1 i32.const 0 call $~lib/array/Array#__set - local.get $1 local.get $2 - i32.store $0 offset=76 + i32.store offset=64 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/array/Array#__get @@ -2481,10 +2503,10 @@ i32.const 1824 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=80 + i32.store offset=68 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -2495,17 +2517,17 @@ i32.const 1856 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=84 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get drop global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -2517,17 +2539,17 @@ i32.const 1888 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=88 + i32.store offset=76 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get drop global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -2539,15 +2561,15 @@ i32.const 1920 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=80 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -2557,19 +2579,18 @@ i32.const 1952 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=96 + i32.store offset=84 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -2577,11 +2598,7 @@ i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=100 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=104 + i32.store offset=88 local.get $1 i32.const 0 i32.const 1 @@ -2598,12 +2615,11 @@ i32.const 2016 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $0 local.get $1 - i32.store $0 offset=108 + i32.store offset=92 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2613,14 +2629,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=12 + i32.load offset=12 i32.eqz if i32.const 1280 @@ -2631,15 +2646,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 - i32.load $0 + i32.load offset=4 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -2655,7 +2669,7 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 112 + i32.const 96 i32.add global.set $~lib/memory/__stack_pointer return @@ -2686,9 +2700,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.shl @@ -2701,110 +2715,33 @@ local.get $1 local.get $3 local.get $5 - memory.copy $0 $0 + memory.copy end - local.get $4 local.get $1 - i32.store $0 + i32.store i32.const 16 local.get $2 call $~lib/rt/itcms/__new local.tee $2 local.get $1 - i32.store $0 + i32.store + local.get $2 local.get $1 - if - local.get $2 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link local.get $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $0 - local.get $1 - local.get $2 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - 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/infer-generic.debug.wat b/tests/compiler/infer-generic.debug.wat index aabb685dd3..4eba1f7c8d 100644 --- a/tests/compiler/infer-generic.debug.wat +++ b/tests/compiler/infer-generic.debug.wat @@ -1,16 +1,17 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_f32_i32_i32_=>_i32 (func (param i32 f32 i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $f32_=>_f32 (func (param f32) (result f32))) - (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 f32 i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param f32) (result f32))) + (type $8 (func (param f64 f64) (result i32))) + (type $9 (func (param i32 i32 i32 i32))) + (type $10 (func (param i32 i32 i64) (result i32))) + (type $11 (func (result i32))) + (type $12 (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $infer-generic/arr i32 (i32.const 128)) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) @@ -33,19 +34,19 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33404)) (global $~lib/memory/__heap_base i32 (i32.const 33404)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00n\00f\00e\00r\00-\00g\00e\00n\00e\00r\00i\00c\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") - (data (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00`\00\00\00`\00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 444) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 496) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 592) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\19\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00n\00f\00e\00r\00-\00g\00e\00n\00e\00r\00i\00c\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") + (data $2 (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00`\00\00\00`\00\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 444) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 496) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $12 (i32.const 592) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\19\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:infer-generic~anonymous|0) (export "test1" (func $infer-generic/test1)) @@ -74,11 +75,11 @@ ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $infer-generic/inferDefault (param $a i32) (result i32) local.get $a @@ -87,17 +88,17 @@ (func $infer-generic/Ref#set:x (param $this i32) (param $x i32) local.get $this local.get $x - i32.store $0 + i32.store ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -111,7 +112,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -185,7 +186,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -255,11 +256,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -267,7 +268,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 400 @@ -399,7 +400,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -412,7 +413,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -428,34 +429,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -615,7 +616,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -638,7 +639,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -652,7 +653,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -675,7 +676,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -818,7 +819,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -904,7 +905,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -984,7 +985,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1018,7 +1019,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1041,7 +1042,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1055,27 +1056,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 544 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1100,9 +1106,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1121,7 +1127,7 @@ if i32.const 0 i32.const 544 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1140,7 +1146,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1154,7 +1159,7 @@ if i32.const 0 i32.const 544 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1210,12 +1215,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1249,7 +1254,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1270,7 +1275,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1290,7 +1295,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1310,7 +1315,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1336,7 +1341,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1359,9 +1364,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1397,7 +1403,7 @@ if i32.const 0 i32.const 544 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1663,14 +1669,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1726,7 +1735,7 @@ if i32.const 208 i32.const 544 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1735,6 +1744,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1764,24 +1793,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1819,7 +1837,7 @@ if i32.const 0 i32.const 544 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1834,7 +1852,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1879,7 +1897,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1890,7 +1908,7 @@ if i32.const 0 i32.const 544 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1912,7 +1930,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1935,7 +1953,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1954,22 +1972,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1982,7 +1992,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2009,27 +2019,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2054,7 +2065,7 @@ if i32.const 0 i32.const 544 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2169,7 +2180,7 @@ if i32.const 0 i32.const 544 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2189,7 +2200,7 @@ if i32.const 0 i32.const 544 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2222,12 +2233,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2278,7 +2289,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2303,17 +2314,17 @@ local.get $fn return ) - (func $infer-generic/inferEncapsulatedFunction (param $fn i32) (result i32) + (func $"infer-generic/inferEncapsulatedFunction" (param $fn i32) (result i32) local.get $fn return ) - (func $infer-generic/inferEncapsulatedFunctionMixed (param $fn i32) (result i32) + (func $"infer-generic/inferEncapsulatedFunctionMixed" (param $fn i32) (result i32) local.get $fn return ) (func $infer-generic/Ref#get:x (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2337,20 +2348,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2362,7 +2368,7 @@ ) (func $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2374,7 +2380,7 @@ ) (func $~lib/function/Function<%28%29=>f64>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28%29=>f64>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2386,7 +2392,7 @@ ) (func $~lib/function/Function<%28f32%29=>f64>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f32%29=>f64>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2398,7 +2404,7 @@ ) (func $~lib/function/Function<%28f32%2Ci32%29=>f64>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f32%2Ci32%29=>f64>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2423,7 +2429,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool> $infer-generic/Ref $~lib/function/Function<%28%29=>f64> $~lib/function/Function<%28f32%29=>f64> $~lib/function/Function<%28f32%2Ci32%29=>f64> $invalid end return @@ -2490,16 +2496,13 @@ (local $7 i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $initialValue local.set $acc i32.const 0 @@ -2508,7 +2511,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length_ local.set $len @@ -2520,7 +2523,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length_ local.tee $7 @@ -2535,26 +2538,26 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $i local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_f32_i32_i32_=>_i32) + i32.load + call_indirect (type $5) local.set $acc local.get $i i32.const 1 @@ -2566,7 +2569,7 @@ local.get $acc local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -2581,7 +2584,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2590,23 +2593,23 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $infer-generic/Ref#set:x @@ -2622,7 +2625,6 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2630,10 +2632,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 f64.const 1 f64.const 1 call $infer-generic/inferCompatible @@ -2647,17 +2649,17 @@ unreachable end global.get $infer-generic/arr - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $2 + i32.store + local.get $2 i32.const 176 - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 call $~lib/array/Array#reduce drop @@ -2674,7 +2676,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2694,22 +2696,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-generic/Ref#constructor - local.tee $2 - i32.store $0 offset=8 - local.get $2 - local.set $3 + local.tee $1 + i32.store offset=8 + local.get $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 call $infer-generic/Ref#set:x - local.get $2 - local.set $3 + local.get $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $2 + i32.store + local.get $2 call $infer-generic/inferDefault drop i32.const 1 @@ -2736,12 +2738,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $arr local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $infer-generic/inferEncapsulatedClass local.set $1 @@ -2761,12 +2763,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $fn local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $infer-generic/inferEncapsulatedFunctionNull local.set $1 @@ -2786,14 +2788,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $fn local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $infer-generic/inferEncapsulatedFunction + call $"infer-generic/inferEncapsulatedFunction" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2811,14 +2813,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $fn local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $infer-generic/inferEncapsulatedFunctionMixed + call $"infer-generic/inferEncapsulatedFunctionMixed" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2837,11 +2839,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $v local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.eqz if (result i32) @@ -2857,7 +2859,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $infer-generic/Ref#get:x drop @@ -2875,14 +2877,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -2901,12 +2903,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env local.get $cookie @@ -2925,12 +2927,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28%29=>f64>#get:_env local.get $cookie @@ -2949,12 +2951,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f32%29=>f64>#get:_env local.get $cookie @@ -2973,12 +2975,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f32%2Ci32%29=>f64>#get:_env local.get $cookie @@ -2997,7 +2999,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3006,7 +3008,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -3025,7 +3027,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $infer-generic/test2 local.set $1 @@ -3044,7 +3046,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $infer-generic/test3 local.set $1 @@ -3063,7 +3065,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $infer-generic/test4 local.set $1 @@ -3082,7 +3084,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $infer-generic/test5 local.set $1 @@ -3100,7 +3102,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $infer-generic/inferAssert global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/infer-generic.release.wat b/tests/compiler/infer-generic.release.wat index f7d1bf088d..bfd2ec7d06 100644 --- a/tests/compiler/infer-generic.release.wat +++ b/tests/compiler/infer-generic.release.wat @@ -1,14 +1,14 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_f32_i32_i32_=>_i32 (func (param i32 f32 i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $f32_=>_f32 (func (param f32) (result f32))) - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 f32 i32 i32) (result i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (result i32))) + (type $8 (func (param f32) (result f32))) + (type $9 (func (param 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)) @@ -22,25 +22,25 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34428)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\00\00\00 \00\00\00i\00n\00f\00e\00r\00-\00g\00e\00n\00e\00r\00i\00c\00.\00t\00s") - (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") - (data (i32.const 1132) ",") - (data (i32.const 1144) "\04\00\00\00\10\00\00\00`\04\00\00`\04\00\00\0c\00\00\00\03") - (data (i32.const 1180) "\1c") - (data (i32.const 1192) "\05\00\00\00\08\00\00\00\01") - (data (i32.const 1212) "<") - (data (i32.const 1224) "\02\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 1276) "<") - (data (i32.const 1288) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1404) "<") - (data (i32.const 1416) "\02\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 1468) ",") - (data (i32.const 1480) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1548) "<") - (data (i32.const 1560) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1616) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\19\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00 \00\00\00i\00n\00f\00e\00r\00-\00g\00e\00n\00e\00r\00i\00c\00.\00t\00s") + (data $1 (i32.const 1100) "\1c") + (data $1.1 (i32.const 1112) "\01\00\00\00\0c\00\00\00\00\00\80?\00\00\00@\00\00@@") + (data $2 (i32.const 1132) ",") + (data $2.1 (i32.const 1144) "\04\00\00\00\10\00\00\00`\04\00\00`\04\00\00\0c\00\00\00\03") + (data $3 (i32.const 1180) "\1c") + (data $3.1 (i32.const 1192) "\05\00\00\00\08\00\00\00\01") + (data $4 (i32.const 1212) "<") + (data $4.1 (i32.const 1224) "\02\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 $5 (i32.const 1276) "<") + (data $5.1 (i32.const 1288) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $8 (i32.const 1404) "<") + (data $8.1 (i32.const 1416) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $9 (i32.const 1468) ",") + (data $9.1 (i32.const 1480) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $11 (i32.const 1548) "<") + (data $11.1 (i32.const 1560) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $12 (i32.const 1616) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\19\00\00\00\00\00\00 ") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:infer-generic~anonymous|0) (export "test1" (func $infer-generic/test1)) @@ -63,14 +63,14 @@ (local $0 i32) (local $1 i32) i32.const 1152 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1424 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1232 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -80,7 +80,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -98,7 +98,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -106,137 +106,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1296 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1296 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34428 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$138 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34428 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1296 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$138 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1296 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1296 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1616 + i32.load + i32.gt_u + if + i32.const 1424 + i32.const 1488 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1620 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1616 - i32.load $0 - i32.gt_u - if - i32.const 1424 - i32.const 1488 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1620 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -244,8 +264,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -257,10 +277,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -271,29 +291,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -301,10 +321,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -318,75 +338,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -408,7 +421,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -425,12 +438,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -447,17 +460,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -467,9 +480,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -494,13 +507,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -534,7 +547,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -590,19 +603,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -614,15 +627,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -630,23 +643,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1568 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -660,10 +675,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -671,23 +686,22 @@ if i32.const 0 i32.const 1568 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -699,52 +713,53 @@ if i32.const 0 i32.const 1568 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -752,7 +767,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -760,7 +775,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -771,10 +786,10 @@ end i32.const 34432 i32.const 0 - i32.store $0 + i32.store i32.const 36000 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -786,7 +801,7 @@ i32.const 34432 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -804,7 +819,7 @@ i32.const 34432 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -821,9 +836,10 @@ end i32.const 34432 i32.const 36004 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34432 global.set $~lib/rt/tlsf/ROOT @@ -853,7 +869,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -866,19 +882,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -889,7 +905,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -901,7 +917,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -914,12 +930,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -928,7 +940,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -939,26 +951,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -974,7 +986,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -990,7 +1002,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1015,14 +1027,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1042,7 +1054,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1057,25 +1068,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1568 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1084,12 +1094,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1097,47 +1106,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1148,7 +1159,7 @@ if i32.const 0 i32.const 1568 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1158,7 +1169,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1175,10 +1186,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1194,13 +1205,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1568 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1215,7 +1226,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1242,7 +1253,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1254,16 +1265,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1271,8 +1278,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1299,34 +1305,60 @@ if i32.const 1232 i32.const 1568 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1334,21 +1366,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1361,12 +1378,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1377,9 +1394,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1389,7 +1407,7 @@ if i32.const 0 i32.const 1568 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1397,14 +1415,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1568 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1413,8 +1431,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1423,95 +1441,95 @@ if i32.const 0 i32.const 1568 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1524,14 +1542,13 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $infer-generic/test1 (param $0 f32) (result f32) local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $folding-inner1 block $folding-inner0 block $invalid @@ -1544,7 +1561,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $folding-inner0 $infer-generic/Ref $folding-inner0 $folding-inner0 $folding-inner0 $invalid end return @@ -1554,12 +1571,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end global.get $~lib/memory/__stack_pointer @@ -1571,19 +1584,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1603,19 +1611,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1645,20 +1648,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1152 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1200 - i32.store $0 offset=4 - local.get $3 - i32.const 12 + 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 @@ -1666,26 +1668,22 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 1152 - i32.store $0 + i32.store i32.const 1164 - i32.load $0 + i32.load local.set $3 loop $for-loop|0 global.get $~lib/memory/__stack_pointer i32.const 1152 - i32.store $0 + i32.store local.get $1 local.get $3 i32.const 1164 - i32.load $0 + i32.load local.tee $4 local.get $3 local.get $4 @@ -1694,27 +1692,26 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 1152 - i32.store $0 offset=8 + i32.store offset=4 i32.const 1156 - i32.load $0 + i32.load local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $2 - local.get $4 + global.get $~lib/memory/__stack_pointer i32.const 1152 - i32.store $0 offset=4 + i32.store local.get $0 local.get $2 local.get $1 i32.const 1152 i32.const 1200 - i32.load $0 - call_indirect $0 (type $i32_f32_i32_i32_=>_i32) + i32.load + call_indirect (type $2) local.set $0 local.get $1 i32.const 1 @@ -1724,10 +1721,10 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34428 @@ -1737,30 +1734,29 @@ global.set $~lib/rt/itcms/threshold i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/pinSpace i32.const 1380 i32.const 1376 - i32.store $0 + i32.store i32.const 1384 i32.const 1376 - i32.store $0 + i32.store i32.const 1376 global.set $~lib/rt/itcms/toSpace i32.const 1524 i32.const 1520 - i32.store $0 + i32.store i32.const 1528 i32.const 1520 - i32.store $0 + i32.store i32.const 1520 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1770,20 +1766,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1793,7 +1788,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1802,37 +1797,35 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -1847,7 +1840,6 @@ unreachable ) (func $export:infer-generic/test2 (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1858,10 +1850,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1870,13 +1861,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1895,7 +1885,6 @@ unreachable ) (func $export:infer-generic/inferAssert (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1906,10 +1895,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1918,12 +1906,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -1935,13 +1922,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load drop - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1958,23 +1944,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/infer-type.debug.wat b/tests/compiler/infer-type.debug.wat index a4230bf671..376253a6c4 100644 --- a/tests/compiler/infer-type.debug.wat +++ b/tests/compiler/infer-type.debug.wat @@ -1,9 +1,9 @@ (module - (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) - (type $none_=>_i64 (func (result i64))) - (type $none_=>_f32 (func (result f32))) - (type $none_=>_f64 (func (result f64))) + (type $0 (func)) + (type $1 (func (result i32))) + (type $2 (func (result i64))) + (type $3 (func (result f32))) + (type $4 (func (result f64))) (global $infer-type/i i32 (i32.const 10)) (global $infer-type/I i64 (i64.const 4294967296)) (global $infer-type/F f64 (f64.const 1.5)) diff --git a/tests/compiler/infer-type.release.wat b/tests/compiler/infer-type.release.wat index 4a4b656673..22a0288df2 100644 --- a/tests/compiler/infer-type.release.wat +++ b/tests/compiler/infer-type.release.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (memory $0 0) (export "memory" (memory $0)) (start $~start) diff --git a/tests/compiler/inlining-blocklocals.debug.wat b/tests/compiler/inlining-blocklocals.debug.wat index e750bbc2a7..fd5ccaf5c2 100644 --- a/tests/compiler/inlining-blocklocals.debug.wat +++ b/tests/compiler/inlining-blocklocals.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $inlining-blocklocals/b (mut i32) (i32.const 2)) (global $inlining-blocklocals/theCall_a (mut i32) (i32.const 0)) @@ -10,7 +10,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32860)) (global $~lib/memory/__heap_base i32 (i32.const 32860)) (memory $0 1) - (data (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/inlining-blocklocals.release.wat b/tests/compiler/inlining-blocklocals.release.wat index e45984ce2d..ede3330ebc 100644 --- a/tests/compiler/inlining-blocklocals.release.wat +++ b/tests/compiler/inlining-blocklocals.release.wat @@ -1,13 +1,13 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $inlining-blocklocals/b (mut i32) (i32.const 2)) (global $inlining-blocklocals/theCall_b (mut i32) (i32.const 0)) (global $inlining-blocklocals/theCall_c (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "L") - (data (i32.const 1048) "\02\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s") + (data $0 (i32.const 1036) "L") + (data $0.1 (i32.const 1048) "\02\00\00\00.\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00-\00b\00l\00o\00c\00k\00l\00o\00c\00a\00l\00s\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start diff --git a/tests/compiler/inlining-recursive.debug.wat b/tests/compiler/inlining-recursive.debug.wat index 922af3ad6b..4c1161873d 100644 --- a/tests/compiler/inlining-recursive.debug.wat +++ b/tests/compiler/inlining-recursive.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/inlining-recursive.release.wat b/tests/compiler/inlining-recursive.release.wat index 358725a3e0..79a6b7c99a 100644 --- a/tests/compiler/inlining-recursive.release.wat +++ b/tests/compiler/inlining-recursive.release.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (memory $0 0) (export "foo" (func $inlining-recursive/foo)) (export "bar" (func $inlining-recursive/baz)) diff --git a/tests/compiler/inlining.debug.wat b/tests/compiler/inlining.debug.wat index 7cb332b182..c4f5314669 100644 --- a/tests/compiler/inlining.debug.wat +++ b/tests/compiler/inlining.debug.wat @@ -1,13 +1,15 @@ (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 (func (param i32 i32) (result i32))) - (type $none_=>_i32 (func (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32) (result f64))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (param f64) (result f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $inlining/constantGlobal i32 (i32.const 1)) (global $~argumentsLength (mut i32) (i32.const 0)) @@ -30,20 +32,22 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33300)) (global $~lib/memory/__heap_base i32 (i32.const 33300)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 496) "\08\00\00\00 \00\00\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 $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00") + (data $1 (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 496) "\08\00\00\00 \00\00\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 2 2 funcref) (elem $0 (i32.const 1) $inlining/func_fe~anonymous|0) (export "test" (func $inlining/test)) + (export "foo" (func $inlining/foo)) + (export "bar" (func $inlining/bar)) (export "memory" (memory $0)) (start $~start) (func $inlining/test (result i32) @@ -89,7 +93,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store f32.const -1 local.set $a f64.const -2 @@ -246,8 +250,8 @@ i32.const 80 br $inlining/func_fe|inlined.0 end - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 2 i32.eq i32.eqz @@ -275,12 +279,12 @@ global.get $~lib/memory/__stack_pointer i32.const 123 local.tee $foo - i32.store $0 + i32.store block $inlining/Foo#method_this|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer local.get $foo local.tee $this - i32.store $0 offset=4 + i32.store offset=4 i32.const 43 local.set $a|24 i32.const 3 @@ -307,17 +311,17 @@ (func $inlining/Baz#set:b (param $this i32) (param $b i32) local.get $this local.get $b - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -331,7 +335,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -405,7 +409,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -475,11 +479,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -487,7 +491,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 304 @@ -619,7 +623,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -632,7 +636,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -648,34 +652,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -835,7 +839,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -858,7 +862,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -872,7 +876,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -895,7 +899,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -1038,7 +1042,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -1124,7 +1128,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1204,7 +1208,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1238,7 +1242,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1261,7 +1265,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1275,27 +1279,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 448 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1320,9 +1329,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1341,7 +1350,7 @@ if i32.const 0 i32.const 448 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1360,7 +1369,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1374,7 +1382,7 @@ if i32.const 0 i32.const 448 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1430,12 +1438,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1469,7 +1477,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1490,7 +1498,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1510,7 +1518,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1530,7 +1538,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1556,7 +1564,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1579,9 +1587,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1617,7 +1626,7 @@ if i32.const 0 i32.const 448 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1883,14 +1892,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1946,7 +1958,7 @@ if i32.const 112 i32.const 448 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1955,6 +1967,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1984,24 +2016,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -2039,7 +2060,7 @@ if i32.const 0 i32.const 448 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -2054,7 +2075,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -2099,7 +2120,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -2110,7 +2131,7 @@ if i32.const 0 i32.const 448 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -2132,7 +2153,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2155,7 +2176,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2174,22 +2195,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2202,7 +2215,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2229,27 +2242,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2274,7 +2288,7 @@ if i32.const 0 i32.const 448 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2389,7 +2403,7 @@ if i32.const 0 i32.const 448 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2409,7 +2423,7 @@ if i32.const 0 i32.const 448 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2442,12 +2456,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2498,40 +2512,40 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $inlining/Baz#set:a (param $this i32) (param $a i32) local.get $this local.get $a - i32.store $0 + i32.store ) (func $inlining/Bar#set:e (param $this i32) (param $e i32) local.get $this local.get $e - i32.store $0 offset=12 + i32.store offset=12 ) (func $inlining/Bar#set:d (param $this i32) (param $d i32) local.get $this local.get $d - i32.store $0 offset=8 + i32.store offset=8 ) (func $inlining/Baz#get:a (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $inlining/Baz#get:b (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $inlining/Bar#get:d (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $inlining/Bar#get:e (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $start:inlining call $inlining/test @@ -2547,7 +2561,7 @@ unreachable end call $inlining/test_funcs - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2566,6 +2580,192 @@ global.set $~lib/rt/itcms/fromSpace call $inlining/test_ctor ) + (func $~lib/math/NativeMath.cbrt (param $x f64) (result f64) + (local $u i64) + (local $hx i32) + (local $t f64) + (local $r f64) + (local $s f64) + local.get $x + i64.reinterpret_f64 + local.set $u + local.get $u + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.set $hx + local.get $hx + i32.const 2146435072 + i32.ge_u + if + local.get $x + local.get $x + f64.add + return + end + local.get $hx + i32.const 1048576 + i32.lt_u + if + local.get $x + f64.const 18014398509481984 + f64.mul + i64.reinterpret_f64 + local.set $u + local.get $u + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.set $hx + local.get $hx + i32.const 0 + i32.eq + if + local.get $x + return + end + local.get $hx + i32.const 3 + i32.div_u + i32.const 696219795 + i32.add + local.set $hx + else + local.get $hx + i32.const 3 + i32.div_u + i32.const 715094163 + i32.add + local.set $hx + end + local.get $u + i64.const 1 + i64.const 63 + i64.shl + i64.and + local.set $u + local.get $u + local.get $hx + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + local.set $u + local.get $u + f64.reinterpret_i64 + local.set $t + local.get $t + local.get $t + f64.mul + local.get $t + local.get $x + f64.div + f64.mul + local.set $r + local.get $t + f64.const 1.87595182427177 + local.get $r + f64.const -1.8849797954337717 + local.get $r + f64.const 1.6214297201053545 + f64.mul + f64.add + f64.mul + f64.add + local.get $r + local.get $r + f64.mul + local.get $r + f64.mul + f64.const -0.758397934778766 + local.get $r + f64.const 0.14599619288661245 + f64.mul + f64.add + f64.mul + f64.add + f64.mul + local.set $t + local.get $t + i64.reinterpret_f64 + i64.const 2147483648 + i64.add + i64.const -1073741824 + i64.and + f64.reinterpret_i64 + local.set $t + local.get $t + local.get $t + f64.mul + local.set $s + local.get $x + local.get $s + f64.div + local.set $r + local.get $r + local.get $t + f64.sub + f64.const 2 + local.get $t + f64.mul + local.get $r + f64.add + f64.div + local.set $r + local.get $t + local.get $t + local.get $r + f64.mul + f64.add + local.set $t + local.get $t + return + ) + (func $inlining/foo (param $a i32) (param $b i32) (param $c i32) (result f64) + local.get $a + f64.convert_i32_s + local.get $b + f64.convert_i32_s + call $~lib/math/NativeMath.cbrt + f64.mul + local.get $c + f64.convert_i32_s + f64.add + return + ) + (func $inlining/bar (param $a i32) (param $b i32) (param $c i32) (result f64) + (local $a|3 i32) + (local $b|4 i32) + (local $c|5 i32) + block $inlining/foo|inlined.0 (result f64) + local.get $a + local.set $a|3 + local.get $b + local.set $b|4 + local.get $c + local.set $c|5 + local.get $a|3 + f64.convert_i32_s + local.get $b|4 + f64.convert_i32_s + call $~lib/math/NativeMath.cbrt + f64.mul + local.get $c|5 + f64.convert_i32_s + f64.add + br $inlining/foo|inlined.0 + end + local.get $b + local.get $a + local.get $c + call $inlining/foo + f64.div + return + ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) i32.const 304 @@ -2581,20 +2781,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/function/Function<%28i32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2617,7 +2812,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $inlining/Foo $inlining/Bar $inlining/Baz $invalid end return @@ -2674,10 +2869,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.set $this @@ -2691,13 +2886,13 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 call $inlining/Bar#set:d @@ -2705,7 +2900,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 call $inlining/Bar#set:e @@ -2713,7 +2908,7 @@ global.get $~lib/memory/__stack_pointer local.get $this local.tee $this|2 - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 local.set $c local.get $this|2 @@ -2724,13 +2919,13 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this|2 - i32.store $0 offset=8 + i32.store offset=8 end local.get $this|2 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 call $inlining/Baz#set:a @@ -2738,7 +2933,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 call $inlining/Baz#set:b @@ -2746,29 +2941,29 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $c call $inlining/Baz#set:b local.get $this|2 local.tee $this - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $f call $inlining/Bar#set:e local.get $this local.tee $bar - i32.store $0 offset=12 + i32.store offset=12 local.get $bar local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $inlining/Baz#get:a i32.const 1 @@ -2786,7 +2981,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $inlining/Baz#get:b i32.const 2 @@ -2804,7 +2999,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $inlining/Bar#get:d i32.const 3 @@ -2822,7 +3017,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $inlining/Bar#get:e i32.const 4 @@ -2850,12 +3045,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%29=>i32>#get:_env local.get $cookie diff --git a/tests/compiler/inlining.release.wat b/tests/compiler/inlining.release.wat index 6dcd272edf..d8a449feae 100644 --- a/tests/compiler/inlining.release.wat +++ b/tests/compiler/inlining.release.wat @@ -1,12 +1,14 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) + (type $0 (func)) + (type $1 (func (result i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32) (result f64))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64))) + (type $9 (func (param f64) (result f64))) (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)) @@ -20,25 +22,27 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34324)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s") - (data (i32.const 1084) "\1c") - (data (i32.const 1096) "\04\00\00\00\08\00\00\00\01") - (data (i32.const 1116) "<") - (data (i32.const 1128) "\02\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 1180) "<") - (data (i32.const 1192) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1308) "<") - (data (i32.const 1320) "\02\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 1372) ",") - (data (i32.const 1384) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1452) "<") - (data (i32.const 1464) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1520) "\08\00\00\00 \00\00\00 \00\00\00 ") - (data (i32.const 1544) " \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\16\00\00\00i\00n\00l\00i\00n\00i\00n\00g\00.\00t\00s") + (data $1 (i32.const 1084) "\1c") + (data $1.1 (i32.const 1096) "\04\00\00\00\08\00\00\00\01") + (data $2 (i32.const 1116) "<") + (data $2.1 (i32.const 1128) "\02\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 $3 (i32.const 1180) "<") + (data $3.1 (i32.const 1192) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1308) "<") + (data $6.1 (i32.const 1320) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1372) ",") + (data $7.1 (i32.const 1384) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1452) "<") + (data $9.1 (i32.const 1464) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1520) "\08\00\00\00 \00\00\00 \00\00\00 ") + (data $10.1 (i32.const 1544) " \00\00\00 \00\00\00 ") (table $0 2 2 funcref) (elem $0 (i32.const 1) $inlining/func_fe~anonymous|0) (export "test" (func $inlining/test)) + (export "foo" (func $inlining/foo)) + (export "bar" (func $inlining/bar)) (export "memory" (memory $0)) (start $~start) (func $inlining/test (result i32) @@ -51,12 +55,12 @@ (local $0 i32) (local $1 i32) i32.const 1328 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1136 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -66,7 +70,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -84,7 +88,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -92,137 +96,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1200 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34324 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$125 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34324 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$125 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1200 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1200 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1520 + i32.load + i32.gt_u + if + i32.const 1328 + i32.const 1392 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1524 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1520 - i32.load $0 - i32.gt_u - if - i32.const 1328 - i32.const 1392 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1524 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -230,8 +254,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -243,10 +267,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -257,29 +281,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -287,10 +311,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -304,75 +328,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -394,7 +411,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -411,12 +428,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -433,17 +450,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -453,9 +470,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -480,13 +497,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -520,7 +537,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -576,19 +593,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -600,15 +617,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -616,23 +633,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1472 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -646,10 +665,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -657,23 +676,22 @@ if i32.const 0 i32.const 1472 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -685,52 +703,53 @@ if i32.const 0 i32.const 1472 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -738,7 +757,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -746,7 +765,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -757,10 +776,10 @@ end i32.const 34336 i32.const 0 - i32.store $0 + i32.store i32.const 35904 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -772,7 +791,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -790,7 +809,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -807,9 +826,10 @@ end i32.const 34336 i32.const 35908 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34336 global.set $~lib/rt/tlsf/ROOT @@ -839,7 +859,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -852,19 +872,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -875,7 +895,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -887,7 +907,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -900,12 +920,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -914,7 +930,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -925,26 +941,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -960,7 +976,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -976,7 +992,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1001,14 +1017,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1028,7 +1044,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1043,25 +1058,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1472 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1070,12 +1084,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1083,47 +1096,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1134,7 +1149,7 @@ if i32.const 0 i32.const 1472 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1144,7 +1159,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1161,10 +1176,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1180,13 +1195,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1472 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1201,7 +1216,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1228,7 +1243,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$70 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1240,16 +1255,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$70 end local.get $2 i32.const 0 @@ -1257,8 +1268,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1285,34 +1295,60 @@ if i32.const 1136 i32.const 1472 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1320,21 +1356,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1347,12 +1368,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1363,9 +1384,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1375,7 +1397,7 @@ if i32.const 0 i32.const 1472 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1383,14 +1405,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1472 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1399,8 +1421,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1409,95 +1431,95 @@ if i32.const 0 i32.const 1472 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1510,14 +1532,13 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $start:inlining (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1529,24 +1550,23 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 2 i32.const 1104 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $2) drop global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 123 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 123 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34324 @@ -1556,26 +1576,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1252 i32.const 1248 - i32.store $0 + i32.store i32.const 1256 i32.const 1248 - i32.store $0 + i32.store i32.const 1248 global.set $~lib/rt/itcms/pinSpace i32.const 1284 i32.const 1280 - i32.store $0 + i32.store i32.const 1288 i32.const 1280 - i32.store $0 + i32.store i32.const 1280 global.set $~lib/rt/itcms/toSpace i32.const 1428 i32.const 1424 - i32.store $0 + i32.store i32.const 1432 i32.const 1424 - i32.store $0 + i32.store i32.const 1424 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1587,35 +1607,34 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=12 - local.get $2 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.eqz if @@ -1624,44 +1643,41 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $3 + i32.store offset=12 local.get $0 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -1674,9 +1690,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -1689,9 +1705,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.ne if @@ -1704,9 +1720,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 4 i32.ne if @@ -1730,8 +1746,163 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/rt/__visit_members (param $0 i32) + (func $~lib/math/NativeMath.cbrt (param $0 f64) (result f64) (local $1 i32) + (local $2 i64) + (local $3 f64) + (local $4 f64) + local.get $0 + i64.reinterpret_f64 + local.tee $2 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.tee $1 + i32.const 2146435072 + i32.ge_u + if + local.get $0 + local.get $0 + f64.add + return + end + local.get $1 + i32.const 1048576 + i32.lt_u + if (result i32) + local.get $0 + f64.const 18014398509481984 + f64.mul + i64.reinterpret_f64 + local.tee $2 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const 2147483647 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + return + end + local.get $1 + i32.const 3 + i32.div_u + i32.const 696219795 + i32.add + else + local.get $1 + i32.const 3 + i32.div_u + i32.const 715094163 + i32.add + end + local.set $1 + local.get $2 + i64.const -9223372036854775808 + i64.and + local.get $1 + i64.extend_i32_u + i64.const 32 + i64.shl + i64.or + f64.reinterpret_i64 + local.tee $4 + local.get $4 + f64.mul + local.get $4 + local.get $0 + f64.div + f64.mul + local.set $3 + local.get $0 + local.get $4 + local.get $3 + local.get $3 + f64.const 1.6214297201053545 + f64.mul + f64.const -1.8849797954337717 + f64.add + f64.mul + f64.const 1.87595182427177 + f64.add + local.get $3 + local.get $3 + f64.mul + local.get $3 + f64.mul + local.get $3 + f64.const 0.14599619288661245 + f64.mul + f64.const -0.758397934778766 + f64.add + f64.mul + f64.add + f64.mul + i64.reinterpret_f64 + i64.const 2147483648 + i64.add + i64.const -1073741824 + i64.and + f64.reinterpret_i64 + local.tee $0 + local.get $0 + f64.mul + f64.div + local.set $3 + local.get $0 + local.get $0 + local.get $3 + local.get $0 + f64.sub + local.get $0 + local.get $0 + f64.add + local.get $3 + f64.add + f64.div + f64.mul + f64.add + ) + (func $inlining/foo (param $0 i32) (param $1 i32) (param $2 i32) (result f64) + local.get $0 + f64.convert_i32_s + local.get $1 + f64.convert_i32_s + call $~lib/math/NativeMath.cbrt + f64.mul + local.get $2 + f64.convert_i32_s + f64.add + ) + (func $inlining/bar (param $0 i32) (param $1 i32) (param $2 i32) (result f64) + (local $3 f64) + (local $4 f64) + (local $5 f64) + local.get $0 + f64.convert_i32_s + local.tee $3 + local.get $1 + f64.convert_i32_s + local.tee $4 + call $~lib/math/NativeMath.cbrt + f64.mul + local.get $2 + f64.convert_i32_s + local.tee $5 + f64.add + local.get $4 + local.get $3 + call $~lib/math/NativeMath.cbrt + f64.mul + local.get $5 + f64.add + f64.div + ) + (func $~lib/rt/__visit_members (param $0 i32) block $invalid block $inlining/Baz block $inlining/Bar @@ -1744,7 +1915,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $inlining/Foo $inlining/Bar $inlining/Baz $invalid end return @@ -1754,12 +1925,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end global.get $~lib/memory/__stack_pointer @@ -1778,19 +1945,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1808,23 +1970,4 @@ (func $~start call $start:inlining ) - (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 $0 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 - ) ) diff --git a/tests/compiler/inlining.ts b/tests/compiler/inlining.ts index 16515596d2..0758d7176d 100644 --- a/tests/compiler/inlining.ts +++ b/tests/compiler/inlining.ts @@ -100,3 +100,11 @@ function test_ctor(): void { } test_ctor(); + +export function foo(a: i32, b: i32, c: i32): f64 { + return a * Math.cbrt(b) + c; +} + +export function bar(a: i32, b: i32, c: i32): f64 { + return inline.always(foo(a, b, c)) / foo(b, a, c); +} diff --git a/tests/compiler/instanceof.debug.wat b/tests/compiler/instanceof.debug.wat index ca89c1071a..6cf9d166a7 100644 --- a/tests/compiler/instanceof.debug.wat +++ b/tests/compiler/instanceof.debug.wat @@ -1,14 +1,14 @@ (module - (type $i32_=>_none (func (param i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) + (type $0 (func (param i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param f64) (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)) @@ -51,16 +51,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33332)) (global $~lib/memory/__heap_base i32 (i32.const 33332)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00\00\00") - (data (i32.const 464) "\18\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s\00\00\00") + (data $9 (i32.const 464) "\18\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -68,12 +68,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -87,7 +87,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -161,7 +161,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -231,11 +231,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -243,7 +243,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -375,7 +375,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -388,7 +388,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -404,34 +404,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -591,7 +591,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -614,7 +614,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -628,7 +628,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -651,7 +651,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -794,7 +794,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -880,7 +880,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -960,7 +960,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -994,7 +994,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1017,7 +1017,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1031,27 +1031,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1076,9 +1081,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1097,7 +1102,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1116,7 +1121,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1130,7 +1134,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1186,12 +1190,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1225,7 +1229,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1246,7 +1250,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1266,7 +1270,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1286,7 +1290,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1312,7 +1316,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1335,9 +1339,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1373,7 +1378,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1639,14 +1644,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1702,7 +1710,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1711,6 +1719,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1740,24 +1768,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1795,7 +1812,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1810,7 +1827,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1855,7 +1872,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1866,7 +1883,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1888,7 +1905,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1911,7 +1928,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1930,22 +1947,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1958,7 +1967,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1985,27 +1994,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2030,7 +2040,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2145,7 +2155,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2165,7 +2175,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2198,12 +2208,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2254,12 +2264,11 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $instanceof/A#checkInstanceof (param $this i32) - nop ) (func $instanceof/isI32 (param $v i32) (result i32) i32.const 1 @@ -2285,47 +2294,47 @@ i32.const 0 return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/W> (param $value i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/W>" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2335,11 +2344,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2370,7 +2379,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> (param $value i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2380,11 +2389,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2415,7 +2424,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> (param $value i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2425,11 +2434,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2460,7 +2469,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> (param $value i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z>" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2470,11 +2479,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2505,7 +2514,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IA> (param $value i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IA>" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2515,11 +2524,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2550,7 +2559,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IB> (param $value i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IB>" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2560,11 +2569,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2595,7 +2604,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IC> (param $value i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IC>" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2605,11 +2614,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2640,7 +2649,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/ID> (param $value i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/ID>" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2650,11 +2659,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2685,53 +2694,53 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertDynamicFalse (param $value i32) + (func $"instanceof/assertDynamicFalse" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2741,11 +2750,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2775,7 +2784,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicFalse (param $value i32) + (func $"instanceof/assertDynamicFalse" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2785,11 +2794,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2819,7 +2828,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2829,11 +2838,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2864,7 +2873,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2874,11 +2883,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2909,17 +2918,17 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertDynamicFalse (param $value i32) + (func $"instanceof/assertDynamicFalse" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2929,11 +2938,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2963,7 +2972,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -2973,11 +2982,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3008,22 +3017,22 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertDynamicFalse (param $value i32) + (func $"instanceof/assertDynamicFalse" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3033,11 +3042,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3067,7 +3076,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicFalse (param $value i32) + (func $"instanceof/assertDynamicFalse" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3077,11 +3086,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3111,7 +3120,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicFalse (param $value i32) + (func $"instanceof/assertDynamicFalse" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3121,11 +3130,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3155,7 +3164,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicFalse (param $value i32) + (func $"instanceof/assertDynamicFalse" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3165,11 +3174,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3199,19 +3208,19 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3221,11 +3230,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3256,7 +3265,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3266,11 +3275,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3301,7 +3310,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3311,11 +3320,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3346,7 +3355,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3356,11 +3365,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3391,17 +3400,17 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertDynamicFalse (param $value i32) + (func $"instanceof/assertDynamicFalse" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3411,11 +3420,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3445,7 +3454,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicFalse (param $value i32) + (func $"instanceof/assertDynamicFalse" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3455,11 +3464,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3489,13 +3498,13 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3505,11 +3514,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3540,7 +3549,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3550,11 +3559,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3585,83 +3594,83 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticTrue (param $value i32) + (func $"instanceof/assertStaticTrue" (param $value i32) i32.const 1 drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertStaticFalse (param $value i32) + (func $"instanceof/assertStaticFalse" (param $value i32) i32.const 0 i32.eqz drop return ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3671,11 +3680,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3706,7 +3715,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3716,11 +3725,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3751,7 +3760,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3761,11 +3770,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3796,7 +3805,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3806,11 +3815,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3841,7 +3850,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3851,11 +3860,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3886,7 +3895,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3896,11 +3905,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3931,7 +3940,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3941,11 +3950,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -3976,7 +3985,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -3986,11 +3995,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -4021,7 +4030,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -4031,11 +4040,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -4066,7 +4075,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue (param $value i32) + (func $"instanceof/assertDynamicTrue" (param $value i32) (local $1 i32) (local $check i32) global.get $~lib/memory/__stack_pointer @@ -4076,11 +4085,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -4120,11 +4129,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/a local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -4134,7 +4143,6 @@ call $~instanceof|instanceof/C end if - nop end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4148,7 +4156,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 6 @@ -4169,7 +4177,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 5 @@ -4186,7 +4194,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 9 @@ -4203,7 +4211,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 7 @@ -4224,7 +4232,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 13 @@ -4245,7 +4253,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 14 @@ -4262,7 +4270,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 15 @@ -4279,7 +4287,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 16 @@ -4304,7 +4312,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 19 @@ -4325,7 +4333,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 22 @@ -4342,7 +4350,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 16 @@ -4367,7 +4375,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 16 @@ -4392,7 +4400,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 19 @@ -4413,7 +4421,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 19 @@ -4434,7 +4442,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 6 @@ -4586,16 +4594,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -4626,7 +4629,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $instanceof/A $instanceof/B $instanceof/C $instanceof/Child $instanceof/Parent $instanceof/Child $instanceof/Parent $instanceof/SomethingElse $instanceof/Animal $instanceof/Cat $instanceof/BlackCat $instanceof/W $instanceof/X $instanceof/IB $instanceof/IA $instanceof/Y $instanceof/ID $instanceof/IC $instanceof/Z $instanceof/IE $invalid end return @@ -4707,7 +4710,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4716,18 +4719,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4745,7 +4748,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4754,18 +4757,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $instanceof/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4783,7 +4786,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4792,18 +4795,18 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $instanceof/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4821,7 +4824,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4830,18 +4833,18 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4859,7 +4862,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4868,18 +4871,18 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $instanceof/Parent#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4897,7 +4900,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4906,18 +4909,18 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4935,7 +4938,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4944,18 +4947,18 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $instanceof/Parent#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4973,7 +4976,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4982,18 +4985,18 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5011,7 +5014,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5020,18 +5023,18 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $instanceof/Animal#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5049,7 +5052,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5058,18 +5061,18 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $instanceof/Cat#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5087,7 +5090,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5096,18 +5099,18 @@ i32.const 15 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5125,7 +5128,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5134,18 +5137,18 @@ i32.const 16 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5163,7 +5166,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5172,18 +5175,18 @@ i32.const 19 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $instanceof/X#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5201,7 +5204,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5210,18 +5213,18 @@ i32.const 22 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $instanceof/Y#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5261,8 +5264,8 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 88 - memory.fill $0 - memory.size $0 + memory.fill + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -5290,7 +5293,7 @@ local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 call $instanceof/A#checkInstanceof@override i32.const 1 @@ -5312,7 +5315,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/a local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if (result i32) @@ -5527,7 +5530,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/childAsParent local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.eqz if (result i32) @@ -5551,7 +5554,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/childAsParent local.tee $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 i32.eqz if (result i32) @@ -5589,7 +5592,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/animal local.tee $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $3 i32.eqz if (result i32) @@ -5611,7 +5614,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/animal local.tee $4 - i32.store $0 offset=20 + i32.store offset=20 local.get $4 i32.eqz if (result i32) @@ -5635,7 +5638,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/cat local.tee $5 - i32.store $0 offset=24 + i32.store offset=24 local.get $5 i32.eqz if (result i32) @@ -5656,7 +5659,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/cat local.tee $6 - i32.store $0 offset=28 + i32.store offset=28 local.get $6 i32.eqz if (result i32) @@ -5680,7 +5683,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/blackcat local.tee $7 - i32.store $0 offset=32 + i32.store offset=32 local.get $7 i32.eqz if (result i32) @@ -5701,7 +5704,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/blackcat local.tee $8 - i32.store $0 offset=36 + i32.store offset=36 local.get $8 i32.eqz if (result i32) @@ -5743,7 +5746,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableAnimal local.tee $9 - i32.store $0 offset=40 + i32.store offset=40 local.get $9 i32.eqz if (result i32) @@ -5765,7 +5768,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableAnimal local.tee $10 - i32.store $0 offset=44 + i32.store offset=44 local.get $10 i32.eqz if (result i32) @@ -5799,7 +5802,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableCat local.tee $11 - i32.store $0 offset=48 + i32.store offset=48 local.get $11 i32.eqz if (result i32) @@ -5820,7 +5823,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableCat local.tee $12 - i32.store $0 offset=52 + i32.store offset=52 local.get $12 i32.eqz if (result i32) @@ -5854,7 +5857,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableBlackcat local.tee $13 - i32.store $0 offset=56 + i32.store offset=56 local.get $13 i32.eqz if (result i32) @@ -5875,7 +5878,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableBlackcat local.tee $14 - i32.store $0 offset=60 + i32.store offset=60 local.get $14 i32.eqz if (result i32) @@ -5909,7 +5912,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullAnimal local.tee $15 - i32.store $0 offset=64 + i32.store offset=64 local.get $15 i32.eqz if (result i32) @@ -5931,7 +5934,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullAnimal local.tee $16 - i32.store $0 offset=68 + i32.store offset=68 local.get $16 i32.eqz if (result i32) @@ -5966,7 +5969,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullCat local.tee $17 - i32.store $0 offset=72 + i32.store offset=72 local.get $17 i32.eqz if (result i32) @@ -5988,7 +5991,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullCat local.tee $18 - i32.store $0 offset=76 + i32.store offset=76 local.get $18 i32.eqz if (result i32) @@ -6023,7 +6026,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullBlackcat local.tee $19 - i32.store $0 offset=80 + i32.store offset=80 local.get $19 i32.eqz if (result i32) @@ -6045,7 +6048,7 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullBlackcat local.tee $20 - i32.store $0 offset=84 + i32.store offset=84 local.get $20 i32.eqz if (result i32) @@ -6080,926 +6083,926 @@ local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/w local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/W> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/W>" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z>" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IA> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IA>" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IB> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IB>" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IA> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IA>" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IB> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IB>" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IC> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IC>" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/ID> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/ID>" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IA> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IA>" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IB> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IB>" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IC> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IC>" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/ID> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/ID>" global.get $instanceof/w local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/w local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/w local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/w local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticTrue + call $"instanceof/assertStaticTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertStaticFalse + call $"instanceof/assertStaticFalse" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/x local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/y local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $instanceof/z local.set $21 global.get $~lib/memory/__stack_pointer local.get $21 - i32.store $0 + i32.store local.get $21 - call $instanceof/assertDynamicTrue + call $"instanceof/assertDynamicTrue" global.get $~lib/memory/__stack_pointer i32.const 88 i32.add @@ -7014,7 +7017,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -7023,7 +7026,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/instanceof.release.wat b/tests/compiler/instanceof.release.wat index 869d95ffad..bdbf1e3b54 100644 --- a/tests/compiler/instanceof.release.wat +++ b/tests/compiler/instanceof.release.wat @@ -1,11 +1,11 @@ (module - (type $i32_=>_none (func (param i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (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 $0 (func (param i32) (result i32))) + (type $1 (func (param i32))) + (type $2 (func)) + (type $3 (func (param i32 i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (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)) @@ -34,19 +34,19 @@ (global $instanceof/z (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34356)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") - (data (i32.const 1488) "\18\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \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 $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) ",") + (data $8.1 (i32.const 1448) "\02\00\00\00\1a\00\00\00i\00n\00s\00t\00a\00n\00c\00e\00o\00f\00.\00t\00s") + (data $9 (i32.const 1488) "\18\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -56,99 +56,99 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/b local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/an local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/child local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/childAsParent local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/animal local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/cat local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/blackcat local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/nullableAnimal local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/nullableCat local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/nullableBlackcat local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/w local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/x local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/y local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $instanceof/z local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -158,7 +158,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -176,7 +176,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -184,137 +184,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34356 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$241 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34356 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$241 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1488 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1492 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -322,8 +342,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -335,10 +355,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -349,29 +369,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -379,10 +399,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -396,75 +416,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -486,7 +499,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -503,12 +516,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -525,17 +538,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -545,9 +558,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -572,13 +585,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -612,7 +625,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -668,19 +681,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -692,15 +705,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -708,23 +721,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -738,10 +753,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -749,23 +764,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -777,52 +791,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -830,7 +845,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -838,7 +853,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -849,10 +864,10 @@ end i32.const 34368 i32.const 0 - i32.store $0 + i32.store i32.const 35936 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -864,7 +879,7 @@ i32.const 34368 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -882,7 +897,7 @@ i32.const 34368 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -899,9 +914,10 @@ end i32.const 34368 i32.const 35940 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34368 global.set $~lib/rt/tlsf/ROOT @@ -931,7 +947,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -944,19 +960,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -967,7 +983,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -979,7 +995,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -992,12 +1008,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -1006,7 +1018,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1017,26 +1029,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1052,7 +1064,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1068,7 +1080,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1093,14 +1105,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1120,7 +1132,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1135,25 +1146,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1162,12 +1172,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1177,7 +1186,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1188,10 +1197,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1203,13 +1212,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1224,7 +1233,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1239,7 +1248,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1251,16 +1260,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1268,8 +1273,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1291,11 +1295,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1314,12 +1318,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1330,9 +1334,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1341,14 +1346,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1356,7 +1361,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1365,7 +1370,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1381,7 +1386,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1391,7 +1396,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1400,54 +1405,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1460,11 +1465,10 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> (param $0 i32) - (local $1 i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" (param $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1481,27 +1485,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 if (result i32) - block $__inlined_func$~instanceof|instanceof/X (result i32) + block $__inlined_func$~instanceof|instanceof/X$76 (result i32) block $is_instance block $tablify|0 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 16 i32.sub br_table $is_instance $tablify|0 $tablify|0 $is_instance $tablify|0 $tablify|0 $is_instance $tablify|0 end i32.const 0 - br $__inlined_func$~instanceof|instanceof/X + br $__inlined_func$~instanceof|instanceof/X$76 end i32.const 1 end @@ -1522,8 +1525,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> (param $0 i32) - (local $1 i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" (param $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1540,20 +1542,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 if (result i32) - block $__inlined_func$~instanceof|instanceof/Y (result i32) + block $__inlined_func$~instanceof|instanceof/Y$78 (result i32) block $is_instance local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 19 i32.eq @@ -1563,7 +1564,7 @@ i32.eq br_if $is_instance i32.const 0 - br $__inlined_func$~instanceof|instanceof/Y + br $__inlined_func$~instanceof|instanceof/Y$78 end i32.const 1 end @@ -1584,8 +1585,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> (param $0 i32) - (local $1 i32) + (func $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z>" (param $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1602,18 +1602,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 if (result i32) local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 22 i32.eq else @@ -1633,8 +1632,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicFalse (param $0 i32) - (local $1 i32) + (func $"instanceof/assertDynamicFalse" (param $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1651,20 +1649,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 if (result i32) - block $__inlined_func$~instanceof|instanceof/Y (result i32) + block $__inlined_func$~instanceof|instanceof/Y$82 (result i32) block $is_instance local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 19 i32.eq @@ -1674,7 +1671,7 @@ i32.eq br_if $is_instance i32.const 0 - br $__inlined_func$~instanceof|instanceof/Y + br $__inlined_func$~instanceof|instanceof/Y$82 end i32.const 1 end @@ -1694,8 +1691,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $instanceof/assertDynamicFalse (param $0 i32) - (local $1 i32) + (func $"instanceof/assertDynamicFalse" (param $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1712,18 +1708,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 if (result i32) local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 22 i32.eq else @@ -1771,7 +1766,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $instanceof/A $instanceof/B $instanceof/C $instanceof/Child $instanceof/Parent $instanceof/Child $instanceof/Parent $instanceof/SomethingElse $instanceof/Animal $instanceof/Cat $instanceof/BlackCat $instanceof/W $instanceof/X $instanceof/IB $instanceof/IA $instanceof/Y $instanceof/ID $instanceof/IC $instanceof/Z $instanceof/IE $invalid end return @@ -1781,12 +1776,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1835,7 +1826,6 @@ call $start:instanceof ) (func $instanceof/A#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1853,7 +1843,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1861,17 +1851,16 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1879,7 +1868,6 @@ local.get $0 ) (func $instanceof/Animal#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1897,7 +1885,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1905,17 +1893,16 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1923,7 +1910,6 @@ local.get $0 ) (func $instanceof/Cat#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1941,7 +1927,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1949,17 +1935,16 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $instanceof/Animal#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1968,7 +1953,6 @@ ) (func $instanceof/BlackCat#constructor (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1985,23 +1969,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 14 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $instanceof/Cat#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2009,7 +1991,6 @@ local.get $0 ) (func $instanceof/X#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2027,7 +2008,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -2035,17 +2016,16 @@ i32.const 16 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2053,7 +2033,6 @@ local.get $0 ) (func $instanceof/Y#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2071,7 +2050,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -2079,17 +2058,16 @@ i32.const 19 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $instanceof/X#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2099,8 +2077,6 @@ (func $start:instanceof (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 88 i32.sub @@ -2113,8 +2089,8 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 88 - memory.fill $0 - memory.size $0 + memory.fill + memory.size i32.const 16 i32.shl i32.const 34356 @@ -2124,26 +2100,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace i32.const 0 @@ -2158,23 +2134,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $instanceof/A#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2190,34 +2164,32 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $instanceof/A#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 6 i32.eq if @@ -2230,19 +2202,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $instanceof/a local.tee $0 - i32.store $0 + i32.store local.get $0 if local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load drop end global.get $~lib/memory/__stack_pointer @@ -2253,13 +2224,13 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/a local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 if (result i32) local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.eq else @@ -2293,19 +2264,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2315,7 +2285,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -2323,24 +2293,22 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2356,19 +2324,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 9 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2378,7 +2345,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -2386,24 +2353,22 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2413,13 +2378,13 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/childAsParent local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 if (result i32) local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 9 i32.eq else @@ -2437,25 +2402,25 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/childAsParent local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 if (result i32) - block $__inlined_func$~anyinstanceof|instanceof/Child (result i32) - block $is_instance2 + block $__inlined_func$~anyinstanceof|instanceof/Child$110 (result i32) + block $is_instance1 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 7 i32.eq - br_if $is_instance2 + br_if $is_instance1 local.get $0 i32.const 9 i32.eq - br_if $is_instance2 + br_if $is_instance1 i32.const 0 - br $__inlined_func$~anyinstanceof|instanceof/Child + br $__inlined_func$~anyinstanceof|instanceof/Child$110 end i32.const 1 end @@ -2482,25 +2447,25 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/animal local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 if (result i32) - block $__inlined_func$~instanceof|instanceof/Cat (result i32) - block $is_instance3 + block $__inlined_func$~instanceof|instanceof/Cat$111 (result i32) + block $is_instance2 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 13 i32.eq - br_if $is_instance3 + br_if $is_instance2 local.get $0 i32.const 14 i32.eq - br_if $is_instance3 + br_if $is_instance2 i32.const 0 - br $__inlined_func$~instanceof|instanceof/Cat + br $__inlined_func$~instanceof|instanceof/Cat$111 end i32.const 1 end @@ -2518,13 +2483,13 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/animal local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 local.get $0 if (result i32) local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 14 i32.eq else @@ -2541,25 +2506,25 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/cat local.tee $0 - i32.store $0 offset=24 + i32.store offset=24 local.get $0 if (result i32) - block $__inlined_func$~instanceof|instanceof/Cat5 (result i32) - block $is_instance6 + block $__inlined_func$~instanceof|instanceof/Cat$113 (result i32) + block $is_instance4 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 13 i32.eq - br_if $is_instance6 + br_if $is_instance4 local.get $0 i32.const 14 i32.eq - br_if $is_instance6 + br_if $is_instance4 i32.const 0 - br $__inlined_func$~instanceof|instanceof/Cat5 + br $__inlined_func$~instanceof|instanceof/Cat$113 end i32.const 1 end @@ -2578,13 +2543,13 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/cat local.tee $0 - i32.store $0 offset=28 + i32.store offset=28 local.get $0 if (result i32) local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 14 i32.eq else @@ -2601,25 +2566,25 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/blackcat local.tee $0 - i32.store $0 offset=32 + i32.store offset=32 local.get $0 if (result i32) - block $__inlined_func$~instanceof|instanceof/Cat9 (result i32) - block $is_instance10 + block $__inlined_func$~instanceof|instanceof/Cat$115 (result i32) + block $is_instance6 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 13 i32.eq - br_if $is_instance10 + br_if $is_instance6 local.get $0 i32.const 14 i32.eq - br_if $is_instance10 + br_if $is_instance6 i32.const 0 - br $__inlined_func$~instanceof|instanceof/Cat9 + br $__inlined_func$~instanceof|instanceof/Cat$115 end i32.const 1 end @@ -2638,13 +2603,13 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/blackcat local.tee $0 - i32.store $0 offset=36 + i32.store offset=36 local.get $0 if (result i32) local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 14 i32.eq else @@ -2680,25 +2645,25 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableAnimal local.tee $0 - i32.store $0 offset=40 + i32.store offset=40 local.get $0 if (result i32) - block $__inlined_func$~instanceof|instanceof/Cat13 (result i32) - block $is_instance14 + block $__inlined_func$~instanceof|instanceof/Cat$117 (result i32) + block $is_instance8 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 13 i32.eq - br_if $is_instance14 + br_if $is_instance8 local.get $0 i32.const 14 i32.eq - br_if $is_instance14 + br_if $is_instance8 i32.const 0 - br $__inlined_func$~instanceof|instanceof/Cat13 + br $__inlined_func$~instanceof|instanceof/Cat$117 end i32.const 1 end @@ -2716,13 +2681,13 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableAnimal local.tee $0 - i32.store $0 offset=44 + i32.store offset=44 local.get $0 if (result i32) local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 14 i32.eq else @@ -2749,25 +2714,25 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableCat local.tee $0 - i32.store $0 offset=48 + i32.store offset=48 local.get $0 if (result i32) - block $__inlined_func$~instanceof|instanceof/Cat17 (result i32) - block $is_instance18 + block $__inlined_func$~instanceof|instanceof/Cat$119 (result i32) + block $is_instance10 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 13 i32.eq - br_if $is_instance18 + br_if $is_instance10 local.get $0 i32.const 14 i32.eq - br_if $is_instance18 + br_if $is_instance10 i32.const 0 - br $__inlined_func$~instanceof|instanceof/Cat17 + br $__inlined_func$~instanceof|instanceof/Cat$119 end i32.const 1 end @@ -2786,13 +2751,13 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableCat local.tee $0 - i32.store $0 offset=52 + i32.store offset=52 local.get $0 if (result i32) local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 14 i32.eq else @@ -2819,25 +2784,25 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableBlackcat local.tee $0 - i32.store $0 offset=56 + i32.store offset=56 local.get $0 if (result i32) - block $__inlined_func$~instanceof|instanceof/Cat21 (result i32) - block $is_instance22 + block $__inlined_func$~instanceof|instanceof/Cat$121 (result i32) + block $is_instance12 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.tee $0 i32.const 13 i32.eq - br_if $is_instance22 + br_if $is_instance12 local.get $0 i32.const 14 i32.eq - br_if $is_instance22 + br_if $is_instance12 i32.const 0 - br $__inlined_func$~instanceof|instanceof/Cat21 + br $__inlined_func$~instanceof|instanceof/Cat$121 end i32.const 1 end @@ -2856,13 +2821,13 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/nullableBlackcat local.tee $0 - i32.store $0 offset=60 + i32.store offset=60 local.get $0 if (result i32) local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 14 i32.eq else @@ -2878,25 +2843,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 offset=64 - local.get $0 + i32.store offset=64 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=68 - local.get $0 + i32.store offset=68 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=72 - local.get $0 + i32.store offset=72 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=76 - local.get $0 + i32.store offset=76 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=80 - local.get $0 + i32.store offset=80 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=84 - local.get $0 + i32.store offset=84 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2905,23 +2869,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 15 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2943,23 +2905,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 22 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $instanceof/Y#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2968,53 +2928,50 @@ global.set $instanceof/z global.get $~lib/memory/__stack_pointer global.get $instanceof/w - local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x - local.tee $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - local.tee $3 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + global.get $instanceof/x + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + global.get $instanceof/x + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 + global.get $instanceof/y + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 + global.get $instanceof/y + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 + global.get $instanceof/y + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 + global.get $instanceof/y + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + global.get $instanceof/z + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + global.get $instanceof/z + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + global.get $instanceof/z + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + global.get $instanceof/z + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + global.get $instanceof/w + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3024,18 +2981,17 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - local.get $1 - i32.store $0 - local.get $1 if (result i32) - local.get $1 + local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 15 i32.eq else @@ -3057,535 +3013,534 @@ global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z>" global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/w - local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + global.get $instanceof/w + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + global.get $instanceof/w + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + global.get $instanceof/w + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $~lib/memory/__stack_pointer global.get $instanceof/x - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicFalse + call $"instanceof/assertDynamicFalse" global.get $~lib/memory/__stack_pointer global.get $instanceof/x - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/y - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/z - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/x local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/y local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z>" global.get $~lib/memory/__stack_pointer global.get $instanceof/z local.tee $0 - i32.store $0 + i32.store local.get $0 - call $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> + call $"instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z>" global.get $~lib/memory/__stack_pointer i32.const 88 i32.add @@ -3617,7 +3572,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -3625,7 +3580,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3633,23 +3588,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/interface-with-initializer.json b/tests/compiler/interface-with-initializer.json new file mode 100644 index 0000000000..be54c01a3f --- /dev/null +++ b/tests/compiler/interface-with-initializer.json @@ -0,0 +1,7 @@ +{ + "asc_flags": [ + ], + "stderr": [ + "TS1246: An interface property cannot have an initializer." + ] +} diff --git a/tests/compiler/interface-with-initializer.ts b/tests/compiler/interface-with-initializer.ts new file mode 100644 index 0000000000..c1d5689042 --- /dev/null +++ b/tests/compiler/interface-with-initializer.ts @@ -0,0 +1,9 @@ +interface I { + v: string = ""; +} + +class C implements I { + v: string = ""; +} + +new C(); diff --git a/tests/compiler/issues/1095.debug.wat b/tests/compiler/issues/1095.debug.wat index be80f96fb5..4a22d3612d 100644 --- a/tests/compiler/issues/1095.debug.wat +++ b/tests/compiler/issues/1095.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32 i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -28,18 +28,18 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33416)) (global $~lib/memory/__heap_base i32 (i32.const 33416)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00\08\00\00\00t\00e\00s\00t\00\00\00\00\00") - (data (i32.const 444) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s\00") - (data (i32.const 624) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00e\00s\00t\00\00\00\00\00") + (data $9 (i32.const 444) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s\00") + (data $11 (i32.const 624) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -47,12 +47,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -66,7 +66,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -140,7 +140,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -210,11 +210,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -222,7 +222,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -354,7 +354,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -367,7 +367,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -383,34 +383,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -570,7 +570,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -593,7 +593,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -607,7 +607,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -630,7 +630,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -773,7 +773,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -859,7 +859,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -939,7 +939,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -973,7 +973,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -996,7 +996,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1010,27 +1010,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1055,9 +1060,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1076,7 +1081,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1095,7 +1100,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1109,7 +1113,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1165,12 +1169,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1204,7 +1208,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1225,7 +1229,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1245,7 +1249,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1265,7 +1269,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1291,7 +1295,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1314,9 +1318,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1352,7 +1357,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1618,14 +1623,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1681,7 +1689,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1690,6 +1698,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1719,24 +1747,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1774,7 +1791,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1789,7 +1806,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1834,7 +1851,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1845,7 +1862,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1867,7 +1884,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1890,7 +1907,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1909,22 +1926,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1937,7 +1946,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1964,27 +1973,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2009,7 +2019,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2124,7 +2134,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2144,7 +2154,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2177,12 +2187,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2233,7 +2243,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2308,7 +2318,7 @@ (func $issues/1095/Foo#set:bar (param $this i32) (param $bar i32) local.get $this local.get $bar - i32.store $0 + i32.store local.get $this local.get $bar i32.const 0 @@ -2316,7 +2326,7 @@ ) (func $issues/1095/Foo#get:bar (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2333,16 +2343,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $issues/1095/Foo~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2350,13 +2355,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2368,7 +2369,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1095/Foo $invalid end return @@ -2408,16 +2409,13 @@ (func $issues/1095/Foo#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $this i32.eqz if @@ -2426,35 +2424,30 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 432 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $issues/1095/Foo#set:bar local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2469,26 +2462,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $foo local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 global.get $~lib/memory/__stack_pointer local.get $foo local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $issues/1095/Foo#get:bar local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 if (result i32) local.get $1 @@ -2503,7 +2496,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $issues/1095/Foo#set:bar global.get $~lib/memory/__stack_pointer @@ -2520,8 +2513,8 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2543,7 +2536,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $issues/1095/test global.get $~lib/memory/__stack_pointer @@ -2560,7 +2553,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2569,7 +2562,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/issues/1095.release.wat b/tests/compiler/issues/1095.release.wat index 4e3382d3f4..b5ae2294e0 100644 --- a/tests/compiler/issues/1095.release.wat +++ b/tests/compiler/issues/1095.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (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)) @@ -19,35 +19,35 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34440)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00\08\00\00\00t\00e\00s\00t") - (data (i32.const 1468) "|") - (data (i32.const 1480) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") - (data (i32.const 1596) ",") - (data (i32.const 1608) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s") - (data (i32.const 1648) "\05\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "\1c") + (data $8.1 (i32.const 1448) "\02\00\00\00\08\00\00\00t\00e\00s\00t") + (data $9 (i32.const 1468) "|") + (data $9.1 (i32.const 1480) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") + (data $10 (i32.const 1596) ",") + (data $10.1 (i32.const 1608) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\000\009\005\00.\00t\00s") + (data $11 (i32.const 1648) "\05\00\00\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 + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -57,7 +57,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -75,7 +75,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -92,7 +92,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -106,16 +106,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$117 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34440 @@ -130,10 +130,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$117 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -146,20 +146,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -168,7 +168,7 @@ else local.get $1 i32.const 1648 - i32.load $0 + i32.load i32.gt_u if i32.const 1248 @@ -183,13 +183,13 @@ i32.shl i32.const 1652 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -199,21 +199,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -221,8 +245,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -234,10 +258,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -248,29 +272,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -278,10 +302,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -295,75 +319,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -385,7 +402,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -402,12 +419,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -424,17 +441,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -444,9 +461,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -471,13 +488,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -511,7 +528,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -567,19 +584,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -591,15 +608,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -607,23 +624,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -637,10 +656,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -648,23 +667,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -676,52 +694,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -729,7 +748,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -737,7 +756,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -748,10 +767,10 @@ end i32.const 34448 i32.const 0 - i32.store $0 + i32.store i32.const 36016 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -763,7 +782,7 @@ i32.const 34448 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -781,7 +800,7 @@ i32.const 34448 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -798,9 +817,10 @@ end i32.const 34448 i32.const 36020 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34448 global.set $~lib/rt/tlsf/ROOT @@ -830,7 +850,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -843,19 +863,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -866,7 +886,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -878,7 +898,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -891,12 +911,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -905,7 +921,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -916,26 +932,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -951,7 +967,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -967,7 +983,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -992,14 +1008,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1019,7 +1035,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1034,25 +1049,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1061,12 +1075,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1074,47 +1087,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1125,7 +1140,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1135,7 +1150,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1152,10 +1167,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1171,13 +1186,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1192,7 +1207,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1219,7 +1234,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1231,16 +1246,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1248,8 +1259,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1276,34 +1286,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1311,21 +1347,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1338,12 +1359,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1354,9 +1375,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1366,7 +1388,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1374,14 +1396,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1390,8 +1412,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1400,95 +1422,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1501,13 +1523,13 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $issues/1095/Foo#set:bar (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store $0 + i32.store local.get $1 if local.get $0 @@ -1525,7 +1547,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.eq @@ -1533,7 +1555,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and local.tee $0 @@ -1560,32 +1582,35 @@ end ) (func $~lib/rt/__visit_members (param $0 i32) - block $folding-inner0 - block $invalid - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $invalid + block $invalid + block $issues/1095/Foo + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1095/Foo $invalid + end + return end return end return end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit return end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.load + call $~lib/rt/itcms/__visit + return end + unreachable ) (func $~start (local $0 i32) @@ -1600,10 +1625,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34440 @@ -1613,30 +1637,30 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace - local.get $0 - i32.const 12 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1644,23 +1668,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1670,7 +1690,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1679,31 +1699,27 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1456 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1456 call $issues/1095/Foo#set:bar global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -1713,23 +1729,22 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 + i32.load local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.eqz if @@ -1742,7 +1757,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $issues/1095/Foo#set:bar @@ -1763,23 +1778,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/issues/1225.debug.wat b/tests/compiler/issues/1225.debug.wat index d0698b8794..2abb8194d5 100644 --- a/tests/compiler/issues/1225.debug.wat +++ b/tests/compiler/issues/1225.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_i32 (func (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (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)) @@ -29,16 +29,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33256)) (global $~lib/memory/__heap_base i32 (i32.const 33256)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\002\002\005\00.\00t\00s\00") - (data (i32.const 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\002\002\005\00.\00t\00s\00") + (data $9 (i32.const 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "normal" (func $issues/1225/normal)) @@ -47,27 +47,27 @@ (start $~start) (func $issues/1225/X#get:x (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $issues/1225/X#set:viaThis (param $this i32) (param $viaThis i32) local.get $this local.get $viaThis - i32.store $0 offset=4 + i32.store offset=4 ) (func $issues/1225/X#set:normal (param $this i32) (param $normal i32) local.get $this local.get $normal - i32.store $0 + i32.store ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -81,7 +81,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -155,7 +155,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -225,11 +225,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -237,7 +237,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -369,7 +369,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -382,7 +382,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -398,34 +398,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -585,7 +585,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -608,7 +608,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -622,7 +622,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -645,7 +645,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -788,7 +788,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -874,7 +874,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -954,7 +954,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -988,7 +988,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1011,7 +1011,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1025,27 +1025,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1070,9 +1075,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1091,7 +1096,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1110,7 +1115,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1124,7 +1128,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1180,12 +1184,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1219,7 +1223,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1240,7 +1244,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1260,7 +1264,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1280,7 +1284,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1306,7 +1310,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1329,9 +1333,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1367,7 +1372,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1633,14 +1638,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1696,7 +1704,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1705,6 +1713,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1734,24 +1762,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1789,7 +1806,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1804,7 +1821,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1849,7 +1866,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1860,7 +1877,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1882,7 +1899,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1905,7 +1922,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1924,22 +1941,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1952,7 +1961,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1979,27 +1988,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2024,7 +2034,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2139,7 +2149,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2159,7 +2169,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2192,12 +2202,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2248,22 +2258,22 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $issues/1225/X#set:x (param $this i32) (param $x i32) local.get $this local.get $x - i32.store $0 offset=8 + i32.store offset=8 ) (func $issues/1225/X#get:normal (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $issues/1225/X#get:viaThis (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/__collect i32.const 0 @@ -2312,7 +2322,7 @@ drop ) (func $start:issues/1225 - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2383,16 +2393,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2404,7 +2409,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1225/X $invalid end return @@ -2447,10 +2452,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2459,13 +2464,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $x call $issues/1225/X#set:x @@ -2473,7 +2478,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $issues/1225/X#set:normal @@ -2481,7 +2486,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $issues/1225/X#set:viaThis @@ -2489,13 +2494,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $issues/1225/X#get:x call $issues/1225/X#set:viaThis @@ -2503,7 +2508,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $x call $issues/1225/X#set:normal @@ -2524,12 +2529,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $issues/1225/x local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $issues/1225/X#get:normal local.set $0 @@ -2549,12 +2554,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $issues/1225/x local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $issues/1225/X#get:viaThis local.set $0 diff --git a/tests/compiler/issues/1225.release.wat b/tests/compiler/issues/1225.release.wat index 6710c4ed66..10fcd3691c 100644 --- a/tests/compiler/issues/1225.release.wat +++ b/tests/compiler/issues/1225.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func (result i32))) + (type $1 (func)) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (param 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)) @@ -20,19 +20,19 @@ (global $issues/1225/x (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34280)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\002\002\005\00.\00t\00s") - (data (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) ",") + (data $8.1 (i32.const 1448) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\002\002\005\00.\00t\00s") + (data $9 (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "normal" (func $issues/1225/normal)) (export "viaThis" (func $issues/1225/viaThis)) (export "memory" (memory $0)) @@ -44,15 +44,15 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -62,7 +62,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -80,7 +80,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -88,137 +88,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34280 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$119 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34280 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$119 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1488 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1492 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -226,8 +246,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -239,10 +259,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -253,29 +273,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -283,10 +303,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -300,75 +320,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -390,7 +403,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -407,12 +420,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -429,17 +442,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -449,9 +462,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -476,13 +489,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -516,7 +529,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -572,19 +585,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -596,15 +609,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -612,23 +625,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -642,10 +657,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -653,23 +668,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -681,52 +695,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -734,7 +749,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -742,7 +757,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -753,10 +768,10 @@ end i32.const 34288 i32.const 0 - i32.store $0 + i32.store i32.const 35856 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -768,7 +783,7 @@ i32.const 34288 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -786,7 +801,7 @@ i32.const 34288 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -803,9 +818,10 @@ end i32.const 34288 i32.const 35860 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34288 global.set $~lib/rt/tlsf/ROOT @@ -835,7 +851,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -848,19 +864,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -871,7 +887,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -883,7 +899,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -896,12 +912,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -910,7 +922,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -921,26 +933,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -956,7 +968,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -972,7 +984,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -997,14 +1009,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1024,7 +1036,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1039,25 +1050,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1066,12 +1076,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1081,7 +1090,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1092,10 +1101,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1107,13 +1116,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1128,7 +1137,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1143,7 +1152,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $0 loop $do-loop|0 @@ -1155,16 +1164,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $0 i32.const 0 @@ -1172,8 +1177,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1195,11 +1199,11 @@ local.tee $0 i32.eqz if - memory.size $0 + memory.size local.tee $0 i32.const 4 local.get $1 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $0 i32.const 16 i32.shl @@ -1218,12 +1222,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1234,9 +1238,10 @@ local.get $0 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $1 call $~lib/rt/tlsf/searchBlock @@ -1245,14 +1250,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1260,7 +1265,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1269,7 +1274,7 @@ local.get $0 call $~lib/rt/tlsf/removeBlock local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const -4 i32.and @@ -1285,7 +1290,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $0 i32.const 32 i32.add @@ -1295,7 +1300,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock @@ -1304,54 +1309,54 @@ local.get $2 i32.const -2 i32.and - i32.store $0 + i32.store local.get $0 i32.const 4 i32.add local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $1 local.get $1 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $0 i32.const 4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 12 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1364,7 +1369,7 @@ local.tee $0 i32.const 0 i32.const 12 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1377,7 +1382,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1225/X $invalid end return @@ -1387,12 +1392,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1401,8 +1402,7 @@ ) (func $~start (local $0 i32) - (local $1 i32) - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34280 @@ -1412,26 +1412,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1450,56 +1450,54 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__new local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 4 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $1 - i32.load $0 offset=8 - i32.store $0 offset=4 + i32.store offset=8 local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 4 - i32.store $0 local.get $0 + i32.load offset=8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 4 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 global.set $issues/1225/x call $issues/1225/normal i32.const 4 @@ -1561,7 +1559,6 @@ ) (func $issues/1225/normal (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1578,25 +1575,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $issues/1225/x - local.tee $1 - i32.store $0 - local.get $1 - i32.load $0 - local.set $1 + local.tee $0 + i32.store local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) (func $issues/1225/viaThis (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1613,39 +1606,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $issues/1225/x - local.tee $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + local.tee $0 + i32.store local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (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 $0 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 ) ) diff --git a/tests/compiler/issues/1699.debug.wat b/tests/compiler/issues/1699.debug.wat index b829f3a6a3..b7c5009d63 100644 --- a/tests/compiler/issues/1699.debug.wat +++ b/tests/compiler/issues/1699.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -29,19 +29,19 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33484)) (global $~lib/memory/__heap_base i32 (i32.const 33484)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 508) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\006\009\009\00.\00t\00s\00") - (data (i32.const 688) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\02A\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $1 (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 508) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\006\009\009\00.\00t\00s\00") + (data $12 (i32.const 688) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\02A\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -49,12 +49,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -68,7 +68,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -142,7 +142,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -212,11 +212,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -224,7 +224,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 320 @@ -356,7 +356,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -369,7 +369,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -385,34 +385,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -572,7 +572,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -595,7 +595,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -609,7 +609,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -632,7 +632,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -775,7 +775,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -861,7 +861,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -941,7 +941,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -975,7 +975,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -998,7 +998,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1012,27 +1012,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 464 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1057,9 +1062,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1078,7 +1083,7 @@ if i32.const 0 i32.const 464 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1097,7 +1102,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1111,7 +1115,7 @@ if i32.const 0 i32.const 464 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1167,12 +1171,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1206,7 +1210,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1227,7 +1231,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1247,7 +1251,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1267,7 +1271,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1293,7 +1297,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1316,9 +1320,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1354,7 +1359,7 @@ if i32.const 0 i32.const 464 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1620,14 +1625,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1683,7 +1691,7 @@ if i32.const 128 i32.const 464 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1692,6 +1700,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1721,24 +1749,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1776,7 +1793,7 @@ if i32.const 0 i32.const 464 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1791,7 +1808,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1836,7 +1853,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1847,7 +1864,7 @@ if i32.const 0 i32.const 464 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1869,7 +1886,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1892,7 +1909,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1911,22 +1928,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1939,7 +1948,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1966,27 +1975,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2011,7 +2021,7 @@ if i32.const 0 i32.const 464 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2126,7 +2136,7 @@ if i32.const 0 i32.const 464 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2146,7 +2156,7 @@ if i32.const 0 i32.const 464 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2179,12 +2189,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2235,7 +2245,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2310,7 +2320,7 @@ (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2319,38 +2329,38 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $issues/1699/MultiAssignmentTest#set:test (param $this i32) (param $test i32) local.get $this local.get $test - i32.store $0 + i32.store ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2394,16 +2404,16 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $start:issues/1699 - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2443,20 +2453,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2477,7 +2482,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1699/MultiAssignmentTest $~lib/array/Array $invalid end return @@ -2529,10 +2534,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -2541,13 +2546,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -2555,7 +2560,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -2563,7 +2568,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -2571,7 +2576,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -2604,7 +2609,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2613,20 +2618,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2634,7 +2639,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2642,7 +2647,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -2663,7 +2668,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2672,23 +2677,23 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 call $issues/1699/MultiAssignmentTest#set:test @@ -2719,12 +2724,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -2751,7 +2756,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -2801,10 +2806,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -2812,7 +2817,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2828,13 +2833,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2861,7 +2866,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -2872,7 +2877,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -2880,7 +2885,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -2902,13 +2907,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2925,16 +2930,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -2968,12 +2973,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -2992,36 +2997,36 @@ (local $testinstance i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 + i32.const 28 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/array/Array#constructor local.tee $testinstances - i32.store $0 + i32.store local.get $testinstances local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 global.get $~lib/memory/__stack_pointer local.get $testinstances local.tee $1 - i32.store $0 offset=16 + i32.store offset=20 local.get $1 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=12 local.get $5 i32.const 1 local.tee $2 @@ -3030,21 +3035,21 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=16 local.get $5 call $~lib/array/Array#__set local.get $1 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=12 local.get $5 local.get $2 call $~lib/array/Array#__get local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/array/Array#__set i32.const 0 @@ -3055,7 +3060,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length i32.lt_s @@ -3064,7 +3069,7 @@ i32.const 0 call $issues/1699/MultiAssignmentTest#constructor local.tee $testinstance - i32.store $0 offset=20 + i32.store offset=24 local.get $n i32.const 1 i32.gt_s @@ -3073,14 +3078,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $n local.get $testinstance local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/array/Array#__set end @@ -3095,7 +3100,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 call $~lib/array/Array#__get @@ -3103,7 +3108,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 call $~lib/array/Array#__get @@ -3121,7 +3126,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 2 call $~lib/array/Array#__get @@ -3129,7 +3134,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 call $~lib/array/Array#__get @@ -3144,7 +3149,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3160,14 +3165,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $cur @@ -3176,7 +3181,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 2 @@ -3189,7 +3194,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -3208,7 +3213,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:buffer local.get $cookie @@ -3227,7 +3232,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3236,7 +3241,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/issues/1699.release.wat b/tests/compiler/issues/1699.release.wat index d7ae3f434b..0ba5679b98 100644 --- a/tests/compiler/issues/1699.release.wat +++ b/tests/compiler/issues/1699.release.wat @@ -1,11 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) (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)) @@ -19,41 +20,41 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34508)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1084) ",") - (data (i32.const 1096) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1132) "<") - (data (i32.const 1144) "\02\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 1196) "<") - (data (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1324) "<") - (data (i32.const 1336) "\02\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 1388) ",") - (data (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1468) "<") - (data (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1532) "|") - (data (i32.const 1544) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 1660) ",") - (data (i32.const 1672) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\006\009\009\00.\00t\00s") - (data (i32.const 1712) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\02A") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $1 (i32.const 1084) ",") + (data $1.1 (i32.const 1096) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\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 $3 (i32.const 1196) "<") + (data $3.1 (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1324) "<") + (data $6.1 (i32.const 1336) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1388) ",") + (data $7.1 (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1468) "<") + (data $9.1 (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1532) "|") + (data $10.1 (i32.const 1544) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data $11 (i32.const 1660) ",") + (data $11.1 (i32.const 1672) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\006\009\009\00.\00t\00s") + (data $12 (i32.const 1712) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\02A") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1344 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1552 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1152 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -63,7 +64,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -81,7 +82,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -98,7 +99,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -112,16 +113,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$146 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34508 @@ -136,10 +137,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$146 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -152,20 +153,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -174,7 +175,7 @@ else local.get $1 i32.const 1712 - i32.load $0 + i32.load i32.gt_u if i32.const 1344 @@ -189,13 +190,13 @@ i32.shl i32.const 1716 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -205,21 +206,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -227,8 +252,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -240,10 +265,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -254,29 +279,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -284,10 +309,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -301,75 +326,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -391,7 +409,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -408,12 +426,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -430,17 +448,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -450,9 +468,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -477,13 +495,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -517,7 +535,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -573,19 +591,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -597,15 +615,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -613,23 +631,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1488 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -643,10 +663,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -654,23 +674,22 @@ if i32.const 0 i32.const 1488 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -682,52 +701,53 @@ if i32.const 0 i32.const 1488 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -735,7 +755,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -743,7 +763,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -754,10 +774,10 @@ end i32.const 34512 i32.const 0 - i32.store $0 + i32.store i32.const 36080 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -769,7 +789,7 @@ i32.const 34512 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -787,7 +807,7 @@ i32.const 34512 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -804,9 +824,10 @@ end i32.const 34512 i32.const 36084 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34512 global.set $~lib/rt/tlsf/ROOT @@ -836,7 +857,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -849,19 +870,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -872,7 +893,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -884,7 +905,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -897,12 +918,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -911,7 +928,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -922,26 +939,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -957,7 +974,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -973,7 +990,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -998,14 +1015,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1025,7 +1042,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1040,25 +1056,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1488 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1067,12 +1082,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1080,47 +1094,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1131,7 +1147,7 @@ if i32.const 0 i32.const 1488 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1141,7 +1157,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1158,10 +1174,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1177,13 +1193,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1488 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1198,7 +1214,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1225,7 +1241,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1237,16 +1253,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1254,8 +1266,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1282,34 +1293,60 @@ if i32.const 1152 i32.const 1488 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1317,21 +1354,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1344,12 +1366,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1360,9 +1382,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1372,7 +1395,7 @@ if i32.const 0 i32.const 1488 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1380,14 +1403,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1488 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1396,8 +1419,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1406,95 +1429,95 @@ if i32.const 0 i32.const 1488 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1507,259 +1530,310 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $start:issues/1699 - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - (local $4 i32) - memory.size $0 - i32.const 16 - i32.shl - i32.const 34508 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1268 - i32.const 1264 - i32.store $0 - i32.const 1272 - i32.const 1264 - i32.store $0 - i32.const 1264 - global.set $~lib/rt/itcms/pinSpace - i32.const 1300 - i32.const 1296 - i32.store $0 - i32.const 1304 - i32.const 1296 - i32.store $0 - i32.const 1296 + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $start:issues/1699 + (local $0 i32) + (local $1 i32) + (local $2 i32) + memory.size + i32.const 16 + i32.shl + i32.const 34508 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1268 + i32.const 1264 + i32.store + i32.const 1272 + i32.const 1264 + i32.store + i32.const 1264 + global.set $~lib/rt/itcms/pinSpace + i32.const 1300 + i32.const 1296 + i32.store + i32.const 1304 + i32.const 1296 + i32.store + i32.const 1296 global.set $~lib/rt/itcms/toSpace i32.const 1444 i32.const 1440 - i32.store $0 + i32.store i32.const 1448 i32.const 1440 - i32.store $0 + i32.store i32.const 1440 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 + i32.const 28 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 5 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + local.get $0 i32.const 0 - i32.store $0 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=4 - local.get $1 - local.get $3 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=8 - local.get $1 - local.get $3 - i32.store $0 offset=4 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $3 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $2 + i32.store offset=12 + local.get $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $3 - i32.store $0 offset=4 - local.get $3 - local.get $4 - i32.store $0 offset=4 - local.get $1 - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 32 - i32.store $0 offset=8 - local.get $1 - local.get $3 - i32.store $0 offset=4 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 3 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $3 - i32.store $0 + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=16 + local.get $0 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 + local.get $0 + i32.store offset=12 call $issues/1699/MultiAssignmentTest#constructor - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $3 + local.get $2 + i32.store offset=16 + local.get $0 i32.const 1 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 + local.get $0 + i32.store offset=12 + local.get $0 i32.const 1 call $~lib/array/Array#__get - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $3 + local.get $2 + i32.store offset=8 + local.get $0 i32.const 0 - local.get $1 + local.get $2 call $~lib/array/Array#__set loop $for-loop|0 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $3 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 - local.get $3 - i32.store $0 - local.get $3 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=12 local.set $2 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer call $issues/1699/MultiAssignmentTest#constructor - local.tee $1 - i32.store $0 offset=20 - local.get $0 + local.tee $2 + i32.store offset=24 + local.get $1 i32.const 1 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $1 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 local.get $0 local.get $1 + local.get $2 call $~lib/array/Array#__set end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 call $~lib/array/Array#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 call $~lib/array/Array#__get - local.get $0 + local.get $1 i32.ne if i32.const 0 @@ -1770,19 +1844,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 call $~lib/array/Array#__get - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 call $~lib/array/Array#__get - local.get $0 + local.get $1 i32.eq if i32.const 0 @@ -1793,7 +1867,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer return @@ -1819,7 +1893,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/1699/MultiAssignmentTest $~lib/array/Array $invalid end return @@ -1829,12 +1903,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1855,21 +1925,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl i32.add @@ -1880,11 +1949,11 @@ i32.lt_u if local.get $1 - i32.load $0 + i32.load local.tee $3 if local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $1 i32.const 4 @@ -1895,14 +1964,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1927,20 +1992,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1950,7 +2014,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1959,21 +2023,20 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2004,15 +2067,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -2040,15 +2102,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $4 i32.const 2 i32.shr_u @@ -2067,8 +2128,8 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - block $__inlined_func$~lib/rt/itcms/__renew + i32.store + block $__inlined_func$~lib/rt/itcms/__renew$145 i32.const 1073741820 local.get $4 i32.const 1 @@ -2094,12 +2155,12 @@ select local.tee $5 local.get $0 - i32.load $0 + i32.load local.tee $4 i32.const 20 i32.sub local.tee $7 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -2108,26 +2169,26 @@ if local.get $7 local.get $5 - i32.store $0 offset=16 + i32.store offset=16 local.get $4 local.set $3 - br $__inlined_func$~lib/rt/itcms/__renew + br $__inlined_func$~lib/rt/itcms/__renew$145 end local.get $5 local.get $7 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $3 local.get $4 local.get $5 local.get $7 - i32.load $0 offset=16 + i32.load offset=16 local.tee $7 local.get $5 local.get $7 i32.lt_u select - memory.copy $0 $0 + memory.copy end local.get $3 local.get $4 @@ -2135,21 +2196,18 @@ if local.get $0 local.get $3 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link end local.get $0 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2157,29 +2215,26 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $6 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 + i32.store + local.get $0 local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2194,7 +2249,6 @@ unreachable ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2211,15 +2265,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1344 @@ -2230,19 +2283,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -2259,77 +2311,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $0 - local.get $1 - local.get $2 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - 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/issues/1714.debug.wat b/tests/compiler/issues/1714.debug.wat index 513b23ad8e..a99a595629 100644 --- a/tests/compiler/issues/1714.debug.wat +++ b/tests/compiler/issues/1714.debug.wat @@ -1,10 +1,10 @@ (module - (type $none_=>_i32 (func (result 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 $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func (result i32))) + (type $1 (func)) + (type $2 (func (param i32) (result i32))) + (type $3 (func (param i32 i32 i32 i32))) + (type $4 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $5 (func (param i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -14,39 +14,39 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32860)) (global $~lib/memory/__heap_base i32 (i32.const 32860)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\007\001\004\00.\00t\00s\00") - (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\007\001\004\00.\00t\00s\00") + (data $1 (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) - (func $issues/1714/a_i64_i32 (result i32) + (func $"issues/1714/a_i64_i32" (result i32) i32.const 8 i32.const 4 i32.eq return ) - (func $issues/1714/foo (result i32) - call $issues/1714/a_i64_i32 + (func $"issues/1714/foo" (result i32) + call $"issues/1714/a_i64_i32" i32.const 1 i32.eq return ) - (func $issues/1714/bar (result i32) + (func $"issues/1714/bar" (result i32) i32.const 0 drop i32.const 80 return ) - (func $issues/1714/bar (result i32) + (func $"issues/1714/bar" (result i32) i32.const 1 drop - call $issues/1714/bar + call $"issues/1714/bar" return ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -98,9 +98,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -133,10 +133,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -187,7 +187,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -225,7 +225,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -234,7 +234,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -252,14 +252,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -276,14 +276,14 @@ (func $start:issues/1714 (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - call $issues/1714/foo + i32.const 0 + i32.store + call $"issues/1714/foo" i32.const 0 i32.eq i32.eqz @@ -295,18 +295,13 @@ call $~lib/builtins/abort unreachable end - call $issues/1714/bar + call $"issues/1714/bar" local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 80 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -318,7 +313,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/issues/1714.release.wat b/tests/compiler/issues/1714.release.wat index e19fd8ecd3..5fc4c4ca7e 100644 --- a/tests/compiler/issues/1714.release.wat +++ b/tests/compiler/issues/1714.release.wat @@ -1,19 +1,18 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33884)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\007\001\004\00.\00t\00s") - (data (i32.const 1084) "\1c") - (data (i32.const 1096) "\02\00\00\00\06\00\00\00i\003\002") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\001\007\001\004\00.\00t\00s") + (data $1 (i32.const 1084) "\1c") + (data $1.1 (i32.const 1096) "\02\00\00\00\06\00\00\00i\003\002") (export "memory" (memory $0)) (start $~start) (func $~start - (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -22,16 +21,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 1104 - i32.store $0 - local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1104 - i32.store $0 offset=4 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -40,15 +35,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return diff --git a/tests/compiler/issues/2166.debug.wat b/tests/compiler/issues/2166.debug.wat index 160b90a427..0d98c3c656 100644 --- a/tests/compiler/issues/2166.debug.wat +++ b/tests/compiler/issues/2166.debug.wat @@ -1,14 +1,14 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i32 i32 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)) @@ -30,20 +30,20 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33404)) (global $~lib/memory/__heap_base i32 (i32.const 33404)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\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\02\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\02\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\02\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\02\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) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g\00") + (data $10 (i32.const 476) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\002\001\006\006\00.\00t\00s\00") + (data $11 (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\003\002\00\00\00\00\00\00\00") + (data $12 (i32.const 556) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $13 (i32.const 608) "\06\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -51,12 +51,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -70,7 +70,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -144,7 +144,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -214,11 +214,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -226,7 +226,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -358,7 +358,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -371,7 +371,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -387,34 +387,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -574,7 +574,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -597,7 +597,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -611,7 +611,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -634,7 +634,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -777,7 +777,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -863,7 +863,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -943,7 +943,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -977,7 +977,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1000,7 +1000,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1014,27 +1014,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1059,9 +1064,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1080,7 +1085,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1099,7 +1104,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1113,7 +1117,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1169,12 +1173,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1208,7 +1212,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1229,7 +1233,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1249,7 +1253,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1269,7 +1273,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1295,7 +1299,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1318,9 +1322,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1356,7 +1361,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1622,14 +1627,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1685,7 +1693,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1694,6 +1702,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1723,24 +1751,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1778,7 +1795,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1793,7 +1810,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1838,7 +1855,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1849,7 +1866,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1871,7 +1888,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1894,7 +1911,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1913,22 +1930,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1941,7 +1950,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1968,27 +1977,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2013,7 +2023,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2128,7 +2138,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2148,7 +2158,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2181,12 +2191,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2237,13 +2247,13 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -2295,9 +2305,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2330,10 +2340,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2358,6 +2368,46 @@ i32.const 0 return ) + (func $issues/2166/Test2166Ref1<~lib/string/String>#fn (param $this i32) (param $a1 i32) (param $a2 i32) + i32.const 464 + i32.const 464 + 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 + i32.const 544 + 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 + ) + (func $issues/2166/Test2166Ref2#bar<~lib/string/String> (param $this i32) (param $i i32) + i32.const 464 + i32.const 464 + 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 + ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) i32.const 224 @@ -2373,16 +2423,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2395,7 +2440,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2166/Test2166Ref1<~lib/string/String> $issues/2166/Test2166Ref2 $invalid end return @@ -2440,7 +2485,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2449,18 +2494,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2479,7 +2524,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -2517,7 +2562,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -2526,7 +2571,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -2544,14 +2589,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -2565,189 +2610,32 @@ local.get $3 return ) - (func $issues/2166/Test2166Ref1<~lib/string/String>#fn (param $this i32) (param $a1 i32) (param $a2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - i32.const 464 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - i32.const 464 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/string/String.__eq - 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 $0 - local.get $3 - i32.const 544 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/string/String.__eq - 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 $a i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 call $issues/2166/Test2166Ref1<~lib/string/String>#constructor local.tee $a - i32.store $0 + i32.store local.get $a local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 432 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 i32.const 1 call $issues/2166/Test2166Ref1<~lib/string/String>#fn global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $issues/2166/Test2166Ref2#constructor (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - i32.const 544 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 544 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 496 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $issues/2166/Test2166Ref2#bar<~lib/string/String> (param $this i32) (param $i i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - i32.const 464 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 - i32.const 464 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/string/String.__eq - i32.eqz - 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 @@ -2755,14 +2643,14 @@ (func $start:issues/2166 (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - memory.size $0 + i32.const 0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2785,17 +2673,12 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 576 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $issues/2166/Test2166Ref2#bar<~lib/string/String> global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -2808,7 +2691,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2817,7 +2700,47 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $issues/2166/Test2166Ref2#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + i32.const 544 + i32.const 544 + 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 $this local.set $1 diff --git a/tests/compiler/issues/2166.release.wat b/tests/compiler/issues/2166.release.wat index 3574442304..d445b2d6cd 100644 --- a/tests/compiler/issues/2166.release.wat +++ b/tests/compiler/issues/2166.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (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)) @@ -20,39 +20,39 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34428)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00\04\00\00\001\001") - (data (i32.const 1468) "\1c") - (data (i32.const 1480) "\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") - (data (i32.const 1500) ",") - (data (i32.const 1512) "\02\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) "\02\00\00\00\06\00\00\00i\003\002") - (data (i32.const 1580) ",") - (data (i32.const 1592) "\02\00\00\00\12\00\00\00t\00e\00s\00t\00-\002\001\006\006") - (data (i32.const 1632) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "\1c") + (data $8.1 (i32.const 1448) "\02\00\00\00\04\00\00\001\001") + (data $9 (i32.const 1468) "\1c") + (data $9.1 (i32.const 1480) "\02\00\00\00\0c\00\00\00S\00t\00r\00i\00n\00g") + (data $10 (i32.const 1500) ",") + (data $10.1 (i32.const 1512) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\002\001\006\006\00.\00t\00s") + (data $11 (i32.const 1548) "\1c") + (data $11.1 (i32.const 1560) "\02\00\00\00\06\00\00\00i\003\002") + (data $12 (i32.const 1580) ",") + (data $12.1 (i32.const 1592) "\02\00\00\00\12\00\00\00t\00e\00s\00t\00-\002\001\006\006") + (data $13 (i32.const 1632) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -62,7 +62,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -80,7 +80,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -88,137 +88,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34428 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$122 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34428 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$122 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1632 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1636 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1632 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1636 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -226,8 +246,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -239,10 +259,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -253,29 +273,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -283,10 +303,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -300,75 +320,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -390,7 +403,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -407,12 +420,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -429,17 +442,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -449,9 +462,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -476,13 +489,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -516,7 +529,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -572,19 +585,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -596,15 +609,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -612,23 +625,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -642,10 +657,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -653,23 +668,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -681,52 +695,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -734,7 +749,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -742,7 +757,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -753,10 +768,10 @@ end i32.const 34432 i32.const 0 - i32.store $0 + i32.store i32.const 36000 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -768,7 +783,7 @@ i32.const 34432 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -786,7 +801,7 @@ i32.const 34432 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -803,9 +818,10 @@ end i32.const 34432 i32.const 36004 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34432 global.set $~lib/rt/tlsf/ROOT @@ -835,7 +851,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -848,19 +864,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -871,7 +887,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -883,7 +899,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -896,12 +912,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -910,7 +922,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -921,26 +933,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -956,7 +968,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -972,7 +984,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -997,14 +1009,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1024,7 +1036,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1039,25 +1050,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1066,12 +1076,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1081,7 +1090,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1092,10 +1101,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1107,13 +1116,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1128,7 +1137,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1143,7 +1152,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1155,16 +1164,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1172,8 +1177,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1195,11 +1199,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1218,12 +1222,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1234,9 +1238,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1245,14 +1250,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1260,7 +1265,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1269,7 +1274,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1285,7 +1290,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1295,7 +1300,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1304,54 +1309,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1364,7 +1369,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1378,7 +1383,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2166/Test2166Ref1<~lib/string/String> $issues/2166/Test2166Ref2 $invalid end return @@ -1388,12 +1393,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1407,7 +1408,7 @@ (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1416,10 +1417,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - memory.size $0 + i32.const 0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34428 @@ -1429,30 +1429,30 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace - local.get $0 - i32.const 12 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1460,13 +1460,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1475,19 +1472,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1497,7 +1493,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1505,46 +1501,23 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1456 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1660 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 1488 - i32.store $0 - local.get $0 - i32.const 1488 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1488 i32.const 1488 call $~lib/string/String.__eq @@ -1557,13 +1530,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1568 - i32.store $0 - local.get $0 - i32.const 1568 - i32.store $0 offset=4 i32.const 1568 i32.const 1568 call $~lib/string/String.__eq @@ -1581,11 +1547,7 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1593,24 +1555,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 1568 - i32.store $0 offset=4 - local.get $1 - i32.const 1568 - i32.store $0 offset=8 + i32.store i32.const 1568 i32.const 1568 call $~lib/string/String.__eq @@ -1624,33 +1575,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1600 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1660 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 1488 - i32.store $0 - local.get $0 - i32.const 1488 - i32.store $0 offset=4 + i32.store i32.const 1488 i32.const 1488 call $~lib/string/String.__eq @@ -1664,11 +1594,7 @@ 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.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -1702,7 +1628,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -1722,55 +1648,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -1791,7 +1719,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$79 loop $while-continue|1 local.get $0 local.tee $3 @@ -1801,17 +1729,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$79 local.get $2 i32.const 2 i32.add @@ -1840,23 +1768,4 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/issues/2322/index.debug.wat b/tests/compiler/issues/2322/index.debug.wat index 5b6377505e..3799f01a97 100644 --- a/tests/compiler/issues/2322/index.debug.wat +++ b/tests/compiler/issues/2322/index.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -28,15 +28,15 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33208)) (global $~lib/memory/__heap_base i32 (i32.const 33208)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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 416) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "test" (func $issues/2322/index/test)) @@ -45,12 +45,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -64,7 +64,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -138,7 +138,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -208,11 +208,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -220,7 +220,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -352,7 +352,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -365,7 +365,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -381,34 +381,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -568,7 +568,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -591,7 +591,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -605,7 +605,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -628,7 +628,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -771,7 +771,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -857,7 +857,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -937,7 +937,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -971,7 +971,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -994,7 +994,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1008,27 +1008,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1053,9 +1058,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1074,7 +1079,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1093,7 +1098,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1107,7 +1111,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1163,12 +1167,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1202,7 +1206,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1223,7 +1227,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1243,7 +1247,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1263,7 +1267,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1289,7 +1293,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1312,9 +1316,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1350,7 +1355,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1616,14 +1621,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1679,7 +1687,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1688,6 +1696,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1717,24 +1745,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1772,7 +1789,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1787,7 +1804,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1832,7 +1849,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1843,7 +1860,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1865,7 +1882,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1888,7 +1905,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1907,22 +1924,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1935,7 +1944,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1962,27 +1971,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2007,7 +2017,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2122,7 +2132,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2142,7 +2152,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2175,12 +2185,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2231,17 +2241,16 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $issues/2322/lib/Wrapper#set:v (param $this i32) (param $v i32) local.get $this local.get $v - i32.store $0 + i32.store ) (func $issues/2322/lib/test (param $t i32) - nop ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2258,16 +2267,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2279,7 +2283,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2322/lib/Wrapper $invalid end return @@ -2298,7 +2302,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2338,7 +2342,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2347,23 +2351,23 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $issues/2322/lib/Wrapper#set:v @@ -2384,13 +2388,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 call $issues/2322/lib/Wrapper#constructor local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $issues/2322/lib/test global.get $~lib/memory/__stack_pointer @@ -2407,7 +2411,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2416,7 +2420,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/issues/2322/index.release.wat b/tests/compiler/issues/2322/index.release.wat index 07d9bbf746..026f2c493b 100644 --- a/tests/compiler/issues/2322/index.release.wat +++ b/tests/compiler/issues/2322/index.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (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)) @@ -19,17 +19,17 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34232)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1440) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "test" (func $issues/2322/index/test)) (export "memory" (memory $0)) (start $~start) @@ -37,12 +37,12 @@ (local $0 i32) (local $1 i32) i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -52,7 +52,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -70,7 +70,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -78,137 +78,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34232 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$112 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34232 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$112 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1440 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1444 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -216,8 +236,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -229,10 +249,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -243,29 +263,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -273,10 +293,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -290,75 +310,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -380,7 +393,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -397,12 +410,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -419,17 +432,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -439,9 +452,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -466,13 +479,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -506,7 +519,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -562,19 +575,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -586,15 +599,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -602,23 +615,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -632,10 +647,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -643,23 +658,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -671,52 +685,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -724,7 +739,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -732,7 +747,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -743,10 +758,10 @@ end i32.const 34240 i32.const 0 - i32.store $0 + i32.store i32.const 35808 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -758,7 +773,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -776,7 +791,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -793,9 +808,10 @@ end i32.const 34240 i32.const 35812 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34240 global.set $~lib/rt/tlsf/ROOT @@ -825,7 +841,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -838,19 +854,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -861,7 +877,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -873,7 +889,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -886,12 +902,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -900,7 +912,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -911,26 +923,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -946,7 +958,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -962,7 +974,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -987,14 +999,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1014,7 +1026,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1029,25 +1040,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1056,12 +1066,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1069,47 +1078,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1120,7 +1131,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1130,7 +1141,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1147,10 +1158,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1166,13 +1177,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1187,7 +1198,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1214,7 +1225,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1226,16 +1237,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1243,8 +1250,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1271,34 +1277,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1306,21 +1338,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1333,12 +1350,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1349,9 +1366,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1361,7 +1379,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1369,14 +1387,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1385,8 +1403,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1395,95 +1413,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1496,7 +1514,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1509,7 +1527,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2322/lib/Wrapper $invalid end return @@ -1519,12 +1537,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1532,7 +1546,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34232 @@ -1542,26 +1556,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace ) @@ -1578,10 +1592,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1590,20 +1603,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1613,7 +1625,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1622,28 +1634,27 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1657,23 +1668,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/issues/2473.json b/tests/compiler/issues/2473.json index aafce99bbb..69747d89e4 100644 --- a/tests/compiler/issues/2473.json +++ b/tests/compiler/issues/2473.json @@ -7,8 +7,7 @@ "TS1345: An expression of type 'void' cannot be tested for truthiness.", "AS203: Operation 'store' cannot be applied to type 'void'.", "AS203: Operation 'load' cannot be applied to type 'void'.", - "AS203: Operation 'load' cannot be applied to type 'externref'.", - "AS203: Operation 'load' cannot be applied to type 'anyref'", + "AS203: Operation 'load' cannot be applied to type 'ref_extern'.", "EOF" ] } diff --git a/tests/compiler/issues/2473.ts b/tests/compiler/issues/2473.ts index 7d3d645a9f..6eb0af60fe 100644 --- a/tests/compiler/issues/2473.ts +++ b/tests/compiler/issues/2473.ts @@ -11,7 +11,6 @@ if (voidFn()) {} store(8, voidFn()); load(8); -load(8); -load(8); +load(8); ERROR("EOF"); diff --git a/tests/compiler/issues/2622.debug.wat b/tests/compiler/issues/2622.debug.wat index a280edd870..6514ce97bf 100644 --- a/tests/compiler/issues/2622.debug.wat +++ b/tests/compiler/issues/2622.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -32,15 +32,15 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33212)) (global $~lib/memory/__heap_base i32 (i32.const 33212)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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 416) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\06\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -48,12 +48,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -67,7 +67,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -141,7 +141,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -211,11 +211,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -223,7 +223,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -355,7 +355,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -368,7 +368,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -384,34 +384,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -571,7 +571,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -594,7 +594,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -608,7 +608,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -631,7 +631,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -774,7 +774,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -860,7 +860,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -940,7 +940,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -974,7 +974,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -997,7 +997,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1011,27 +1011,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1056,9 +1061,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1077,7 +1082,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1096,7 +1101,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1110,7 +1114,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1166,12 +1170,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1205,7 +1209,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1226,7 +1230,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1246,7 +1250,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1266,7 +1270,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1292,7 +1296,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1315,9 +1319,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1353,7 +1358,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1619,14 +1624,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1682,7 +1690,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1691,6 +1699,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1720,24 +1748,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1775,7 +1792,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1790,7 +1807,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1835,7 +1852,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1846,7 +1863,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1868,7 +1885,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1891,7 +1908,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1910,22 +1927,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1938,7 +1947,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1965,27 +1974,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2010,7 +2020,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2125,7 +2135,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2145,7 +2155,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2178,12 +2188,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2234,12 +2244,12 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $start:issues/2622/_a - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2327,16 +2337,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2349,7 +2354,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2622/_a/T1 $issues/2622/_b/T2 $invalid end return @@ -2394,7 +2399,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2403,18 +2408,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2432,7 +2437,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2441,18 +2446,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2470,7 +2475,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2479,7 +2484,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/issues/2622.release.wat b/tests/compiler/issues/2622.release.wat index dc0a907bb0..885743588e 100644 --- a/tests/compiler/issues/2622.release.wat +++ b/tests/compiler/issues/2622.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $0 (func)) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (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)) @@ -23,17 +23,17 @@ (global $issues/2622/b (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34236)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1440) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -43,45 +43,45 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $issues/2622/b local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $issues/2622/_a/t1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $issues/2622/_a/t1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $issues/2622/_b/t2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $issues/2622/_b/t2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -91,7 +91,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -109,7 +109,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -117,137 +117,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34236 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$111 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34236 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$111 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1440 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1444 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -255,8 +275,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -268,10 +288,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -282,29 +302,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -312,10 +332,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -329,75 +349,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -419,7 +432,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -436,12 +449,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -458,17 +471,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -478,9 +491,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -505,13 +518,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -545,7 +558,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -601,19 +614,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -625,15 +638,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -641,23 +654,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -671,10 +686,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -682,23 +697,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -710,52 +724,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -763,7 +778,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -771,7 +786,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -782,10 +797,10 @@ end i32.const 34240 i32.const 0 - i32.store $0 + i32.store i32.const 35808 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -797,7 +812,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -815,7 +830,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -832,9 +847,10 @@ end i32.const 34240 i32.const 35812 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34240 global.set $~lib/rt/tlsf/ROOT @@ -864,7 +880,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -877,19 +893,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -900,7 +916,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -912,7 +928,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -925,12 +941,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -939,7 +951,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -950,26 +962,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -985,7 +997,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1001,7 +1013,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1026,14 +1038,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1053,7 +1065,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1068,25 +1079,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1095,12 +1105,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1110,7 +1119,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1121,10 +1130,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1136,13 +1145,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1157,7 +1166,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1172,7 +1181,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1184,16 +1193,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1201,8 +1206,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1224,11 +1228,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1247,12 +1251,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1263,9 +1267,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1274,14 +1279,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1289,7 +1294,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1298,7 +1303,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1314,7 +1319,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1324,7 +1329,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1333,54 +1338,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1393,7 +1398,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1407,7 +1412,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $issues/2622/_a/T1 $issues/2622/_b/T2 $invalid end return @@ -1417,12 +1422,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1433,9 +1434,8 @@ ) (func $~start (local $0 i32) - (local $1 i32) - block $__inlined_func$start:issues/2622 - memory.size $0 + block $__inlined_func$start:issues/2622$1 + memory.size i32.const 16 i32.shl i32.const 34236 @@ -1445,26 +1445,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1477,23 +1477,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1511,23 +1509,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1536,7 +1532,7 @@ global.set $issues/2622/_b/t2 global.get $issues/2622/_b/t2 global.set $issues/2622/b - br $__inlined_func$start:issues/2622 + br $__inlined_func$start:issues/2622$1 end i32.const 34256 i32.const 34304 @@ -1564,7 +1560,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1572,7 +1568,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1580,23 +1576,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/issues/2707.debug.wat b/tests/compiler/issues/2707.debug.wat new file mode 100644 index 0000000000..58a64cf649 --- /dev/null +++ b/tests/compiler/issues/2707.debug.wat @@ -0,0 +1,2591 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32 i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i32 i32) (result i32))) + (type $10 (func (param i32 i32 i32 i32) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $issues/2707/func (mut i32) (i32.const 32)) + (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/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/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $~argumentsLength (mut i32) (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 496)) + (global $~lib/memory/__data_end i32 (i32.const 524)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33292)) + (global $~lib/memory/__heap_base i32 (i32.const 33292)) + (memory $0 1) + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 496) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\00\00\00\00") + (table $0 2 2 funcref) + (elem $0 (i32.const 1) $start:issues/2707~anonymous|0) + (export "memory" (memory $0)) + (start $~start) + (func $start:issues/2707~anonymous|0 (param $args i32) (result i32) + i32.const 1 + return + ) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) + local.get $this + local.get $nextWithColor + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:prev + local.get $space + return + ) + (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + return + ) + (func $~lib/rt/itcms/Object#get:color (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + return + ) + (func $~lib/rt/itcms/visitRoots (param $cookie i32) + (local $pn i32) + (local $iter i32) + local.get $cookie + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $pn + local.get $pn + call $~lib/rt/itcms/Object#get:next + local.set $iter + loop $while-continue|0 + local.get $iter + local.get $pn + i32.ne + if + i32.const 1 + drop + local.get $iter + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 176 + i32.const 160 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $iter + i32.const 20 + i32.add + local.get $cookie + call $~lib/rt/__visit_members + local.get $iter + call $~lib/rt/itcms/Object#get:next + local.set $iter + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $this i32) (param $color i32) + local.get $this + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $color + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) + local.get $this + local.get $obj + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $this i32) + (local $next i32) + (local $prev i32) + local.get $this + call $~lib/rt/itcms/Object#get:next + local.set $next + local.get $next + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $this + call $~lib/rt/itcms/Object#get:prev + i32.const 0 + i32.eq + if (result i32) + local.get $this + global.get $~lib/memory/__heap_base + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 176 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return + end + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.set $prev + i32.const 1 + drop + local.get $prev + i32.eqz + if + i32.const 0 + i32.const 176 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $next + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $next + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/__typeinfo (param $id i32) (result i32) + (local $ptr i32) + global.get $~lib/rt/__rtti_base + local.set $ptr + local.get $id + local.get $ptr + i32.load + i32.gt_u + if + i32.const 304 + i32.const 368 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $ptr + i32.const 4 + i32.add + local.get $id + i32.const 4 + i32.mul + i32.add + call $~lib/shared/typeinfo/Typeinfo#get:flags + return + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $this i32) (result i32) + (local $rtId i32) + local.get $this + call $~lib/rt/itcms/Object#get:rtId + local.set $rtId + local.get $rtId + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $rtId + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + return + ) + (func $~lib/rt/itcms/Object#linkTo (param $this i32) (param $list i32) (param $withColor i32) + (local $prev i32) + local.get $list + call $~lib/rt/itcms/Object#get:prev + local.set $prev + local.get $this + local.get $list + local.get $withColor + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $this + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $this + call $~lib/rt/itcms/Object#set:next + local.get $list + local.get $this + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $this i32) + (local $1 i32) + local.get $this + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 176 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $this + call $~lib/rt/itcms/Object#unlink + local.get $this + global.get $~lib/rt/itcms/toSpace + local.get $this + 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 $ptr i32) (param $cookie i32) + (local $obj i32) + local.get $ptr + i32.eqz + if + return + end + local.get $ptr + i32.const 20 + i32.sub + local.set $obj + i32.const 0 + drop + local.get $obj + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $obj + 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 $cookie i32) + (local $ptr i32) + global.get $~lib/memory/__stack_pointer + local.set $ptr + loop $while-continue|0 + local.get $ptr + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $ptr + i32.load + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + br $while-continue|0 + end + end + ) + (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) + i32.const 4 + local.get $this + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + return + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) + local.get $this + local.get $flMap + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) + local.get $this + local.get $next + i32.store offset=8 + ) + (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) + (local $blockInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $6 i32) + (local $7 i32) + (local $boundedSize i32) + (local $prev i32) + (local $next i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $root|14 i32) + (local $fl|15 i32) + (local $sl|16 i32) + (local $head i32) + (local $root|18 i32) + (local $fl|19 i32) + (local $slMap i32) + (local $root|21 i32) + (local $fl|22 i32) + (local $slMap|23 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 284 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/tlsf/Block#get:prev + local.set $prev + local.get $block + call $~lib/rt/tlsf/Block#get:next + local.set $next + local.get $prev + if + local.get $prev + local.get $next + call $~lib/rt/tlsf/Block#set:next + end + local.get $next + if + local.get $next + local.get $prev + call $~lib/rt/tlsf/Block#set:prev + end + local.get $block + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end + i32.eq + if + local.get $root + local.set $root|14 + local.get $fl + local.set $fl|15 + local.get $sl + local.set $sl|16 + local.get $next + local.set $head + local.get $root|14 + local.get $fl|15 + i32.const 4 + i32.shl + local.get $sl|16 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $next + i32.eqz + if + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end + local.set $slMap + local.get $root + local.set $root|21 + local.get $fl + local.set $fl|22 + local.get $slMap + i32.const 1 + local.get $sl + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $slMap + local.set $slMap|23 + local.get $root|21 + local.get $fl|22 + i32.const 2 + i32.shl + i32.add + local.get $slMap|23 + i32.store offset=4 + local.get $slMap + i32.eqz + if + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + 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 $root i32) (param $block i32) + (local $blockInfo i32) + (local $block|3 i32) + (local $right i32) + (local $rightInfo i32) + (local $block|6 i32) + (local $block|7 i32) + (local $left i32) + (local $leftInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $13 i32) + (local $14 i32) + (local $boundedSize i32) + (local $root|16 i32) + (local $fl|17 i32) + (local $sl|18 i32) + (local $head i32) + (local $root|20 i32) + (local $fl|21 i32) + (local $sl|22 i32) + (local $head|23 i32) + (local $root|24 i32) + (local $fl|25 i32) + (local $root|26 i32) + (local $fl|27 i32) + (local $slMap i32) + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 203 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + local.get $rightInfo + i32.const 1 + i32.and + if + local.get $root + local.get $right + call $~lib/rt/tlsf/removeBlock + local.get $block + local.get $blockInfo + i32.const 4 + i32.add + local.get $rightInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + end + local.get $blockInfo + i32.const 2 + i32.and + if + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end + local.set $left + local.get $left + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $leftInfo + i32.const 1 + drop + local.get $leftInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 221 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $left + call $~lib/rt/tlsf/removeBlock + local.get $left + local.set $block + local.get $block + local.get $leftInfo + i32.const 4 + i32.add + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $right + local.get $rightInfo + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + drop + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.get $right + i32.eq + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 234 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $right + i32.const 4 + i32.sub + local.get $block + i32.store + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $13 + i32.const 1073741820 + local.tee $14 + local.get $13 + local.get $14 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end + local.set $head + local.get $block + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $block + local.get $head + call $~lib/rt/tlsf/Block#set:next + local.get $head + if + local.get $head + local.get $block + call $~lib/rt/tlsf/Block#set:prev + end + local.get $root + local.set $root|20 + local.get $fl + local.set $fl|21 + local.get $sl + local.set $sl|22 + local.get $block + local.set $head|23 + local.get $root|20 + local.get $fl|21 + i32.const 4 + i32.shl + local.get $sl|22 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head|23 + i32.store offset=96 + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|26 + local.get $fl + local.set $fl|27 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end + i32.const 1 + local.get $sl + i32.shl + i32.or + local.set $slMap + local.get $root|26 + local.get $fl|27 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) + (local $tail i32) + (local $tailInfo i32) + (local $size i32) + (local $leftSize i32) + (local $left i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end + i32.const 1 + drop + local.get $start + i64.extend_i32_u + local.get $endU64 + i64.le_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 382 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $start + 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 $start + local.get $end + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $end + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|4 + local.get $root|4 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end + local.set $tail + i32.const 0 + local.set $tailInfo + local.get $tail + if + i32.const 1 + drop + local.get $start + local.get $tail + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $start + i32.const 16 + i32.sub + local.get $tail + i32.eq + if + local.get $start + i32.const 16 + i32.sub + local.set $start + local.get $tail + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $tailInfo + else + end + else + i32.const 1 + drop + local.get $start + local.get $root + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $end + local.get $start + i32.sub + local.set $size + local.get $size + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $size + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $leftSize + local.get $start + local.set $left + local.get $left + local.get $leftSize + i32.const 1 + i32.or + local.get $tailInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $start + i32.const 4 + i32.add + local.get $leftSize + i32.add + local.set $tail + local.get $tail + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.set $root|10 + local.get $tail + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 + local.get $root + local.get $left + call $~lib/rt/tlsf/insertBlock + i32.const 1 + return + ) + (func $~lib/rt/tlsf/initialize + (local $rootOffset i32) + (local $pagesBefore i32) + (local $pagesNeeded i32) + (local $root i32) + (local $root|4 i32) + (local $tail i32) + (local $fl i32) + (local $root|7 i32) + (local $fl|8 i32) + (local $slMap i32) + (local $sl i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $head i32) + (local $memStart 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 $rootOffset + memory.size + local.set $pagesBefore + local.get $rootOffset + 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 $pagesNeeded + local.get $pagesNeeded + local.get $pagesBefore + i32.gt_s + if (result i32) + local.get $pagesNeeded + local.get $pagesBefore + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $rootOffset + local.set $root + local.get $root + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|4 + i32.const 0 + local.set $tail + local.get $root|4 + local.get $tail + i32.store offset=1568 + i32.const 0 + local.set $fl + loop $for-loop|0 + local.get $fl + i32.const 23 + i32.lt_u + if + local.get $root + local.set $root|7 + local.get $fl + local.set $fl|8 + i32.const 0 + local.set $slMap + local.get $root|7 + local.get $fl|8 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + i32.const 0 + local.set $sl + loop $for-loop|1 + local.get $sl + i32.const 16 + i32.lt_u + if + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + i32.const 0 + local.set $head + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $sl + i32.const 1 + i32.add + local.set $sl + br $for-loop|1 + end + end + local.get $fl + i32.const 1 + i32.add + local.set $fl + br $for-loop|0 + end + end + local.get $rootOffset + i32.const 1572 + i32.add + local.set $memStart + i32.const 0 + drop + local.get $root + local.get $memStart + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $root + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/checkUsedBlock (param $ptr i32) (result i32) + (local $block i32) + local.get $ptr + i32.const 4 + i32.sub + local.set $block + local.get $ptr + i32.const 0 + i32.ne + if (result i32) + local.get $ptr + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 562 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $block + return + ) + (func $~lib/rt/tlsf/freeBlock (param $root i32) (param $block i32) + i32.const 0 + drop + local.get $block + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $block + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $ptr i32) + local.get $ptr + 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 $ptr + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $obj i32) + local.get $obj + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $obj + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $obj + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $obj i32) + (local $1 i32) + (local $black i32) + (local $from 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 $black + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $obj + loop $while-continue|1 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + global.set $~lib/rt/itcms/iter + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + 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 $obj + local.get $obj + 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 $obj + loop $while-continue|2 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + local.get $obj + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $from + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $from + global.set $~lib/rt/itcms/toSpace + local.get $black + global.set $~lib/rt/itcms/white + local.get $from + 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 $obj + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $obj + 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 176 + i32.const 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $obj + 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 + return + ) + (func $~lib/rt/itcms/interrupt + (local $budget 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 $budget + loop $do-loop|0 + local.get $budget + call $~lib/rt/itcms/step + i32.sub + local.set $budget + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + drop + global.get $~lib/rt/itcms/total + i32.const 200 + i32.const 100 + i32.div_u + i32.mul + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $budget + 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 $size i32) (result i32) + local.get $size + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $size + 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 + return + ) + (func $~lib/rt/tlsf/prepareSize (param $size i32) (result i32) + local.get $size + i32.const 1073741820 + i32.gt_u + if + i32.const 112 + i32.const 448 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $size + call $~lib/rt/tlsf/computeSize + return + ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) + (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) + (local $fl i32) + (local $sl i32) + (local $requestSize i32) + (local $root|5 i32) + (local $fl|6 i32) + (local $slMap i32) + (local $head i32) + (local $flMap i32) + (local $root|10 i32) + (local $fl|11 i32) + (local $root|12 i32) + (local $fl|13 i32) + (local $sl|14 i32) + (local $root|15 i32) + (local $fl|16 i32) + (local $sl|17 i32) + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $requestSize + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub + local.get $requestSize + i32.clz + i32.sub + local.set $fl + local.get $requestSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 334 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end + i32.const 0 + i32.const -1 + i32.xor + local.get $sl + i32.shl + i32.and + local.set $slMap + i32.const 0 + local.set $head + local.get $slMap + i32.eqz + if + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 0 + i32.const -1 + i32.xor + local.get $fl + i32.const 1 + i32.add + i32.shl + i32.and + local.set $flMap + local.get $flMap + i32.eqz + if + i32.const 0 + local.set $head + else + local.get $flMap + i32.ctz + local.set $fl + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end + local.set $slMap + i32.const 1 + drop + local.get $slMap + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) + local.get $root + local.set $root|15 + local.get $fl + local.set $fl|16 + local.get $slMap + i32.ctz + local.set $sl|17 + local.get $root|15 + local.get $fl|16 + i32.const 4 + i32.shl + local.get $sl|17 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.3 + end + local.set $head + end + local.get $head + return + ) + (func $~lib/rt/tlsf/growMemory (param $root i32) (param $size i32) + (local $pagesBefore i32) + (local $root|3 i32) + (local $pagesNeeded i32) + (local $5 i32) + (local $6 i32) + (local $pagesWanted i32) + (local $pagesAfter i32) + i32.const 0 + drop + local.get $size + i32.const 256 + i32.ge_u + if + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $size + end + memory.size + local.set $pagesBefore + local.get $size + i32.const 4 + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 4 + i32.sub + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end + i32.ne + i32.shl + i32.add + local.set $size + local.get $size + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $5 + local.get $pagesNeeded + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $pagesAfter + local.get $root + local.get $pagesBefore + i32.const 16 + i32.shl + local.get $pagesAfter + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $root i32) (param $block i32) (param $size i32) + (local $blockInfo i32) + (local $remaining i32) + (local $spare i32) + (local $block|6 i32) + (local $block|7 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $size + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $size + i32.sub + local.set $remaining + local.get $remaining + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $block + local.get $size + local.get $blockInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.set $spare + local.get $spare + local.get $remaining + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $spare + call $~lib/rt/tlsf/insertBlock + else + local.get $block + local.get $blockInfo + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $root i32) (param $size i32) (result i32) + (local $payloadSize i32) + (local $block i32) + local.get $size + call $~lib/rt/tlsf/prepareSize + local.set $payloadSize + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + local.get $block + i32.eqz + if + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/growMemory + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $payloadSize + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 448 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $block + call $~lib/rt/tlsf/removeBlock + local.get $root + local.get $block + local.get $payloadSize + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $block + return + ) + (func $~lib/rt/tlsf/__alloc (param $size 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 $size + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + return + ) + (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) + local.get $this + local.get $rtId + i32.store offset=12 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) + local.get $this + local.get $rtSize + i32.store offset=16 + ) + (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) + (local $obj i32) + (local $ptr i32) + local.get $size + i32.const 1073741804 + i32.ge_u + if + i32.const 112 + i32.const 176 + i32.const 261 + 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 $size + i32.add + call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub + local.set $obj + local.get $obj + local.get $id + call $~lib/rt/itcms/Object#set:rtId + local.get $obj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $obj + i32.const 20 + i32.add + local.set $ptr + local.get $ptr + i32.const 0 + local.get $size + memory.fill + local.get $ptr + return + ) + (func $~lib/rt/__newBuffer (param $size i32) (param $id i32) (param $data i32) (result i32) + (local $buffer i32) + local.get $size + local.get $id + call $~lib/rt/itcms/__new + local.set $buffer + local.get $data + if + local.get $buffer + local.get $data + local.get $size + memory.copy + end + local.get $buffer + return + ) + (func $~lib/rt/itcms/__link (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) + (local $child i32) + (local $parent i32) + (local $parentColor i32) + local.get $childPtr + i32.eqz + if + return + end + i32.const 1 + drop + local.get $parentPtr + i32.eqz + if + i32.const 0 + i32.const 176 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $childPtr + i32.const 20 + i32.sub + local.set $child + local.get $child + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $parentPtr + i32.const 20 + i32.sub + local.set $parent + local.get $parent + call $~lib/rt/itcms/Object#get:color + local.set $parentColor + local.get $parentColor + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $expectMultiple + if + local.get $parent + call $~lib/rt/itcms/Object#makeGray + else + local.get $child + call $~lib/rt/itcms/Object#makeGray + end + else + local.get $parentColor + 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 $child + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + i32.const 304 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 112 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) + ) + (func $~lib/array/Array#get:buffer (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/function/Function<%28~lib/array/Array%29=>i32>#get:_env (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/function/Function<%28~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28~lib/array/Array%29=>i32>#__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/function/Function<%28~lib/array/Array%29=>i32> + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/function/Function<%28~lib/array/Array%29=>i32> $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28~lib/array/Array%29=>i32>~visit + return + end + unreachable + ) + (func $~start + call $start:issues/2707 + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33312 + i32.const 33360 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $start:issues/2707 + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + 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 224 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 256 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 400 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 64 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 1 + global.set $~argumentsLength + global.get $issues/2707/func + i32.load + call_indirect (type $0) + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28~lib/array/Array%29=>i32>#__visit (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/function/Function<%28~lib/array/Array%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/rt/__newArray (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) + (local $bufferSize i32) + (local $buffer i32) + (local $array i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $length + local.get $alignLog2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + local.get $data + call $~lib/rt/__newBuffer + local.tee $buffer + i32.store + i32.const 16 + local.get $id + call $~lib/rt/itcms/__new + local.set $array + local.get $array + local.get $buffer + i32.store + local.get $array + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + local.get $array + local.get $buffer + i32.store offset=4 + local.get $array + local.get $bufferSize + i32.store offset=8 + local.get $array + local.get $length + i32.store offset=12 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) +) diff --git a/tests/compiler/issues/2707.json b/tests/compiler/issues/2707.json new file mode 100644 index 0000000000..1bdd02b1be --- /dev/null +++ b/tests/compiler/issues/2707.json @@ -0,0 +1,4 @@ +{ + "asc_flags": [ + ] +} diff --git a/tests/compiler/issues/2707.release.wat b/tests/compiler/issues/2707.release.wat new file mode 100644 index 0000000000..980e20a05d --- /dev/null +++ b/tests/compiler/issues/2707.release.wat @@ -0,0 +1,1618 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (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 $~lib/memory/__stack_pointer (mut i32) (i32.const 34316)) + (memory $0 1) + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\05\00\00\00\08\00\00\00\01") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data $2 (i32.const 1116) "<") + (data $2.1 (i32.const 1128) "\02\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 $3 (i32.const 1180) "<") + (data $3.1 (i32.const 1192) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1308) "<") + (data $6.1 (i32.const 1320) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1372) ",") + (data $7.1 (i32.const 1384) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1452) "<") + (data $9.1 (i32.const 1464) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1520) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t") + (table $0 2 2 funcref) + (elem $0 (i32.const 1) $start:issues/2707~anonymous|0) + (export "memory" (memory $0)) + (start $~start) + (func $start:issues/2707~anonymous|0 (param $0 i32) (result i32) + i32.const 1 + ) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + i32.const 1328 + call $~lib/rt/itcms/__visit + i32.const 1136 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1200 + i32.const 160 + 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) + local.get $0 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $0 + i32.load offset=8 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 148 + 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$119 + local.get $0 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $1 + i32.eqz + if + local.get $0 + i32.load offset=8 + i32.eqz + local.get $0 + i32.const 34316 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$119 + end + local.get $0 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $1 + i32.const 1520 + i32.load + i32.gt_u + if + i32.const 1328 + i32.const 1392 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 2 + i32.shl + i32.const 1524 + 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 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + local.get $1 + local.get $0 + local.get $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.or + i32.store offset=4 + local.get $2 + local.get $0 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end + ) + (func $~lib/rt/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 $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1472 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.tee $3 + i32.const 12 + i32.lt_u + if + i32.const 0 + i32.const 1472 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1073741820 + local.get $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $2 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $3 + 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 1472 + 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 $1 + local.get $0 + local.get $2 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=96 + i32.eq + if + local.get $1 + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $3 + i32.rotl + i32.and + local.set $3 + local.get $1 + local.get $3 + i32.store offset=4 + local.get $3 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $2 + 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 1472 + 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 1472 + 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 1472 + 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 1472 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + i32.ne + if + i32.const 0 + i32.const 1472 + 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 + i32.const 1073741820 + local.get $2 + local.get $2 + i32.const 1073741820 + i32.ge_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 1472 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + 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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + 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 $5 + i32.shl + i32.or + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + 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 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.get $1 + i64.extend_i32_u + i64.lt_u + if + i32.const 0 + i32.const 1472 + i32.const 382 + 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 $3 + if + local.get $3 + i32.const 4 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1472 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + local.tee $5 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $5 + local.set $1 + end + else + local.get $0 + i32.const 1572 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1472 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.wrap_i64 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $3 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + 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 $1 + i32.const 4 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.const 2 + i32.store + local.get $0 + local.get $3 + 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 34320 + i32.const 0 + i32.store + i32.const 35888 + 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 34320 + 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 $0 + i32.const 4 + i32.shl + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.const 34320 + 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 34320 + i32.const 35892 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + i32.const 34320 + 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 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 34316 + i32.lt_u + if + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 1200 + i32.const 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 34316 + 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 34316 + 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 1472 + i32.const 562 + 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 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (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 -4 + i32.and + local.tee $1 + if (result i32) + local.get $0 + local.get $1 + 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 $2 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1472 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + 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 + 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$69 + 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 + i32.const 1 + i32.shl + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt$69 + end + local.get $1 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + 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 65579 + 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 + i64.extend_i32_s + i64.const 16 + i64.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 1472 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + local.get $1 + i32.load + i32.const -4 + i32.and + i32.const 44 + i32.lt_u + if + i32.const 0 + i32.const 1472 + i32.const 501 + 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 $3 + i32.const -4 + i32.and + i32.const 44 + i32.sub + local.tee $4 + i32.const 16 + i32.ge_u + if + local.get $1 + local.get $3 + i32.const 2 + i32.and + i32.const 44 + i32.or + i32.store + local.get $1 + i32.const 48 + i32.add + local.tee $3 + local.get $4 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $2 + local.get $3 + 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.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 16 + i32.store offset=16 + global.get $~lib/rt/itcms/fromSpace + local.tee $0 + i32.load offset=8 + local.set $2 + local.get $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.or + i32.store offset=4 + local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 + local.tee $0 + i64.const 0 + i64.store align=1 + local.get $0 + i64.const 0 + i64.store offset=8 align=1 + local.get $0 + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $folding-inner0 + block $invalid + block $~lib/function/Function<%28~lib/array/Array%29=>i32> + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/function/Function<%28~lib/array/Array%29=>i32> $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + unreachable + end + i32.const 34336 + i32.const 34384 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~start + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + memory.size + i32.const 16 + i32.shl + i32.const 34316 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1252 + i32.const 1248 + i32.store + i32.const 1256 + i32.const 1248 + i32.store + i32.const 1248 + global.set $~lib/rt/itcms/pinSpace + i32.const 1284 + i32.const 1280 + i32.store + i32.const 1288 + i32.const 1280 + i32.store + i32.const 1280 + global.set $~lib/rt/itcms/toSpace + i32.const 1428 + i32.const 1424 + i32.store + i32.const 1432 + i32.const 1424 + i32.store + i32.const 1424 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.const 1088 + i32.const 16 + memory.copy + local.get $0 + i32.store + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $2 + local.get $0 + i32.store + local.get $0 + if + local.get $2 + i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $3 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $2 + i32.const 20 + i32.sub + i32.load offset=4 + i32.const 3 + i32.and + local.tee $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $3 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $1 + i32.const 3 + i32.eq + i32.and + if + local.get $3 + call $~lib/rt/itcms/Object#makeGray + end + end + end + end + local.get $2 + local.get $0 + i32.store offset=4 + local.get $2 + i32.const 16 + i32.store offset=8 + local.get $2 + i32.const 4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 1056 + i32.load + call_indirect (type $0) + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34336 + i32.const 34384 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) +) diff --git a/tests/compiler/issues/2707.ts b/tests/compiler/issues/2707.ts new file mode 100644 index 0000000000..dc380b73d6 --- /dev/null +++ b/tests/compiler/issues/2707.ts @@ -0,0 +1,6 @@ +// should not crash +let func: (...args: i32[]) => i32 = (...args: i32[]) => { + return 1; +}; + +func(1, 2, 3, 4); diff --git a/tests/compiler/issues/2737.json b/tests/compiler/issues/2737.json new file mode 100644 index 0000000000..07404f851a --- /dev/null +++ b/tests/compiler/issues/2737.json @@ -0,0 +1,15 @@ +{ + "stderr": [ + "TS1140: Type argument expected.", + "foo.bar;", + "AS234: Expression does not compile to a value at runtime.", + "foo.bar;", + "TS1140: Type argument expected.", + "memory.data;", + "AS234: Expression does not compile to a value at runtime.", + "memory.data;", + "AS100: Not implemented: First-class built-ins", + "atomic.fence;", + "EOF" + ] +} \ No newline at end of file diff --git a/tests/compiler/issues/2737.ts b/tests/compiler/issues/2737.ts new file mode 100644 index 0000000000..05d5faaae3 --- /dev/null +++ b/tests/compiler/issues/2737.ts @@ -0,0 +1,12 @@ +namespace foo { + export function bar(): void {} +} + +// Should error from missing type arguments: +foo.bar; +memory.data; + +// Should error from lacking first-class builtins: +atomic.fence; + +ERROR("EOF"); \ No newline at end of file diff --git a/tests/compiler/issues/2825.debug.wat b/tests/compiler/issues/2825.debug.wat new file mode 100644 index 0000000000..4ecc4ddd57 --- /dev/null +++ b/tests/compiler/issues/2825.debug.wat @@ -0,0 +1,69 @@ +(module + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func (param i32) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/memory/__data_end i32 (i32.const 60)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) + (global $~lib/memory/__heap_base i32 (i32.const 32828)) + (memory $0 1) + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\002\008\002\005\00.\00t\00s\00") + (table $0 1 1 funcref) + (elem $0 (i32.const 1)) + (export "init" (func $issues/2825/init)) + (export "memory" (memory $0)) + (start $~start) + (func $issues/2825/increment (param $x i32) (result i32) + local.get $x + i32.const 1234 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $x + i32.const 1 + i32.add + return + ) + (func $start:issues/2825 + (local $i i32) + (local $i|1 i32) + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + i32.const 10 + i32.lt_s + if + i32.const 1234 + local.set $i|1 + local.get $i + call $issues/2825/increment + local.set $i + br $for-loop|0 + end + end + ) + (func $issues/2825/init + (local $not_unassigned i32) + loop $for-loop|0 + i32.const 1 + if + i32.const 0 + local.set $not_unassigned + local.get $not_unassigned + drop + br $for-loop|0 + end + end + ) + (func $~start + call $start:issues/2825 + ) +) diff --git a/tests/compiler/issues/2825.json b/tests/compiler/issues/2825.json new file mode 100644 index 0000000000..0967ef424b --- /dev/null +++ b/tests/compiler/issues/2825.json @@ -0,0 +1 @@ +{} diff --git a/tests/compiler/issues/2825.release.wat b/tests/compiler/issues/2825.release.wat new file mode 100644 index 0000000000..c11fb2dae0 --- /dev/null +++ b/tests/compiler/issues/2825.release.wat @@ -0,0 +1,43 @@ +(module + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (memory $0 1) + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00i\00s\00s\00u\00e\00s\00/\002\008\002\005\00.\00t\00s") + (export "init" (func $issues/2825/init)) + (export "memory" (memory $0)) + (start $~start) + (func $issues/2825/init + loop $for-loop|0 + br $for-loop|0 + end + unreachable + ) + (func $~start + (local $0 i32) + loop $for-loop|0 + local.get $0 + i32.const 10 + i32.lt_s + if + local.get $0 + i32.const 1234 + i32.eq + if + i32.const 0 + i32.const 1056 + i32.const 2 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + ) +) diff --git a/tests/compiler/issues/2825.ts b/tests/compiler/issues/2825.ts new file mode 100644 index 0000000000..f563fd5bf7 --- /dev/null +++ b/tests/compiler/issues/2825.ts @@ -0,0 +1,15 @@ +function increment(x: i32): i32 { + assert(x !== 1234); + return x + 1; +} + +for (let i = 0; i < 10; i = increment(i)) { + let i = 1234; +} + +export function init(): void { + let not_unassigned: i32; + for (; ; not_unassigned) { + not_unassigned = 0; + } +} diff --git a/tests/compiler/issues/2873.debug.wat b/tests/compiler/issues/2873.debug.wat new file mode 100644 index 0000000000..15c9c5ddef --- /dev/null +++ b/tests/compiler/issues/2873.debug.wat @@ -0,0 +1,5287 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) + (type $8 (func (param i32 f64 i32) (result i32))) + (type $9 (func (param i32 i32 i32 i32))) + (type $10 (func (param i32 i32 i64) (result i32))) + (type $11 (func (result i32))) + (type $12 (func (param f32 i32) (result i32))) + (type $13 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $14 (func (param f64 i32) (result i32))) + (type $15 (func (param i32 f32) (result i32))) + (type $16 (func (param i32 f64) (result i32))) + (type $17 (func (param f32) (result i32))) + (type $18 (func (param f64) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/util/number/_frc_plus (mut i64) (i64.const 0)) + (global $~lib/util/number/_frc_minus (mut i64) (i64.const 0)) + (global $~lib/util/number/_exp (mut i32) (i32.const 0)) + (global $~lib/util/number/_K (mut i32) (i32.const 0)) + (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) + (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) + (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (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/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $issues/2873/f32arr i32 (i32.const 2080)) + (global $issues/2873/f64arr i32 (i32.const 2288)) + (global $~lib/rt/__rtti_base i32 (i32.const 2320)) + (global $~lib/memory/__data_end i32 (i32.const 2348)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35116)) + (global $~lib/memory/__heap_base i32 (i32.const 35116)) + (memory $0 1) + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data $2 (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $5 (i32.const 232) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 + return + ) + (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) + local.get $this + i32.load offset=16 + ) + (func $~lib/string/String#get:length (param $this i32) (result i32) + local.get $this + i32.const 20 + i32.sub + call $~lib/rt/common/OBJECT#get:rtSize + i32.const 1 + i32.shr_u + return + ) + (func $~lib/util/string/compareImpl (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) + (local $ptr1 i32) + (local $ptr2 i32) + (local $7 i32) + (local $a i32) + (local $b i32) + local.get $str1 + local.get $index1 + i32.const 1 + i32.shl + i32.add + local.set $ptr1 + local.get $str2 + local.get $index2 + i32.const 1 + i32.shl + i32.add + local.set $ptr2 + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $len + i32.const 4 + i32.ge_u + if (result i32) + local.get $ptr1 + i32.const 7 + i32.and + local.get $ptr2 + i32.const 7 + i32.and + i32.or + i32.eqz + else + i32.const 0 + end + if + block $do-break|0 + loop $do-loop|0 + local.get $ptr1 + i64.load + local.get $ptr2 + i64.load + i64.ne + if + br $do-break|0 + end + local.get $ptr1 + i32.const 8 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 8 + i32.add + local.set $ptr2 + local.get $len + i32.const 4 + i32.sub + local.set $len + local.get $len + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end + end + end + loop $while-continue|1 + local.get $len + local.tee $7 + i32.const 1 + i32.sub + local.set $len + local.get $7 + if + local.get $ptr1 + i32.load16_u + local.set $a + local.get $ptr2 + i32.load16_u + local.set $b + local.get $a + local.get $b + i32.ne + if + local.get $a + local.get $b + i32.sub + return + end + local.get $ptr1 + i32.const 2 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 2 + i32.add + local.set $ptr2 + br $while-continue|1 + end + end + i32.const 0 + return + ) + (func $~lib/number/F64#toString (param $this f64) (param $radix i32) (result i32) + local.get $this + call $~lib/util/number/dtoa + return + ) + (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/array/Array#get:length_ (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/util/number/dtoa_buffered (param $buffer i32) (param $value f32) (result i32) + (local $buffer|2 i32) + (local $value|3 f64) + (local $isSingle i32) + (local $sign i32) + block $~lib/util/number/dtoa_buffered_impl|inlined.0 (result i32) + local.get $buffer + local.set $buffer|2 + local.get $value + f64.promote_f32 + local.set $value|3 + i32.const 1 + local.set $isSingle + local.get $value|3 + f64.const 0 + f64.eq + if + local.get $buffer|2 + i32.const 48 + i32.store16 + local.get $buffer|2 + i32.const 46 + i32.store16 offset=2 + local.get $buffer|2 + i32.const 48 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + local.get $value|3 + local.get $value|3 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value|3 + local.get $value|3 + f64.ne + if + local.get $buffer|2 + i32.const 78 + i32.store16 + local.get $buffer|2 + i32.const 97 + i32.store16 offset=2 + local.get $buffer|2 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + else + local.get $value|3 + f64.const 0 + f64.lt + local.set $sign + local.get $sign + if + local.get $buffer|2 + i32.const 45 + i32.store16 + local.get $buffer|2 + i32.const 2 + i32.add + local.set $buffer|2 + end + local.get $buffer|2 + i64.const 29555310648492105 + i64.store + local.get $buffer|2 + i64.const 34058970405077102 + i64.store offset=8 + i32.const 8 + local.get $sign + i32.add + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + unreachable + end + local.get $buffer|2 + local.get $value|3 + local.get $isSingle + call $~lib/util/number/dtoa_core + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + return + ) + (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/array/Array#get:length_ (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/util/number/dtoa_buffered (param $buffer i32) (param $value f64) (result i32) + (local $buffer|2 i32) + (local $value|3 f64) + (local $isSingle i32) + (local $sign i32) + block $~lib/util/number/dtoa_buffered_impl|inlined.1 (result i32) + local.get $buffer + local.set $buffer|2 + local.get $value + local.set $value|3 + i32.const 0 + local.set $isSingle + local.get $value|3 + f64.const 0 + f64.eq + if + local.get $buffer|2 + i32.const 48 + i32.store16 + local.get $buffer|2 + i32.const 46 + i32.store16 offset=2 + local.get $buffer|2 + i32.const 48 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + end + local.get $value|3 + local.get $value|3 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value|3 + local.get $value|3 + f64.ne + if + local.get $buffer|2 + i32.const 78 + i32.store16 + local.get $buffer|2 + i32.const 97 + i32.store16 offset=2 + local.get $buffer|2 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + else + local.get $value|3 + f64.const 0 + f64.lt + local.set $sign + local.get $sign + if + local.get $buffer|2 + i32.const 45 + i32.store16 + local.get $buffer|2 + i32.const 2 + i32.add + local.set $buffer|2 + end + local.get $buffer|2 + i64.const 29555310648492105 + i64.store + local.get $buffer|2 + i64.const 34058970405077102 + i64.store offset=8 + i32.const 8 + local.get $sign + i32.add + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + end + unreachable + end + local.get $buffer|2 + local.get $value|3 + local.get $isSingle + call $~lib/util/number/dtoa_core + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + end + return + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + global.get $issues/2873/f32arr + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $issues/2873/f64arr + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 1760 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 1568 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) + ) + (func $~lib/array/Array#get:buffer (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $~lib/array/Array + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + unreachable + ) + (func $~start + call $start:issues/2873 + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 35136 + i32.const 35184 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/string/String.__eq (param $left i32) (param $right i32) (result i32) + (local $leftLength i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $left + local.get $right + i32.eq + if + i32.const 1 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + i32.const 0 + i32.eq + end + if + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + call $~lib/util/string/compareImpl + i32.eqz + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/string/String#substring (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $finalStart i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $finalEnd i32) + (local $14 i32) + (local $15 i32) + (local $fromPos i32) + (local $17 i32) + (local $18 i32) + (local $toPos i32) + (local $size i32) + (local $out i32) + (local $22 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store + local.get $22 + call $~lib/string/String#get:length + local.set $len + local.get $start + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $finalStart + local.get $end + local.tee $9 + i32.const 0 + local.tee $10 + local.get $9 + local.get $10 + i32.gt_s + select + local.tee $11 + local.get $len + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select + local.set $finalEnd + local.get $finalStart + local.tee $14 + local.get $finalEnd + local.tee $15 + local.get $14 + local.get $15 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $fromPos + local.get $finalStart + local.tee $17 + local.get $finalEnd + local.tee $18 + local.get $17 + local.get $18 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $toPos + local.get $toPos + local.get $fromPos + i32.sub + local.set $size + local.get $size + i32.eqz + if + i32.const 2128 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + local.get $fromPos + i32.eqz + if (result i32) + local.get $toPos + local.get $len + i32.const 1 + i32.shl + i32.eq + else + i32.const 0 + end + if + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + global.get $~lib/memory/__stack_pointer + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store offset=4 + local.get $out + local.get $this + local.get $fromPos + i32.add + local.get $size + memory.copy + local.get $out + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + ) + (func $~lib/util/string/joinFloatArray (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value f32) + (local $i i32) + (local $10 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 2128 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $lastIndex + i32.eqz + if + local.get $dataStart + f32.load + call $~lib/util/number/dtoa + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $separator + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 28 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 28 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load + local.set $value + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + call $~lib/util/number/dtoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + f32.load + local.set $value + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + call $~lib/util/number/dtoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + i32.const 0 + local.get $offset + call $~lib/string/String#substring + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $result + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/array/Array#join (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/util/string/joinFloatArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/util/string/joinFloatArray (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value f64) + (local $i i32) + (local $10 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 2128 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $lastIndex + i32.eqz + if + local.get $dataStart + f64.load + call $~lib/util/number/dtoa + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $separator + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 28 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 28 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load + local.set $value + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + call $~lib/util/number/dtoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 3 + i32.shl + i32.add + f64.load + local.set $value + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + call $~lib/util/number/dtoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + i32.const 0 + local.get $offset + call $~lib/string/String#substring + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $result + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/array/Array#join (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/util/string/joinFloatArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $start:issues/2873 + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + 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 1680 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 1712 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 1856 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + f32.const 1.100000023841858 + i32.const 0 + call $~lib/number/F32#toString + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 1968 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 2000 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1 + i32.const 0 + call $~lib/number/F64#toString + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 1968 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 2000 + i32.const 2 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $issues/2873/f32arr + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 2160 + call $~lib/array/Array#join + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 2192 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 2000 + i32.const 5 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $issues/2873/f64arr + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 2160 + call $~lib/array/Array#join + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 2192 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 2000 + i32.const 8 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/number/dtoa (param $value f32) (result i32) + (local $value|1 f64) + (local $isSingle i32) + (local $size i32) + (local $result i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $~lib/util/number/dtoa_impl|inlined.0 (result i32) + local.get $value + f64.promote_f32 + local.set $value|1 + i32.const 1 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq + if + i32.const 32 + br $~lib/util/number/dtoa_impl|inlined.0 + end + local.get $value|1 + local.get $value|1 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 64 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 96 + i32.const 144 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 176 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size + global.get $~lib/memory/__stack_pointer + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 176 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.0 + end + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/util/number/dtoa (param $value f64) (result i32) + (local $value|1 f64) + (local $isSingle i32) + (local $size i32) + (local $result i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $~lib/util/number/dtoa_impl|inlined.1 (result i32) + local.get $value + local.set $value|1 + i32.const 0 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq + if + i32.const 32 + br $~lib/util/number/dtoa_impl|inlined.1 + end + local.get $value|1 + local.get $value|1 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 64 + br $~lib/util/number/dtoa_impl|inlined.1 + end + i32.const 96 + i32.const 144 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.1 + end + i32.const 176 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size + global.get $~lib/memory/__stack_pointer + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 176 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.1 + end + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) +) diff --git a/tests/compiler/issues/2873.json b/tests/compiler/issues/2873.json new file mode 100644 index 0000000000..ea57a955e1 --- /dev/null +++ b/tests/compiler/issues/2873.json @@ -0,0 +1,3 @@ +{ + "asc_flags": [] +} diff --git a/tests/compiler/issues/2873.release.wat b/tests/compiler/issues/2873.release.wat new file mode 100644 index 0000000000..7cc4d874f8 --- /dev/null +++ b/tests/compiler/issues/2873.release.wat @@ -0,0 +1,3851 @@ +(module + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i64 i64 i32 i64 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32) (result i32))) + (type $7 (func (param i32 f64 i32) (result i32))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64))) + (type $10 (func (result i32))) + (type $11 (func (param i32) (result i32))) + (type $12 (func (param i32 f32) (result i32))) + (type $13 (func (param i32 f64) (result i32))) + (type $14 (func (param f32) (result i32))) + (type $15 (func (param f64) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/util/number/_frc_plus (mut i64) (i64.const 0)) + (global $~lib/util/number/_frc_minus (mut i64) (i64.const 0)) + (global $~lib/util/number/_exp (mut i32) (i32.const 0)) + (global $~lib/util/number/_K (mut i32) (i32.const 0)) + (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) + (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) + (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 36140)) + (memory $0 1) + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\06\00\00\000\00.\000") + (data $1 (i32.const 1068) "\1c") + (data $1.1 (i32.const 1080) "\02\00\00\00\06\00\00\00N\00a\00N") + (data $2 (i32.const 1100) ",") + (data $2.1 (i32.const 1112) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data $3 (i32.const 1148) ",") + (data $3.1 (i32.const 1160) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data $5 (i32.const 1256) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 (param $0 i32) (param $1 f32) (result i32) + (local $2 f64) + (local $3 i32) + block $~lib/util/number/dtoa_buffered_impl|inlined.0 (result i32) + local.get $1 + f64.promote_f32 + local.tee $2 + f64.const 0 + f64.eq + if + local.get $0 + i32.const 48 + i32.store16 + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + i32.const 48 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + local.get $2 + local.get $2 + f64.sub + f64.const 0 + f64.ne + if + local.get $2 + local.get $2 + f64.ne + if + local.get $0 + i32.const 78 + i32.store16 + local.get $0 + i32.const 97 + i32.store16 offset=2 + local.get $0 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + else + local.get $2 + f64.const 0 + f64.lt + local.tee $3 + if + local.get $0 + i32.const 45 + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + end + local.get $0 + i64.const 29555310648492105 + i64.store + local.get $0 + i64.const 34058970405077102 + i64.store offset=8 + local.get $3 + i32.const 8 + i32.add + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + unreachable + end + local.get $0 + local.get $2 + i32.const 1 + call $~lib/util/number/dtoa_core + end + ) + (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) + block $~lib/util/number/dtoa_buffered_impl|inlined.1 (result i32) + local.get $1 + f64.const 0 + f64.eq + if + local.get $0 + i32.const 48 + i32.store16 + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + i32.const 48 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + end + local.get $1 + local.get $1 + f64.sub + f64.const 0 + f64.ne + if + local.get $1 + local.get $1 + f64.ne + if + local.get $0 + i32.const 78 + i32.store16 + local.get $0 + i32.const 97 + i32.store16 offset=2 + local.get $0 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + else + local.get $1 + f64.const 0 + f64.lt + local.tee $2 + if + local.get $0 + i32.const 45 + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + end + local.get $0 + i64.const 29555310648492105 + i64.store + local.get $0 + i64.const 34058970405077102 + i64.store offset=8 + local.get $2 + i32.const 8 + i32.add + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + end + unreachable + end + local.get $0 + local.get $1 + i32.const 0 + call $~lib/util/number/dtoa_core + end + ) + (func $~lib/array/Array~visit (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 3372 + i32.lt_s + if + i32.const 36160 + i32.const 36208 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $invalid + block $~lib/array/Array + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + unreachable + ) + (func $~start + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 3372 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + memory.size + i32.const 16 + i32.shl + i32.const 36140 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 2708 + i32.const 2704 + i32.store + i32.const 2712 + i32.const 2704 + i32.store + i32.const 2704 + global.set $~lib/rt/itcms/pinSpace + i32.const 2740 + i32.const 2736 + i32.store + i32.const 2744 + i32.const 2736 + i32.store + i32.const 2736 + global.set $~lib/rt/itcms/toSpace + i32.const 2884 + i32.const 2880 + i32.store + i32.const 2888 + i32.const 2880 + i32.store + i32.const 2880 + global.set $~lib/rt/itcms/fromSpace + f32.const 1.100000023841858 + call $~lib/util/number/dtoa + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 2992 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 3024 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1 + call $~lib/util/number/dtoa + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 2992 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 3024 + i32.const 2 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3104 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3372 + 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 3104 + i32.store + i32.const 3108 + i32.load + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 3104 + i32.store + i32.const 3116 + i32.load + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 3184 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3372 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinFloatArray$143 + local.get $1 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3152 + local.set $1 + br $__inlined_func$~lib/util/string/joinFloatArray$143 + end + local.get $4 + i32.eqz + if + local.get $3 + f32.load + call $~lib/util/number/dtoa + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinFloatArray$143 + end + global.get $~lib/memory/__stack_pointer + i32.const 3184 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3180 + i32.load + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 28 + i32.add + local.get $4 + i32.mul + i32.const 28 + i32.add + local.tee $6 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load + call $~lib/util/number/dtoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $5 + if + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.const 3184 + local.get $5 + i32.const 1 + i32.shl + memory.copy + local.get $0 + local.get $5 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $4 + i32.const 2 + i32.shl + i32.add + f32.load + call $~lib/util/number/dtoa_buffered + local.get $0 + i32.add + local.tee $0 + local.get $6 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinFloatArray$143 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 3216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 3024 + i32.const 5 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3312 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3372 + 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 3312 + i32.store + i32.const 3316 + i32.load + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 3312 + i32.store + i32.const 3324 + i32.load + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 3184 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3372 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinFloatArray$144 + local.get $0 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3152 + local.set $1 + br $__inlined_func$~lib/util/string/joinFloatArray$144 + end + local.get $4 + i32.eqz + if + local.get $3 + f64.load + call $~lib/util/number/dtoa + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinFloatArray$144 + end + global.get $~lib/memory/__stack_pointer + i32.const 3184 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3180 + i32.load + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 28 + i32.add + local.get $4 + i32.mul + i32.const 28 + i32.add + local.tee $6 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + i32.const 0 + local.set $0 + i32.const 0 + local.set $2 + loop $for-loop|01 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + f64.load + call $~lib/util/number/dtoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $5 + if + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.const 3184 + local.get $5 + i32.const 1 + i32.shl + memory.copy + local.get $0 + local.get $5 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|01 + end + end + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $4 + i32.const 3 + i32.shl + i32.add + f64.load + call $~lib/util/number/dtoa_buffered + local.get $0 + i32.add + local.tee $0 + local.get $6 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + local.get $0 + call $~lib/string/String#substring + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinFloatArray$144 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 3216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 3024 + i32.const 8 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 36160 + i32.const 36208 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3372 + i32.lt_s + if + i32.const 36160 + i32.const 36208 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + local.get $1 + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz + 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$82 + 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$82 + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.eqz + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3372 + i32.lt_s + if + i32.const 36160 + i32.const 36208 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s + select + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + i32.const 1 + i32.shl + local.set $3 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.ge_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + i32.sub + local.tee $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3152 + return + end + local.get $3 + i32.eqz + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.eq + i32.and + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + local.get $1 + local.get $0 + local.get $3 + i32.add + local.get $2 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/util/number/dtoa (param $0 f32) (result i32) + (local $1 f64) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3372 + i32.lt_s + if + i32.const 36160 + i32.const 36208 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 1056 + local.set $2 + block $~lib/util/number/dtoa_impl|inlined.0 + local.get $0 + f64.promote_f32 + local.tee $1 + f64.const 0 + f64.eq + br_if $~lib/util/number/dtoa_impl|inlined.0 + local.get $1 + local.get $1 + f64.sub + f64.const 0 + f64.ne + if + i32.const 1088 + local.set $2 + local.get $1 + local.get $1 + f64.ne + br_if $~lib/util/number/dtoa_impl|inlined.0 + i32.const 1120 + i32.const 1168 + local.get $1 + f64.const 0 + f64.lt + select + local.set $2 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 1200 + local.get $1 + i32.const 1 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + i32.const 1200 + local.get $3 + memory.copy + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/util/number/dtoa (param $0 f64) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3372 + i32.lt_s + if + i32.const 36160 + i32.const 36208 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 1056 + local.set $1 + block $~lib/util/number/dtoa_impl|inlined.1 + local.get $0 + f64.const 0 + f64.eq + br_if $~lib/util/number/dtoa_impl|inlined.1 + local.get $0 + local.get $0 + f64.sub + f64.const 0 + f64.ne + if + i32.const 1088 + local.set $1 + local.get $0 + local.get $0 + f64.ne + br_if $~lib/util/number/dtoa_impl|inlined.1 + i32.const 1120 + i32.const 1168 + local.get $0 + f64.const 0 + f64.lt + select + local.set $1 + br $~lib/util/number/dtoa_impl|inlined.1 + end + i32.const 1200 + local.get $0 + i32.const 0 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 1200 + local.get $2 + memory.copy + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) +) diff --git a/tests/compiler/issues/2873.ts b/tests/compiler/issues/2873.ts new file mode 100644 index 0000000000..2c93f8b66b --- /dev/null +++ b/tests/compiler/issues/2873.ts @@ -0,0 +1,8 @@ +assert((1.1).toString() == "1.1"); +assert((1.1).toString() == "1.1"); + +const f32arr: f32[] = [1.1, 2.2, 3.3]; +assert(f32arr.join() == "1.1,2.2,3.3"); + +const f64arr: f64[] = [1.1, 2.2, 3.3]; +assert(f64arr.join() == "1.1,2.2,3.3"); diff --git a/tests/compiler/limits.debug.wat b/tests/compiler/limits.debug.wat index b819f6aa76..85ccb74c68 100644 --- a/tests/compiler/limits.debug.wat +++ b/tests/compiler/limits.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/builtins/i8.MIN_VALUE i32 (i32.const -128)) (global $~lib/builtins/i8.MAX_VALUE i32 (i32.const 127)) (global $~lib/builtins/i16.MIN_VALUE i32 (i32.const -32768)) diff --git a/tests/compiler/literals.debug.wat b/tests/compiler/literals.debug.wat index 6326e5284c..da883bddc8 100644 --- a/tests/compiler/literals.debug.wat +++ b/tests/compiler/literals.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/localinit.debug.wat b/tests/compiler/localinit.debug.wat index 696a2303c3..c97e35fdd2 100644 --- a/tests/compiler/localinit.debug.wat +++ b/tests/compiler/localinit.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) + (type $0 (func)) + (type $1 (func (param i32))) (memory $0 0) (table $0 1 1 funcref) (elem $0 (i32.const 1)) diff --git a/tests/compiler/logical.debug.wat b/tests/compiler/logical.debug.wat index 9aac698684..bf7e9e66c3 100644 --- a/tests/compiler/logical.debug.wat +++ b/tests/compiler/logical.debug.wat @@ -1,14 +1,14 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i64_i32_=>_i32 (func (param i64 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i64 i32) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $logical/i (mut i32) (i32.const 0)) (global $logical/I (mut i64) (i64.const 0)) @@ -28,6 +28,10 @@ (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $logical/foo (mut i32) (i32.const 456)) + (global $logical/bar (mut f64) (f64.const -0)) + (global $logical/baz (mut i32) (i32.const 321)) + (global $logical/qux (mut f64) (f64.const 2.718)) (global $logical/b (mut i32) (i32.const 0)) (global $logical/c (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 464)) @@ -35,18 +39,22 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33268)) (global $~lib/memory/__heap_base i32 (i32.const 33268)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 464) "\08\00\00\00 \00\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 $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 464) "\08\00\00\00 \00\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 1 funcref) (elem $0 (i32.const 1)) + (export "foo" (global $logical/foo)) + (export "bar" (global $logical/bar)) + (export "baz" (global $logical/baz)) + (export "qux" (global $logical/qux)) (export "memory" (memory $0)) (start $~start) (func $logical/testShortcutAnd (param $a i64) (param $b i32) (result i32) @@ -74,12 +82,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -93,7 +101,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -167,7 +175,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -237,11 +245,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -249,7 +257,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 272 @@ -381,7 +389,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -394,7 +402,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -410,34 +418,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -597,7 +605,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -620,7 +628,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -634,7 +642,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -657,7 +665,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -800,7 +808,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -886,7 +894,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -966,7 +974,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1000,7 +1008,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1023,7 +1031,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1037,27 +1045,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 416 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1082,9 +1095,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1103,7 +1116,7 @@ if i32.const 0 i32.const 416 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1122,7 +1135,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1136,7 +1148,7 @@ if i32.const 0 i32.const 416 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1192,12 +1204,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1231,7 +1243,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1252,7 +1264,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1272,7 +1284,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1292,7 +1304,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1318,7 +1330,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1341,9 +1353,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1379,7 +1392,7 @@ if i32.const 0 i32.const 416 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1645,14 +1658,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1708,7 +1724,7 @@ if i32.const 80 i32.const 416 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1717,6 +1733,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1746,24 +1782,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1801,7 +1826,7 @@ if i32.const 0 i32.const 416 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1816,7 +1841,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1861,7 +1886,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1872,7 +1897,7 @@ if i32.const 0 i32.const 416 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1894,7 +1919,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1917,7 +1942,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1936,22 +1961,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1964,7 +1981,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1991,27 +2008,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2036,7 +2054,7 @@ if i32.const 0 i32.const 416 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2151,7 +2169,7 @@ if i32.const 0 i32.const 416 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2171,7 +2189,7 @@ if i32.const 0 i32.const 416 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2204,12 +2222,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2260,7 +2278,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2329,16 +2347,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2353,7 +2366,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $logical/Obj $logical/B $logical/A $logical/C $invalid end return @@ -2402,7 +2415,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2411,18 +2424,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2440,7 +2453,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2449,18 +2462,18 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2478,7 +2491,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2487,18 +2500,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $logical/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2516,7 +2529,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2525,18 +2538,18 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $logical/A#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2558,7 +2571,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop f64.const 0 @@ -2581,26 +2594,9 @@ i64.const -9007199254740994 i64.le_u drop - i32.const 1 - if (result i32) - i32.const 2 - else - i32.const 1 - end + i32.const 2 drop - f64.const 1 - i64.reinterpret_f64 - i64.const 1 - i64.shl - i64.const 2 - i64.sub - i64.const -9007199254740994 - i64.le_u - if (result f64) - f64.const 2 - else - f64.const 1 - end + f64.const 2 i64.reinterpret_f64 i64.const 1 i64.shl @@ -2609,12 +2605,7 @@ i64.const -9007199254740994 i64.le_u drop - i32.const 1 - if (result i32) - i32.const 2 - else - i32.const 1 - end + i32.const 2 global.set $logical/i global.get $logical/i i32.const 2 @@ -2628,12 +2619,7 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 1 - end + i32.const 1 global.set $logical/i global.get $logical/i i32.const 1 @@ -2647,14 +2633,7 @@ call $~lib/builtins/abort unreachable end - i64.const 1 - i64.const 0 - i64.ne - if (result i64) - i64.const 2 - else - i64.const 1 - end + i64.const 2 global.set $logical/I global.get $logical/I i64.const 2 @@ -2668,14 +2647,7 @@ call $~lib/builtins/abort unreachable end - i64.const 0 - i64.const 0 - i64.ne - if (result i64) - i64.const 0 - else - i64.const 1 - end + i64.const 1 global.set $logical/I global.get $logical/I i64.const 1 @@ -2689,19 +2661,7 @@ call $~lib/builtins/abort unreachable end - f32.const 1 - i32.reinterpret_f32 - i32.const 1 - i32.shl - i32.const 2 - i32.sub - i32.const -16777218 - i32.le_u - if (result f32) - f32.const 2 - else - f32.const 1 - end + f32.const 2 global.set $logical/f global.get $logical/f f32.const 2 @@ -2715,19 +2675,7 @@ call $~lib/builtins/abort unreachable end - f32.const 0 - i32.reinterpret_f32 - i32.const 1 - i32.shl - i32.const 2 - i32.sub - i32.const -16777218 - i32.le_u - if (result f32) - f32.const 0 - else - f32.const 1 - end + f32.const 1 global.set $logical/f global.get $logical/f f32.const 1 @@ -2741,19 +2689,7 @@ call $~lib/builtins/abort unreachable end - f64.const 1 - i64.reinterpret_f64 - i64.const 1 - i64.shl - i64.const 2 - i64.sub - i64.const -9007199254740994 - i64.le_u - if (result f64) - f64.const 2 - else - f64.const 1 - end + f64.const 2 global.set $logical/F global.get $logical/F f64.const 2 @@ -2767,19 +2703,7 @@ call $~lib/builtins/abort unreachable end - f64.const 0 - i64.reinterpret_f64 - i64.const 1 - i64.shl - i64.const 2 - i64.sub - i64.const -9007199254740994 - i64.le_u - if (result f64) - f64.const 0 - else - f64.const 1 - end + f64.const 1 global.set $logical/F global.get $logical/F f64.const 1 @@ -2793,19 +2717,7 @@ call $~lib/builtins/abort unreachable end - f32.const nan:0x400000 - i32.reinterpret_f32 - i32.const 1 - i32.shl - i32.const 2 - i32.sub - i32.const -16777218 - i32.le_u - if (result f32) - f32.const nan:0x400000 - else - f32.const 1 - end + f32.const 1 global.set $logical/f global.get $logical/f f32.const 1 @@ -2820,18 +2732,6 @@ unreachable end f32.const 1 - i32.reinterpret_f32 - i32.const 1 - i32.shl - i32.const 2 - i32.sub - i32.const -16777218 - i32.le_u - if (result f32) - f32.const 1 - else - f32.const nan:0x400000 - end global.set $logical/f global.get $logical/f f32.const 1 @@ -2845,19 +2745,7 @@ call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - i64.reinterpret_f64 - i64.const 1 - i64.shl - i64.const 2 - i64.sub - i64.const -9007199254740994 - i64.le_u - if (result f64) - f64.const nan:0x8000000000000 - else - f64.const 1 - end + f64.const 1 global.set $logical/F global.get $logical/F f64.const 1 @@ -2872,18 +2760,6 @@ unreachable end f64.const 1 - i64.reinterpret_f64 - i64.const 1 - i64.shl - i64.const 2 - i64.sub - i64.const -9007199254740994 - i64.le_u - if (result f64) - f64.const 1 - else - f64.const nan:0x8000000000000 - end global.set $logical/F global.get $logical/F f64.const 1 @@ -2897,19 +2773,7 @@ call $~lib/builtins/abort unreachable end - f32.const 1 - i32.reinterpret_f32 - i32.const 1 - i32.shl - i32.const 2 - i32.sub - i32.const -16777218 - i32.le_u - if (result f32) - f32.const nan:0x400000 - else - f32.const 1 - end + f32.const nan:0x400000 global.set $logical/f global.get $logical/f local.tee $0 @@ -2925,18 +2789,6 @@ unreachable end f32.const nan:0x400000 - i32.reinterpret_f32 - i32.const 1 - i32.shl - i32.const 2 - i32.sub - i32.const -16777218 - i32.le_u - if (result f32) - f32.const 1 - else - f32.const nan:0x400000 - end global.set $logical/f global.get $logical/f local.tee $1 @@ -2951,19 +2803,7 @@ call $~lib/builtins/abort unreachable end - f64.const 1 - i64.reinterpret_f64 - i64.const 1 - i64.shl - i64.const 2 - i64.sub - i64.const -9007199254740994 - i64.le_u - if (result f64) - f64.const nan:0x8000000000000 - else - f64.const 1 - end + f64.const nan:0x8000000000000 global.set $logical/F global.get $logical/F local.tee $2 @@ -2979,18 +2819,6 @@ unreachable end f64.const nan:0x8000000000000 - i64.reinterpret_f64 - i64.const 1 - i64.shl - i64.const 2 - i64.sub - i64.const -9007199254740994 - i64.le_u - if (result f64) - f64.const 1 - else - f64.const nan:0x8000000000000 - end global.set $logical/F global.get $logical/F local.tee $3 @@ -3033,7 +2861,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3055,7 +2883,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 1 call $logical/testContextualBoolAnd @@ -3075,7 +2903,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 0 call $logical/testContextualBoolOr @@ -3100,7 +2928,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $logical/commonOr global.get $logical/b @@ -3109,7 +2937,7 @@ if i32.const 0 i32.const 32 - i32.const 106 + i32.const 114 i32.const 1 call $~lib/builtins/abort unreachable @@ -3122,7 +2950,7 @@ if i32.const 0 i32.const 32 - i32.const 107 + i32.const 115 i32.const 1 call $~lib/builtins/abort unreachable @@ -3131,7 +2959,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $logical/commonAnd global.get $logical/c @@ -3140,7 +2968,7 @@ if i32.const 0 i32.const 32 - i32.const 112 + i32.const 120 i32.const 1 call $~lib/builtins/abort unreachable @@ -3153,7 +2981,7 @@ if i32.const 0 i32.const 32 - i32.const 113 + i32.const 121 i32.const 1 call $~lib/builtins/abort unreachable @@ -3172,7 +3000,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3181,7 +3009,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/logical.release.wat b/tests/compiler/logical.release.wat index d9637c4f0e..5147bdfca1 100644 --- a/tests/compiler/logical.release.wat +++ b/tests/compiler/logical.release.wat @@ -1,11 +1,11 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (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 $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (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)) @@ -17,23 +17,31 @@ (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 $logical/foo (mut i32) (i32.const 456)) + (global $logical/bar (mut f64) (f64.const -0)) + (global $logical/baz (mut i32) (i32.const 321)) + (global $logical/qux (mut f64) (f64.const 2.718)) (global $logical/b (mut i32) (i32.const 0)) (global $logical/c (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34292)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1276) "<") - (data (i32.const 1288) "\02\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 1340) ",") - (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1420) "<") - (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\08\00\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 $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\14\00\00\00l\00o\00g\00i\00c\00a\00l\00.\00t\00s") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\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 $2 (i32.const 1148) "<") + (data $2.1 (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1276) "<") + (data $5.1 (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1340) ",") + (data $6.1 (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1420) "<") + (data $8.1 (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1488) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 ") + (export "foo" (global $logical/foo)) + (export "bar" (global $logical/bar)) + (export "baz" (global $logical/baz)) + (export "qux" (global $logical/qux)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -43,21 +51,21 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $logical/c local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1296 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1104 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -67,7 +75,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -85,7 +93,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -93,137 +101,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34292 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$122 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34292 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$122 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1168 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1488 + i32.load + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1492 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -231,8 +259,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -244,10 +272,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -258,29 +286,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -288,10 +316,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -305,75 +333,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -395,7 +416,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -412,12 +433,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -434,17 +455,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -454,9 +475,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -481,13 +502,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -521,7 +542,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -577,19 +598,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -601,15 +622,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -617,23 +638,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1440 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -647,10 +670,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -658,23 +681,22 @@ if i32.const 0 i32.const 1440 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -686,52 +708,53 @@ if i32.const 0 i32.const 1440 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -739,7 +762,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -747,7 +770,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -758,10 +781,10 @@ end i32.const 34304 i32.const 0 - i32.store $0 + i32.store i32.const 35872 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -773,7 +796,7 @@ i32.const 34304 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -791,7 +814,7 @@ i32.const 34304 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -808,9 +831,10 @@ end i32.const 34304 i32.const 35876 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34304 global.set $~lib/rt/tlsf/ROOT @@ -840,7 +864,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -853,19 +877,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -876,7 +900,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -888,7 +912,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -901,12 +925,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -915,7 +935,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -926,26 +946,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -961,7 +981,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -977,7 +997,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1002,14 +1022,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1029,7 +1049,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1044,25 +1063,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1440 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1071,12 +1089,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1086,7 +1103,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1097,10 +1114,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1112,13 +1129,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1440 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1133,7 +1150,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1148,7 +1165,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1160,16 +1177,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1177,8 +1190,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1200,11 +1212,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1223,12 +1235,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1239,9 +1251,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1250,14 +1263,14 @@ if i32.const 0 i32.const 1440 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1265,7 +1278,7 @@ if i32.const 0 i32.const 1440 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1274,7 +1287,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1290,7 +1303,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1300,7 +1313,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1309,54 +1322,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1369,7 +1382,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1385,7 +1398,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $logical/Obj $logical/B $logical/A $logical/C $invalid end return @@ -1395,12 +1408,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1415,8 +1424,7 @@ ) (func $~start (local $0 i32) - (local $1 i32) - block $__inlined_func$start:logical + block $__inlined_func$start:logical$1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1428,8 +1436,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34292 @@ -1439,33 +1447,33 @@ global.set $~lib/rt/itcms/threshold i32.const 1220 i32.const 1216 - i32.store $0 + i32.store i32.const 1224 i32.const 1216 - i32.store $0 + i32.store i32.const 1216 global.set $~lib/rt/itcms/pinSpace i32.const 1252 i32.const 1248 - i32.store $0 + i32.store i32.const 1256 i32.const 1248 - i32.store $0 + i32.store i32.const 1248 global.set $~lib/rt/itcms/toSpace i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/fromSpace call $logical/Obj#constructor local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1480,7 +1488,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1500,23 +1508,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $logical/A#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1532,23 +1538,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $logical/A#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1558,8 +1562,8 @@ global.get $~lib/memory/__stack_pointer global.get $logical/b local.tee $0 - i32.store $0 - local.get $0 + i32.store + global.get $logical/b local.get $0 global.get $logical/c local.get $0 @@ -1568,7 +1572,7 @@ if i32.const 0 i32.const 1056 - i32.const 106 + i32.const 114 i32.const 1 call $~lib/builtins/abort unreachable @@ -1576,18 +1580,17 @@ global.get $~lib/memory/__stack_pointer global.get $logical/b local.tee $0 - i32.store $0 + i32.store + global.get $logical/c global.get $logical/c - local.tee $1 local.get $0 local.get $0 select - local.get $1 i32.ne if i32.const 0 i32.const 1056 - i32.const 112 + i32.const 120 i32.const 1 call $~lib/builtins/abort unreachable @@ -1596,7 +1599,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$start:logical + br $__inlined_func$start:logical$1 end i32.const 34320 i32.const 34368 @@ -1608,7 +1611,6 @@ ) (func $logical/Obj#constructor (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1625,23 +1627,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1649,7 +1649,6 @@ local.get $0 ) (func $logical/A#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1667,7 +1666,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1675,17 +1674,16 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1710,7 +1708,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1718,7 +1716,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1726,23 +1724,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/logical.ts b/tests/compiler/logical.ts index 62a26f9d66..a5943a4f3f 100644 --- a/tests/compiler/logical.ts +++ b/tests/compiler/logical.ts @@ -91,6 +91,14 @@ function testContextualBoolOr(someObj: Obj, someInt: i32): bool { } assert(testContextualBoolOr(new Obj(), 0)); +// Test simplification with precomputable LHS operands +// see: https://github.com/AssemblyScript/assemblyscript/issues/2946 + +export let foo = 123 && 456; +export let bar = -0.0 && 1.23; +export let baz = 321 || 654; +export let qux = NaN || 2.718; + // Common type class A {} diff --git a/tests/compiler/loop-flow.debug.wat b/tests/compiler/loop-flow.debug.wat index acb6443720..2fde4e0b10 100644 --- a/tests/compiler/loop-flow.debug.wat +++ b/tests/compiler/loop-flow.debug.wat @@ -1,15 +1,15 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (result i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func)) + (type $3 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__data_end i32 (i32.const 92)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32860)) (global $~lib/memory/__heap_base i32 (i32.const 32860)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s\00\00\00\00\00") - (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00e\00r\00m\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s\00\00\00\00\00") + (data $1 (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00e\00r\00m\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "whileReturn" (func $loop-flow/whileReturn)) diff --git a/tests/compiler/loop-flow.release.wat b/tests/compiler/loop-flow.release.wat index 39a59dc27f..f6a91f814e 100644 --- a/tests/compiler/loop-flow.release.wat +++ b/tests/compiler/loop-flow.release.wat @@ -1,14 +1,14 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (result i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32 i32 i32))) + (type $3 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s") - (data (i32.const 1084) "\1c") - (data (i32.const 1096) "\02\00\00\00\08\00\00\00t\00e\00r\00m") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\18\00\00\00l\00o\00o\00p\00-\00f\00l\00o\00w\00.\00t\00s") + (data $1 (i32.const 1084) "\1c") + (data $1.1 (i32.const 1096) "\02\00\00\00\08\00\00\00t\00e\00r\00m") (export "whileReturn" (func $loop-flow/whileReturn)) (export "whileThrow" (func $loop-flow/whileThrow)) (export "whileContinue" (func $loop-flow/whileContinue)) @@ -26,11 +26,13 @@ i32.const 1 ) (func $loop-flow/whileAny (param $0 i32) (result i32) - loop $while-continue|0 + loop $while-continue|0 (result i32) local.get $0 i32.const 1 - i32.ne - if + i32.eq + if (result i32) + i32.const 1 + else local.get $0 i32.const 2 i32.eq @@ -47,14 +49,15 @@ unreachable end end - i32.const 1 ) (func $loop-flow/forAny (param $0 i32) (result i32) - loop $for-loop|0 + loop $for-loop|0 (result i32) local.get $0 i32.const 1 - i32.ne - if + i32.eq + if (result i32) + i32.const 1 + else local.get $0 i32.const 2 i32.eq @@ -69,7 +72,6 @@ br $for-loop|0 end end - i32.const 1 ) (func $loop-flow/doAny (param $0 i32) (result i32) loop $do-loop|0 (result i32) diff --git a/tests/compiler/loop-wrap.debug.wat b/tests/compiler/loop-wrap.debug.wat index 6c3a031d0a..43e1bbb674 100644 --- a/tests/compiler/loop-wrap.debug.wat +++ b/tests/compiler/loop-wrap.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) + (type $0 (func)) + (type $1 (func (param i32))) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/loop-wrap.release.wat b/tests/compiler/loop-wrap.release.wat index e85fe6c485..aeb624f5ba 100644 --- a/tests/compiler/loop-wrap.release.wat +++ b/tests/compiler/loop-wrap.release.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) + (type $0 (func)) + (type $1 (func (param i32))) (memory $0 0) (export "testAlwaysWrapped" (func $loop-wrap/testAlwaysWrapped)) (export "testFirstWrapped" (func $loop-wrap/testFirstWrapped)) diff --git a/tests/compiler/managed-cast.debug.wat b/tests/compiler/managed-cast.debug.wat index 47e07645a7..1582c65137 100644 --- a/tests/compiler/managed-cast.debug.wat +++ b/tests/compiler/managed-cast.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -28,18 +28,18 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33468)) (global $~lib/memory/__heap_base i32 (i32.const 33468)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 672) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 672) "\06\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -47,12 +47,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -66,7 +66,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -140,7 +140,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -210,11 +210,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -222,7 +222,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -354,7 +354,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -367,7 +367,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -383,34 +383,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -570,7 +570,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -593,7 +593,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -607,7 +607,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -630,7 +630,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -773,7 +773,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -859,7 +859,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -939,7 +939,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -973,7 +973,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -996,7 +996,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1010,27 +1010,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1055,9 +1060,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1076,7 +1081,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1095,7 +1100,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1109,7 +1113,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1165,12 +1169,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1204,7 +1208,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1225,7 +1229,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1245,7 +1249,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1265,7 +1269,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1291,7 +1295,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1314,9 +1318,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1352,7 +1357,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1618,14 +1623,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1681,7 +1689,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1690,6 +1698,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1719,24 +1747,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1774,7 +1791,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1789,7 +1806,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1834,7 +1851,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1845,7 +1862,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1867,7 +1884,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1890,7 +1907,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1909,22 +1926,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1937,7 +1946,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1964,27 +1973,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2009,7 +2019,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2124,7 +2134,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2144,7 +2154,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2177,12 +2187,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2233,15 +2243,13 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $managed-cast/Animal#tame (param $this i32) - nop ) (func $managed-cast/Cat#meow (param $this i32) - nop ) (func $~lib/rt/itcms/__collect i32.const 0 @@ -2295,7 +2303,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 4 @@ -2321,16 +2329,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2343,7 +2346,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $managed-cast/Cat $managed-cast/Animal $invalid end return @@ -2388,7 +2391,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2397,18 +2400,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2426,7 +2429,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2435,18 +2438,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $managed-cast/Animal#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2464,12 +2467,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $cat local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $managed-cast/Animal#tame global.get $~lib/memory/__stack_pointer @@ -2487,11 +2490,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $cat local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 if (result i32) local.get $1 @@ -2506,7 +2509,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $managed-cast/Animal#tame global.get $~lib/memory/__stack_pointer @@ -2524,18 +2527,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $cat local.tee $maybeAnimal - i32.store $0 + i32.store local.get $maybeAnimal if local.get $maybeAnimal local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $managed-cast/Animal#tame end @@ -2554,18 +2557,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $cat local.tee $maybeAnimal - i32.store $0 + i32.store local.get $maybeAnimal if local.get $maybeAnimal local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $managed-cast/Animal#tame end @@ -2584,11 +2587,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $animal local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~instanceof|managed-cast/Cat if (result i32) @@ -2604,7 +2607,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $managed-cast/Cat#meow global.get $~lib/memory/__stack_pointer @@ -2623,15 +2626,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $animal local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 if (result i32) local.get $1 @@ -2644,7 +2647,7 @@ unreachable end local.tee $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~instanceof|managed-cast/Cat if (result i32) @@ -2660,7 +2663,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $managed-cast/Cat#meow global.get $~lib/memory/__stack_pointer @@ -2679,15 +2682,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $animal local.tee $1 - i32.store $0 + i32.store local.get $1 call $~instanceof|managed-cast/Cat if (result i32) @@ -2701,14 +2704,14 @@ unreachable end local.tee $maybeCat - i32.store $0 offset=4 + i32.store offset=4 local.get $maybeCat if local.get $maybeCat local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $managed-cast/Cat#meow end @@ -2728,15 +2731,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $animal local.tee $1 - i32.store $0 + i32.store local.get $1 i32.eqz if (result i32) @@ -2756,14 +2759,14 @@ end end local.tee $maybeCat - i32.store $0 offset=4 + i32.store offset=4 local.get $maybeCat if local.get $maybeCat local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $managed-cast/Cat#meow end @@ -2781,8 +2784,8 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2804,7 +2807,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $managed-cast/testUpcast i32.const 0 @@ -2812,7 +2815,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $managed-cast/testUpcastFromNullable i32.const 0 @@ -2820,7 +2823,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $managed-cast/testUpcastToNullable i32.const 0 @@ -2828,7 +2831,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $managed-cast/testUpcastFromToNullable i32.const 0 @@ -2836,7 +2839,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $managed-cast/testDowncast i32.const 0 @@ -2844,7 +2847,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $managed-cast/testDowncastFromNullable i32.const 0 @@ -2852,7 +2855,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $managed-cast/testDowncastToNullable i32.const 0 @@ -2860,7 +2863,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $managed-cast/testDowncastFromToNullable global.get $~lib/memory/__heap_base @@ -2880,7 +2883,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2889,7 +2892,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/managed-cast.release.wat b/tests/compiler/managed-cast.release.wat index 738dbb16bb..62f92354e5 100644 --- a/tests/compiler/managed-cast.release.wat +++ b/tests/compiler/managed-cast.release.wat @@ -1,11 +1,11 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param 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 $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (result i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (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)) @@ -19,35 +19,35 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34492)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") - (data (i32.const 1564) "<") - (data (i32.const 1576) "\02\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s") - (data (i32.const 1628) "<") - (data (i32.const 1640) "\02\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t") - (data (i32.const 1696) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "|") + (data $8.1 (i32.const 1448) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") + (data $9 (i32.const 1564) "<") + (data $9.1 (i32.const 1576) "\02\00\00\00\1e\00\00\00m\00a\00n\00a\00g\00e\00d\00-\00c\00a\00s\00t\00.\00t\00s") + (data $10 (i32.const 1628) "<") + (data $10.1 (i32.const 1640) "\02\00\00\00 \00\00\00i\00n\00v\00a\00l\00i\00d\00 \00d\00o\00w\00n\00c\00a\00s\00t") + (data $11 (i32.const 1696) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -57,7 +57,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -75,7 +75,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -83,137 +83,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34492 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$137 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34492 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$137 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1696 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1700 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1696 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1700 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -221,8 +241,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -234,10 +254,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -248,29 +268,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -278,10 +298,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -295,75 +315,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -385,7 +398,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -402,12 +415,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -424,17 +437,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -444,9 +457,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -471,13 +484,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -511,7 +524,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -567,19 +580,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -591,15 +604,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -607,23 +620,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -637,10 +652,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -648,23 +663,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -676,52 +690,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -729,7 +744,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -737,7 +752,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -748,10 +763,10 @@ end i32.const 34496 i32.const 0 - i32.store $0 + i32.store i32.const 36064 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -763,7 +778,7 @@ i32.const 34496 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -781,7 +796,7 @@ i32.const 34496 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -798,9 +813,10 @@ end i32.const 34496 i32.const 36068 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34496 global.set $~lib/rt/tlsf/ROOT @@ -830,7 +846,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -843,19 +859,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -866,7 +882,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -878,7 +894,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -891,12 +907,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -905,7 +917,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -916,26 +928,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -951,7 +963,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -967,7 +979,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -992,14 +1004,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1019,7 +1031,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1034,25 +1045,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1061,12 +1071,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1076,7 +1085,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1087,10 +1096,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1102,13 +1111,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1123,7 +1132,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1138,7 +1147,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1150,16 +1159,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1167,8 +1172,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1190,11 +1194,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1213,12 +1217,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1229,9 +1233,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1240,14 +1245,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1255,7 +1260,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1264,7 +1269,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1280,7 +1285,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1290,7 +1295,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1299,54 +1304,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1359,7 +1364,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1373,7 +1378,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $managed-cast/Cat $managed-cast/Animal $invalid end return @@ -1383,12 +1388,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1411,8 +1412,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34492 @@ -1422,33 +1423,33 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace call $managed-cast/Cat#constructor local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1458,13 +1459,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1472,7 +1472,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1482,12 +1482,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -1499,10 +1498,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1510,21 +1508,21 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $managed-cast/testUpcastToNullable call $managed-cast/Cat#constructor local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $managed-cast/testUpcastToNullable call $managed-cast/Cat#constructor local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1534,21 +1532,20 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - block $__inlined_func$~instanceof|managed-cast/Cat (result i32) - local.get $1 + i64.store + block $__inlined_func$~instanceof|managed-cast/Cat$85 (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 4 i32.ne - br_if $__inlined_func$~instanceof|managed-cast/Cat + br_if $__inlined_func$~instanceof|managed-cast/Cat$85 drop i32.const 1 end @@ -1562,10 +1559,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1573,7 +1569,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -1583,21 +1579,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $__inlined_func$~instanceof|managed-cast/Cat13 (result i32) - local.get $1 + i32.store offset=8 + block $__inlined_func$~instanceof|managed-cast/Cat$88 (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - if (result i32) - local.get $0 - else + i32.eqz + if i32.const 1456 i32.const 1584 i32.const 36 @@ -1605,15 +1599,16 @@ call $~lib/builtins/abort unreachable end - i32.store $0 offset=8 + local.get $0 + i32.store offset=8 i32.const 0 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 4 i32.ne - br_if $__inlined_func$~instanceof|managed-cast/Cat13 + br_if $__inlined_func$~instanceof|managed-cast/Cat$88 drop i32.const 1 end @@ -1627,10 +1622,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -1638,7 +1632,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -1648,31 +1642,29 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 - block $__inlined_func$~instanceof|managed-cast/Cat16 (result i32) - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + block $__inlined_func$~instanceof|managed-cast/Cat$91 (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 0 local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 4 i32.ne - br_if $__inlined_func$~instanceof|managed-cast/Cat16 + br_if $__inlined_func$~instanceof|managed-cast/Cat$91 drop i32.const 1 end - if (result i32) - local.get $0 - else + i32.eqz + if i32.const 1648 i32.const 1584 i32.const 41 @@ -1680,12 +1672,13 @@ call $~lib/builtins/abort unreachable end - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 local.get $0 if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -1695,7 +1688,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -1705,21 +1698,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 if local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 4 i32.ne if @@ -1734,14 +1727,13 @@ i32.const 0 local.set $0 end - local.get $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -1809,19 +1801,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1831,7 +1822,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1839,13 +1830,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1855,7 +1846,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1863,22 +1854,20 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store 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 $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1894,7 +1883,6 @@ unreachable ) (func $managed-cast/testUpcastToNullable (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1911,40 +1899,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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 - ) ) diff --git a/tests/compiler/many-locals.debug.wat b/tests/compiler/many-locals.debug.wat index c5cb424338..d3fd8e7178 100644 --- a/tests/compiler/many-locals.debug.wat +++ b/tests/compiler/many-locals.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__data_end i32 (i32.const 60)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "testI32" (func $many-locals/testI32)) diff --git a/tests/compiler/many-locals.release.wat b/tests/compiler/many-locals.release.wat index 82e02eccf8..d6e24e0568 100644 --- a/tests/compiler/many-locals.release.wat +++ b/tests/compiler/many-locals.release.wat @@ -1,8 +1,8 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func (param i32) (result i32))) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00m\00a\00n\00y\00-\00l\00o\00c\00a\00l\00s\00.\00t\00s") (export "testI32" (func $many-locals/testI32)) (export "testI8" (func $many-locals/testI8)) (export "memory" (memory $0)) diff --git a/tests/compiler/memcpy.debug.wat b/tests/compiler/memcpy.debug.wat index c29e5acf92..0435fe9b90 100644 --- a/tests/compiler/memcpy.debug.wat +++ b/tests/compiler/memcpy.debug.wat @@ -1,7 +1,7 @@ (module - (type $none_=>_none (func)) - (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 $0 (func)) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $memcpy/base i32 (i32.const 8)) (global $memcpy/dest (mut i32) (i32.const 0)) @@ -9,7 +9,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memcpy" (func $memcpy/memcpy)) @@ -122,8 +122,8 @@ i32.add local.set $src local.get $7 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $n i32.const 1 i32.sub @@ -144,32 +144,32 @@ if local.get $dest local.get $src - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $dest i32.const 4 i32.add local.get $src i32.const 4 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $dest i32.const 8 i32.add local.get $src i32.const 8 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $dest i32.const 12 i32.add local.get $src i32.const 12 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $src i32.const 16 i32.add @@ -191,16 +191,16 @@ if local.get $dest local.get $src - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $dest i32.const 4 i32.add local.get $src i32.const 4 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $dest i32.const 8 i32.add @@ -216,8 +216,8 @@ if local.get $dest local.get $src - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $dest i32.const 4 i32.add @@ -233,8 +233,8 @@ if local.get $dest local.get $src - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $dest i32.const 2 i32.add @@ -260,8 +260,8 @@ i32.add local.set $src local.get $9 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 end local.get $ret return @@ -293,7 +293,7 @@ br $break|2 end local.get $src - i32.load $0 + i32.load local.set $w local.get $dest local.tee $11 @@ -307,8 +307,8 @@ i32.add local.set $src local.get $12 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $13 i32.const 1 @@ -321,8 +321,8 @@ i32.add local.set $src local.get $14 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $15 i32.const 1 @@ -335,8 +335,8 @@ i32.add local.set $src local.get $16 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $n i32.const 3 i32.sub @@ -349,7 +349,7 @@ local.get $src i32.const 1 i32.add - i32.load $0 + i32.load local.set $x local.get $dest local.get $w @@ -359,11 +359,11 @@ i32.const 8 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 5 i32.add - i32.load $0 + i32.load local.set $w local.get $dest i32.const 4 @@ -375,11 +375,11 @@ i32.const 8 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 9 i32.add - i32.load $0 + i32.load local.set $x local.get $dest i32.const 8 @@ -391,11 +391,11 @@ i32.const 8 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 13 i32.add - i32.load $0 + i32.load local.set $w local.get $dest i32.const 12 @@ -407,7 +407,7 @@ i32.const 8 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 16 i32.add @@ -426,7 +426,7 @@ br $break|2 end local.get $src - i32.load $0 + i32.load local.set $w local.get $dest local.tee $17 @@ -440,8 +440,8 @@ i32.add local.set $src local.get $18 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $19 i32.const 1 @@ -454,8 +454,8 @@ i32.add local.set $src local.get $20 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $n i32.const 2 i32.sub @@ -468,7 +468,7 @@ local.get $src i32.const 2 i32.add - i32.load $0 + i32.load local.set $x local.get $dest local.get $w @@ -478,11 +478,11 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 6 i32.add - i32.load $0 + i32.load local.set $w local.get $dest i32.const 4 @@ -494,11 +494,11 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 10 i32.add - i32.load $0 + i32.load local.set $x local.get $dest i32.const 8 @@ -510,11 +510,11 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 14 i32.add - i32.load $0 + i32.load local.set $w local.get $dest i32.const 12 @@ -526,7 +526,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 16 i32.add @@ -545,7 +545,7 @@ br $break|2 end local.get $src - i32.load $0 + i32.load local.set $w local.get $dest local.tee $21 @@ -559,8 +559,8 @@ i32.add local.set $src local.get $22 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $n i32.const 1 i32.sub @@ -573,7 +573,7 @@ local.get $src i32.const 3 i32.add - i32.load $0 + i32.load local.set $x local.get $dest local.get $w @@ -583,11 +583,11 @@ i32.const 24 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 7 i32.add - i32.load $0 + i32.load local.set $w local.get $dest i32.const 4 @@ -599,11 +599,11 @@ i32.const 24 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 11 i32.add - i32.load $0 + i32.load local.set $x local.get $dest i32.const 8 @@ -615,11 +615,11 @@ i32.const 24 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 15 i32.add - i32.load $0 + i32.load local.set $w local.get $dest i32.const 12 @@ -631,7 +631,7 @@ i32.const 24 i32.shl i32.or - i32.store $0 + i32.store local.get $src i32.const 16 i32.add @@ -666,8 +666,8 @@ i32.add local.set $src local.get $24 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $25 i32.const 1 @@ -680,8 +680,8 @@ i32.add local.set $src local.get $26 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $27 i32.const 1 @@ -694,8 +694,8 @@ i32.add local.set $src local.get $28 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $29 i32.const 1 @@ -708,8 +708,8 @@ i32.add local.set $src local.get $30 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $31 i32.const 1 @@ -722,8 +722,8 @@ i32.add local.set $src local.get $32 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $33 i32.const 1 @@ -736,8 +736,8 @@ i32.add local.set $src local.get $34 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $35 i32.const 1 @@ -750,8 +750,8 @@ i32.add local.set $src local.get $36 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $37 i32.const 1 @@ -764,8 +764,8 @@ i32.add local.set $src local.get $38 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $39 i32.const 1 @@ -778,8 +778,8 @@ i32.add local.set $src local.get $40 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $41 i32.const 1 @@ -792,8 +792,8 @@ i32.add local.set $src local.get $42 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $43 i32.const 1 @@ -806,8 +806,8 @@ i32.add local.set $src local.get $44 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $45 i32.const 1 @@ -820,8 +820,8 @@ i32.add local.set $src local.get $46 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $47 i32.const 1 @@ -834,8 +834,8 @@ i32.add local.set $src local.get $48 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $49 i32.const 1 @@ -848,8 +848,8 @@ i32.add local.set $src local.get $50 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $51 i32.const 1 @@ -862,8 +862,8 @@ i32.add local.set $src local.get $52 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $53 i32.const 1 @@ -876,8 +876,8 @@ i32.add local.set $src local.get $54 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 end local.get $n i32.const 8 @@ -895,8 +895,8 @@ i32.add local.set $src local.get $56 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $57 i32.const 1 @@ -909,8 +909,8 @@ i32.add local.set $src local.get $58 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $59 i32.const 1 @@ -923,8 +923,8 @@ i32.add local.set $src local.get $60 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $61 i32.const 1 @@ -937,8 +937,8 @@ i32.add local.set $src local.get $62 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $63 i32.const 1 @@ -951,8 +951,8 @@ i32.add local.set $src local.get $64 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $65 i32.const 1 @@ -965,8 +965,8 @@ i32.add local.set $src local.get $66 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $67 i32.const 1 @@ -979,8 +979,8 @@ i32.add local.set $src local.get $68 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $69 i32.const 1 @@ -993,8 +993,8 @@ i32.add local.set $src local.get $70 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 end local.get $n i32.const 4 @@ -1012,8 +1012,8 @@ i32.add local.set $src local.get $72 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $73 i32.const 1 @@ -1026,8 +1026,8 @@ i32.add local.set $src local.get $74 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $75 i32.const 1 @@ -1040,8 +1040,8 @@ i32.add local.set $src local.get $76 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $77 i32.const 1 @@ -1054,8 +1054,8 @@ i32.add local.set $src local.get $78 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 end local.get $n i32.const 2 @@ -1073,8 +1073,8 @@ i32.add local.set $src local.get $80 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $dest local.tee $81 i32.const 1 @@ -1087,8 +1087,8 @@ i32.add local.set $src local.get $82 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 end local.get $n i32.const 1 @@ -1106,8 +1106,8 @@ i32.add local.set $src local.get $84 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 end local.get $ret return @@ -1115,22 +1115,22 @@ (func $start:memcpy global.get $memcpy/base i64.const 1229782938247303441 - i64.store $0 + i64.store global.get $memcpy/base i32.const 8 i32.add i64.const 2459565876494606882 - i64.store $0 + i64.store global.get $memcpy/base i32.const 16 i32.add i64.const 3689348814741910323 - i64.store $0 + i64.store global.get $memcpy/base i32.const 24 i32.add i64.const 4919131752989213764 - i64.store $0 + i64.store global.get $memcpy/base i32.const 1 i32.add @@ -1155,7 +1155,7 @@ unreachable end global.get $memcpy/base - i64.load $0 + i64.load i64.const 1229783084848853777 i64.eq i32.eqz @@ -1185,7 +1185,7 @@ unreachable end global.get $memcpy/base - i64.load $0 + i64.load i64.const 1229783084848853777 i64.eq i32.eqz @@ -1200,7 +1200,7 @@ global.get $memcpy/base i32.const 8 i32.add - i64.load $0 + i64.load i64.const 2459565876494606882 i64.eq i32.eqz @@ -1215,7 +1215,7 @@ global.get $memcpy/base i32.const 16 i32.add - i64.load $0 + i64.load i64.const 3689348814741910323 i64.eq i32.eqz @@ -1230,7 +1230,7 @@ global.get $memcpy/base i32.const 24 i32.add - i64.load $0 + i64.load i64.const 4919131752989213764 i64.eq i32.eqz @@ -1252,7 +1252,7 @@ call $memcpy/memcpy global.set $memcpy/dest global.get $memcpy/base - i64.load $0 + i64.load i64.const 4919131679688438545 i64.eq i32.eqz @@ -1274,7 +1274,7 @@ call $memcpy/memcpy global.set $memcpy/dest global.get $memcpy/base - i64.load $0 + i64.load i64.const 4919131679688438545 i64.eq i32.eqz @@ -1289,7 +1289,7 @@ global.get $memcpy/base i32.const 8 i32.add - i64.load $0 + i64.load i64.const 3689348814741910323 i64.eq i32.eqz @@ -1304,7 +1304,7 @@ global.get $memcpy/base i32.const 16 i32.add - i64.load $0 + i64.load i64.const 3694152654344438852 i64.eq i32.eqz @@ -1319,7 +1319,7 @@ global.get $memcpy/base i32.const 24 i32.add - i64.load $0 + i64.load i64.const 4919131752989213764 i64.eq i32.eqz diff --git a/tests/compiler/memcpy.release.wat b/tests/compiler/memcpy.release.wat index 1c4a88796a..b82c318426 100644 --- a/tests/compiler/memcpy.release.wat +++ b/tests/compiler/memcpy.release.wat @@ -1,12 +1,12 @@ (module - (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_=>_none (func)) + (type $0 (func (param i32 i32 i32) (result i32))) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $memcpy/dest (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\12\00\00\00m\00e\00m\00c\00p\00y\00.\00t\00s") (export "memcpy" (func $memcpy/memcpy)) (export "memory" (memory $0)) (start $~start) @@ -37,8 +37,8 @@ local.set $1 local.get $3 local.get $4 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $2 i32.const 1 i32.sub @@ -58,20 +58,20 @@ if local.get $0 local.get $1 - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $0 local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=4 + i32.load offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.load $0 offset=8 - i32.store $0 offset=8 + i32.load offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.load $0 offset=12 - i32.store $0 offset=12 + i32.load offset=12 + i32.store offset=12 local.get $1 i32.const 16 i32.add @@ -93,12 +93,12 @@ if local.get $0 local.get $1 - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $0 local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=4 + i32.load offset=4 + i32.store offset=4 local.get $1 i32.const 8 i32.add @@ -114,8 +114,8 @@ if local.get $0 local.get $1 - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $1 i32.const 4 i32.add @@ -131,8 +131,8 @@ if local.get $0 local.get $1 - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $1 i32.const 2 i32.add @@ -148,8 +148,8 @@ if local.get $0 local.get $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 end local.get $5 return @@ -170,16 +170,16 @@ br_table $case0|2 $case1|2 $case2|2 $break|2 end local.get $1 - i32.load $0 + i32.load local.set $6 local.get $0 local.get $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -196,8 +196,8 @@ local.set $1 local.get $3 local.get $4 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $2 i32.const 3 i32.sub @@ -209,7 +209,7 @@ if local.get $0 local.get $1 - i32.load $0 offset=1 + i32.load offset=1 local.tee $3 i32.const 8 i32.shl @@ -217,10 +217,10 @@ i32.const 24 i32.shr_u i32.or - i32.store $0 + i32.store local.get $0 local.get $1 - i32.load $0 offset=5 + i32.load offset=5 local.tee $4 i32.const 8 i32.shl @@ -228,10 +228,10 @@ i32.const 24 i32.shr_u i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.load $0 offset=9 + i32.load offset=9 local.tee $3 i32.const 8 i32.shl @@ -239,10 +239,10 @@ i32.const 24 i32.shr_u i32.or - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.load $0 offset=13 + i32.load offset=13 local.tee $6 i32.const 8 i32.shl @@ -250,7 +250,7 @@ i32.const 24 i32.shr_u i32.or - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 16 i32.add @@ -269,12 +269,12 @@ br $break|2 end local.get $1 - i32.load $0 + i32.load local.set $6 local.get $0 local.get $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.tee $3 i32.const 2 @@ -287,8 +287,8 @@ local.set $1 local.get $3 local.get $4 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $2 i32.const 2 i32.sub @@ -300,7 +300,7 @@ if local.get $0 local.get $1 - i32.load $0 offset=2 + i32.load offset=2 local.tee $3 i32.const 16 i32.shl @@ -308,10 +308,10 @@ i32.const 16 i32.shr_u i32.or - i32.store $0 + i32.store local.get $0 local.get $1 - i32.load $0 offset=6 + i32.load offset=6 local.tee $4 i32.const 16 i32.shl @@ -319,10 +319,10 @@ i32.const 16 i32.shr_u i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.load $0 offset=10 + i32.load offset=10 local.tee $3 i32.const 16 i32.shl @@ -330,10 +330,10 @@ i32.const 16 i32.shr_u i32.or - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.load $0 offset=14 + i32.load offset=14 local.tee $6 i32.const 16 i32.shl @@ -341,7 +341,7 @@ i32.const 16 i32.shr_u i32.or - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 16 i32.add @@ -360,7 +360,7 @@ br $break|2 end local.get $1 - i32.load $0 + i32.load local.set $6 local.get $0 local.tee $3 @@ -374,8 +374,8 @@ local.set $1 local.get $3 local.get $4 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $2 i32.const 1 i32.sub @@ -387,7 +387,7 @@ if local.get $0 local.get $1 - i32.load $0 offset=3 + i32.load offset=3 local.tee $3 i32.const 24 i32.shl @@ -395,10 +395,10 @@ i32.const 8 i32.shr_u i32.or - i32.store $0 + i32.store local.get $0 local.get $1 - i32.load $0 offset=7 + i32.load offset=7 local.tee $4 i32.const 24 i32.shl @@ -406,10 +406,10 @@ i32.const 8 i32.shr_u i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.load $0 offset=11 + i32.load offset=11 local.tee $3 i32.const 24 i32.shl @@ -417,10 +417,10 @@ i32.const 8 i32.shr_u i32.or - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.load $0 offset=15 + i32.load offset=15 local.tee $6 i32.const 24 i32.shl @@ -428,7 +428,7 @@ i32.const 8 i32.shr_u i32.or - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 16 i32.add @@ -452,12 +452,12 @@ if local.get $0 local.get $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -466,12 +466,12 @@ i32.const 2 i32.add local.tee $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -480,12 +480,12 @@ i32.const 2 i32.add local.tee $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -494,12 +494,12 @@ i32.const 2 i32.add local.tee $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -508,12 +508,12 @@ i32.const 2 i32.add local.tee $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -522,12 +522,12 @@ i32.const 2 i32.add local.tee $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -536,12 +536,12 @@ i32.const 2 i32.add local.tee $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -550,16 +550,16 @@ i32.const 2 i32.add local.tee $3 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $3 i32.const 2 i32.add local.set $1 local.get $0 local.get $3 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -571,12 +571,12 @@ if local.get $0 local.get $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -585,12 +585,12 @@ i32.const 2 i32.add local.tee $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -599,12 +599,12 @@ i32.const 2 i32.add local.tee $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -613,16 +613,16 @@ i32.const 2 i32.add local.tee $3 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $3 i32.const 2 i32.add local.set $1 local.get $0 local.get $3 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -634,12 +634,12 @@ if local.get $0 local.get $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.get $1 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -648,16 +648,16 @@ i32.const 2 i32.add local.tee $3 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $3 i32.const 2 i32.add local.set $1 local.get $0 local.get $3 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $0 i32.const 2 i32.add @@ -669,8 +669,8 @@ if local.get $0 local.get $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $0 local.tee $3 i32.const 2 @@ -683,8 +683,8 @@ local.set $1 local.get $3 local.get $4 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 end local.get $2 i32.const 1 @@ -692,24 +692,24 @@ if local.get $0 local.get $1 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 end local.get $5 ) (func $~start i32.const 8 i64.const 1229782938247303441 - i64.store $0 + i64.store i32.const 16 i64.const 2459565876494606882 - i64.store $0 + i64.store i32.const 24 i64.const 3689348814741910323 - i64.store $0 + i64.store i32.const 32 i64.const 4919131752989213764 - i64.store $0 + i64.store i32.const 9 i32.const 24 i32.const 4 @@ -727,7 +727,7 @@ unreachable end i32.const 8 - i64.load $0 + i64.load i64.const 1229783084848853777 i64.ne if @@ -755,7 +755,7 @@ unreachable end i32.const 8 - i64.load $0 + i64.load i64.const 1229783084848853777 i64.ne if @@ -767,7 +767,7 @@ unreachable end i32.const 16 - i64.load $0 + i64.load i64.const 2459565876494606882 i64.ne if @@ -779,7 +779,7 @@ unreachable end i32.const 24 - i64.load $0 + i64.load i64.const 3689348814741910323 i64.ne if @@ -791,7 +791,7 @@ unreachable end i32.const 32 - i64.load $0 + i64.load i64.const 4919131752989213764 i64.ne if @@ -808,7 +808,7 @@ call $memcpy/memcpy global.set $memcpy/dest i32.const 8 - i64.load $0 + i64.load i64.const 4919131679688438545 i64.ne if @@ -825,7 +825,7 @@ call $memcpy/memcpy global.set $memcpy/dest i32.const 8 - i64.load $0 + i64.load i64.const 4919131679688438545 i64.ne if @@ -837,7 +837,7 @@ unreachable end i32.const 16 - i64.load $0 + i64.load i64.const 3689348814741910323 i64.ne if @@ -849,7 +849,7 @@ unreachable end i32.const 24 - i64.load $0 + i64.load i64.const 3694152654344438852 i64.ne if @@ -861,7 +861,7 @@ unreachable end i32.const 32 - i64.load $0 + i64.load i64.const 4919131752989213764 i64.ne if diff --git a/tests/compiler/memmove.debug.wat b/tests/compiler/memmove.debug.wat index cb89131c44..e325c90617 100644 --- a/tests/compiler/memmove.debug.wat +++ b/tests/compiler/memmove.debug.wat @@ -1,7 +1,7 @@ (module - (type $none_=>_none (func)) - (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 $0 (func)) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $memmove/base i32 (i32.const 8)) (global $memmove/dest (mut i32) (i32.const 0)) @@ -9,7 +9,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -68,8 +68,8 @@ i32.add local.set $src local.get $5 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 br $while-continue|0 end end @@ -80,8 +80,8 @@ if local.get $dest local.get $src - i64.load $0 - i64.store $0 + i64.load + i64.store local.get $n i32.const 8 i32.sub @@ -113,8 +113,8 @@ i32.add local.set $src local.get $7 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $n i32.const 1 i32.sub @@ -153,8 +153,8 @@ local.get $src local.get $n i32.add - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 br $while-continue|3 end end @@ -173,8 +173,8 @@ local.get $src local.get $n i32.add - i64.load $0 - i64.store $0 + i64.load + i64.store br $while-continue|4 end end @@ -191,8 +191,8 @@ local.get $src local.get $n i32.add - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 br $while-continue|5 end end @@ -203,22 +203,22 @@ (func $start:memmove global.get $memmove/base i64.const 1229782938247303441 - i64.store $0 + i64.store global.get $memmove/base i32.const 8 i32.add i64.const 2459565876494606882 - i64.store $0 + i64.store global.get $memmove/base i32.const 16 i32.add i64.const 3689348814741910323 - i64.store $0 + i64.store global.get $memmove/base i32.const 24 i32.add i64.const 4919131752989213764 - i64.store $0 + i64.store global.get $memmove/base i32.const 1 i32.add @@ -243,7 +243,7 @@ unreachable end global.get $memmove/base - i64.load $0 + i64.load i64.const 1229783084848853777 i64.eq i32.eqz @@ -273,7 +273,7 @@ unreachable end global.get $memmove/base - i64.load $0 + i64.load i64.const 1229783084848853777 i64.eq i32.eqz @@ -288,7 +288,7 @@ global.get $memmove/base i32.const 8 i32.add - i64.load $0 + i64.load i64.const 2459565876494606882 i64.eq i32.eqz @@ -303,7 +303,7 @@ global.get $memmove/base i32.const 16 i32.add - i64.load $0 + i64.load i64.const 3689348814741910323 i64.eq i32.eqz @@ -318,7 +318,7 @@ global.get $memmove/base i32.const 24 i32.add - i64.load $0 + i64.load i64.const 4919131752989213764 i64.eq i32.eqz @@ -340,7 +340,7 @@ call $memmove/memmove global.set $memmove/dest global.get $memmove/base - i64.load $0 + i64.load i64.const 4919131679688438545 i64.eq i32.eqz @@ -362,7 +362,7 @@ call $memmove/memmove global.set $memmove/dest global.get $memmove/base - i64.load $0 + i64.load i64.const 4919131679688438545 i64.eq i32.eqz @@ -377,7 +377,7 @@ global.get $memmove/base i32.const 8 i32.add - i64.load $0 + i64.load i64.const 3689348814741910323 i64.eq i32.eqz @@ -392,7 +392,7 @@ global.get $memmove/base i32.const 16 i32.add - i64.load $0 + i64.load i64.const 3694152654344438852 i64.eq i32.eqz @@ -407,7 +407,7 @@ global.get $memmove/base i32.const 24 i32.add - i64.load $0 + i64.load i64.const 4919131752989213764 i64.eq i32.eqz diff --git a/tests/compiler/memmove.release.wat b/tests/compiler/memmove.release.wat index dabab294a2..9c569cc378 100644 --- a/tests/compiler/memmove.release.wat +++ b/tests/compiler/memmove.release.wat @@ -1,12 +1,12 @@ (module - (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_=>_none (func)) + (type $0 (func (param i32 i32 i32) (result i32))) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $memmove/dest (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\14\00\00\00m\00e\00m\00m\00o\00v\00e\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $memmove/memmove (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -14,15 +14,15 @@ (local $4 i32) (local $5 i32) local.get $0 - local.set $5 - local.get $0 local.get $1 i32.eq if - local.get $5 + local.get $0 return end local.get $0 + local.set $5 + local.get $0 local.get $1 i32.lt_u if @@ -61,8 +61,8 @@ local.set $1 local.get $3 local.get $4 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 br $while-continue|0 end end @@ -73,8 +73,8 @@ if local.get $0 local.get $1 - i64.load $0 - i64.store $0 + i64.load + i64.store local.get $2 i32.const 8 i32.sub @@ -106,8 +106,8 @@ local.set $1 local.get $3 local.get $4 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $2 i32.const 1 i32.sub @@ -146,8 +146,8 @@ local.get $1 local.get $2 i32.add - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 br $while-continue|3 end end @@ -165,8 +165,8 @@ local.get $1 local.get $2 i32.add - i64.load $0 - i64.store $0 + i64.load + i64.store br $while-continue|4 end end @@ -183,8 +183,8 @@ local.get $1 local.get $2 i32.add - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 br $while-continue|5 end end @@ -194,16 +194,16 @@ (func $~start i32.const 8 i64.const 1229782938247303441 - i64.store $0 + i64.store i32.const 16 i64.const 2459565876494606882 - i64.store $0 + i64.store i32.const 24 i64.const 3689348814741910323 - i64.store $0 + i64.store i32.const 32 i64.const 4919131752989213764 - i64.store $0 + i64.store i32.const 9 i32.const 24 i32.const 4 @@ -221,7 +221,7 @@ unreachable end i32.const 8 - i64.load $0 + i64.load i64.const 1229783084848853777 i64.ne if @@ -249,7 +249,7 @@ unreachable end i32.const 8 - i64.load $0 + i64.load i64.const 1229783084848853777 i64.ne if @@ -261,7 +261,7 @@ unreachable end i32.const 16 - i64.load $0 + i64.load i64.const 2459565876494606882 i64.ne if @@ -273,7 +273,7 @@ unreachable end i32.const 24 - i64.load $0 + i64.load i64.const 3689348814741910323 i64.ne if @@ -285,7 +285,7 @@ unreachable end i32.const 32 - i64.load $0 + i64.load i64.const 4919131752989213764 i64.ne if @@ -302,7 +302,7 @@ call $memmove/memmove global.set $memmove/dest i32.const 8 - i64.load $0 + i64.load i64.const 4919131679688438545 i64.ne if @@ -319,7 +319,7 @@ call $memmove/memmove global.set $memmove/dest i32.const 8 - i64.load $0 + i64.load i64.const 4919131679688438545 i64.ne if @@ -331,7 +331,7 @@ unreachable end i32.const 16 - i64.load $0 + i64.load i64.const 3689348814741910323 i64.ne if @@ -343,7 +343,7 @@ unreachable end i32.const 24 - i64.load $0 + i64.load i64.const 3694152654344438852 i64.ne if @@ -355,7 +355,7 @@ unreachable end i32.const 32 - i64.load $0 + i64.load i64.const 4919131752989213764 i64.ne if diff --git a/tests/compiler/memory.debug.wat b/tests/compiler/memory.debug.wat index 55928f8f80..f9d1689708 100644 --- a/tests/compiler/memory.debug.wat +++ b/tests/compiler/memory.debug.wat @@ -1,38 +1,38 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $memory/ptr (mut i32) (i32.const 80)) (global $~lib/memory/__data_end i32 (i32.const 212)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32980)) (global $~lib/memory/__heap_base i32 (i32.const 32980)) (memory $0 1) - (data (i32.const 16) "\00\00\00\00") - (data (i32.const 28) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 80) "\00") - (data (i32.const 96) "\00") - (data (i32.const 104) "\00") - (data (i32.const 108) "\00") - (data (i32.const 110) "\00") - (data (i32.const 111) "\00") - (data (i32.const 112) "\00") - (data (i32.const 128) "\00") - (data (i32.const 144) "\00") - (data (i32.const 152) "\00") - (data (i32.const 156) "\00") - (data (i32.const 158) "\00") - (data (i32.const 159) "\00") - (data (i32.const 160) "\00") - (data (i32.const 161) "\01\02\03") - (data (i32.const 164) "\00\00\c0?\00\00 @\00\00`@") - (data (i32.const 176) "\00") - (data (i32.const 192) "\01") - (data (i32.const 200) "\01") - (data (i32.const 204) "\01") - (data (i32.const 206) "\01") - (data (i32.const 207) "\01") - (data (i32.const 208) "\01") + (data $0 (i32.const 16) "\00\00\00\00") + (data $1 (i32.const 28) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00m\00e\00m\00o\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 80) "\00") + (data $3 (i32.const 96) "\00") + (data $4 (i32.const 104) "\00") + (data $5 (i32.const 108) "\00") + (data $6 (i32.const 110) "\00") + (data $7 (i32.const 111) "\00") + (data $8 (i32.const 112) "\00") + (data $9 (i32.const 128) "\00") + (data $10 (i32.const 144) "\00") + (data $11 (i32.const 152) "\00") + (data $12 (i32.const 156) "\00") + (data $13 (i32.const 158) "\00") + (data $14 (i32.const 159) "\00") + (data $15 (i32.const 160) "\00") + (data $16 (i32.const 161) "\01\02\03") + (data $17 (i32.const 164) "\00\00\c0?\00\00 @\00\00`@") + (data $18 (i32.const 176) "\00") + (data $19 (i32.const 192) "\01") + (data $20 (i32.const 200) "\01") + (data $21 (i32.const 204) "\01") + (data $22 (i32.const 206) "\01") + (data $23 (i32.const 207) "\01") + (data $24 (i32.const 208) "\01") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -40,13 +40,13 @@ (func $memory/test (result i32) (local $value i32) i32.const 16 - i32.load $0 + i32.load local.set $value i32.const 16 local.get $value i32.const 1 i32.add - i32.store $0 + i32.store local.get $value return ) @@ -300,7 +300,7 @@ i32.const 161 global.set $memory/ptr global.get $memory/ptr - i32.load8_u $0 + i32.load8_u i32.const 1 i32.eq i32.eqz @@ -313,7 +313,7 @@ unreachable end global.get $memory/ptr - i32.load8_u $0 offset=1 + i32.load8_u offset=1 i32.const 2 i32.eq i32.eqz @@ -326,7 +326,7 @@ unreachable end global.get $memory/ptr - i32.load8_u $0 offset=2 + i32.load8_u offset=2 i32.const 3 i32.eq i32.eqz @@ -341,7 +341,7 @@ i32.const 164 global.set $memory/ptr global.get $memory/ptr - f32.load $0 + f32.load f32.const 1.5 f32.eq i32.eqz @@ -354,7 +354,7 @@ unreachable end global.get $memory/ptr - f32.load $0 offset=4 + f32.load offset=4 f32.const 2.5 f32.eq i32.eqz @@ -367,7 +367,7 @@ unreachable end global.get $memory/ptr - f32.load $0 offset=8 + f32.load offset=8 f32.const 3.5 f32.eq i32.eqz diff --git a/tests/compiler/memory.release.wat b/tests/compiler/memory.release.wat index b7b5040455..b1afa82e8f 100644 --- a/tests/compiler/memory.release.wat +++ b/tests/compiler/memory.release.wat @@ -1,30 +1,30 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $memory/ptr (mut i32) (i32.const 1088)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\12\00\00\00m\00e\00m\00o\00r\00y\00.\00t\00s") - (data (i32.const 1169) "\01\02\03") - (data (i32.const 1174) "\c0?\00\00 @\00\00`@") - (data (i32.const 1200) "\01") - (data (i32.const 1208) "\01") - (data (i32.const 1212) "\01") - (data (i32.const 1214) "\01") - (data (i32.const 1215) "\01") - (data (i32.const 1216) "\01") + (data $1 (i32.const 1036) ",") + (data $1.1 (i32.const 1048) "\02\00\00\00\12\00\00\00m\00e\00m\00o\00r\00y\00.\00t\00s") + (data $16 (i32.const 1169) "\01\02\03") + (data $17 (i32.const 1174) "\c0?\00\00 @\00\00`@") + (data $19 (i32.const 1200) "\01") + (data $20 (i32.const 1208) "\01") + (data $21 (i32.const 1212) "\01") + (data $22 (i32.const 1214) "\01") + (data $23 (i32.const 1215) "\01") + (data $24 (i32.const 1216) "\01") (export "memory" (memory $0)) (start $~start) (func $start:memory (local $0 i32) i32.const 1024 i32.const 1024 - i32.load $0 + i32.load local.tee $0 i32.const 1 i32.add - i32.store $0 + i32.store local.get $0 if i32.const 0 @@ -36,11 +36,11 @@ end i32.const 1024 i32.const 1024 - i32.load $0 + i32.load local.tee $0 i32.const 1 i32.add - i32.store $0 + i32.store local.get $0 i32.const 1 i32.ne @@ -54,11 +54,11 @@ end i32.const 1024 i32.const 1024 - i32.load $0 + i32.load local.tee $0 i32.const 1 i32.add - i32.store $0 + i32.store local.get $0 i32.const 2 i32.ne @@ -73,10 +73,8 @@ global.get $memory/ptr i32.const 16 i32.add - local.set $0 i32.const 1104 global.set $memory/ptr - local.get $0 i32.const 1104 i32.ne if @@ -90,10 +88,8 @@ global.get $memory/ptr i32.const 8 i32.add - local.set $0 i32.const 1112 global.set $memory/ptr - local.get $0 i32.const 1112 i32.ne if @@ -107,10 +103,8 @@ global.get $memory/ptr i32.const 4 i32.add - local.set $0 i32.const 1116 global.set $memory/ptr - local.get $0 i32.const 1116 i32.ne if @@ -124,10 +118,8 @@ global.get $memory/ptr i32.const 2 i32.add - local.set $0 i32.const 1118 global.set $memory/ptr - local.get $0 i32.const 1118 i32.ne if @@ -141,10 +133,8 @@ global.get $memory/ptr i32.const 1 i32.add - local.set $0 i32.const 1119 global.set $memory/ptr - local.get $0 i32.const 1119 i32.ne if @@ -181,7 +171,7 @@ i32.const 1169 global.set $memory/ptr i32.const 1169 - i32.load8_u $0 + i32.load8_u i32.const 1 i32.ne if @@ -193,7 +183,7 @@ unreachable end global.get $memory/ptr - i32.load8_u $0 offset=1 + i32.load8_u offset=1 i32.const 2 i32.ne if @@ -205,7 +195,7 @@ unreachable end global.get $memory/ptr - i32.load8_u $0 offset=2 + i32.load8_u offset=2 i32.const 3 i32.ne if @@ -219,7 +209,7 @@ i32.const 1172 global.set $memory/ptr i32.const 1172 - f32.load $0 + f32.load f32.const 1.5 f32.ne if @@ -231,7 +221,7 @@ unreachable end global.get $memory/ptr - f32.load $0 offset=4 + f32.load offset=4 f32.const 2.5 f32.ne if @@ -243,7 +233,7 @@ unreachable end global.get $memory/ptr - f32.load $0 offset=8 + f32.load offset=8 f32.const 3.5 f32.ne if diff --git a/tests/compiler/memorybase.debug.wat b/tests/compiler/memorybase.debug.wat index 93acb9eed9..882e0b2278 100644 --- a/tests/compiler/memorybase.debug.wat +++ b/tests/compiler/memorybase.debug.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $memorybase/staticData i32 (i32.const 1024)) (global $~lib/native/ASC_MEMORY_BASE i32 (i32.const 1024)) (global $~lib/memory/__data_end i32 (i32.const 1028)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33796)) (global $~lib/memory/__heap_base i32 (i32.const 33796)) (memory $0 1) - (data (i32.const 1024) "\00") + (data $0 (i32.const 1024) "\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/memset.debug.wat b/tests/compiler/memset.debug.wat index 9c7d5f27f6..06ad44229b 100644 --- a/tests/compiler/memset.debug.wat +++ b/tests/compiler/memset.debug.wat @@ -1,14 +1,14 @@ (module - (type $none_=>_none (func)) - (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 $0 (func)) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $memset/dest (mut i32) (i32.const 0)) (global $~lib/memory/__data_end i32 (i32.const 60)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -28,14 +28,14 @@ end local.get $dest local.get $c - i32.store8 $0 + i32.store8 local.get $dest local.get $n i32.add i32.const 1 i32.sub local.get $c - i32.store8 $0 + i32.store8 local.get $n i32.const 2 i32.le_u @@ -47,26 +47,26 @@ i32.const 1 i32.add local.get $c - i32.store8 $0 + i32.store8 local.get $dest i32.const 2 i32.add local.get $c - i32.store8 $0 + i32.store8 local.get $dest local.get $n i32.add i32.const 2 i32.sub local.get $c - i32.store8 $0 + i32.store8 local.get $dest local.get $n i32.add i32.const 3 i32.sub local.get $c - i32.store8 $0 + i32.store8 local.get $n i32.const 6 i32.le_u @@ -78,14 +78,14 @@ i32.const 3 i32.add local.get $c - i32.store8 $0 + i32.store8 local.get $dest local.get $n i32.add i32.const 4 i32.sub local.get $c - i32.store8 $0 + i32.store8 local.get $n i32.const 8 i32.le_u @@ -121,14 +121,14 @@ local.set $c32 local.get $dest local.get $c32 - i32.store $0 + i32.store local.get $dest local.get $n i32.add i32.const 4 i32.sub local.get $c32 - i32.store $0 + i32.store local.get $n i32.const 8 i32.le_u @@ -140,26 +140,26 @@ i32.const 4 i32.add local.get $c32 - i32.store $0 + i32.store local.get $dest i32.const 8 i32.add local.get $c32 - i32.store $0 + i32.store local.get $dest local.get $n i32.add i32.const 12 i32.sub local.get $c32 - i32.store $0 + i32.store local.get $dest local.get $n i32.add i32.const 8 i32.sub local.get $c32 - i32.store $0 + i32.store local.get $n i32.const 24 i32.le_u @@ -171,50 +171,50 @@ i32.const 12 i32.add local.get $c32 - i32.store $0 + i32.store local.get $dest i32.const 16 i32.add local.get $c32 - i32.store $0 + i32.store local.get $dest i32.const 20 i32.add local.get $c32 - i32.store $0 + i32.store local.get $dest i32.const 24 i32.add local.get $c32 - i32.store $0 + i32.store local.get $dest local.get $n i32.add i32.const 28 i32.sub local.get $c32 - i32.store $0 + i32.store local.get $dest local.get $n i32.add i32.const 24 i32.sub local.get $c32 - i32.store $0 + i32.store local.get $dest local.get $n i32.add i32.const 20 i32.sub local.get $c32 - i32.store $0 + i32.store local.get $dest local.get $n i32.add i32.const 16 i32.sub local.get $c32 - i32.store $0 + i32.store i32.const 24 local.get $dest i32.const 4 @@ -244,22 +244,22 @@ if local.get $dest local.get $c64 - i64.store $0 + i64.store local.get $dest i32.const 8 i32.add local.get $c64 - i64.store $0 + i64.store local.get $dest i32.const 16 i32.add local.get $c64 - i64.store $0 + i64.store local.get $dest i32.const 24 i32.add local.get $c64 - i64.store $0 + i64.store local.get $n i32.const 32 i32.sub @@ -283,7 +283,7 @@ call $memset/memset drop global.get $memset/dest - i32.load8_u $0 + i32.load8_u i32.const 1 i32.eq i32.eqz @@ -298,7 +298,7 @@ global.get $memset/dest i32.const 15 i32.add - i32.load8_u $0 + i32.load8_u i32.const 1 i32.eq i32.eqz @@ -318,7 +318,7 @@ call $memset/memset drop global.get $memset/dest - i32.load8_u $0 + i32.load8_u i32.const 1 i32.eq i32.eqz @@ -333,7 +333,7 @@ global.get $memset/dest i32.const 1 i32.add - i32.load8_u $0 + i32.load8_u i32.const 2 i32.eq i32.eqz @@ -348,7 +348,7 @@ global.get $memset/dest i32.const 14 i32.add - i32.load8_u $0 + i32.load8_u i32.const 2 i32.eq i32.eqz @@ -363,7 +363,7 @@ global.get $memset/dest i32.const 15 i32.add - i32.load8_u $0 + i32.load8_u i32.const 1 i32.eq i32.eqz diff --git a/tests/compiler/memset.release.wat b/tests/compiler/memset.release.wat index 2169635dae..422cb7f274 100644 --- a/tests/compiler/memset.release.wat +++ b/tests/compiler/memset.release.wat @@ -1,12 +1,12 @@ (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 $0 (func (param i32 i32 i32))) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $memset/dest (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\12\00\00\00m\00e\00m\00s\00e\00t\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\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) @@ -18,51 +18,47 @@ br_if $folding-inner0 local.get $0 local.get $1 - i32.store8 $0 + i32.store8 local.get $0 local.get $2 i32.add + local.tee $4 i32.const 1 i32.sub local.get $1 - i32.store8 $0 + i32.store8 local.get $2 i32.const 2 i32.le_u br_if $folding-inner0 local.get $0 local.get $1 - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $0 local.get $1 - i32.store8 $0 offset=2 - local.get $0 - local.get $2 - i32.add - local.tee $4 + i32.store8 offset=2 + local.get $4 i32.const 2 i32.sub local.get $1 - i32.store8 $0 + i32.store8 local.get $4 i32.const 3 i32.sub local.get $1 - i32.store8 $0 + i32.store8 local.get $2 i32.const 6 i32.le_u br_if $folding-inner0 local.get $0 local.get $1 - i32.store8 $0 offset=3 - local.get $0 - local.get $2 - i32.add + i32.store8 offset=3 + local.get $4 i32.const 4 i32.sub local.get $1 - i32.store8 $0 + i32.store8 local.get $2 i32.const 8 i32.le_u @@ -82,7 +78,7 @@ i32.const 16843009 i32.mul local.tee $1 - i32.store $0 + i32.store local.get $2 local.get $4 i32.sub @@ -91,72 +87,67 @@ local.tee $2 local.get $0 i32.add + local.tee $4 i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 8 i32.le_u br_if $folding-inner0 local.get $0 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $2 - i32.add - local.tee $4 + i32.store offset=8 + local.get $4 i32.const 12 i32.sub local.get $1 - i32.store $0 + i32.store local.get $4 i32.const 8 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 24 i32.le_u br_if $folding-inner0 local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 local.get $1 - i32.store $0 offset=20 + i32.store offset=20 local.get $0 local.get $1 - i32.store $0 offset=24 - local.get $0 - local.get $2 - i32.add - local.tee $4 + i32.store offset=24 + local.get $4 i32.const 28 i32.sub local.get $1 - i32.store $0 + i32.store local.get $4 i32.const 24 i32.sub local.get $1 - i32.store $0 + i32.store local.get $4 i32.const 20 i32.sub local.get $1 - i32.store $0 + i32.store local.get $4 i32.const 16 i32.sub local.get $1 - i32.store $0 + i32.store local.get $0 i32.const 4 i32.and @@ -185,16 +176,16 @@ if local.get $0 local.get $3 - i64.store $0 + i64.store local.get $0 local.get $3 - i64.store $0 offset=8 + i64.store offset=8 local.get $0 local.get $3 - i64.store $0 offset=16 + i64.store offset=16 local.get $0 local.get $3 - i64.store $0 offset=24 + i64.store offset=24 local.get $2 i32.const 32 i32.sub @@ -216,7 +207,7 @@ i32.const 16 call $memset/memset global.get $memset/dest - i32.load8_u $0 + i32.load8_u i32.const 1 i32.ne if @@ -228,7 +219,7 @@ unreachable end global.get $memset/dest - i32.load8_u $0 offset=15 + i32.load8_u offset=15 i32.const 1 i32.ne if @@ -246,7 +237,7 @@ i32.const 14 call $memset/memset global.get $memset/dest - i32.load8_u $0 + i32.load8_u i32.const 1 i32.ne if @@ -258,7 +249,7 @@ unreachable end global.get $memset/dest - i32.load8_u $0 offset=1 + i32.load8_u offset=1 i32.const 2 i32.ne if @@ -270,7 +261,7 @@ unreachable end global.get $memset/dest - i32.load8_u $0 offset=14 + i32.load8_u offset=14 i32.const 2 i32.ne if @@ -282,7 +273,7 @@ unreachable end global.get $memset/dest - i32.load8_u $0 offset=15 + i32.load8_u offset=15 i32.const 1 i32.ne if diff --git a/tests/compiler/merge.debug.wat b/tests/compiler/merge.debug.wat index 66e02d5fc6..62a1517ef0 100644 --- a/tests/compiler/merge.debug.wat +++ b/tests/compiler/merge.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $merge/globalType i32 (i32.const 2)) (global $merge/globalType_test (mut i32) (i32.const 0)) (global $merge/typeGlobal i32 (i32.const 3)) @@ -19,52 +19,36 @@ (export "memory" (memory $0)) (start $~start) (func $merge/namespaceType.test - nop ) (func $merge/typeNamespace.test - nop ) (func $merge/functionType - nop ) (func $merge/typeFunction - nop ) (func $merge/classNamespace.test1 - nop ) (func $merge/classNamespace.test2 - nop ) (func $merge/namespaceClass.test1 - nop ) (func $merge/namespaceClass.test2 - nop ) (func $merge/functionNamespace - nop ) (func $merge/functionNamespace.test - nop ) (func $merge/namespaceFunction.test - nop ) (func $merge/namespaceFunction - nop ) (func $merge/enumNamespace.test - nop ) (func $merge/namespaceEnum.test - nop ) (func $merge/namespaceNamespace.test1 - nop ) (func $merge/namespaceNamespace.test2 - nop ) (func $start:merge global.get $merge/globalType diff --git a/tests/compiler/mutable-globals.debug.wat b/tests/compiler/mutable-globals.debug.wat index c132e0f781..6b2dac9834 100644 --- a/tests/compiler/mutable-globals.debug.wat +++ b/tests/compiler/mutable-globals.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "mutable-globals" "external" (global $mutable-globals/external (mut i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $mutable-globals/internal (mut i32) (i32.const 124)) @@ -9,7 +9,7 @@ (global $~lib/memory/__heap_base i32 (i32.const 32844)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00m\00u\00t\00a\00b\00l\00e\00-\00g\00l\00o\00b\00a\00l\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00m\00u\00t\00a\00b\00l\00e\00-\00g\00l\00o\00b\00a\00l\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "external" (global $mutable-globals/external)) diff --git a/tests/compiler/mutable-globals.release.wat b/tests/compiler/mutable-globals.release.wat index c3d1fcb695..5b8e61143c 100644 --- a/tests/compiler/mutable-globals.release.wat +++ b/tests/compiler/mutable-globals.release.wat @@ -1,13 +1,13 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func)) (import "mutable-globals" "external" (global $mutable-globals/external (mut i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $mutable-globals/internal (mut i32) (i32.const 124)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\00\00\00$\00\00\00m\00u\00t\00a\00b\00l\00e\00-\00g\00l\00o\00b\00a\00l\00s\00.\00t\00s") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00$\00\00\00m\00u\00t\00a\00b\00l\00e\00-\00g\00l\00o\00b\00a\00l\00s\00.\00t\00s") (export "external" (global $mutable-globals/external)) (export "internal" (global $mutable-globals/internal)) (export "memory" (memory $0)) diff --git a/tests/compiler/named-export-default.debug.wat b/tests/compiler/named-export-default.debug.wat index 617b06c55d..0718672090 100644 --- a/tests/compiler/named-export-default.debug.wat +++ b/tests/compiler/named-export-default.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_i32 (func (result i32))) + (type $0 (func (result i32))) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/named-export-default.release.wat b/tests/compiler/named-export-default.release.wat index 0babf0c7dd..75cbdd59bb 100644 --- a/tests/compiler/named-export-default.release.wat +++ b/tests/compiler/named-export-default.release.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_i32 (func (result i32))) + (type $0 (func (result i32))) (memory $0 0) (export "default" (func $named-export-default/get3)) (export "memory" (memory $0)) diff --git a/tests/compiler/named-import-default.debug.wat b/tests/compiler/named-import-default.debug.wat index 7eff3a0f07..26fdb845dc 100644 --- a/tests/compiler/named-import-default.debug.wat +++ b/tests/compiler/named-import-default.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_i32 (func (result i32))) + (type $0 (func (result i32))) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/named-import-default.release.wat b/tests/compiler/named-import-default.release.wat index ad71b71467..dc65a2d1a7 100644 --- a/tests/compiler/named-import-default.release.wat +++ b/tests/compiler/named-import-default.release.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_i32 (func (result i32))) + (type $0 (func (result i32))) (memory $0 0) (export "getValue" (func $named-import-default/getValue)) (export "memory" (memory $0)) diff --git a/tests/compiler/namespace.debug.wat b/tests/compiler/namespace.debug.wat index bba809b5b7..854e0de5d3 100644 --- a/tests/compiler/namespace.debug.wat +++ b/tests/compiler/namespace.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $none_=>_none (func)) + (type $0 (func (result i32))) + (type $1 (func)) (global $namespace/Outer.outerVar (mut i32) (i32.const 1)) (global $namespace/Outer.Inner.aVar (mut i32) (i32.const 0)) (global $namespace/Outer.Inner.anotherVar (mut i32) (i32.const 0)) diff --git a/tests/compiler/new.debug.wat b/tests/compiler/new.debug.wat index 92d050d2b1..f26b604fbe 100644 --- a/tests/compiler/new.debug.wat +++ b/tests/compiler/new.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $new/ref (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -34,15 +34,15 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33220)) (global $~lib/memory/__heap_base i32 (i32.const 33220)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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 416) "\08\00\00\00 \00\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 $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\08\00\00\00 \00\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -50,12 +50,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -69,7 +69,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -143,7 +143,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -213,11 +213,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -225,7 +225,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -357,7 +357,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -370,7 +370,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -386,34 +386,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -573,7 +573,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -596,7 +596,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -610,7 +610,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -633,7 +633,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -776,7 +776,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -862,7 +862,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -942,7 +942,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -976,7 +976,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -999,7 +999,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1013,27 +1013,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1058,9 +1063,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1079,7 +1084,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1098,7 +1103,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1112,7 +1116,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1168,12 +1172,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1207,7 +1211,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1228,7 +1232,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1248,7 +1252,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1268,7 +1272,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1294,7 +1298,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1317,9 +1321,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1355,7 +1360,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1621,14 +1626,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1684,7 +1692,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1693,6 +1701,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1722,24 +1750,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1777,7 +1794,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1792,7 +1809,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1837,7 +1854,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1848,7 +1865,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1870,7 +1887,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1893,7 +1910,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1912,22 +1929,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1940,7 +1949,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1967,27 +1976,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2012,7 +2022,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2127,7 +2137,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2147,7 +2157,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2180,12 +2190,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2236,7 +2246,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2309,16 +2319,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2333,7 +2338,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $new/Ref $new/Gen $new/ns.Ref $new/GenExt $invalid end return @@ -2382,7 +2387,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2391,18 +2396,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2420,7 +2425,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2429,18 +2434,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2458,7 +2463,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2467,18 +2472,18 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2496,7 +2501,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2505,18 +2510,18 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $new/Gen#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2534,8 +2539,8 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2563,7 +2568,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $new/Ref#get:ref global.set $new/ref @@ -2578,7 +2583,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $new/Gen#get:gen global.set $new/gen @@ -2593,7 +2598,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $new/ns.Ref#get:ref global.set $new/ref2 @@ -2620,7 +2625,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2629,7 +2634,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/new.release.wat b/tests/compiler/new.release.wat index 94d2c8c2da..af7e02c097 100644 --- a/tests/compiler/new.release.wat +++ b/tests/compiler/new.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $0 (func (result i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $new/ref (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -25,17 +25,17 @@ (global $new/genext3 (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34244)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\08\00\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 $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1440) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -45,45 +45,45 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $new/gen local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $new/ref2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $new/genext local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $new/genext2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $new/genext3 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -93,7 +93,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -111,7 +111,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -119,137 +119,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34244 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$116 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34244 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$116 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1440 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1444 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -257,8 +277,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -270,10 +290,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -284,29 +304,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -314,10 +334,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -331,75 +351,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -421,7 +434,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -438,12 +451,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -460,17 +473,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -480,9 +493,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -507,13 +520,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -547,7 +560,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -603,19 +616,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -627,15 +640,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -643,23 +656,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -673,10 +688,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -684,23 +699,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -712,52 +726,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -765,7 +780,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -773,7 +788,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -784,10 +799,10 @@ end i32.const 34256 i32.const 0 - i32.store $0 + i32.store i32.const 35824 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -799,7 +814,7 @@ i32.const 34256 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -817,7 +832,7 @@ i32.const 34256 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -834,9 +849,10 @@ end i32.const 34256 i32.const 35828 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34256 global.set $~lib/rt/tlsf/ROOT @@ -866,7 +882,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -879,19 +895,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -902,7 +918,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -914,7 +930,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -927,12 +943,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -941,7 +953,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -952,26 +964,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -987,7 +999,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1003,7 +1015,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1028,14 +1040,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1055,7 +1067,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1070,25 +1081,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1097,12 +1107,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1112,7 +1121,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1123,10 +1132,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1138,13 +1147,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1159,7 +1168,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1174,7 +1183,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1186,16 +1195,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1203,8 +1208,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1226,11 +1230,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1249,12 +1253,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1265,9 +1269,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1276,14 +1281,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1291,7 +1296,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1300,7 +1305,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1316,7 +1321,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1326,7 +1331,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1335,54 +1340,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1395,7 +1400,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1411,7 +1416,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $new/Ref $new/Gen $new/ns.Ref $new/GenExt $invalid end return @@ -1421,12 +1426,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1458,8 +1459,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34244 @@ -1469,26 +1470,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace call $new/Ref#constructor @@ -1499,7 +1500,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 global.set $new/ref i32.const 0 @@ -1513,7 +1514,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 global.set $new/gen call $new/ns.Ref#constructor @@ -1524,7 +1525,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 global.set $new/ref2 call $new/GenExt#constructor @@ -1540,7 +1541,6 @@ ) (func $new/Ref#constructor (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1557,23 +1557,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1581,7 +1579,6 @@ local.get $0 ) (func $new/Gen#constructor (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1599,7 +1596,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1607,17 +1604,16 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1626,7 +1622,6 @@ ) (func $new/ns.Ref#constructor (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1643,23 +1638,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1668,7 +1661,6 @@ ) (func $new/GenExt#constructor (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1685,23 +1677,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $new/Gen#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1726,7 +1716,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1734,7 +1724,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1742,23 +1732,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/nontrapping-f2i.debug.wat b/tests/compiler/nontrapping-f2i.debug.wat index 1794e39e9f..77e5be8a5a 100644 --- a/tests/compiler/nontrapping-f2i.debug.wat +++ b/tests/compiler/nontrapping-f2i.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/builtins/f32.MAX_VALUE f32 (f32.const 3402823466385288598117041e14)) (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) (global $~lib/builtins/i32.MIN_VALUE i32 (i32.const -2147483648)) diff --git a/tests/compiler/nontrapping-f2i.release.wat b/tests/compiler/nontrapping-f2i.release.wat index 75a2479112..153611c85e 100644 --- a/tests/compiler/nontrapping-f2i.release.wat +++ b/tests/compiler/nontrapping-f2i.release.wat @@ -1,9 +1,8 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (memory $0 0) (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~start - nop ) ) diff --git a/tests/compiler/number-convert.debug.wat b/tests/compiler/number-convert.debug.wat new file mode 100644 index 0000000000..b555a169ff --- /dev/null +++ b/tests/compiler/number-convert.debug.wat @@ -0,0 +1,157 @@ +(module + (type $0 (func)) + (global $~lib/memory/__data_end i32 (i32.const 8)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) + (global $~lib/memory/__heap_base i32 (i32.const 32776)) + (memory $0 0) + (table $0 1 1 funcref) + (elem $0 (i32.const 1)) + (export "memory" (memory $0)) + (start $~start) + (func $start:number-convert + i32.const 1 + f32.convert_i32_u + f32.const 1 + f32.eq + drop + i32.const 255 + f32.convert_i32_u + f32.const 255 + f32.eq + drop + i32.const 256 + i32.const 255 + i32.and + f32.convert_i32_u + f32.const 0 + f32.eq + drop + i32.const 257 + i32.const 255 + i32.and + f32.convert_i32_u + f32.const 1 + f32.eq + drop + i32.const 1 + f32.convert_i32_s + f32.const 1 + f32.eq + drop + i32.const 255 + i32.extend8_s + f32.convert_i32_s + f32.const -1 + f32.eq + drop + i32.const 256 + i32.extend8_s + f32.convert_i32_s + f32.const 0 + f32.eq + drop + i32.const 257 + i32.extend8_s + f32.convert_i32_s + f32.const 1 + f32.eq + drop + i32.const 1 + f32.convert_i32_u + f32.const 1 + f32.eq + drop + i32.const 65535 + f32.convert_i32_u + f32.const 65535 + f32.eq + drop + i32.const 65536 + i32.const 65535 + i32.and + f32.convert_i32_u + f32.const 0 + f32.eq + drop + i32.const 65537 + i32.const 65535 + i32.and + f32.convert_i32_u + f32.const 1 + f32.eq + drop + i32.const 1 + f32.convert_i32_s + f32.const 1 + f32.eq + drop + i32.const 65535 + i32.extend16_s + f32.convert_i32_s + f32.const -1 + f32.eq + drop + i32.const 65536 + i32.extend16_s + f32.convert_i32_s + f32.const 0 + f32.eq + drop + i32.const 65537 + i32.extend16_s + f32.convert_i32_s + f32.const 1 + f32.eq + drop + i32.const 1 + f64.convert_i32_u + f64.const 1 + f64.eq + drop + i32.const 255 + f64.convert_i32_u + f64.const 255 + f64.eq + drop + i32.const 256 + i32.const 255 + i32.and + f64.convert_i32_u + f64.const 0 + f64.eq + drop + i32.const 257 + i32.const 255 + i32.and + f64.convert_i32_u + f64.const 1 + f64.eq + drop + i32.const 1 + f64.convert_i32_s + f64.const 1 + f64.eq + drop + i32.const 255 + i32.extend8_s + f64.convert_i32_s + f64.const -1 + f64.eq + drop + i32.const 256 + i32.extend8_s + f64.convert_i32_s + f64.const 0 + f64.eq + drop + i32.const 257 + i32.extend8_s + f64.convert_i32_s + f64.const 1 + f64.eq + drop + ) + (func $~start + call $start:number-convert + ) +) diff --git a/tests/compiler/number-convert.json b/tests/compiler/number-convert.json new file mode 100644 index 0000000000..1bdd02b1be --- /dev/null +++ b/tests/compiler/number-convert.json @@ -0,0 +1,4 @@ +{ + "asc_flags": [ + ] +} diff --git a/tests/compiler/number-convert.release.wat b/tests/compiler/number-convert.release.wat new file mode 100644 index 0000000000..23da3862e2 --- /dev/null +++ b/tests/compiler/number-convert.release.wat @@ -0,0 +1,4 @@ +(module + (memory $0 0) + (export "memory" (memory $0)) +) diff --git a/tests/compiler/number-convert.ts b/tests/compiler/number-convert.ts new file mode 100644 index 0000000000..5eb4bc47f1 --- /dev/null +++ b/tests/compiler/number-convert.ts @@ -0,0 +1,29 @@ +assert((1) == 1); +assert((255) == 255); +assert((256) == 0); +assert((257) == 1); + +assert((1) == 1); +assert((255) == -1); +assert((256) == 0); +assert((257) == 1); + +assert((1) == 1); +assert((65535) == 65535); +assert((65536) == 0); +assert((65537) == 1); + +assert((1) == 1); +assert((65535) == -1); +assert((65536) == 0); +assert((65537) == 1); + +assert((1) == 1); +assert((255) == 255); +assert((256) == 0); +assert((257) == 1); + +assert((1) == 1); +assert((255) == -1); +assert((256) == 0); +assert((257) == 1); diff --git a/tests/compiler/number-warn.json b/tests/compiler/number-warn.json new file mode 100644 index 0000000000..d823d836bf --- /dev/null +++ b/tests/compiler/number-warn.json @@ -0,0 +1,18 @@ +{ + "asc_flags": [ + ], + "stderr": [ + "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", + "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", + "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", + "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", + "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", + "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", + "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.", + "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.", + "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.", + "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.", + "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.", + "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters." + ] +} diff --git a/tests/compiler/number-warn.ts b/tests/compiler/number-warn.ts new file mode 100644 index 0000000000..4de4bc8205 --- /dev/null +++ b/tests/compiler/number-warn.ts @@ -0,0 +1,20 @@ + +// Should produce warnings + +// always false +(!(1.0 == NaN)); +(!(NaN == F32.NaN)); +(!(F64.NaN == 1.0)); + +// always true +(1.0 != NaN); +(NaN != F32.NaN); +(f64.NaN != 1.0); + +// always true +(+.0 == -.0); +(-.0 != -.0); +(-.0 == +.0); +(f32(+.0) == f32(-.0)); +(f32(-.0) != f32(-.0)); +(f32(-.0) == f32(+.0)); diff --git a/tests/compiler/number.debug.wat b/tests/compiler/number.debug.wat index c2bf156863..a6dc854df5 100644 --- a/tests/compiler/number.debug.wat +++ b/tests/compiler/number.debug.wat @@ -1,22 +1,23 @@ (module - (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 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $f32_=>_i32 (func (param f32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $f64_i32_=>_i32 (func (param f64 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param f64) (result i32))) + (type $7 (func (param f32) (result i32))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) + (type $11 (func (param i32 i64 i32))) + (type $12 (func (param i64 i32) (result i32))) + (type $13 (func (param i32 i64 i32 i32))) + (type $14 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $15 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) + (type $16 (func (param i32 i32 i32) (result i32))) + (type $17 (func (param i32 f64 i32) (result i32))) + (type $18 (func (param f64 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $number/a (mut i32) (i32.const 1)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -51,42 +52,42 @@ (global $~lib/builtins/f64.MAX_SAFE_INTEGER f64 (f64.const 9007199254740991)) (global $~lib/builtins/f64.EPSILON f64 (f64.const 2.220446049250313e-16)) (global $~lib/rt/__rtti_base i32 (i32.const 3632)) - (global $~lib/memory/__data_end i32 (i32.const 3660)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 20044)) - (global $~lib/memory/__heap_base i32 (i32.const 20044)) + (global $~lib/memory/__data_end i32 (i32.const 3652)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36420)) + (global $~lib/memory/__heap_base i32 (i32.const 36420)) (memory $0 1) - (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\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 300) "<\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\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 492) ",\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 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\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 636) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2220) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 2332) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2380) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 2488) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 + end if i32.const 63 local.get $num @@ -2445,8 +2577,6 @@ local.get $num local.get $b i64.ge_u - local.set $var$2 - local.get $var$2 if local.get $num local.get $b @@ -2467,8 +2597,6 @@ local.get $num i64.const 1 i64.ge_u - local.set $var$2 - local.get $var$2 if local.get $num local.get $b64 @@ -2484,10 +2612,12 @@ local.get $e i32.const 1 i32.sub + return ) (func $~lib/util/number/utoa64_any_core (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) (local $base i64) - (local $var$5 i64) + (local $shift i64) + (local $mask i64) (local $q i64) local.get $radix i64.extend_i32_s @@ -2505,11 +2635,11 @@ i32.const 7 i32.and i64.extend_i32_s - local.set $var$5 + local.set $shift local.get $base i64.const 1 i64.sub - local.set $q + local.set $mask loop $do-loop|0 local.get $offset i32.const 1 @@ -2522,16 +2652,16 @@ i32.add i32.const 2112 local.get $num - local.get $q + local.get $mask i64.and i32.wrap_i64 i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num - local.get $var$5 + local.get $shift i64.shr_u local.set $num local.get $num @@ -2564,8 +2694,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -2579,19 +2709,25 @@ local.get $this local.get $radix call $~lib/util/number/itoa32 + return + ) + (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) + local.get $this + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this i32.const 20 i32.sub - i32.load $0 offset=16 + call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 i32.shr_u + return ) (func $~lib/util/string/compareImpl (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) (local $ptr2 i32) - (local $var$7 i32) + (local $7 i32) (local $a i32) (local $b i32) local.get $str1 @@ -2629,9 +2765,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2657,19 +2793,17 @@ end loop $while-continue|1 local.get $len - local.tee $var$7 + local.tee $7 i32.const 1 i32.sub local.set $len - local.get $var$7 - local.set $var$7 - local.get $var$7 + local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2692,48 +2826,7 @@ end end i32.const 0 - ) - (func $~lib/string/String.__eq (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz + return ) (func $~lib/util/number/genDigits (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) (local $one_exp i32) @@ -2744,19 +2837,28 @@ (local $p2 i64) (local $kappa i32) (local $len i32) - (local $var$15 i32) (local $d i32) - (local $var$17 i32) + (local $16 i32) + (local $17 i32) (local $tmp i64) - (local $var$19 i64) - (local $var$20 i64) - (local $var$21 i64) - (local $d_0 i64) - (local $var$23 i32) - (local $var$24 i32) - (local $var$25 i32) - (local $var$26 i32) - (local $var$27 i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) + (local $rest i64) + (local $ten_kappa i64) + (local $wp_w i64) + (local $lastp i32) + (local $digit i32) + (local $d|27 i64) + (local $28 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) i32.const 0 local.get $mp_exp i32.sub @@ -2793,8 +2895,6 @@ local.get $kappa i32.const 0 i32.gt_s - local.set $var$15 - local.get $var$15 if block $break|1 block $case10|1 @@ -2809,44 +2909,44 @@ block $case1|1 block $case0|1 local.get $kappa - local.set $var$17 - local.get $var$17 + local.set $16 + local.get $16 i32.const 10 i32.eq br_if $case0|1 - local.get $var$17 + local.get $16 i32.const 9 i32.eq br_if $case1|1 - local.get $var$17 + local.get $16 i32.const 8 i32.eq br_if $case2|1 - local.get $var$17 + local.get $16 i32.const 7 i32.eq br_if $case3|1 - local.get $var$17 + local.get $16 i32.const 6 i32.eq br_if $case4|1 - local.get $var$17 + local.get $16 i32.const 5 i32.eq br_if $case5|1 - local.get $var$17 + local.get $16 i32.const 4 i32.eq br_if $case6|1 - local.get $var$17 + local.get $16 i32.const 3 i32.eq br_if $case7|1 - local.get $var$17 + local.get $16 i32.const 2 i32.eq br_if $case8|1 - local.get $var$17 + local.get $16 i32.const 1 i32.eq br_if $case9|1 @@ -2958,11 +3058,11 @@ if local.get $buffer local.get $len - local.tee $var$17 + local.tee $17 i32.const 1 i32.add local.set $len - local.get $var$17 + local.get $17 i32.const 1 i32.shl i32.add @@ -2971,7 +3071,7 @@ i32.const 65535 i32.and i32.add - i32.store16 $0 + i32.store16 end local.get $kappa i32.const 1 @@ -2994,88 +3094,86 @@ i32.add global.set $~lib/util/number/_K local.get $buffer - local.set $var$23 + local.set $buffer|19 local.get $len - local.set $var$17 + local.set $len|20 local.get $delta - local.set $d_0 + local.set $delta|21 local.get $tmp - local.set $var$21 + local.set $rest i32.const 3360 local.get $kappa i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.get $one_exp i64.extend_i32_s i64.shl - local.set $var$20 + local.set $ten_kappa local.get $wp_w_frc - local.set $var$19 - local.get $var$23 - local.get $var$17 + local.set $wp_w + local.get $buffer|19 + local.get $len|20 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $var$24 - local.get $var$24 - i32.load16_u $0 - local.set $var$25 + local.set $lastp + local.get $lastp + i32.load16_u + local.set $digit loop $while-continue|3 - local.get $var$21 - local.get $var$19 + local.get $rest + local.get $wp_w i64.lt_u if (result i32) - local.get $d_0 - local.get $var$21 + local.get $delta|21 + local.get $rest i64.sub - local.get $var$20 + local.get $ten_kappa i64.ge_u else i32.const 0 end if (result i32) - local.get $var$21 - local.get $var$20 + local.get $rest + local.get $ten_kappa i64.add - local.get $var$19 + local.get $wp_w i64.lt_u if (result i32) i32.const 1 else - local.get $var$19 - local.get $var$21 + local.get $wp_w + local.get $rest i64.sub - local.get $var$21 - local.get $var$20 + local.get $rest + local.get $ten_kappa i64.add - local.get $var$19 + local.get $wp_w i64.sub i64.gt_u end else i32.const 0 end - local.set $var$26 - local.get $var$26 if - local.get $var$25 + local.get $digit i32.const 1 i32.sub - local.set $var$25 - local.get $var$21 - local.get $var$20 + local.set $digit + local.get $rest + local.get $ten_kappa i64.add - local.set $var$21 + local.set $rest br $while-continue|3 end end - local.get $var$24 - local.get $var$25 - i32.store16 $0 + local.get $lastp + local.get $digit + i32.store16 local.get $len return end @@ -3084,8 +3182,6 @@ end loop $while-continue|4 i32.const 1 - local.set $var$15 - local.get $var$15 if local.get $p2 i64.const 10 @@ -3099,8 +3195,8 @@ local.get $one_exp i64.extend_i32_s i64.shr_u - local.set $d_0 - local.get $d_0 + local.set $d|27 + local.get $d|27 local.get $len i64.extend_i32_s i64.or @@ -3109,21 +3205,21 @@ if local.get $buffer local.get $len - local.tee $var$25 + local.tee $28 i32.const 1 i32.add local.set $len - local.get $var$25 + local.get $28 i32.const 1 i32.shl i32.add i32.const 48 - local.get $d_0 + local.get $d|27 i32.wrap_i64 i32.const 65535 i32.and i32.add - i32.store16 $0 + i32.store16 end local.get $p2 local.get $mask @@ -3149,84 +3245,82 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u i64.mul local.set $wp_w_frc local.get $buffer - local.set $var$17 + local.set $buffer|29 local.get $len - local.set $var$26 + local.set $len|30 local.get $delta - local.set $var$27 + local.set $delta|31 local.get $p2 - local.set $var$21 + local.set $rest|32 local.get $one_frc - local.set $var$20 + local.set $ten_kappa|33 local.get $wp_w_frc - local.set $var$19 - local.get $var$17 - local.get $var$26 + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.set $var$25 - local.get $var$25 - i32.load16_u $0 - local.set $var$24 + local.set $lastp|35 + local.get $lastp|35 + i32.load16_u + local.set $digit|36 loop $while-continue|6 - local.get $var$21 - local.get $var$19 + local.get $rest|32 + local.get $wp_w|34 i64.lt_u if (result i32) - local.get $var$27 - local.get $var$21 + local.get $delta|31 + local.get $rest|32 i64.sub - local.get $var$20 + local.get $ten_kappa|33 i64.ge_u else i32.const 0 end if (result i32) - local.get $var$21 - local.get $var$20 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $var$19 + local.get $wp_w|34 i64.lt_u if (result i32) i32.const 1 else - local.get $var$19 - local.get $var$21 + local.get $wp_w|34 + local.get $rest|32 i64.sub - local.get $var$21 - local.get $var$20 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.get $var$19 + local.get $wp_w|34 i64.sub i64.gt_u end else i32.const 0 end - local.set $var$23 - local.get $var$23 if - local.get $var$24 + local.get $digit|36 i32.const 1 i32.sub - local.set $var$24 - local.get $var$21 - local.get $var$20 + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 i64.add - local.set $var$21 + local.set $rest|32 br $while-continue|6 end end - local.get $var$25 - local.get $var$24 - i32.store16 $0 + local.get $lastp|35 + local.get $digit|36 + i32.store16 local.get $len return end @@ -3237,14 +3331,25 @@ ) (func $~lib/util/number/prettify (param $buffer i32) (param $length i32) (param $k i32) (result i32) (local $kk i32) - (local $var$4 i32) - (local $var$5 i32) - (local $var$6 i32) - (local $var$7 i32) - (local $var$8 i32) - (local $var$9 i32) - (local $var$10 i32) - (local $var$11 i32) + (local $i i32) + (local $ptr i32) + (local $offset i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) + (local $sign i32) + (local $decimals i32) + (local $buffer|12 i32) + (local $num i32) + (local $offset|14 i32) + (local $len i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) local.get $k i32.eqz if @@ -3258,7 +3363,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $length i32.const 2 i32.add @@ -3280,25 +3385,23 @@ end if local.get $length - local.set $var$4 + local.set $i loop $for-loop|0 - local.get $var$4 + local.get $i local.get $kk i32.lt_s - local.set $var$5 - local.get $var$5 if local.get $buffer - local.get $var$4 + local.get $i i32.const 1 i32.shl i32.add i32.const 48 - i32.store16 $0 - local.get $var$4 + i32.store16 + local.get $i i32.const 1 i32.add - local.set $var$4 + local.set $i br $for-loop|0 end end @@ -3312,7 +3415,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $kk i32.const 2 i32.add @@ -3334,24 +3437,24 @@ i32.const 1 i32.shl i32.add - local.set $var$4 - local.get $var$4 + local.set $ptr + local.get $ptr i32.const 2 i32.add - local.get $var$4 + local.get $ptr i32.const 0 local.get $k i32.sub i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $buffer local.get $kk i32.const 1 i32.shl i32.add i32.const 46 - i32.store16 $0 + i32.store16 local.get $length i32.const 1 i32.add @@ -3371,9 +3474,9 @@ i32.const 2 local.get $kk i32.sub - local.set $var$4 + local.set $offset local.get $buffer - local.get $var$4 + local.get $offset i32.const 1 i32.shl i32.add @@ -3381,39 +3484,37 @@ local.get $length i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $buffer i32.const 48 i32.const 46 i32.const 16 i32.shl i32.or - i32.store $0 + i32.store i32.const 2 - local.set $var$5 + local.set $i|7 loop $for-loop|1 - local.get $var$5 - local.get $var$4 + local.get $i|7 + local.get $offset i32.lt_s - local.set $var$6 - local.get $var$6 if local.get $buffer - local.get $var$5 + local.get $i|7 i32.const 1 i32.shl i32.add i32.const 48 - i32.store16 $0 - local.get $var$5 + i32.store16 + local.get $i|7 i32.const 1 i32.add - local.set $var$5 + local.set $i|7 br $for-loop|1 end end local.get $length - local.get $var$4 + local.get $offset i32.add return else @@ -3423,52 +3524,55 @@ if local.get $buffer i32.const 101 - i32.store16 $0 offset=2 - local.get $buffer - i32.const 4 - i32.add - local.set $var$5 - local.get $kk - i32.const 1 - i32.sub - local.set $var$6 - local.get $var$6 - i32.const 0 - i32.lt_s - local.set $var$4 - local.get $var$4 - if - i32.const 0 - local.get $var$6 + i32.store16 offset=2 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 + i32.add + local.set $buffer|8 + local.get $kk + i32.const 1 i32.sub - local.set $var$6 + local.set $k|9 + local.get $k|9 + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 0 + local.get $k|9 + i32.sub + local.set $k|9 + end + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 end - local.get $var$6 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $var$7 - local.get $var$5 - local.set $var$10 - local.get $var$6 - local.set $var$9 - local.get $var$7 - local.set $var$8 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $var$10 - local.get $var$9 - local.get $var$8 - call $~lib/util/number/utoa32_dec_lut - local.get $var$5 - i32.const 45 - i32.const 43 - local.get $var$4 - select - i32.store16 $0 - local.get $var$7 local.set $length local.get $length i32.const 2 @@ -3478,73 +3582,76 @@ local.get $length i32.const 1 i32.shl - local.set $var$7 + local.set $len local.get $buffer i32.const 4 i32.add local.get $buffer i32.const 2 i32.add - local.get $var$7 + local.get $len i32.const 2 i32.sub - memory.copy $0 $0 + memory.copy local.get $buffer i32.const 46 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $buffer - local.get $var$7 + local.get $len i32.add i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $length - local.get $buffer - local.get $var$7 - i32.add - i32.const 4 - i32.add - local.set $var$9 - local.get $kk - i32.const 1 - i32.sub - local.set $var$8 - local.get $var$8 - i32.const 0 - i32.lt_s - local.set $var$4 - local.get $var$4 - if - i32.const 0 - local.get $var$8 + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 i32.sub - local.set $var$8 + local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 end - local.get $var$8 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $var$5 - local.get $var$9 - local.set $var$11 - local.get $var$8 - local.set $var$6 - local.get $var$5 - local.set $var$10 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $var$11 - local.get $var$6 - local.get $var$10 - call $~lib/util/number/utoa32_dec_lut - local.get $var$9 - i32.const 45 - i32.const 43 - local.get $var$4 - select - i32.store16 $0 - local.get $var$5 i32.add local.set $length local.get $length @@ -3560,33 +3667,69 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (param $buffer i32) (param $value f64) (result i32) + (func $~lib/util/number/dtoa_core (param $buffer i32) (param $value f64) (param $isSingle i32) (result i32) (local $sign i32) - (local $var$3 i32) - (local $var$4 i32) - (local $var$5 f64) - (local $var$6 i64) - (local $var$7 i32) - (local $var$8 i64) - (local $var$9 i64) - (local $var$10 i32) - (local $var$11 i64) - (local $var$12 i64) - (local $var$13 i32) - (local $var$14 i32) - (local $var$15 i32) - (local $var$16 f64) - (local $var$17 i64) - (local $var$18 i64) - (local $var$19 i64) - (local $var$20 i64) - (local $var$21 i64) - (local $var$22 i64) - (local $var$23 i64) - (local $var$24 i64) - (local $var$25 i64) - (local $var$26 i32) - (local $var$27 i64) + (local $value|4 f64) + (local $buffer|5 i32) + (local $sign|6 i32) + (local $isSingle|7 i32) + (local $frc i64) + (local $exp i32) + (local $uv i32) + (local $sid i32) + (local $uv|12 i64) + (local $sid|13 i64) + (local $f i64) + (local $e i32) + (local $isSingle|16 i32) + (local $frc|17 i64) + (local $exp|18 i32) + (local $off i32) + (local $m i32) + (local $minExp i32) + (local $dk f64) + (local $k i32) + (local $index i32) + (local $off|25 i32) + (local $frc_pow i64) + (local $exp_pow i32) + (local $u i64) + (local $v i64) + (local $u0 i64) + (local $v0 i64) + (local $u1 i64) + (local $v1 i64) + (local $l i64) + (local $t i64) + (local $w i64) + (local $w_frc i64) + (local $e1 i32) + (local $e2 i32) + (local $w_exp i32) + (local $u|41 i64) + (local $v|42 i64) + (local $u0|43 i64) + (local $v0|44 i64) + (local $u1|45 i64) + (local $v1|46 i64) + (local $l|47 i64) + (local $t|48 i64) + (local $w|49 i64) + (local $wp_frc i64) + (local $e1|51 i32) + (local $e2|52 i32) + (local $wp_exp i32) + (local $u|54 i64) + (local $v|55 i64) + (local $u0|56 i64) + (local $v0|57 i64) + (local $u1|58 i64) + (local $v1|59 i64) + (local $l|60 i64) + (local $t|61 i64) + (local $w|62 i64) + (local $wm_frc i64) + (local $delta i64) (local $len i32) local.get $value f64.const 0 @@ -3599,377 +3742,445 @@ local.set $value local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 + end + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|4 + local.get $buffer + local.set $buffer|5 + local.get $sign + local.set $sign|6 + local.get $isSingle + local.set $isSingle|7 + local.get $isSingle|7 + if + local.get $value|4 + f32.demote_f64 + i32.reinterpret_f32 + local.set $uv + local.get $uv + i32.const 2139095040 + i32.and + i32.const 23 + i32.shr_u + local.set $exp + local.get $uv + i32.const 8388607 + i32.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 23 + i64.shl + local.get $sid + i64.extend_i32_u + i64.add + local.set $frc + local.get $exp + if (result i32) + local.get $exp + else + i32.const 1 + end + i32.const 127 + i32.const 23 + i32.add + i32.sub + local.set $exp + else + local.get $value|4 + i64.reinterpret_f64 + local.set $uv|12 + local.get $uv|12 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv|12 + i64.const 4503599627370495 + i64.and + local.set $sid|13 + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid|13 + i64.add + local.set $frc + local.get $exp + if (result i32) + local.get $exp + else + i32.const 1 + end + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + end + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $isSingle|7 + local.set $isSingle|16 + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|17 + local.get $e + i32.const 1 + i32.sub + local.set $exp|18 + local.get $frc|17 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|17 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|17 + local.get $exp|18 + local.get $off + i32.sub + local.set $exp|18 + i32.const 1 + local.get $f + local.get $isSingle|16 + if (result i64) + i64.const 8388608 + else + i64.const 4503599627370496 + end + i64.eq + i32.add + local.set $m + local.get $frc|17 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|18 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|18 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 2488 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load + global.set $~lib/util/number/_frc_pow + i32.const 3184 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|25 + local.get $frc + local.get $off|25 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|25 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) + local.get $exp + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|41 + local.get $frc_pow + local.set $v|42 + local.get $u|41 + i64.const 4294967295 + i64.and + local.set $u0|43 + local.get $v|42 + i64.const 4294967295 + i64.and + local.set $v0|44 + local.get $u|41 + i64.const 32 + i64.shr_u + local.set $u1|45 + local.get $v|42 + i64.const 32 + i64.shr_u + local.set $v1|46 + local.get $u0|43 + local.get $v0|44 + i64.mul + local.set $l|47 + local.get $u1|45 + local.get $v0|44 + i64.mul + local.get $l|47 + i64.const 32 + i64.shr_u + i64.add + local.set $t|48 + local.get $u0|43 + local.get $v1|46 + i64.mul + local.get $t|48 + i64.const 4294967295 + i64.and + i64.add + local.set $w|49 + local.get $w|49 + i64.const 2147483647 + i64.add + local.set $w|49 + local.get $t|48 + i64.const 32 + i64.shr_u + local.set $t|48 + local.get $w|49 + i64.const 32 + i64.shr_u + local.set $w|49 + local.get $u1|45 + local.get $v1|46 + i64.mul + local.get $t|48 + i64.add + local.get $w|49 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|51 + local.get $exp_pow + local.set $e2|52 + local.get $e1|51 + local.get $e2|52 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|54 + local.get $frc_pow + local.set $v|55 + local.get $u|54 + i64.const 4294967295 + i64.and + local.set $u0|56 + local.get $v|55 + i64.const 4294967295 + i64.and + local.set $v0|57 + local.get $u|54 + i64.const 32 + i64.shr_u + local.set $u1|58 + local.get $v|55 + i64.const 32 + i64.shr_u + local.set $v1|59 + local.get $u0|56 + local.get $v0|57 + i64.mul + local.set $l|60 + local.get $u1|58 + local.get $v0|57 + i64.mul + local.get $l|60 + i64.const 32 + i64.shr_u + i64.add + local.set $t|61 + local.get $u0|56 + local.get $v1|59 + i64.mul + local.get $t|61 + i64.const 4294967295 + i64.and + i64.add + local.set $w|62 + local.get $w|62 + i64.const 2147483647 + i64.add + local.set $w|62 + local.get $t|61 + i64.const 32 + i64.shr_u + local.set $t|61 + local.get $w|62 + i64.const 32 + i64.shr_u + local.set $w|62 + local.get $u1|58 + local.get $v1|59 + i64.mul + local.get $t|61 + i64.add + local.get $w|62 + i64.add + br $~lib/util/number/umul64f|inlined.2 + end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|5 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|6 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 end - local.get $value - local.set $var$5 - local.get $buffer - local.set $var$4 - local.get $sign - local.set $var$3 - local.get $var$5 - i64.reinterpret_f64 - local.set $var$6 - local.get $var$6 - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $var$7 - local.get $var$6 - i64.const 4503599627370495 - i64.and - local.set $var$8 - local.get $var$7 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $var$8 - i64.add - local.set $var$9 - local.get $var$7 - i32.const 1 - local.get $var$7 - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $var$7 - local.get $var$9 - local.set $var$11 - local.get $var$7 - local.set $var$10 - local.get $var$11 - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $var$12 - local.get $var$10 - i32.const 1 - i32.sub - local.set $var$13 - local.get $var$12 - i64.clz - i32.wrap_i64 - local.set $var$14 - local.get $var$12 - local.get $var$14 - i64.extend_i32_s - i64.shl - local.set $var$12 - local.get $var$13 - local.get $var$14 - i32.sub - local.set $var$13 - i32.const 1 - local.get $var$11 - i64.const 4503599627370496 - i64.eq - i32.add - local.set $var$15 - local.get $var$12 - global.set $~lib/util/number/_frc_plus - local.get $var$11 - local.get $var$15 - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $var$10 - local.get $var$15 - i32.sub - local.get $var$13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $var$13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $var$10 - i32.const -61 - local.get $var$10 - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $var$16 - local.get $var$16 - i32.trunc_sat_f64_s - local.set $var$15 - local.get $var$15 - local.get $var$15 - f64.convert_i32_s - local.get $var$16 - f64.ne - i32.add - local.set $var$15 - local.get $var$15 - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $var$14 - i32.const 348 - local.get $var$14 - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 2488 - local.get $var$14 - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 3184 - local.get $var$14 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $var$9 - i64.clz - i32.wrap_i64 - local.set $var$14 - local.get $var$9 - local.get $var$14 - i64.extend_i32_s - i64.shl - local.set $var$9 - local.get $var$7 - local.get $var$14 - i32.sub - local.set $var$7 - global.get $~lib/util/number/_frc_pow - local.set $var$12 - global.get $~lib/util/number/_exp_pow - local.set $var$15 - local.get $var$9 - local.set $var$17 - local.get $var$12 - local.set $var$11 - local.get $var$17 - i64.const 4294967295 - i64.and - local.set $var$18 - local.get $var$11 - i64.const 4294967295 - i64.and - local.set $var$19 - local.get $var$17 - i64.const 32 - i64.shr_u - local.set $var$20 - local.get $var$11 - i64.const 32 - i64.shr_u - local.set $var$21 - local.get $var$18 - local.get $var$19 - i64.mul - local.set $var$22 - local.get $var$20 - local.get $var$19 - i64.mul - local.get $var$22 - i64.const 32 - i64.shr_u - i64.add - local.set $var$23 - local.get $var$18 - local.get $var$21 - i64.mul - local.get $var$23 - i64.const 4294967295 - i64.and - i64.add - local.set $var$24 - local.get $var$24 - i64.const 2147483647 - i64.add - local.set $var$24 - local.get $var$23 - i64.const 32 - i64.shr_u - local.set $var$23 - local.get $var$24 - i64.const 32 - i64.shr_u - local.set $var$24 - local.get $var$20 - local.get $var$21 - i64.mul - local.get $var$23 - i64.add - local.get $var$24 - i64.add - local.set $var$24 - local.get $var$7 - local.set $var$10 - local.get $var$15 - local.set $var$13 - local.get $var$10 - local.get $var$13 - i32.add - i32.const 64 - i32.add - local.set $var$10 - global.get $~lib/util/number/_frc_plus - local.set $var$17 - local.get $var$12 - local.set $var$11 - local.get $var$17 - i64.const 4294967295 - i64.and - local.set $var$23 - local.get $var$11 - i64.const 4294967295 - i64.and - local.set $var$22 - local.get $var$17 - i64.const 32 - i64.shr_u - local.set $var$21 - local.get $var$11 - i64.const 32 - i64.shr_u - local.set $var$20 - local.get $var$23 - local.get $var$22 - i64.mul - local.set $var$19 - local.get $var$21 - local.get $var$22 - i64.mul - local.get $var$19 - i64.const 32 - i64.shr_u - i64.add - local.set $var$18 - local.get $var$23 - local.get $var$20 - i64.mul - local.get $var$18 - i64.const 4294967295 - i64.and - i64.add - local.set $var$25 - local.get $var$25 - i64.const 2147483647 - i64.add - local.set $var$25 - local.get $var$18 - i64.const 32 - i64.shr_u - local.set $var$18 - local.get $var$25 - i64.const 32 - i64.shr_u - local.set $var$25 - local.get $var$21 - local.get $var$20 - i64.mul - local.get $var$18 - i64.add - local.get $var$25 - i64.add - i64.const 1 - i64.sub - local.set $var$25 - global.get $~lib/util/number/_exp - local.set $var$26 - local.get $var$15 - local.set $var$13 - local.get $var$26 - local.get $var$13 - i32.add - i32.const 64 - i32.add - local.set $var$26 - global.get $~lib/util/number/_frc_minus - local.set $var$17 - local.get $var$12 - local.set $var$11 - local.get $var$17 - i64.const 4294967295 - i64.and - local.set $var$18 - local.get $var$11 - i64.const 4294967295 - i64.and - local.set $var$19 - local.get $var$17 - i64.const 32 - i64.shr_u - local.set $var$20 - local.get $var$11 - i64.const 32 - i64.shr_u - local.set $var$21 - local.get $var$18 - local.get $var$19 - i64.mul - local.set $var$22 - local.get $var$20 - local.get $var$19 - i64.mul - local.get $var$22 - i64.const 32 - i64.shr_u - i64.add - local.set $var$23 - local.get $var$18 - local.get $var$21 - i64.mul - local.get $var$23 - i64.const 4294967295 - i64.and - i64.add - local.set $var$27 - local.get $var$27 - i64.const 2147483647 - i64.add - local.set $var$27 - local.get $var$23 - i64.const 32 - i64.shr_u - local.set $var$23 - local.get $var$27 - i64.const 32 - i64.shr_u - local.set $var$27 - local.get $var$20 - local.get $var$21 - i64.mul - local.get $var$23 - i64.add - local.get $var$27 - i64.add - i64.const 1 - i64.add - local.set $var$27 - local.get $var$25 - local.get $var$27 - i64.sub - local.set $var$23 - local.get $var$4 - local.get $var$24 - local.get $var$10 - local.get $var$25 - local.get $var$26 - local.get $var$23 - local.get $var$3 - call $~lib/util/number/genDigits local.set $len local.get $buffer local.get $sign @@ -3985,10 +4196,12 @@ local.get $len local.get $sign i32.add + return ) (func $~lib/number/F64#toString (param $this f64) (param $radix i32) (result i32) local.get $this - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa + return ) (func $~lib/number/Bool#toString (param $this i32) (param $radix i32) (result i32) local.get $this @@ -3997,6 +4210,7 @@ else i32.const 3616 end + return ) (func $~lib/number/F32.isSafeInteger (param $value f32) (result i32) local.get $value @@ -4011,6 +4225,7 @@ else i32.const 0 end + return ) (func $~lib/number/F32.isInteger (param $value f32) (result i32) local.get $value @@ -4026,6 +4241,7 @@ else i32.const 0 end + return ) (func $~lib/number/F64.isSafeInteger (param $value f64) (result i32) local.get $value @@ -4040,6 +4256,7 @@ else i32.const 0 end + return ) (func $~lib/number/F64.isInteger (param $value f64) (result i32) local.get $value @@ -4055,6 +4272,7 @@ else i32.const 0 end + return ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -4074,24 +4292,28 @@ (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) (local $2 i32) local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) ) (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 $0 - br_table $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return end return end @@ -4112,28 +4334,125 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 20064 - i32.const 20112 + i32.const 36448 + i32.const 36496 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end ) + (func $~lib/string/String.__eq (param $left i32) (param $right i32) (result i32) + (local $leftLength i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $left + local.get $right + i32.eq + if + i32.const 1 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + i32.const 0 + i32.eq + end + if + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + call $~lib/util/string/compareImpl + i32.eqz + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) (func $start:number (local $0 i32) - (local $1 f32) - (local $2 f64) - (local $3 i32) + (local $1 i32) + (local $2 f32) + (local $3 f64) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - memory.size $0 + i32.const 0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -4153,17 +4472,12 @@ global.get $number/a i32.const 10 call $~lib/number/I32#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 2208 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4177,17 +4491,12 @@ f64.const 2 i32.const 0 call $~lib/number/F64#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 3424 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4201,17 +4510,12 @@ i32.const 3 i32.const 10 call $~lib/number/I32#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 3456 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4225,17 +4529,12 @@ i32.const -5 i32.const 10 call $~lib/number/I32#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 3488 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4249,17 +4548,12 @@ i32.const 4 i32.const 10 call $~lib/number/I32#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 3520 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4277,17 +4571,12 @@ global.get $number/a i32.const 10 call $~lib/number/I32#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 3552 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4305,17 +4594,12 @@ global.get $number/a i32.const 10 call $~lib/number/I32#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 2208 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4330,17 +4614,12 @@ i32.eqz i32.const 0 call $~lib/number/Bool#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 3584 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4355,17 +4634,12 @@ i32.eqz i32.const 0 call $~lib/number/Bool#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 3616 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4384,17 +4658,12 @@ local.get $0 i32.const 10 call $~lib/number/I32#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 2208 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4406,24 +4675,19 @@ unreachable end global.get $number/a - local.tee $0 + local.tee $1 i32.const 1 i32.sub global.set $number/a - local.get $0 + local.get $1 i32.const 10 call $~lib/number/I32#toString - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $4 + i32.store + local.get $4 i32.const 3552 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4435,8 +4699,8 @@ unreachable end global.get $~lib/number/F32.NaN - local.tee $1 - local.get $1 + local.tee $2 + local.get $2 f32.ne drop global.get $~lib/builtins/f32.MIN_SAFE_INTEGER @@ -4704,8 +4968,8 @@ unreachable end global.get $~lib/number/F64.NaN - local.tee $2 - local.get $2 + local.tee $3 + local.get $3 f64.ne drop global.get $~lib/builtins/f64.MIN_SAFE_INTEGER @@ -4973,47 +5237,77 @@ unreachable end f64.const 1 - global.get $~lib/builtins/f32.NaN - f64.promote_f32 + f64.const nan:0x8000000000000 f64.eq i32.eqz drop + f64.const nan:0x8000000000000 global.get $~lib/number/F32.NaN - f32.const nan:0x400000 - f32.eq + f64.promote_f32 + f64.eq i32.eqz drop - f64.const nan:0x8000000000000 + global.get $~lib/number/F64.NaN f64.const 1 f64.eq i32.eqz drop f64.const 1 - global.get $~lib/builtins/f32.NaN - f64.promote_f32 + f64.const nan:0x8000000000000 f64.ne drop + f64.const nan:0x8000000000000 global.get $~lib/number/F32.NaN - f32.const nan:0x400000 - f32.ne + f64.promote_f32 + f64.ne drop - f64.const nan:0x8000000000000 + global.get $~lib/builtins/f64.NaN f64.const 1 f64.ne drop + f64.const 0 + f64.const -0 + f64.eq + drop + f64.const -0 + f64.const -0 + f64.eq + drop + f64.const -0 + f64.const 0 + f64.eq + drop + f32.const 0 + f32.const -0 + f32.eq + drop + f32.const -0 + f32.const -0 + f32.eq + drop + f32.const -0 + f32.const 0 + f32.eq + drop global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/number/itoa32 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) + (func $~lib/util/number/itoa32 (param $value i32) (param $radix i32) (result i32) + (local $sign i32) + (local $out i32) + (local $decimals i32) + (local $buffer i32) + (local $num i32) + (local $offset i32) + (local $decimals|8 i32) + (local $buffer|9 i32) + (local $num|10 i32) + (local $offset|11 i32) + (local $val32 i32) + (local $decimals|13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5021,14 +5315,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $1 + i32.store + local.get $radix i32.const 2 i32.lt_s if (result i32) i32.const 1 else - local.get $1 + local.get $radix i32.const 36 i32.gt_s end @@ -5040,151 +5334,154 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $value i32.eqz if i32.const 224 - local.set $8 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $14 return end - local.get $0 + local.get $value i32.const 31 i32.shr_u i32.const 1 i32.shl - local.set $2 - local.get $2 + local.set $sign + local.get $sign if i32.const 0 - local.get $0 + local.get $value i32.sub - local.set $0 + local.set $value end - local.get $1 + local.get $radix i32.const 10 i32.eq if - local.get $0 + local.get $value call $~lib/util/number/decimalCount32 - local.set $4 + local.set $decimals global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $decimals i32.const 1 i32.shl - local.get $2 + local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $2 + local.tee $out + i32.store + local.get $out + local.get $sign i32.add - local.set $7 - local.get $0 - local.set $6 - local.get $4 - local.set $5 + local.set $buffer + local.get $value + local.set $num + local.get $decimals + local.set $offset i32.const 0 i32.const 1 i32.ge_s drop - local.get $7 - local.get $6 - local.get $5 + local.get $buffer + local.get $num + local.get $offset call $~lib/util/number/utoa32_dec_lut else - local.get $1 + local.get $radix i32.const 16 i32.eq if i32.const 31 - local.get $0 + local.get $value i32.clz i32.sub i32.const 2 i32.shr_s i32.const 1 i32.add - local.set $4 + local.set $decimals|8 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $decimals|8 i32.const 1 i32.shl - local.get $2 + local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $2 + local.tee $out + i32.store + local.get $out + local.get $sign i32.add - local.set $7 - local.get $0 - local.set $6 - local.get $4 - local.set $5 + local.set $buffer|9 + local.get $value + local.set $num|10 + local.get $decimals|8 + local.set $offset|11 i32.const 0 i32.const 1 i32.ge_s drop - local.get $7 - local.get $6 + local.get $buffer|9 + local.get $num|10 i64.extend_i32_u - local.get $5 + local.get $offset|11 call $~lib/util/number/utoa_hex_lut else - local.get $0 - local.set $4 - local.get $4 + local.get $value + local.set $val32 + local.get $val32 i64.extend_i32_u - local.get $1 + local.get $radix call $~lib/util/number/ulog_base - local.set $7 + local.set $decimals|13 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $decimals|13 i32.const 1 i32.shl - local.get $2 + local.get $sign i32.add - i32.const 1 + i32.const 2 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $2 + local.tee $out + i32.store + local.get $out + local.get $sign i32.add - local.get $4 + local.get $val32 i64.extend_i32_u - local.get $7 - local.get $1 + local.get $decimals|13 + local.get $radix call $~lib/util/number/utoa64_any_core end end - local.get $2 + local.get $sign if - local.get $3 + local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end - local.get $3 - local.set $8 + local.get $out + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $14 + return ) - (func $~lib/util/number/dtoa (param $0 f64) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) + (func $~lib/util/number/dtoa (param $value f64) (result i32) + (local $value|1 f64) + (local $isSingle i32) + (local $size i32) + (local $result i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5192,76 +5489,67 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $0 - f64.const 0 - f64.eq - if - i32.const 2288 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - local.get $0 - local.get $0 - f64.ne + i32.store + block $~lib/util/number/dtoa_impl|inlined.0 (result i32) + local.get $value + local.set $value|1 + i32.const 0 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq if - i32.const 2320 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 2288 + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 2352 - i32.const 2400 - local.get $0 + local.get $value|1 + local.get $value|1 + f64.sub f64.const 0 - f64.lt - select - local.set $3 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 2320 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 2352 + i32.const 2400 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 2432 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 2432 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 2432 - local.get $0 - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2432 - local.get $1 - memory.copy $0 $0 - local.get $2 - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 + return ) ) diff --git a/tests/compiler/number.json b/tests/compiler/number.json index d823d836bf..1bdd02b1be 100644 --- a/tests/compiler/number.json +++ b/tests/compiler/number.json @@ -1,18 +1,4 @@ { "asc_flags": [ - ], - "stderr": [ - "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", - "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", - "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", - "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", - "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", - "AS907: 'NaN' does not compare equal to any other value including itself. Use isNaN(x) instead.", - "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.", - "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.", - "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.", - "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.", - "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters.", - "AS908: Comparison with -0.0 is sign insensitive. Use Object.is(x, -0.0) if the sign matters." ] } diff --git a/tests/compiler/number.release.wat b/tests/compiler/number.release.wat index e609564afd..5fbdeb3b8b 100644 --- a/tests/compiler/number.release.wat +++ b/tests/compiler/number.release.wat @@ -1,13 +1,14 @@ (module - (type $none_=>_none (func)) - (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 $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i64_i64_i32_i64_=>_i32 (func (param i64 i64 i32 i64) (result i32))) + (type $0 (func)) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (result i32))) + (type $8 (func (param i32 i32 i32))) + (type $9 (func (param i64 i64 i32 i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $number/a (mut i32) (i32.const 1)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -23,75 +24,75 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 21068)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37444)) (memory $0 1) - (data (i32.const 1036) "|") - (data (i32.const 1048) "\01\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 1164) "<") - (data (i32.const 1176) "\01\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\01\00\00\00\02\00\00\000") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\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 1324) "<") - (data (i32.const 1336) "\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 1452) "<") - (data (i32.const 1464) "\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 1516) ",") - (data (i32.const 1528) "\01\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1596) "<") - (data (i32.const 1608) "\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 1660) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 2060) "\1c\04") - (data (i32.const 2072) "\01\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 3116) "\\") - (data (i32.const 3128) "\01\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 3212) "\1c") - (data (i32.const 3224) "\01\00\00\00\02\00\00\001") - (data (i32.const 3244) ",") - (data (i32.const 3256) "\01\00\00\00\12\00\00\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 3292) "\1c") - (data (i32.const 3304) "\01\00\00\00\06\00\00\000\00.\000") - (data (i32.const 3324) "\1c") - (data (i32.const 3336) "\01\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 3356) ",") - (data (i32.const 3368) "\01\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3404) ",") - (data (i32.const 3416) "\01\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3512) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\0dXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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_f64_=>_none (func (param i32 f64))) - (type $i32_=>_f64 (func (param i32) (result f64))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i64_=>_none (func (param i32 i64))) - (type $i32_=>_i64 (func (param i32) (result i64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_f32_=>_none (func (param i32 f32))) - (type $i32_=>_f32 (func (param i32) (result f32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 f64))) + (type $7 (func (param i32) (result f64))) + (type $8 (func (param i32 i64))) + (type $9 (func (param i32) (result i64))) + (type $10 (func (param i32 i32 i32 i32))) + (type $11 (func (param i32 i32 i64) (result i32))) + (type $12 (func (result i32))) + (type $13 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $14 (func (param i32 f32))) + (type $15 (func (param i32) (result f32))) + (type $16 (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/iter (mut i32) (i32.const 0)) @@ -36,22 +37,22 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33492)) (global $~lib/memory/__heap_base i32 (i32.const 33492)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 128) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 220) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 268) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 336) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00h\00e\00l\00l\00o\00\00\00") - (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00e\00s\00t\00\00\00\00\00") - (data (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00b\00a\00r\00\00\00\00\00\00\00") - (data (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00b\00a\00z\00\00\00\00\00\00\00") - (data (i32.const 688) "\08\00\00\00 \00\00\00 \00\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 $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d\00\00\00\00\00\00\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 128) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 336) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00h\00e\00l\00l\00o\00\00\00") + (data $12 (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00e\00s\00t\00\00\00\00\00") + (data $13 (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00b\00a\00r\00\00\00\00\00\00\00") + (data $14 (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00b\00a\00z\00\00\00\00\00\00\00") + (data $15 (i32.const 688) "\08\00\00\00 \00\00\00 \00\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -59,11 +60,11 @@ (func $object-literal/Managed#set:bar (param $this i32) (param $bar i32) local.get $this local.get $bar - i32.store $0 + i32.store ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:color (param $this i32) (result i32) local.get $this @@ -74,7 +75,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -88,12 +89,12 @@ (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -173,11 +174,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -185,7 +186,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 176 @@ -352,7 +353,7 @@ (func $object-literal/Managed#set:baz (param $this i32) (param $baz i32) local.get $this local.get $baz - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.get $baz i32.const 0 @@ -448,7 +449,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -461,7 +462,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -477,34 +478,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -664,7 +665,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -687,7 +688,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -701,7 +702,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -724,7 +725,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -867,7 +868,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -953,7 +954,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1033,7 +1034,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1067,7 +1068,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1090,7 +1091,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1104,27 +1105,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 416 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1149,9 +1155,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1170,7 +1176,7 @@ if i32.const 0 i32.const 416 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1189,7 +1195,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1203,7 +1208,7 @@ if i32.const 0 i32.const 416 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1259,12 +1264,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1298,7 +1303,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1319,7 +1324,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1339,7 +1344,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1359,7 +1364,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1385,7 +1390,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1408,9 +1413,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1446,7 +1452,7 @@ if i32.const 0 i32.const 416 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1712,14 +1718,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1775,7 +1784,7 @@ if i32.const 288 i32.const 416 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1784,6 +1793,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1813,24 +1842,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1868,7 +1886,7 @@ if i32.const 0 i32.const 416 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1883,7 +1901,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1928,7 +1946,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1939,7 +1957,7 @@ if i32.const 0 i32.const 416 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1961,7 +1979,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1984,7 +2002,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2003,22 +2021,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2031,7 +2041,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2058,27 +2068,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2103,7 +2114,7 @@ if i32.const 0 i32.const 416 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2218,7 +2229,7 @@ if i32.const 0 i32.const 416 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2238,7 +2249,7 @@ if i32.const 0 i32.const 416 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2271,12 +2282,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2327,21 +2338,21 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $object-literal/Managed#get:bar (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $object-literal/Managed#get:baz (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -2393,9 +2404,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2428,10 +2439,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2459,12 +2470,12 @@ (func $object-literal/Unmanaged#set:bar (param $this i32) (param $bar i32) local.get $this local.get $bar - i32.store $0 + i32.store ) (func $object-literal/Unmanaged#set:baz (param $this i32) (param $baz i32) local.get $this local.get $baz - i32.store $0 offset=4 + i32.store offset=4 ) (func $object-literal/Unmanaged#constructor (param $this i32) (result i32) local.get $this @@ -2484,147 +2495,147 @@ ) (func $object-literal/Unmanaged#get:bar (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $object-literal/Unmanaged#get:baz (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $object-literal/OmittedTypes#set:int32 (param $this i32) (param $int32 i32) local.get $this local.get $int32 - i32.store $0 + i32.store ) (func $object-literal/OmittedTypes#set:uint32 (param $this i32) (param $uint32 i32) local.get $this local.get $uint32 - i32.store $0 offset=4 + i32.store offset=4 ) (func $object-literal/OmittedTypes#set:int64 (param $this i32) (param $int64 i64) local.get $this local.get $int64 - i64.store $0 offset=8 + i64.store offset=8 ) (func $object-literal/OmittedTypes#set:uint64 (param $this i32) (param $uint64 i64) local.get $this local.get $uint64 - i64.store $0 offset=16 + i64.store offset=16 ) (func $object-literal/OmittedTypes#set:float32 (param $this i32) (param $float32 f32) local.get $this local.get $float32 - f32.store $0 offset=24 + f32.store offset=24 ) (func $object-literal/OmittedTypes#set:float64 (param $this i32) (param $float64 f64) local.get $this local.get $float64 - f64.store $0 offset=32 + f64.store offset=32 ) (func $object-literal/OmittedTypes#set:int8 (param $this i32) (param $int8 i32) local.get $this local.get $int8 - i32.store8 $0 offset=40 + i32.store8 offset=40 ) (func $object-literal/OmittedTypes#set:uint8 (param $this i32) (param $uint8 i32) local.get $this local.get $uint8 - i32.store8 $0 offset=41 + i32.store8 offset=41 ) (func $object-literal/OmittedTypes#set:int16 (param $this i32) (param $int16 i32) local.get $this local.get $int16 - i32.store16 $0 offset=42 + i32.store16 offset=42 ) (func $object-literal/OmittedTypes#set:uint16 (param $this i32) (param $uint16 i32) local.get $this local.get $uint16 - i32.store16 $0 offset=44 + i32.store16 offset=44 ) (func $object-literal/OmittedTypes#set:intsize (param $this i32) (param $intsize i32) local.get $this local.get $intsize - i32.store $0 offset=48 + i32.store offset=48 ) (func $object-literal/OmittedTypes#set:uintsize (param $this i32) (param $uintsize i32) local.get $this local.get $uintsize - i32.store $0 offset=52 + i32.store offset=52 ) (func $object-literal/OmittedTypes#set:alias (param $this i32) (param $alias f64) local.get $this local.get $alias - f64.store $0 offset=56 + f64.store offset=56 ) (func $object-literal/OmittedTypes#set:isTrue (param $this i32) (param $isTrue i32) local.get $this local.get $isTrue - i32.store8 $0 offset=64 + i32.store8 offset=64 ) (func $object-literal/OmittedTypes#get:int32 (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $object-literal/OmittedTypes#get:uint32 (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $object-literal/OmittedTypes#get:int64 (param $this i32) (result i64) local.get $this - i64.load $0 offset=8 + i64.load offset=8 ) (func $object-literal/OmittedTypes#get:uint64 (param $this i32) (result i64) local.get $this - i64.load $0 offset=16 + i64.load offset=16 ) (func $object-literal/OmittedTypes#get:float32 (param $this i32) (result f32) local.get $this - f32.load $0 offset=24 + f32.load offset=24 ) (func $object-literal/OmittedTypes#get:float64 (param $this i32) (result f64) local.get $this - f64.load $0 offset=32 + f64.load offset=32 ) (func $object-literal/OmittedTypes#get:int8 (param $this i32) (result i32) local.get $this - i32.load8_s $0 offset=40 + i32.load8_s offset=40 ) (func $object-literal/OmittedTypes#get:uint8 (param $this i32) (result i32) local.get $this - i32.load8_u $0 offset=41 + i32.load8_u offset=41 ) (func $object-literal/OmittedTypes#get:int16 (param $this i32) (result i32) local.get $this - i32.load16_s $0 offset=42 + i32.load16_s offset=42 ) (func $object-literal/OmittedTypes#get:uint16 (param $this i32) (result i32) local.get $this - i32.load16_u $0 offset=44 + i32.load16_u offset=44 ) (func $object-literal/OmittedTypes#get:intsize (param $this i32) (result i32) local.get $this - i32.load $0 offset=48 + i32.load offset=48 ) (func $object-literal/OmittedTypes#get:uintsize (param $this i32) (result i32) local.get $this - i32.load $0 offset=52 + i32.load offset=52 ) (func $object-literal/OmittedTypes#get:alias (param $this i32) (result f64) local.get $this - f64.load $0 offset=56 + f64.load offset=56 ) (func $object-literal/OmittedTypes#get:isTrue (param $this i32) (result i32) local.get $this - i32.load8_u $0 offset=64 + i32.load8_u offset=64 ) (func $object-literal/MixedOmitted#set:simpleType (param $this i32) (param $simpleType i32) local.get $this local.get $simpleType - i32.store $0 + i32.store ) (func $object-literal/MixedOmitted#set:complexType (param $this i32) (param $complexType i32) local.get $this local.get $complexType - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.get $complexType i32.const 0 @@ -2633,24 +2644,24 @@ (func $object-literal/MixedOmitted#set:anotherSimpleType (param $this i32) (param $anotherSimpleType f64) local.get $this local.get $anotherSimpleType - f64.store $0 offset=8 + f64.store offset=8 ) (func $object-literal/MixedOmitted#get:simpleType (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $object-literal/MixedOmitted#get:complexType (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $object-literal/MixedOmitted#get:anotherSimpleType (param $this i32) (result f64) local.get $this - f64.load $0 offset=8 + f64.load offset=8 ) (func $object-literal/OmittedFoo#set:bar (param $this i32) (param $bar i32) local.get $this local.get $bar - i32.store $0 + i32.store local.get $this local.get $bar i32.const 0 @@ -2659,7 +2670,7 @@ (func $object-literal/OmittedFoo#set:baz (param $this i32) (param $baz i32) local.get $this local.get $baz - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.get $baz i32.const 0 @@ -2668,7 +2679,7 @@ (func $object-literal/OmittedFoo#set:quux (param $this i32) (param $quux i32) local.get $this local.get $quux - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $quux i32.const 0 @@ -2677,7 +2688,7 @@ (func $object-literal/OmittedFoo#set:quuz (param $this i32) (param $quuz i32) local.get $this local.get $quuz - i32.store $0 offset=12 + i32.store offset=12 local.get $this local.get $quuz i32.const 0 @@ -2686,7 +2697,7 @@ (func $object-literal/OmittedFoo#set:corge (param $this i32) (param $corge i32) local.get $this local.get $corge - i32.store $0 offset=16 + i32.store offset=16 local.get $this local.get $corge i32.const 0 @@ -2695,7 +2706,7 @@ (func $object-literal/OmittedFoo#set:grault (param $this i32) (param $grault i32) local.get $this local.get $grault - i32.store $0 offset=20 + i32.store offset=20 local.get $this local.get $grault i32.const 0 @@ -2704,7 +2715,7 @@ (func $object-literal/OmittedFoo#set:garply (param $this i32) (param $garply i32) local.get $this local.get $garply - i32.store $0 offset=24 + i32.store offset=24 local.get $this local.get $garply i32.const 0 @@ -2713,7 +2724,7 @@ (func $object-literal/OmittedFoo#set:waldo (param $this i32) (param $waldo i32) local.get $this local.get $waldo - i32.store $0 offset=28 + i32.store offset=28 local.get $this local.get $waldo i32.const 0 @@ -2722,52 +2733,52 @@ (func $object-literal/OmittedFoo#set:fred (param $this i32) (param $fred i32) local.get $this local.get $fred - i32.store $0 offset=32 + i32.store offset=32 ) (func $object-literal/OmittedFoo#set:qux (param $this i32) (param $qux i32) local.get $this local.get $qux - i32.store $0 offset=36 + i32.store offset=36 ) (func $object-literal/OmittedFoo#get:bar (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $object-literal/OmittedFoo#get:baz (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $object-literal/OmittedFoo#get:quux (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $object-literal/OmittedFoo#get:quuz (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $object-literal/OmittedFoo#get:corge (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $object-literal/OmittedFoo#get:grault (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $object-literal/OmittedFoo#get:garply (param $this i32) (result i32) local.get $this - i32.load $0 offset=24 + i32.load offset=24 ) (func $object-literal/OmittedFoo#get:waldo (param $this i32) (result i32) local.get $this - i32.load $0 offset=28 + i32.load offset=28 ) (func $object-literal/OmittedFoo#get:fred (param $this i32) (result i32) local.get $this - i32.load $0 offset=32 + i32.load offset=32 ) (func $object-literal/OmittedFoo#get:qux (param $this i32) (result i32) local.get $this - i32.load $0 offset=36 + i32.load offset=36 ) (func $~lib/rt/itcms/__collect i32.const 0 @@ -2830,16 +2841,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $object-literal/Managed~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2847,13 +2853,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 offset=4 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit ) (func $object-literal/MixedOmitted~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2861,13 +2863,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 offset=4 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit ) (func $object-literal/OmittedFoo~visit (param $0 i32) (param $1 i32) (local $2 i32) @@ -2875,69 +2873,37 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=4 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=8 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=8 + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=12 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=12 + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=16 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=16 + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=20 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=20 + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=24 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=24 + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=28 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=28 + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2952,7 +2918,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $object-literal/Managed $object-literal/OmittedTypes $object-literal/MixedOmitted $object-literal/OmittedFoo $invalid end return @@ -3010,7 +2976,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3019,23 +2985,23 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/Managed#set:bar @@ -3043,7 +3009,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/Managed#set:baz @@ -3065,7 +3031,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -3103,7 +3069,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -3112,7 +3078,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -3130,14 +3096,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -3154,21 +3120,18 @@ (func $object-literal/testManaged (param $managed i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $managed local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/Managed#get:bar i32.const 123 @@ -3186,20 +3149,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 call $object-literal/Managed#get:baz local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 32 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3211,7 +3169,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3243,12 +3201,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $22 global.get $~lib/memory/__stack_pointer local.get $22 - i32.store $0 + i32.store local.get $22 call $~lib/string/String#get:length local.set $len @@ -3348,13 +3306,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $fromPos i32.add local.get $size - memory.copy $0 $0 + memory.copy local.get $out local.set $22 global.get $~lib/memory/__stack_pointer @@ -3367,13 +3325,13 @@ (func $object-literal/testUnmanaged (param $unmanaged i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $unmanaged call $object-literal/Unmanaged#get:bar i32.const 123 @@ -3392,14 +3350,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 576 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3413,7 +3366,7 @@ local.get $unmanaged call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3426,7 +3379,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3435,23 +3388,23 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedTypes#set:int32 @@ -3459,7 +3412,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedTypes#set:uint32 @@ -3467,7 +3420,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i64.const 0 call $object-literal/OmittedTypes#set:int64 @@ -3475,7 +3428,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i64.const 0 call $object-literal/OmittedTypes#set:uint64 @@ -3483,7 +3436,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f32.const 0 call $object-literal/OmittedTypes#set:float32 @@ -3491,7 +3444,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f64.const 0 call $object-literal/OmittedTypes#set:float64 @@ -3499,7 +3452,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedTypes#set:int8 @@ -3507,7 +3460,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedTypes#set:uint8 @@ -3515,7 +3468,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedTypes#set:int16 @@ -3523,7 +3476,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedTypes#set:uint16 @@ -3531,7 +3484,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedTypes#set:intsize @@ -3539,7 +3492,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedTypes#set:uintsize @@ -3547,7 +3500,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f64.const 0 call $object-literal/OmittedTypes#set:alias @@ -3555,7 +3508,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedTypes#set:isTrue @@ -3576,12 +3529,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $omitted local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:int32 i32.const 0 @@ -3599,7 +3552,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:uint32 i32.const 0 @@ -3617,7 +3570,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:int64 i64.const 0 @@ -3635,7 +3588,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:uint64 i64.const 0 @@ -3653,7 +3606,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:float32 f32.const 0 @@ -3671,7 +3624,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:float64 f64.const 0 @@ -3689,7 +3642,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:int8 i32.extend8_s @@ -3708,7 +3661,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:uint8 i32.const 255 @@ -3728,7 +3681,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:int16 i32.extend16_s @@ -3747,7 +3700,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:uint16 i32.const 65535 @@ -3767,7 +3720,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:intsize i32.const 0 @@ -3785,7 +3738,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:uintsize i32.const 0 @@ -3803,7 +3756,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:alias f64.const 0 @@ -3821,7 +3774,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedTypes#get:isTrue i32.const 0 @@ -3851,7 +3804,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3860,23 +3813,23 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/MixedOmitted#set:simpleType @@ -3884,7 +3837,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/MixedOmitted#set:complexType @@ -3892,7 +3845,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f64.const 0 call $object-literal/MixedOmitted#set:anotherSimpleType @@ -3907,21 +3860,18 @@ (func $object-literal/testMixedOmitted (param $omitted i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $omitted local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/MixedOmitted#get:simpleType i32.const 0 @@ -3939,20 +3889,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 call $object-literal/MixedOmitted#get:complexType local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 608 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3967,7 +3912,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/MixedOmitted#get:anotherSimpleType f64.const 0 @@ -3982,23 +3927,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) (func $object-literal/OmittedFoo#constructor (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $this i32.eqz if @@ -4007,49 +3949,39 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 640 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $object-literal/OmittedFoo#set:bar local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 672 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $object-literal/OmittedFoo#set:baz local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedFoo#set:quux @@ -4057,7 +3989,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedFoo#set:quuz @@ -4065,7 +3997,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedFoo#set:corge @@ -4073,7 +4005,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedFoo#set:grault @@ -4081,7 +4013,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedFoo#set:garply @@ -4089,7 +4021,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedFoo#set:waldo @@ -4097,7 +4029,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $object-literal/OmittedFoo#set:fred @@ -4105,14 +4037,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $object-literal/OmittedFoo#set:qux local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -4120,34 +4052,26 @@ (func $object-literal/testOmittedFoo (param $foo i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $foo local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 call $object-literal/OmittedFoo#get:bar local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 640 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -4162,20 +4086,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 call $object-literal/OmittedFoo#get:baz local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 672 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -4190,13 +4109,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $object-literal/OmittedFoo#get:quux local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -4213,13 +4132,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $object-literal/OmittedFoo#get:quuz local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -4236,13 +4155,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $object-literal/OmittedFoo#get:corge local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -4259,13 +4178,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $object-literal/OmittedFoo#get:grault local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -4282,13 +4201,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $object-literal/OmittedFoo#get:garply local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -4305,13 +4224,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $object-literal/OmittedFoo#get:waldo local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -4328,7 +4247,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedFoo#get:fred i32.const 0 @@ -4346,7 +4265,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $object-literal/OmittedFoo#get:qux i32.const -1 @@ -4361,7 +4280,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4373,18 +4292,18 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 28 - memory.fill $0 + i32.const 24 + memory.fill i32.const 128 call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/toSpace - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -4402,12 +4321,12 @@ i32.const 0 call $object-literal/Managed#constructor local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 i32.const 123 call $object-literal/Managed#set:bar @@ -4415,20 +4334,15 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 i32.const 32 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=12 - local.get $5 call $object-literal/Managed#set:baz local.get $0 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $object-literal/testManaged i32.const 0 @@ -4439,18 +4353,13 @@ call $object-literal/Unmanaged#set:bar local.get $1 i32.const 32 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - local.get $5 i32.const 0 i32.const 5 call $~lib/string/String#substring local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store local.get $5 call $object-literal/Unmanaged#set:baz local.get $1 @@ -4459,66 +4368,66 @@ i32.const 0 call $object-literal/OmittedTypes#constructor local.tee $2 - i32.store $0 offset=16 + i32.store offset=12 local.get $2 i32.const 0 - i32.store $0 + i32.store local.get $2 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $2 i64.const 0 - i64.store $0 offset=16 + i64.store offset=16 local.get $2 f32.const 0 - f32.store $0 offset=24 + f32.store offset=24 local.get $2 f64.const 0 - f64.store $0 offset=32 + f64.store offset=32 local.get $2 i32.const 0 - i32.store8 $0 offset=40 + i32.store8 offset=40 local.get $2 i32.const 0 - i32.store8 $0 offset=41 + i32.store8 offset=41 local.get $2 i32.const 0 - i32.store16 $0 offset=42 + i32.store16 offset=42 local.get $2 i32.const 0 - i32.store16 $0 offset=44 + i32.store16 offset=44 local.get $2 i32.const 0 - i32.store $0 offset=48 + i32.store offset=48 local.get $2 i32.const 0 - i32.store $0 offset=52 + i32.store offset=52 local.get $2 f64.const 0 - f64.store $0 offset=56 + f64.store offset=56 local.get $2 i32.const 0 - i32.store8 $0 offset=64 + i32.store8 offset=64 local.get $2 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $object-literal/testOmittedTypes global.get $~lib/memory/__stack_pointer i32.const 0 call $object-literal/MixedOmitted#constructor local.tee $3 - i32.store $0 offset=20 + i32.store offset=16 local.get $3 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 i32.const 0 call $object-literal/MixedOmitted#set:simpleType @@ -4526,63 +4435,58 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 i32.const 608 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=12 - local.get $5 call $object-literal/MixedOmitted#set:complexType local.get $3 f64.const 0 - f64.store $0 offset=8 + f64.store offset=8 local.get $3 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $object-literal/testMixedOmitted global.get $~lib/memory/__stack_pointer i32.const 0 call $object-literal/OmittedFoo#constructor local.tee $4 - i32.store $0 offset=24 + i32.store offset=20 local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 i32.const 0 - i32.store $0 offset=12 + i32.store offset=12 local.get $4 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 local.get $4 i32.const 0 - i32.store $0 offset=20 + i32.store offset=20 local.get $4 i32.const 0 - i32.store $0 offset=24 + i32.store offset=24 local.get $4 i32.const 0 - i32.store $0 offset=28 + i32.store offset=28 local.get $4 i32.const 0 - i32.store $0 offset=32 + i32.store offset=32 local.get $4 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $object-literal/testOmittedFoo global.get $~lib/memory/__heap_base global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4595,7 +4499,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -4604,7 +4508,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index ebe0ddf788..e1bb4a66e6 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -1,12 +1,12 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 (func (param i32) (result i32))) + (type $0 (func (param i32))) + (type $1 (func)) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/iter (mut i32) (i32.const 0)) @@ -20,32 +20,32 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34516)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1180) "<") - (data (i32.const 1192) "\02\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 1244) ",") - (data (i32.const 1256) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1292) "<") - (data (i32.const 1304) "\02\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 1420) "<") - (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1484) "<") - (data (i32.const 1496) "\02\00\00\00\"\00\00\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") - (data (i32.const 1548) "\1c") - (data (i32.const 1560) "\02") - (data (i32.const 1580) "\1c") - (data (i32.const 1592) "\02\00\00\00\n\00\00\00h\00e\00l\00l\00o") - (data (i32.const 1612) "\1c") - (data (i32.const 1624) "\02\00\00\00\08\00\00\00t\00e\00s\00t") - (data (i32.const 1644) "\1c") - (data (i32.const 1656) "\02\00\00\00\06\00\00\00b\00a\00r") - (data (i32.const 1676) "\1c") - (data (i32.const 1688) "\02\00\00\00\06\00\00\00b\00a\00z") - (data (i32.const 1712) "\08\00\00\00 \00\00\00 \00\00\00 ") - (data (i32.const 1736) " ") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00w\00o\00r\00l\00d") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $3 (i32.const 1180) "<") + (data $3.1 (i32.const 1192) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $4 (i32.const 1244) ",") + (data $4.1 (i32.const 1256) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $5 (i32.const 1292) "<") + (data $5.1 (i32.const 1304) "\02\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 $8 (i32.const 1420) "<") + (data $8.1 (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1484) "<") + (data $9.1 (i32.const 1496) "\02\00\00\00\"\00\00\00o\00b\00j\00e\00c\00t\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") + (data $10 (i32.const 1548) "\1c") + (data $10.1 (i32.const 1560) "\02") + (data $11 (i32.const 1580) "\1c") + (data $11.1 (i32.const 1592) "\02\00\00\00\n\00\00\00h\00e\00l\00l\00o") + (data $12 (i32.const 1612) "\1c") + (data $12.1 (i32.const 1624) "\02\00\00\00\08\00\00\00t\00e\00s\00t") + (data $13 (i32.const 1644) "\1c") + (data $13.1 (i32.const 1656) "\02\00\00\00\06\00\00\00b\00a\00r") + (data $14 (i32.const 1676) "\1c") + (data $14.1 (i32.const 1688) "\02\00\00\00\06\00\00\00b\00a\00z") + (data $15 (i32.const 1712) "\08\00\00\00 \00\00\00 \00\00\00 ") + (data $15.1 (i32.const 1736) " ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/Object#makeGray (param $0 i32) @@ -57,7 +57,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -71,16 +71,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$205 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34516 @@ -95,10 +95,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$205 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -111,20 +111,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -133,7 +133,7 @@ else local.get $1 i32.const 1712 - i32.load $0 + i32.load i32.gt_u if i32.const 1200 @@ -148,13 +148,13 @@ i32.shl i32.const 1716 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -164,32 +164,86 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1104 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load 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 ) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1200 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1312 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -199,7 +253,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -217,7 +271,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -225,14 +279,38 @@ end end ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end + ) (func $~lib/rt/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 $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -244,10 +322,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -258,29 +336,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -288,10 +366,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -305,75 +383,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -395,7 +466,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -412,12 +483,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -434,17 +505,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -454,9 +525,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -481,13 +552,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -521,7 +592,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -577,19 +648,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -601,15 +672,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -617,23 +688,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1440 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -647,10 +720,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -658,23 +731,22 @@ if i32.const 0 i32.const 1440 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -686,52 +758,53 @@ if i32.const 0 i32.const 1440 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -739,7 +812,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -747,7 +820,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -758,10 +831,10 @@ end i32.const 34528 i32.const 0 - i32.store $0 + i32.store i32.const 36096 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -773,7 +846,7 @@ i32.const 34528 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -791,7 +864,7 @@ i32.const 34528 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -808,9 +881,10 @@ end i32.const 34528 i32.const 36100 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34528 global.set $~lib/rt/tlsf/ROOT @@ -830,7 +904,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $2 local.get $0 i32.const 4 i32.sub @@ -845,25 +918,24 @@ i32.const 1 else local.get $1 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1440 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $1 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $2 + i32.store local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -892,7 +964,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -905,19 +977,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -928,7 +1000,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -940,7 +1012,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -953,12 +1025,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -967,7 +1035,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -978,26 +1046,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1013,7 +1081,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1029,7 +1097,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1054,14 +1122,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1077,12 +1145,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1090,47 +1157,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1141,7 +1210,7 @@ if i32.const 0 i32.const 1440 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1151,7 +1220,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1168,10 +1237,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1187,13 +1256,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1440 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1208,7 +1277,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1224,34 +1293,60 @@ if i32.const 1312 i32.const 1440 - i32.const 458 + i32.const 461 i32.const 29 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 + if (result i32) + i32.const 12 + else + local.get $1 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $3 call $~lib/rt/tlsf/searchBlock local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 + local.get $3 + i32.const 256 + i32.ge_u + if (result i32) + local.get $3 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $3 + i32.const 1 + i32.const 27 + local.get $3 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $3 + end + else + local.get $3 + end i32.const 4 local.get $0 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1259,21 +1354,6 @@ i32.sub i32.ne i32.shl - local.get $3 - i32.const 1 - i32.const 27 - local.get $3 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $3 - local.get $3 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1286,12 +1366,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1302,9 +1382,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $0 local.get $3 @@ -1314,7 +1395,7 @@ if i32.const 0 i32.const 1440 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1322,14 +1403,14 @@ end local.get $3 local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1440 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1338,7 +1419,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.set $4 local.get $3 i32.const 4 @@ -1348,7 +1429,7 @@ if i32.const 0 i32.const 1440 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -1368,7 +1449,7 @@ i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add @@ -1380,7 +1461,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $0 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1389,21 +1470,21 @@ local.get $4 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $0 local.get $0 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 ) @@ -1425,7 +1506,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$68 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1437,16 +1518,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$68 end local.get $2 i32.const 0 @@ -1454,14 +1531,13 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $2 i32.add global.set $~lib/rt/itcms/threshold end @@ -1478,36 +1554,36 @@ call $~lib/rt/tlsf/allocateBlock local.tee $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1520,109 +1596,75 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - block $folding-inner0 - block $invalid - block $object-literal/OmittedFoo + block $invalid + block $object-literal/OmittedFoo + block $object-literal/MixedOmitted block $object-literal/OmittedTypes - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $object-literal/OmittedTypes $folding-inner0 $object-literal/OmittedFoo $invalid + block $object-literal/Managed + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $object-literal/Managed $object-literal/OmittedTypes $object-literal/MixedOmitted $object-literal/OmittedFoo $invalid + end + return end return end return end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit return end return end local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=8 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=12 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=16 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=20 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=24 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=28 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit return end - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.tee $0 - if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=4 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=8 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=12 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=16 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=20 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=24 + call $~lib/rt/itcms/__visit + local.get $0 + i32.load offset=28 + call $~lib/rt/itcms/__visit + return end + unreachable ) (func $~start call $start:object-literal @@ -1649,7 +1691,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -1669,55 +1711,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -1738,7 +1782,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$83 loop $while-continue|1 local.get $0 local.tee $3 @@ -1748,17 +1792,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$83 local.get $2 i32.const 2 i32.add @@ -1788,7 +1832,6 @@ i32.const 0 ) (func $object-literal/testOmittedTypes (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1805,14 +1848,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load if i32.const 0 i32.const 1504 @@ -1823,9 +1865,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 if i32.const 0 i32.const 1504 @@ -1836,9 +1878,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i64.load $0 offset=8 + i64.load offset=8 i64.const 0 i64.ne if @@ -1851,9 +1893,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 0 i64.ne if @@ -1866,9 +1908,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - f32.load $0 offset=24 + f32.load offset=24 f32.const 0 f32.ne if @@ -1881,9 +1923,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - f64.load $0 offset=32 + f64.load offset=32 f64.const 0 f64.ne if @@ -1896,9 +1938,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load8_u $0 offset=40 + i32.load8_u offset=40 if i32.const 0 i32.const 1504 @@ -1909,9 +1951,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load8_u $0 offset=41 + i32.load8_u offset=41 if i32.const 0 i32.const 1504 @@ -1922,9 +1964,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load16_u $0 offset=42 + i32.load16_u offset=42 if i32.const 0 i32.const 1504 @@ -1935,9 +1977,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load16_u $0 offset=44 + i32.load16_u offset=44 if i32.const 0 i32.const 1504 @@ -1948,9 +1990,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=48 + i32.load offset=48 if i32.const 0 i32.const 1504 @@ -1961,9 +2003,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=52 + i32.load offset=52 if i32.const 0 i32.const 1504 @@ -1974,9 +2016,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - f64.load $0 offset=56 + f64.load offset=56 f64.const 0 f64.ne if @@ -1989,9 +2031,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load8_u $0 offset=64 + i32.load8_u offset=64 if i32.const 0 i32.const 1504 @@ -2007,9 +2049,8 @@ ) (func $object-literal/testOmittedFoo (param $0 i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2024,25 +2065,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 - local.tee $2 - i32.store $0 + i32.load + local.tee $1 + i32.store local.get $1 i32.const 1664 - i32.store $0 offset=4 - local.get $2 - i32.const 1664 call $~lib/string/String.__eq i32.eqz if @@ -2054,19 +2088,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.tee $2 - i32.store $0 + i32.load offset=4 + local.tee $1 + i32.store local.get $1 i32.const 1696 - i32.store $0 offset=4 - local.get $2 - i32.const 1696 call $~lib/string/String.__eq i32.eqz if @@ -2078,14 +2108,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -2099,14 +2128,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -2120,14 +2148,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=16 + i32.load offset=16 local.tee $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -2141,14 +2168,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=20 + i32.load offset=20 local.tee $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -2162,14 +2188,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=24 + i32.load offset=24 local.tee $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -2183,14 +2208,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=28 + i32.load offset=28 local.tee $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.__eq @@ -2205,9 +2229,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=32 + i32.load offset=32 if i32.const 0 i32.const 1504 @@ -2218,9 +2242,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=36 + i32.load offset=36 i32.const -1 i32.ne if @@ -2232,7 +2256,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -2243,7 +2267,7 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -2252,19 +2276,18 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 28 - memory.fill $0 + i32.const 24 + memory.fill i32.const 1156 i32.const 1152 - i32.store $0 + i32.store i32.const 1160 i32.const 1152 - i32.store $0 + i32.store i32.const 1152 global.set $~lib/rt/itcms/toSpace - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34516 @@ -2274,21 +2297,22 @@ global.set $~lib/rt/itcms/threshold i32.const 1364 i32.const 1360 - i32.store $0 + i32.store i32.const 1368 i32.const 1360 - i32.store $0 + i32.store i32.const 1360 global.set $~lib/rt/itcms/pinSpace i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2297,67 +2321,63 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 4 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/object/Object#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 123 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 - local.get $0 - i32.const 12 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2365,17 +2385,13 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 + i32.load i32.const 123 i32.ne if @@ -2387,19 +2403,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=8 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 - local.tee $1 - i32.store $0 + i32.load offset=4 + local.tee $0 + i32.store local.get $0 i32.const 1056 - i32.store $0 offset=4 - local.get $1 - i32.const 1056 call $~lib/string/String.__eq i32.eqz if @@ -2411,7 +2423,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/rt/tlsf/ROOT @@ -2424,20 +2436,16 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.tee $2 + local.tee $1 i32.const 0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + local.get $1 i32.const 123 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1056 - i32.store $0 offset=8 - local.get $0 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2446,44 +2454,43 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 5 i32.const 1052 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.tee $3 - local.get $3 + local.tee $0 + local.get $0 i32.const 5 i32.gt_u select - local.tee $0 + local.tee $2 i32.const 0 - local.get $0 + local.get $2 i32.const 0 i32.le_s select i32.const 1 i32.shl - local.set $1 - block $__inlined_func$~lib/string/String#substring - local.get $0 + local.set $3 + block $__inlined_func$~lib/string/String#substring$210 + local.get $2 i32.const 0 - local.get $0 + local.get $2 i32.const 0 i32.ge_s select i32.const 1 i32.shl - local.tee $0 - local.get $1 - i32.sub local.tee $4 + local.get $3 + i32.sub + local.tee $2 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -2492,12 +2499,12 @@ global.set $~lib/memory/__stack_pointer i32.const 1568 local.set $0 - br $__inlined_func$~lib/string/String#substring + br $__inlined_func$~lib/string/String#substring$210 end - local.get $1 + local.get $3 i32.eqz + local.get $4 local.get $0 - local.get $3 i32.const 1 i32.shl i32.eq @@ -2509,34 +2516,33 @@ global.set $~lib/memory/__stack_pointer i32.const 1056 local.set $0 - br $__inlined_func$~lib/string/String#substring + br $__inlined_func$~lib/string/String#substring$210 end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $1 + local.get $3 i32.const 1056 i32.add - local.get $4 - memory.copy $0 $0 + local.get $2 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=8 - local.get $2 local.get $0 - i32.store $0 offset=4 + i32.store local.get $1 - i32.const 8 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2544,10 +2550,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $2 - i32.load $0 + i32.const 0 + i32.store + local.get $1 + i32.load i32.const 123 i32.ne if @@ -2559,16 +2565,12 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=4 local.tee $0 - local.get $2 - i32.load $0 offset=4 - local.tee $1 - i32.store $0 + i32.store local.get $0 i32.const 1600 - i32.store $0 offset=4 - local.get $1 - i32.const 1600 call $~lib/string/String.__eq i32.eqz if @@ -2579,14 +2581,13 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $1 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2596,164 +2597,160 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 65 i32.const 5 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - local.get $1 - call $~lib/object/Object#constructor - local.tee $1 - i32.store $0 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i64.const 0 - i64.store $0 offset=16 + i64.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 f32.const 0 - f32.store $0 offset=24 + f32.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 f64.const 0 - f64.store $0 offset=32 + f64.store offset=32 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store8 $0 offset=40 + i32.store8 offset=40 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store8 $0 offset=41 + i32.store8 offset=41 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store16 $0 offset=42 + i32.store16 offset=42 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store16 $0 offset=44 + i32.store16 offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=48 + i32.store offset=48 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 f64.const 0 - f64.store $0 offset=56 + f64.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store8 $0 offset=64 + i32.store8 offset=64 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=16 - local.get $1 + i32.store offset=12 + local.get $0 i32.const 0 - i32.store $0 - local.get $1 + i32.store + local.get $0 i32.const 0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + local.get $0 i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + local.get $0 i64.const 0 - i64.store $0 offset=16 - local.get $1 + i64.store offset=16 + local.get $0 f32.const 0 - f32.store $0 offset=24 - local.get $1 + f32.store offset=24 + local.get $0 f64.const 0 - f64.store $0 offset=32 - local.get $1 + f64.store offset=32 + local.get $0 i32.const 0 - i32.store8 $0 offset=40 - local.get $1 + i32.store8 offset=40 + local.get $0 i32.const 0 - i32.store8 $0 offset=41 - local.get $1 + i32.store8 offset=41 + local.get $0 i32.const 0 - i32.store16 $0 offset=42 - local.get $1 + i32.store16 offset=42 + local.get $0 i32.const 0 - i32.store16 $0 offset=44 - local.get $1 + i32.store16 offset=44 + local.get $0 i32.const 0 - i32.store $0 offset=48 - local.get $1 + i32.store offset=48 + local.get $0 i32.const 0 - i32.store $0 offset=52 - local.get $1 + i32.store offset=52 + local.get $0 f64.const 0 - f64.store $0 offset=56 - local.get $1 + f64.store offset=56 + local.get $0 i32.const 0 - i32.store8 $0 offset=64 + i32.store8 offset=64 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $0 + i32.store + local.get $0 call $object-literal/testOmittedTypes global.get $~lib/memory/__stack_pointer - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2763,77 +2760,72 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 6 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/object/Object#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=4 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f64.const 0 - f64.store $0 offset=8 - local.get $2 + f64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1632 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 1632 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1632 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/__link local.get $1 f64.const 0 - f64.store $0 offset=8 + f64.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 - local.get $0 - i32.const 12 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2841,17 +2833,13 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 + i32.load if i32.const 0 i32.const 1504 @@ -2861,19 +2849,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=8 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 - local.tee $2 - i32.store $0 + i32.load offset=4 + local.tee $0 + i32.store local.get $0 i32.const 1632 - i32.store $0 offset=4 - local.get $2 - i32.const 1632 call $~lib/string/String.__eq i32.eqz if @@ -2886,9 +2870,9 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - f64.load $0 offset=8 + f64.load offset=8 f64.const 0 f64.ne if @@ -2900,13 +2884,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2914,133 +2897,137 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 40 i32.const 7 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - local.get $1 - call $~lib/object/Object#constructor - local.tee $1 - i32.store $0 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1664 - i32.store $0 offset=8 - local.get $1 - i32.const 1664 - i32.store $0 - local.get $1 + i32.store + local.get $0 i32.const 1664 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - i32.const 1696 - i32.store $0 offset=8 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1696 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + local.get $0 i32.const 1696 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=8 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 0 - i32.store $0 offset=12 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $1 + i32.store offset=12 + local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=24 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $1 + i32.store offset=16 + local.get $0 i32.const 0 - i32.store $0 offset=28 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=32 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $1 + i32.store offset=20 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=24 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=28 + local.get $0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store offset=32 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const -1 - i32.store $0 offset=36 - local.get $2 - i32.const 12 + i32.store offset=36 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=24 - local.get $1 + i32.store offset=20 + local.get $0 i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 0 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + local.get $0 i32.const 0 - i32.store $0 offset=24 - local.get $1 + i32.store offset=24 + local.get $0 i32.const 0 - i32.store $0 offset=28 - local.get $1 + i32.store offset=28 + local.get $0 i32.const 0 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $0 + i32.store + local.get $0 call $object-literal/testOmittedFoo i32.const 34516 global.set $~lib/memory/__stack_pointer @@ -3078,7 +3065,7 @@ i32.add global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -3108,7 +3095,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -3117,7 +3104,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3125,72 +3112,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 1104 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) - (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 $0 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 - ) ) diff --git a/tests/compiler/operator-overload-ambiguity.json b/tests/compiler/operator-overload-ambiguity.json new file mode 100644 index 0000000000..1b66bc25e7 --- /dev/null +++ b/tests/compiler/operator-overload-ambiguity.json @@ -0,0 +1,14 @@ +{ + "asc_flags": [], + "stderr": [ + "AS240: Ambiguous operator overload '==' (conflicting overloads 'operator-overload-ambiguity/A#__eq' and 'operator-overload-ambiguity/B#__eq').", + "compare_nonnull_a == compare_nonnull_b;", + "AS240: Ambiguous operator overload '==' (conflicting overloads 'operator-overload-ambiguity/B#__eq' and 'operator-overload-ambiguity/A#__eq').", + "compare_nonnull_b == compare_nonnull_a;", + "AS240: Ambiguous operator overload '==' (conflicting overloads 'operator-overload-ambiguity/C.__eq' and 'operator-overload-ambiguity/D#__eq').", + "compare_nonnull_c == compare_nonnull_d;", + "AS240: Ambiguous operator overload '==' (conflicting overloads 'operator-overload-ambiguity/A#__eq' and 'operator-overload-ambiguity/B#__eq').", + "compare_extend_1 == compare_extend_2;", + "EOF" + ] +} diff --git a/tests/compiler/operator-overload-ambiguity.ts b/tests/compiler/operator-overload-ambiguity.ts new file mode 100644 index 0000000000..b7826adc4b --- /dev/null +++ b/tests/compiler/operator-overload-ambiguity.ts @@ -0,0 +1,38 @@ +class A { + @operator("==") __eq(other: B): bool { + return true; + } +} +class B { + @operator("==") __eq(other: A): bool { + return true; + } +} +export function compare_nonnull(compare_nonnull_a: A, compare_nonnull_b: B): void { + compare_nonnull_a == compare_nonnull_b; + compare_nonnull_b == compare_nonnull_a; +} + +class C { + @operator("==") static __eq(self: C | null, other: D | null): bool { + return true; + } +} +class D { + @operator("==") __eq(other: i32): bool { + return true; + } +} +export function compare_null(compare_nonnull_c: C | null, compare_nonnull_d: D | null): void { + compare_nonnull_c == compare_nonnull_d; +} + +class PA extends A {} +class PB extends B {} +export function compare_extend(compare_extend_1: PA, compare_extend_2: PB): void { + compare_extend_1 == compare_extend_2; +} + +export function end(): void { + ERROR("EOF"); +} diff --git a/tests/compiler/operator-overload-non-ambiguity.debug.wat b/tests/compiler/operator-overload-non-ambiguity.debug.wat new file mode 100644 index 0000000000..af1c4b6144 --- /dev/null +++ b/tests/compiler/operator-overload-non-ambiguity.debug.wat @@ -0,0 +1,2614 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 512)) + (global $~lib/memory/__data_end i32 (i32.const 548)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33316)) + (global $~lib/memory/__heap_base i32 (i32.const 33316)) + (memory $0 1) + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00-\00n\00o\00n\00-\00a\00m\00b\00i\00g\00u\00i\00t\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 512) "\08\00\00\00 \00\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 1 funcref) + (elem $0 (i32.const 1)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) + local.get $this + local.get $nextWithColor + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:prev + local.get $space + return + ) + (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + return + ) + (func $~lib/rt/itcms/Object#get:color (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + return + ) + (func $~lib/rt/itcms/visitRoots (param $cookie i32) + (local $pn i32) + (local $iter i32) + local.get $cookie + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $pn + local.get $pn + call $~lib/rt/itcms/Object#get:next + local.set $iter + loop $while-continue|0 + local.get $iter + local.get $pn + i32.ne + if + i32.const 1 + drop + local.get $iter + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 160 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $iter + i32.const 20 + i32.add + local.get $cookie + call $~lib/rt/__visit_members + local.get $iter + call $~lib/rt/itcms/Object#get:next + local.set $iter + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $this i32) (param $color i32) + local.get $this + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $color + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) + local.get $this + local.get $obj + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $this i32) + (local $next i32) + (local $prev i32) + local.get $this + call $~lib/rt/itcms/Object#get:next + local.set $next + local.get $next + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $this + call $~lib/rt/itcms/Object#get:prev + i32.const 0 + i32.eq + if (result i32) + local.get $this + 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 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return + end + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.set $prev + i32.const 1 + drop + local.get $prev + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $next + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $next + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/__typeinfo (param $id i32) (result i32) + (local $ptr i32) + global.get $~lib/rt/__rtti_base + local.set $ptr + local.get $id + local.get $ptr + i32.load + i32.gt_u + if + i32.const 224 + i32.const 288 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $ptr + i32.const 4 + i32.add + local.get $id + i32.const 4 + i32.mul + i32.add + call $~lib/shared/typeinfo/Typeinfo#get:flags + return + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $this i32) (result i32) + (local $rtId i32) + local.get $this + call $~lib/rt/itcms/Object#get:rtId + local.set $rtId + local.get $rtId + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $rtId + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + return + ) + (func $~lib/rt/itcms/Object#linkTo (param $this i32) (param $list i32) (param $withColor i32) + (local $prev i32) + local.get $list + call $~lib/rt/itcms/Object#get:prev + local.set $prev + local.get $this + local.get $list + local.get $withColor + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $this + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $this + call $~lib/rt/itcms/Object#set:next + local.get $list + local.get $this + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $this i32) + (local $1 i32) + local.get $this + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 96 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $this + call $~lib/rt/itcms/Object#unlink + local.get $this + global.get $~lib/rt/itcms/toSpace + local.get $this + 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 $ptr i32) (param $cookie i32) + (local $obj i32) + local.get $ptr + i32.eqz + if + return + end + local.get $ptr + i32.const 20 + i32.sub + local.set $obj + i32.const 0 + drop + local.get $obj + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $obj + 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 $cookie i32) + (local $ptr i32) + global.get $~lib/memory/__stack_pointer + local.set $ptr + loop $while-continue|0 + local.get $ptr + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $ptr + i32.load + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + br $while-continue|0 + end + end + ) + (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) + i32.const 4 + local.get $this + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + return + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) + local.get $this + local.get $flMap + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) + local.get $this + local.get $next + i32.store offset=8 + ) + (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) + (local $blockInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $6 i32) + (local $7 i32) + (local $boundedSize i32) + (local $prev i32) + (local $next i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $root|14 i32) + (local $fl|15 i32) + (local $sl|16 i32) + (local $head i32) + (local $root|18 i32) + (local $fl|19 i32) + (local $slMap i32) + (local $root|21 i32) + (local $fl|22 i32) + (local $slMap|23 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + 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 $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + 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 $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + 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 $block + call $~lib/rt/tlsf/Block#get:prev + local.set $prev + local.get $block + call $~lib/rt/tlsf/Block#get:next + local.set $next + local.get $prev + if + local.get $prev + local.get $next + call $~lib/rt/tlsf/Block#set:next + end + local.get $next + if + local.get $next + local.get $prev + call $~lib/rt/tlsf/Block#set:prev + end + local.get $block + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end + i32.eq + if + local.get $root + local.set $root|14 + local.get $fl + local.set $fl|15 + local.get $sl + local.set $sl|16 + local.get $next + local.set $head + local.get $root|14 + local.get $fl|15 + i32.const 4 + i32.shl + local.get $sl|16 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $next + i32.eqz + if + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end + local.set $slMap + local.get $root + local.set $root|21 + local.get $fl + local.set $fl|22 + local.get $slMap + i32.const 1 + local.get $sl + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $slMap + local.set $slMap|23 + local.get $root|21 + local.get $fl|22 + i32.const 2 + i32.shl + i32.add + local.get $slMap|23 + i32.store offset=4 + local.get $slMap + i32.eqz + if + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + 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 $root i32) (param $block i32) + (local $blockInfo i32) + (local $block|3 i32) + (local $right i32) + (local $rightInfo i32) + (local $block|6 i32) + (local $block|7 i32) + (local $left i32) + (local $leftInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $13 i32) + (local $14 i32) + (local $boundedSize i32) + (local $root|16 i32) + (local $fl|17 i32) + (local $sl|18 i32) + (local $head i32) + (local $root|20 i32) + (local $fl|21 i32) + (local $sl|22 i32) + (local $head|23 i32) + (local $root|24 i32) + (local $fl|25 i32) + (local $root|26 i32) + (local $fl|27 i32) + (local $slMap i32) + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + 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 + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + local.get $rightInfo + i32.const 1 + i32.and + if + local.get $root + local.get $right + call $~lib/rt/tlsf/removeBlock + local.get $block + local.get $blockInfo + i32.const 4 + i32.add + local.get $rightInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + end + local.get $blockInfo + i32.const 2 + i32.and + if + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end + local.set $left + local.get $left + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $leftInfo + i32.const 1 + drop + local.get $leftInfo + 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 $root + local.get $left + call $~lib/rt/tlsf/removeBlock + local.get $left + local.set $block + local.get $block + local.get $leftInfo + i32.const 4 + i32.add + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $right + local.get $rightInfo + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + 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 $block + i32.const 4 + i32.add + local.get $size + i32.add + local.get $right + 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 $right + i32.const 4 + i32.sub + local.get $block + i32.store + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $13 + i32.const 1073741820 + local.tee $14 + local.get $13 + local.get $14 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + 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 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end + local.set $head + local.get $block + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $block + local.get $head + call $~lib/rt/tlsf/Block#set:next + local.get $head + if + local.get $head + local.get $block + call $~lib/rt/tlsf/Block#set:prev + end + local.get $root + local.set $root|20 + local.get $fl + local.set $fl|21 + local.get $sl + local.set $sl|22 + local.get $block + local.set $head|23 + local.get $root|20 + local.get $fl|21 + i32.const 4 + i32.shl + local.get $sl|22 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head|23 + i32.store offset=96 + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|26 + local.get $fl + local.set $fl|27 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end + i32.const 1 + local.get $sl + i32.shl + i32.or + local.set $slMap + local.get $root|26 + local.get $fl|27 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) + (local $tail i32) + (local $tailInfo i32) + (local $size i32) + (local $leftSize i32) + (local $left i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end + i32.const 1 + drop + local.get $start + i64.extend_i32_u + local.get $endU64 + i64.le_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 382 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $start + 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 $start + local.get $end + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $end + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|4 + local.get $root|4 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end + local.set $tail + i32.const 0 + local.set $tailInfo + local.get $tail + if + i32.const 1 + drop + local.get $start + local.get $tail + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $start + i32.const 16 + i32.sub + local.get $tail + i32.eq + if + local.get $start + i32.const 16 + i32.sub + local.set $start + local.get $tail + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $tailInfo + else + end + else + i32.const 1 + drop + local.get $start + local.get $root + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $end + local.get $start + i32.sub + local.set $size + local.get $size + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $size + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $leftSize + local.get $start + local.set $left + local.get $left + local.get $leftSize + i32.const 1 + i32.or + local.get $tailInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $start + i32.const 4 + i32.add + local.get $leftSize + i32.add + local.set $tail + local.get $tail + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.set $root|10 + local.get $tail + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 + local.get $root + local.get $left + call $~lib/rt/tlsf/insertBlock + i32.const 1 + return + ) + (func $~lib/rt/tlsf/initialize + (local $rootOffset i32) + (local $pagesBefore i32) + (local $pagesNeeded i32) + (local $root i32) + (local $root|4 i32) + (local $tail i32) + (local $fl i32) + (local $root|7 i32) + (local $fl|8 i32) + (local $slMap i32) + (local $sl i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $head i32) + (local $memStart 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 $rootOffset + memory.size + local.set $pagesBefore + local.get $rootOffset + 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 $pagesNeeded + local.get $pagesNeeded + local.get $pagesBefore + i32.gt_s + if (result i32) + local.get $pagesNeeded + local.get $pagesBefore + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $rootOffset + local.set $root + local.get $root + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|4 + i32.const 0 + local.set $tail + local.get $root|4 + local.get $tail + i32.store offset=1568 + i32.const 0 + local.set $fl + loop $for-loop|0 + local.get $fl + i32.const 23 + i32.lt_u + if + local.get $root + local.set $root|7 + local.get $fl + local.set $fl|8 + i32.const 0 + local.set $slMap + local.get $root|7 + local.get $fl|8 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + i32.const 0 + local.set $sl + loop $for-loop|1 + local.get $sl + i32.const 16 + i32.lt_u + if + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + i32.const 0 + local.set $head + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $sl + i32.const 1 + i32.add + local.set $sl + br $for-loop|1 + end + end + local.get $fl + i32.const 1 + i32.add + local.set $fl + br $for-loop|0 + end + end + local.get $rootOffset + i32.const 1572 + i32.add + local.set $memStart + i32.const 0 + drop + local.get $root + local.get $memStart + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $root + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/checkUsedBlock (param $ptr i32) (result i32) + (local $block i32) + local.get $ptr + i32.const 4 + i32.sub + local.set $block + local.get $ptr + i32.const 0 + i32.ne + if (result i32) + local.get $ptr + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 562 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $block + return + ) + (func $~lib/rt/tlsf/freeBlock (param $root i32) (param $block i32) + i32.const 0 + drop + local.get $block + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $block + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $ptr i32) + local.get $ptr + 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 $ptr + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $obj i32) + local.get $obj + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $obj + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $obj + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $obj i32) + (local $1 i32) + (local $black i32) + (local $from 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 $black + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $obj + loop $while-continue|1 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + global.set $~lib/rt/itcms/iter + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + 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 $obj + local.get $obj + 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 $obj + loop $while-continue|2 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + local.get $obj + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $from + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $from + global.set $~lib/rt/itcms/toSpace + local.get $black + global.set $~lib/rt/itcms/white + local.get $from + 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 $obj + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $obj + 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 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $obj + 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 + return + ) + (func $~lib/rt/itcms/interrupt + (local $budget 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 $budget + loop $do-loop|0 + local.get $budget + call $~lib/rt/itcms/step + i32.sub + local.set $budget + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + drop + global.get $~lib/rt/itcms/total + i32.const 200 + i32.const 100 + i32.div_u + i32.mul + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $budget + 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 $size i32) (result i32) + local.get $size + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $size + 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 + return + ) + (func $~lib/rt/tlsf/prepareSize (param $size i32) (result i32) + local.get $size + i32.const 1073741820 + i32.gt_u + if + i32.const 32 + i32.const 368 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $size + call $~lib/rt/tlsf/computeSize + return + ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) + (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) + (local $fl i32) + (local $sl i32) + (local $requestSize i32) + (local $root|5 i32) + (local $fl|6 i32) + (local $slMap i32) + (local $head i32) + (local $flMap i32) + (local $root|10 i32) + (local $fl|11 i32) + (local $root|12 i32) + (local $fl|13 i32) + (local $sl|14 i32) + (local $root|15 i32) + (local $fl|16 i32) + (local $sl|17 i32) + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $requestSize + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub + local.get $requestSize + i32.clz + i32.sub + local.set $fl + local.get $requestSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 334 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end + i32.const 0 + i32.const -1 + i32.xor + local.get $sl + i32.shl + i32.and + local.set $slMap + i32.const 0 + local.set $head + local.get $slMap + i32.eqz + if + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 0 + i32.const -1 + i32.xor + local.get $fl + i32.const 1 + i32.add + i32.shl + i32.and + local.set $flMap + local.get $flMap + i32.eqz + if + i32.const 0 + local.set $head + else + local.get $flMap + i32.ctz + local.set $fl + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end + local.set $slMap + i32.const 1 + drop + local.get $slMap + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) + local.get $root + local.set $root|15 + local.get $fl + local.set $fl|16 + local.get $slMap + i32.ctz + local.set $sl|17 + local.get $root|15 + local.get $fl|16 + i32.const 4 + i32.shl + local.get $sl|17 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.3 + end + local.set $head + end + local.get $head + return + ) + (func $~lib/rt/tlsf/growMemory (param $root i32) (param $size i32) + (local $pagesBefore i32) + (local $root|3 i32) + (local $pagesNeeded i32) + (local $5 i32) + (local $6 i32) + (local $pagesWanted i32) + (local $pagesAfter i32) + i32.const 0 + drop + local.get $size + i32.const 256 + i32.ge_u + if + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $size + end + memory.size + local.set $pagesBefore + local.get $size + i32.const 4 + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 4 + i32.sub + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end + i32.ne + i32.shl + i32.add + local.set $size + local.get $size + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $5 + local.get $pagesNeeded + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $pagesAfter + local.get $root + local.get $pagesBefore + i32.const 16 + i32.shl + local.get $pagesAfter + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $root i32) (param $block i32) (param $size i32) + (local $blockInfo i32) + (local $remaining i32) + (local $spare i32) + (local $block|6 i32) + (local $block|7 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $size + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $size + i32.sub + local.set $remaining + local.get $remaining + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $block + local.get $size + local.get $blockInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.set $spare + local.get $spare + local.get $remaining + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $spare + call $~lib/rt/tlsf/insertBlock + else + local.get $block + local.get $blockInfo + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $root i32) (param $size i32) (result i32) + (local $payloadSize i32) + (local $block i32) + local.get $size + call $~lib/rt/tlsf/prepareSize + local.set $payloadSize + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + local.get $block + i32.eqz + if + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/growMemory + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $payloadSize + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $block + call $~lib/rt/tlsf/removeBlock + local.get $root + local.get $block + local.get $payloadSize + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $block + return + ) + (func $~lib/rt/tlsf/__alloc (param $size 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 $size + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + return + ) + (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) + local.get $this + local.get $rtId + i32.store offset=12 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) + local.get $this + local.get $rtSize + i32.store offset=16 + ) + (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) + (local $obj i32) + (local $ptr i32) + local.get $size + i32.const 1073741804 + i32.ge_u + if + i32.const 32 + i32.const 96 + i32.const 261 + 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 $size + i32.add + call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub + local.set $obj + local.get $obj + local.get $id + call $~lib/rt/itcms/Object#set:rtId + local.get $obj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $obj + i32.const 20 + i32.add + local.set $ptr + local.get $ptr + i32.const 0 + local.get $size + memory.fill + local.get $ptr + return + ) + (func $operator-overload-non-ambiguity/Base#__eq (param $this i32) (param $other i32) (result i32) + i32.const 1 + return + ) + (func $operator-overload-non-ambiguity/T1#__eq (param $this i32) (param $other i32) (result i32) + local.get $other + i32.const 123 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 14 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + return + ) + (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) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $operator-overload-non-ambiguity/T1 + block $operator-overload-non-ambiguity/P2 + block $operator-overload-non-ambiguity/Base + block $operator-overload-non-ambiguity/P1 + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $operator-overload-non-ambiguity/P1 $operator-overload-non-ambiguity/Base $operator-overload-non-ambiguity/P2 $operator-overload-non-ambiguity/T1 $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + return + end + return + end + return + end + unreachable + ) + (func $~start + call $start:operator-overload-non-ambiguity + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33344 + i32.const 33392 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $operator-overload-non-ambiguity/Base#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $operator-overload-non-ambiguity/P1#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $operator-overload-non-ambiguity/Base#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $operator-overload-non-ambiguity/P2#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $operator-overload-non-ambiguity/Base#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $operator-overload-non-ambiguity/T1#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $start:operator-overload-non-ambiguity + (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 + i32.const 0 + call $operator-overload-non-ambiguity/P1#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 0 + call $operator-overload-non-ambiguity/P2#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + call $operator-overload-non-ambiguity/Base#__eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 10 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $operator-overload-non-ambiguity/T1#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 123 + call $operator-overload-non-ambiguity/T1#__eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 18 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $operator-overload-non-ambiguity/T1#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 123 + call $operator-overload-non-ambiguity/T1#__eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 19 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) +) diff --git a/tests/compiler/operator-overload-non-ambiguity.json b/tests/compiler/operator-overload-non-ambiguity.json new file mode 100644 index 0000000000..ea57a955e1 --- /dev/null +++ b/tests/compiler/operator-overload-non-ambiguity.json @@ -0,0 +1,3 @@ +{ + "asc_flags": [] +} diff --git a/tests/compiler/operator-overload-non-ambiguity.release.wat b/tests/compiler/operator-overload-non-ambiguity.release.wat new file mode 100644 index 0000000000..177a9d0d5c --- /dev/null +++ b/tests/compiler/operator-overload-non-ambiguity.release.wat @@ -0,0 +1,1649 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (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 34340)) + (memory $0 1) + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "\\") + (data $8.1 (i32.const 1448) "\02\00\00\00D\00\00\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00-\00n\00o\00n\00-\00a\00m\00b\00i\00g\00u\00i\00t\00y\00.\00t\00s") + (data $9 (i32.const 1536) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 ") + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + i32.const 1248 + call $~lib/rt/itcms/__visit + i32.const 1056 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 160 + 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/__visit (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $1 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $1 + i32.load offset=8 + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + 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$116 + local.get $1 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34340 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$116 + end + local.get $1 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1536 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1540 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load offset=8 + local.set $0 + local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + 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 + ) + (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 $3 + 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 $3 + i32.const -4 + i32.and + local.tee $3 + 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 $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1073741820 + local.get $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $2 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $3 + 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 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 $1 + local.get $0 + local.get $2 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=96 + i32.eq + if + local.get $1 + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $3 + i32.rotl + i32.and + local.set $3 + local.get $1 + local.get $3 + i32.store offset=4 + local.get $3 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $2 + 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 $4 + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + 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 + i32.const 1073741820 + local.get $2 + local.get $2 + i32.const 1073741820 + i32.ge_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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + 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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + 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 $5 + i32.shl + i32.or + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + 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 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.get $1 + i64.extend_i32_u + i64.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 382 + 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 $3 + if + local.get $3 + i32.const 4 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + local.tee $5 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $5 + local.set $1 + end + else + local.get $0 + i32.const 1572 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.wrap_i64 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $3 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + 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 $1 + i32.const 4 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.const 2 + i32.store + local.get $0 + local.get $3 + 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 34352 + i32.const 0 + i32.store + i32.const 35920 + 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 34352 + 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 $0 + i32.const 4 + i32.shl + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.const 34352 + 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 34352 + i32.const 35924 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + i32.const 34352 + 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 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 34340 + i32.lt_u + if + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 34340 + 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 34340 + 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 562 + 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 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (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 $0 + local.get $1 + 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 $2 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + 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 + 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$69 + 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 + i32.const 1 + i32.shl + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt$69 + end + local.get $1 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + 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 + i64.extend_i32_s + i64.const 16 + i64.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 499 + 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 501 + 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 $3 + i32.const -4 + i32.and + i32.const 28 + i32.sub + local.tee $4 + i32.const 16 + i32.ge_u + if + local.get $1 + local.get $3 + i32.const 2 + i32.and + i32.const 28 + i32.or + i32.store + local.get $1 + i32.const 32 + i32.add + local.tee $3 + local.get $4 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $2 + local.get $3 + 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.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 + local.get $0 + global.get $~lib/rt/itcms/white + i32.or + i32.store offset=4 + local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 + local.tee $0 + i32.const 0 + i32.const 0 + memory.fill + local.get $0 + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $invalid + block $operator-overload-non-ambiguity/T1 + block $operator-overload-non-ambiguity/P2 + block $operator-overload-non-ambiguity/Base + block $operator-overload-non-ambiguity/P1 + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $operator-overload-non-ambiguity/P1 $operator-overload-non-ambiguity/Base $operator-overload-non-ambiguity/P2 $operator-overload-non-ambiguity/T1 $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + return + end + return + end + return + end + return + end + unreachable + ) + (func $~start + (local $0 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 1572 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + memory.size + i32.const 16 + i32.shl + i32.const 34340 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1572 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $operator-overload-non-ambiguity/Base#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1572 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $operator-overload-non-ambiguity/Base#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + call $operator-overload-non-ambiguity/T1#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + call $operator-overload-non-ambiguity/T1#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34368 + i32.const 34416 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $operator-overload-non-ambiguity/Base#constructor (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1572 + i32.lt_s + if + i32.const 34368 + i32.const 34416 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $operator-overload-non-ambiguity/T1#constructor (result i32) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1572 + i32.lt_s + if + i32.const 34368 + i32.const 34416 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/object/Object#constructor (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1572 + i32.lt_s + if + i32.const 34368 + i32.const 34416 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) +) diff --git a/tests/compiler/operator-overload-non-ambiguity.ts b/tests/compiler/operator-overload-non-ambiguity.ts new file mode 100644 index 0000000000..cf8c4be9ee --- /dev/null +++ b/tests/compiler/operator-overload-non-ambiguity.ts @@ -0,0 +1,19 @@ +class Base { + @operator("==") __eq(other: Base): bool { + return true; + } +} + +class P1 extends Base {} +class P2 extends Base {} + +assert(new P1() == new P2()); + +class T1 { + @operator("==") __eq(other: i32): bool { + assert(other == 123); + return true; + } +} +assert(new T1() == 123); +assert(123 == new T1()); diff --git a/tests/compiler/optional-typeparameters.debug.wat b/tests/compiler/optional-typeparameters.debug.wat index 6c16287a0a..f0ccf39b01 100644 --- a/tests/compiler/optional-typeparameters.debug.wat +++ b/tests/compiler/optional-typeparameters.debug.wat @@ -1,14 +1,15 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 (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))) - (type $i32_f64_f64_=>_f64 (func (param i32 f64 f64) (result f64))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i32 i32) (result i32))) + (type $10 (func (param i32 f64 f64) (result f64))) (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)) @@ -33,36 +34,36 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33224)) (global $~lib/memory/__heap_base i32 (i32.const 33224)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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 416) "\t\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00\02A\00\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\t\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00\02A\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) - (func $optional-typeparameters/testConcrete (param $a i32) (result i32) + (func $"optional-typeparameters/testConcrete" (param $a i32) (result i32) local.get $a return ) - (func $optional-typeparameters/testDerived (param $a i32) (result i32) + (func $"optional-typeparameters/testDerived" (param $a i32) (result i32) local.get $a return ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -76,7 +77,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -150,7 +151,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -220,11 +221,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -232,7 +233,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -364,7 +365,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -377,7 +378,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -393,34 +394,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -580,7 +581,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -603,7 +604,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -617,7 +618,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -640,7 +641,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -783,7 +784,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -869,7 +870,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -949,7 +950,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -983,7 +984,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1006,7 +1007,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1020,27 +1021,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1065,9 +1071,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1086,7 +1092,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1105,7 +1111,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1119,7 +1124,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1175,12 +1180,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1214,7 +1219,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1235,7 +1240,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1255,7 +1260,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1275,7 +1280,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1301,7 +1306,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1324,9 +1329,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1362,7 +1368,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1628,14 +1634,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1691,7 +1700,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1700,6 +1709,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1729,24 +1758,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1784,7 +1802,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1799,7 +1817,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1844,7 +1862,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1855,7 +1873,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1877,7 +1895,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1900,7 +1918,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1919,22 +1937,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1947,7 +1957,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1974,27 +1984,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2019,7 +2030,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2134,7 +2145,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2154,7 +2165,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2187,12 +2198,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2243,17 +2254,17 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) - (func $optional-typeparameters/TestConcrete#test (param $this i32) (param $a i32) (param $b i32) (result i32) + (func $"optional-typeparameters/TestConcrete#test" (param $this i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b i32.add return ) - (func $optional-typeparameters/TestDerived#test (param $this i32) (param $a f64) (param $b f64) (result f64) + (func $"optional-typeparameters/TestDerived#test" (param $this i32) (param $a f64) (param $b f64) (result f64) local.get $a local.get $b f64.add @@ -2308,28 +2319,23 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/string/String>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2344,8 +2350,8 @@ block $optional-typeparameters/TestMethodDerived2 block $~lib/array/Array<~lib/string/String> block $optional-typeparameters/TestMethodDerived<~lib/string/String> - block $optional-typeparameters/TestDerived - block $optional-typeparameters/TestConcrete + block $"optional-typeparameters/TestDerived" + block $"optional-typeparameters/TestConcrete" block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer @@ -2353,8 +2359,8 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $optional-typeparameters/TestConcrete $optional-typeparameters/TestDerived $optional-typeparameters/TestMethodDerived<~lib/string/String> $~lib/array/Array<~lib/string/String> $optional-typeparameters/TestMethodDerived2 $invalid + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $"optional-typeparameters/TestConcrete" $"optional-typeparameters/TestDerived" $optional-typeparameters/TestMethodDerived<~lib/string/String> $~lib/array/Array<~lib/string/String> $optional-typeparameters/TestMethodDerived2 $invalid end return end @@ -2398,7 +2404,7 @@ unreachable end ) - (func $optional-typeparameters/TestConcrete#constructor (param $this i32) (result i32) + (func $"optional-typeparameters/TestConcrete#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2407,7 +2413,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2416,18 +2422,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2436,7 +2442,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $optional-typeparameters/TestDerived#constructor (param $this i32) (result i32) + (func $"optional-typeparameters/TestDerived#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2445,7 +2451,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2454,18 +2460,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2483,7 +2489,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2492,18 +2498,18 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2521,7 +2527,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2530,18 +2536,18 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2559,12 +2565,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $v local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $optional-typeparameters/TestMethodDerived<~lib/string/String>#test<~lib/array/Array<~lib/string/String>> global.get $~lib/memory/__stack_pointer @@ -2581,14 +2587,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 1 - call $optional-typeparameters/testConcrete + call $"optional-typeparameters/testConcrete" drop i32.const 2 - call $optional-typeparameters/testDerived + call $"optional-typeparameters/testDerived" drop - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2606,30 +2612,30 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace i32.const 0 - call $optional-typeparameters/TestConcrete#constructor + call $"optional-typeparameters/TestConcrete#constructor" global.set $optional-typeparameters/tConcrete global.get $optional-typeparameters/tConcrete local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 i32.const 2 - call $optional-typeparameters/TestConcrete#test + call $"optional-typeparameters/TestConcrete#test" drop i32.const 0 - call $optional-typeparameters/TestDerived#constructor + call $"optional-typeparameters/TestDerived#constructor" global.set $optional-typeparameters/tDerived global.get $optional-typeparameters/tDerived local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 f64.const 1 f64.const 2 - call $optional-typeparameters/TestDerived#test + call $"optional-typeparameters/TestDerived#test" drop i32.const 0 call $optional-typeparameters/TestMethodDerived<~lib/string/String>#constructor @@ -2638,7 +2644,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $optional-typeparameters/TestMethodDerived<~lib/string/String>#test<~lib/array/Array<~lib/string/String>> i32.const 0 @@ -2648,13 +2654,13 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 global.get $optional-typeparameters/tMethodDerived local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $optional-typeparameters/TestMethodDerived2#foo global.get $~lib/memory/__stack_pointer @@ -2674,14 +2680,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $cur @@ -2690,7 +2696,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length_ i32.const 2 @@ -2703,7 +2709,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -2722,7 +2728,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:buffer local.get $cookie @@ -2741,7 +2747,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2750,7 +2756,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/optional-typeparameters.release.wat b/tests/compiler/optional-typeparameters.release.wat index 502821f9fc..86224fcc4c 100644 --- a/tests/compiler/optional-typeparameters.release.wat +++ b/tests/compiler/optional-typeparameters.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $0 (func)) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (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)) @@ -23,17 +23,17 @@ (global $optional-typeparameters/tMethodDerived2 (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34248)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\t\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00\02A\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1440) "\t\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00\02A\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -43,33 +43,33 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $optional-typeparameters/tDerived local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $optional-typeparameters/tMethodDerived local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $optional-typeparameters/tMethodDerived2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -79,7 +79,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -97,7 +97,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -105,137 +105,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34248 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$131 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34248 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$131 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1440 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1444 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -243,8 +263,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -256,10 +276,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -270,29 +290,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -300,10 +320,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -317,75 +337,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -407,7 +420,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -424,12 +437,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -446,17 +459,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -466,9 +479,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -493,13 +506,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -533,7 +546,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -589,19 +602,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -613,15 +626,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -629,23 +642,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -659,10 +674,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -670,23 +685,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -698,52 +712,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -751,7 +766,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -759,7 +774,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -770,10 +785,10 @@ end i32.const 34256 i32.const 0 - i32.store $0 + i32.store i32.const 35824 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -785,7 +800,7 @@ i32.const 34256 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -803,7 +818,7 @@ i32.const 34256 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -820,9 +835,10 @@ end i32.const 34256 i32.const 35828 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34256 global.set $~lib/rt/tlsf/ROOT @@ -852,7 +868,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -865,19 +881,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -888,7 +904,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -900,7 +916,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -913,12 +929,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -927,7 +939,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -938,26 +950,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -973,7 +985,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -989,7 +1001,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1014,14 +1026,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1041,7 +1053,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1056,25 +1067,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1083,12 +1093,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1098,7 +1107,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1109,10 +1118,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1124,13 +1133,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1145,7 +1154,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1160,7 +1169,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1172,16 +1181,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1189,8 +1194,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1212,11 +1216,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1235,12 +1239,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1251,9 +1255,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1262,14 +1267,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1277,7 +1282,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1286,7 +1291,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1302,7 +1307,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1312,7 +1317,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1321,54 +1326,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1381,7 +1386,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1392,8 +1397,8 @@ block $optional-typeparameters/TestMethodDerived2 block $~lib/array/Array<~lib/string/String> block $optional-typeparameters/TestMethodDerived<~lib/string/String> - block $optional-typeparameters/TestDerived - block $optional-typeparameters/TestConcrete + block $"optional-typeparameters/TestDerived" + block $"optional-typeparameters/TestConcrete" block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer @@ -1401,8 +1406,8 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $optional-typeparameters/TestConcrete $optional-typeparameters/TestDerived $optional-typeparameters/TestMethodDerived<~lib/string/String> $~lib/array/Array<~lib/string/String> $optional-typeparameters/TestMethodDerived2 $invalid + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $"optional-typeparameters/TestConcrete" $"optional-typeparameters/TestDerived" $optional-typeparameters/TestMethodDerived<~lib/string/String> $~lib/array/Array<~lib/string/String> $optional-typeparameters/TestMethodDerived2 $invalid end return end @@ -1411,12 +1416,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1441,21 +1442,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl i32.add @@ -1466,11 +1466,11 @@ i32.lt_u if local.get $1 - i32.load $0 + i32.load local.tee $3 if local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $1 i32.const 4 @@ -1481,14 +1481,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1501,7 +1497,6 @@ ) (func $~start (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1512,10 +1507,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - memory.size $0 + i64.store + memory.size i32.const 16 i32.shl i32.const 34248 @@ -1525,29 +1519,29 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1556,23 +1550,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1581,7 +1573,7 @@ global.set $optional-typeparameters/tConcrete global.get $~lib/memory/__stack_pointer global.get $optional-typeparameters/tConcrete - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1591,23 +1583,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1616,7 +1606,7 @@ global.set $optional-typeparameters/tDerived global.get $~lib/memory/__stack_pointer global.get $optional-typeparameters/tDerived - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1626,23 +1616,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1651,7 +1639,7 @@ global.set $optional-typeparameters/tMethodDerived global.get $~lib/memory/__stack_pointer global.get $optional-typeparameters/tMethodDerived - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1661,23 +1649,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1686,11 +1672,11 @@ global.set $optional-typeparameters/tMethodDerived2 global.get $~lib/memory/__stack_pointer global.get $optional-typeparameters/tMethodDerived2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $optional-typeparameters/tMethodDerived local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1700,13 +1686,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -1741,7 +1726,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1749,7 +1734,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1757,23 +1742,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/overflow.debug.wat b/tests/compiler/overflow.debug.wat index 8de3a4e1c4..66d363d737 100644 --- a/tests/compiler/overflow.debug.wat +++ b/tests/compiler/overflow.debug.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__data_end i32 (i32.const 60)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/overflow.release.wat b/tests/compiler/overflow.release.wat index e36eef41ca..c01f5ed58b 100644 --- a/tests/compiler/overflow.release.wat +++ b/tests/compiler/overflow.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\16\00\00\00o\00v\00e\00r\00f\00l\00o\00w\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/packages.debug.wat b/tests/compiler/packages.debug.wat index 13aa0a1377..1427d6bbee 100644 --- a/tests/compiler/packages.debug.wat +++ b/tests/compiler/packages.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/a/index/a i32 (i32.const 1)) (global $~lib/c/index/c i32 (i32.const 3)) (global $~lib/b/index/b i32 (i32.const 2)) diff --git a/tests/compiler/polyfills.debug.wat b/tests/compiler/polyfills.debug.wat new file mode 100644 index 0000000000..38b080c31a --- /dev/null +++ b/tests/compiler/polyfills.debug.wat @@ -0,0 +1,511 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i64) (result i64))) + (type $2 (func)) + (type $3 (func (param i32 i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/memory/__data_end i32 (i32.const 60)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) + (global $~lib/memory/__heap_base i32 (i32.const 32828)) + (memory $0 1) + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00p\00o\00l\00y\00f\00i\00l\00l\00s\00.\00t\00s\00\00\00\00\00") + (table $0 1 1 funcref) + (elem $0 (i32.const 1)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/polyfills/bswap (param $value i32) (result i32) + i32.const 1 + drop + i32.const 1 + i32.const 1 + i32.eq + drop + local.get $value + return + ) + (func $~lib/polyfills/bswap (param $value i32) (result i32) + i32.const 1 + drop + i32.const 1 + i32.const 1 + i32.eq + drop + local.get $value + return + ) + (func $~lib/polyfills/bswap (param $value i32) (result i32) + i32.const 1 + drop + i32.const 2 + i32.const 1 + i32.eq + drop + i32.const 2 + i32.const 2 + i32.eq + drop + local.get $value + i32.const 8 + i32.const 15 + i32.and + i32.shl + local.get $value + i32.const 65535 + i32.and + i32.const 8 + i32.const 15 + i32.and + i32.shr_u + i32.or + return + ) + (func $~lib/polyfills/bswap (param $value i32) (result i32) + i32.const 1 + drop + i32.const 2 + i32.const 1 + i32.eq + drop + i32.const 2 + i32.const 2 + i32.eq + drop + local.get $value + i32.const 8 + i32.const 15 + i32.and + i32.shl + local.get $value + i32.const 65535 + i32.and + i32.const 8 + i32.const 15 + i32.and + i32.shr_u + i32.or + return + ) + (func $~lib/polyfills/bswap (param $value i32) (result i32) + i32.const 1 + drop + i32.const 4 + i32.const 1 + i32.eq + drop + i32.const 4 + i32.const 2 + i32.eq + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $value + i32.const -16711936 + i32.and + i32.const 8 + i32.rotl + local.get $value + i32.const 16711935 + i32.and + i32.const 8 + i32.rotr + i32.or + return + ) + (func $~lib/polyfills/bswap (param $value i32) (result i32) + i32.const 1 + drop + i32.const 4 + i32.const 1 + i32.eq + drop + i32.const 4 + i32.const 2 + i32.eq + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $value + i32.const -16711936 + i32.and + i32.const 8 + i32.rotl + local.get $value + i32.const 16711935 + i32.and + i32.const 8 + i32.rotr + i32.or + return + ) + (func $~lib/polyfills/bswap (param $value i64) (result i64) + (local $a i64) + (local $b i64) + (local $v i64) + i32.const 1 + drop + i32.const 8 + i32.const 1 + i32.eq + drop + i32.const 8 + i32.const 2 + i32.eq + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $value + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.set $a + local.get $value + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + local.set $b + local.get $a + local.get $b + i64.or + local.set $v + local.get $v + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.set $a + local.get $v + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + local.set $b + local.get $a + local.get $b + i64.or + i64.const 32 + i64.rotr + return + ) + (func $~lib/polyfills/bswap (param $value i64) (result i64) + (local $a i64) + (local $b i64) + (local $v i64) + i32.const 1 + drop + i32.const 8 + i32.const 1 + i32.eq + drop + i32.const 8 + i32.const 2 + i32.eq + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $value + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.set $a + local.get $value + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + local.set $b + local.get $a + local.get $b + i64.or + local.set $v + local.get $v + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.set $a + local.get $v + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + local.set $b + local.get $a + local.get $b + i64.or + i64.const 32 + i64.rotr + return + ) + (func $~lib/polyfills/bswap (param $value i32) (result i32) + i32.const 1 + drop + i32.const 4 + i32.const 1 + i32.eq + drop + i32.const 4 + i32.const 2 + i32.eq + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $value + i32.const -16711936 + i32.and + i32.const 8 + i32.rotl + local.get $value + i32.const 16711935 + i32.and + i32.const 8 + i32.rotr + i32.or + return + ) + (func $~lib/polyfills/bswap (param $value i32) (result i32) + i32.const 1 + drop + i32.const 4 + i32.const 1 + i32.eq + drop + i32.const 4 + i32.const 2 + i32.eq + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $value + i32.const -16711936 + i32.and + i32.const 8 + i32.rotl + local.get $value + i32.const 16711935 + i32.and + i32.const 8 + i32.rotr + i32.or + return + ) + (func $start:polyfills + i32.const 170 + call $~lib/polyfills/bswap + i32.const 255 + i32.and + i32.const 170 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 2 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 170 + call $~lib/polyfills/bswap + i32.extend8_s + i32.const 170 + i32.extend8_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 3 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 43707 + call $~lib/polyfills/bswap + i32.const 65535 + i32.and + i32.const 48042 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 6 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 43707 + call $~lib/polyfills/bswap + i32.extend16_s + i32.const 48042 + i32.extend16_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 7 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 43707 + call $~lib/polyfills/bswap + i32.extend16_s + i32.const 48042 + i32.extend16_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 8 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1430532899 + call $~lib/polyfills/bswap + i32.const -573785174 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 11 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1430532899 + call $~lib/polyfills/bswap + i32.const -573785174 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1430532899 + call $~lib/polyfills/bswap + i32.const -573785174 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 13 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 4822679907192029 + call $~lib/polyfills/bswap + i64.const -2464388556401798912 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 16 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 4822679907192029 + call $~lib/polyfills/bswap + i64.const -2464388556401798912 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 17 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 4822679907192029 + call $~lib/polyfills/bswap + i64.const -2464388556401798912 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 18 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1430532899 + call $~lib/polyfills/bswap + i32.const -573785174 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 21 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1430532899 + call $~lib/polyfills/bswap + i32.const -573785174 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 22 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1430532899 + call $~lib/polyfills/bswap + i32.const -573785174 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 23 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~start + call $start:polyfills + ) +) diff --git a/tests/compiler/polyfills.json b/tests/compiler/polyfills.json new file mode 100644 index 0000000000..1bdd02b1be --- /dev/null +++ b/tests/compiler/polyfills.json @@ -0,0 +1,4 @@ +{ + "asc_flags": [ + ] +} diff --git a/tests/compiler/polyfills.release.wat b/tests/compiler/polyfills.release.wat new file mode 100644 index 0000000000..b46680aba3 --- /dev/null +++ b/tests/compiler/polyfills.release.wat @@ -0,0 +1,6 @@ +(module + (memory $0 1) + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\18\00\00\00p\00o\00l\00y\00f\00i\00l\00l\00s\00.\00t\00s") + (export "memory" (memory $0)) +) diff --git a/tests/compiler/polyfills.ts b/tests/compiler/polyfills.ts new file mode 100644 index 0000000000..02a6419106 --- /dev/null +++ b/tests/compiler/polyfills.ts @@ -0,0 +1,23 @@ +// check bswap for i8/u8 +assert(bswap(0xaa) == 0xaa); +assert(bswap(0xaa) == 0xaa); + +// check bswap for i16/u16 +assert(bswap(0xaabb) == 0xbbaa); +assert(bswap(0xaabb) == 0xbbaa); +assert(bswap(0xaabb) == 0xbbaa); + +// check bswap for i32/u32 +assert(bswap(0xaabbccdd) == 0xddccbbaa); +assert(bswap(0xaabbccdd) == 0xddccbbaa); +assert(bswap(0xaabbccdd) == 0xddccbbaa); + +// check bswap for i64/u64 +assert(bswap(0x00112233aabbccdd) == 0xddccbbaa33221100); +assert(bswap(0x00112233aabbccdd) == 0xddccbbaa33221100); +assert(bswap(0x00112233aabbccdd) == 0xddccbbaa33221100); + +// check bswap for isize/usize +assert(bswap(0xaabbccdd) == 0xddccbbaa); +assert(bswap(0xaabbccdd) == 0xddccbbaa); +assert(bswap(0xaabbccdd) == 0xddccbbaa); diff --git a/tests/compiler/portable-conversions.debug.wat b/tests/compiler/portable-conversions.debug.wat index f915f5c822..b166b9278f 100644 --- a/tests/compiler/portable-conversions.debug.wat +++ b/tests/compiler/portable-conversions.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $portable-conversions/i (mut i32) (i32.const 1)) (global $portable-conversions/I (mut i64) (i64.const 1)) @@ -10,7 +10,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32860)) (global $~lib/memory/__heap_base i32 (i32.const 32860)) (memory $0 1) - (data (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00p\00o\00r\00t\00a\00b\00l\00e\00-\00c\00o\00n\00v\00e\00r\00s\00i\00o\00n\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00p\00o\00r\00t\00a\00b\00l\00e\00-\00c\00o\00n\00v\00e\00r\00s\00i\00o\00n\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/portable-conversions.release.wat b/tests/compiler/portable-conversions.release.wat index 3b90f4a65f..671881b0f2 100644 --- a/tests/compiler/portable-conversions.release.wat +++ b/tests/compiler/portable-conversions.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) - (data (i32.const 1036) "L") - (data (i32.const 1048) "\02\00\00\00.\00\00\00p\00o\00r\00t\00a\00b\00l\00e\00-\00c\00o\00n\00v\00e\00r\00s\00i\00o\00n\00s\00.\00t\00s") + (data $0 (i32.const 1036) "L") + (data $0.1 (i32.const 1048) "\02\00\00\00.\00\00\00p\00o\00r\00t\00a\00b\00l\00e\00-\00c\00o\00n\00v\00e\00r\00s\00i\00o\00n\00s\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/possibly-null.debug.wat b/tests/compiler/possibly-null.debug.wat index 0c96d004c9..f528abfabe 100644 --- a/tests/compiler/possibly-null.debug.wat +++ b/tests/compiler/possibly-null.debug.wat @@ -1,9 +1,9 @@ (module - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func (param i32 i32 i32 i32))) + (type $4 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) @@ -142,7 +142,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store loop $while-continue|0 local.get $a if @@ -151,7 +151,7 @@ global.get $~lib/memory/__stack_pointer local.get $b local.tee $a - i32.store $0 + i32.store i32.const 1 i32.eqz drop @@ -171,7 +171,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store loop $while-continue|0 local.get $a if @@ -182,7 +182,7 @@ global.get $~lib/memory/__stack_pointer local.get $b local.tee $a - i32.store $0 + i32.store i32.const 0 drop end @@ -250,11 +250,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $b local.tee $a - i32.store $0 + i32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -291,14 +291,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a if (result i32) local.get $a local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $possibly-null/requireNonNull else @@ -319,7 +319,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a i32.eqz if (result i32) @@ -329,7 +329,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $possibly-null/requireNonNull i32.const 0 @@ -349,7 +349,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testTrue global.get $~lib/memory/__stack_pointer @@ -365,7 +365,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testFalseElse global.get $~lib/memory/__stack_pointer @@ -381,7 +381,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testFalseContinuation global.get $~lib/memory/__stack_pointer @@ -397,7 +397,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testNeNull global.get $~lib/memory/__stack_pointer @@ -413,7 +413,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testEqNullElse global.get $~lib/memory/__stack_pointer @@ -429,7 +429,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testEqNullContinuation global.get $~lib/memory/__stack_pointer @@ -445,7 +445,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testNotEqNull global.get $~lib/memory/__stack_pointer @@ -461,7 +461,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testNotNeNullElse global.get $~lib/memory/__stack_pointer @@ -477,7 +477,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testNotNeNullContinuation global.get $~lib/memory/__stack_pointer @@ -493,7 +493,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testWhile global.get $~lib/memory/__stack_pointer @@ -509,10 +509,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $possibly-null/testWhile2 @@ -529,10 +529,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $possibly-null/testWhile3 @@ -549,7 +549,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testLogicalAnd global.get $~lib/memory/__stack_pointer @@ -565,7 +565,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testLogicalOr global.get $~lib/memory/__stack_pointer @@ -581,10 +581,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $possibly-null/testLogicalAndMulti @@ -601,10 +601,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $possibly-null/testLogicalOrMulti @@ -621,10 +621,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $possibly-null/testAssign @@ -641,7 +641,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $possibly-null/testNeverNull global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/possibly-null.release.wat b/tests/compiler/possibly-null.release.wat index 7b0afe7dd0..b681c5b383 100644 --- a/tests/compiler/possibly-null.release.wat +++ b/tests/compiler/possibly-null.release.wat @@ -1,20 +1,20 @@ (module - (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))) + (type $0 (func (param i32))) + (type $1 (func (param i32 i32))) + (type $2 (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 33792)) (memory $0 0) (export "memory" (memory $0)) (export "testTrue" (func $export:possibly-null/testTrue)) (export "testFalseElse" (func $export:possibly-null/testTrue)) - (export "testFalseContinuation" (func $export:possibly-null/testTrue)) + (export "testFalseContinuation" (func $export:possibly-null/testFalseContinuation)) (export "testNeNull" (func $export:possibly-null/testTrue)) (export "testEqNullElse" (func $export:possibly-null/testTrue)) - (export "testEqNullContinuation" (func $export:possibly-null/testTrue)) + (export "testEqNullContinuation" (func $export:possibly-null/testFalseContinuation)) (export "testNotEqNull" (func $export:possibly-null/testTrue)) (export "testNotNeNullElse" (func $export:possibly-null/testTrue)) - (export "testNotNeNullContinuation" (func $export:possibly-null/testTrue)) + (export "testNotNeNullContinuation" (func $export:possibly-null/testFalseContinuation)) (export "testWhile" (func $export:possibly-null/testWhile)) (export "testWhile2" (func $export:possibly-null/testWhile2)) (export "testWhile3" (func $export:possibly-null/testWhile3)) @@ -25,7 +25,6 @@ (export "testAssign" (func $export:possibly-null/testAssign)) (export "testNeverNull" (func $export:possibly-null/testTrue)) (func $export:possibly-null/testTrue (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -42,10 +41,38 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $export:possibly-null/testFalseContinuation (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 33824 + i32.const 33872 + 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/testFalseContinuation$12 + local.get $0 + i32.eqz + br_if $__inlined_func$possibly-null/testFalseContinuation$12 + end + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -68,7 +95,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store loop $while-continue|0 local.get $0 if @@ -83,7 +110,6 @@ global.set $~lib/memory/__stack_pointer ) (func $export:possibly-null/testWhile2 (param $0 i32) (param $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -94,13 +120,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -110,14 +135,14 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store loop $while-continue|0 local.get $0 if global.get $~lib/memory/__stack_pointer local.get $1 local.tee $0 - i32.store $0 + i32.store br $while-continue|0 end end @@ -139,7 +164,6 @@ unreachable ) (func $export:possibly-null/testWhile3 (param $0 i32) (param $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -150,13 +174,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -166,7 +189,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store loop $while-continue|0 local.get $0 if @@ -174,7 +197,7 @@ if global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.set $0 end @@ -199,7 +222,6 @@ unreachable ) (func $export:possibly-null/testLogicalAnd (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -210,10 +232,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -223,12 +244,12 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -248,7 +269,6 @@ unreachable ) (func $export:possibly-null/testLogicalAndMulti (param $0 i32) (param $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -265,19 +285,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) (func $export:possibly-null/testAssign (param $0 i32) (param $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -288,13 +306,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -303,13 +320,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/recursive.debug.wat b/tests/compiler/recursive.debug.wat index 5dfb12cd7c..4e54987682 100644 --- a/tests/compiler/recursive.debug.wat +++ b/tests/compiler/recursive.debug.wat @@ -1,5 +1,5 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func (param i32) (result i32))) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/recursive.release.wat b/tests/compiler/recursive.release.wat index c6bee48f39..ea69ed2fe6 100644 --- a/tests/compiler/recursive.release.wat +++ b/tests/compiler/recursive.release.wat @@ -1,5 +1,5 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func (param i32) (result i32))) (memory $0 0) (export "fib" (func $recursive/fib)) (export "memory" (memory $0)) diff --git a/tests/compiler/reexport.debug.wat b/tests/compiler/reexport.debug.wat index 42866d82fb..9e784a9395 100644 --- a/tests/compiler/reexport.debug.wat +++ b/tests/compiler/reexport.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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_=>_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 $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) @@ -39,16 +39,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33256)) (global $~lib/memory/__heap_base i32 (i32.const 33256)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "add" (func $export/add)) @@ -86,17 +86,17 @@ (func $exports/Car#set:doors (param $this i32) (param $doors i32) local.get $this local.get $doors - i32.store $0 + i32.store ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -110,7 +110,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -184,7 +184,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -254,11 +254,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -266,7 +266,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 272 @@ -398,7 +398,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -411,7 +411,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -427,34 +427,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -614,7 +614,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -637,7 +637,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -651,7 +651,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -674,7 +674,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -817,7 +817,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -903,7 +903,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -983,7 +983,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1017,7 +1017,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1040,7 +1040,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1054,27 +1054,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 416 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1099,9 +1104,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1120,7 +1125,7 @@ if i32.const 0 i32.const 416 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1139,7 +1144,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1153,7 +1157,7 @@ if i32.const 0 i32.const 416 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1209,12 +1213,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1248,7 +1252,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1269,7 +1273,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1289,7 +1293,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1309,7 +1313,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1335,7 +1339,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1358,9 +1362,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1396,7 +1401,7 @@ if i32.const 0 i32.const 416 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1662,14 +1667,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1725,7 +1733,7 @@ if i32.const 80 i32.const 416 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1734,6 +1742,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1763,24 +1791,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1818,7 +1835,7 @@ if i32.const 0 i32.const 416 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1833,7 +1850,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1878,7 +1895,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1889,7 +1906,7 @@ if i32.const 0 i32.const 416 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1911,7 +1928,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1934,7 +1951,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1953,22 +1970,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1981,7 +1990,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2008,27 +2017,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2053,7 +2063,7 @@ if i32.const 0 i32.const 416 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2168,7 +2178,7 @@ if i32.const 0 i32.const 416 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2188,7 +2198,7 @@ if i32.const 0 i32.const 416 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2221,12 +2231,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2277,13 +2287,13 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $exports/Car#get:doors (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $export/sub (param $a i32) (param $b i32) (result i32) local.get $a @@ -2292,7 +2302,6 @@ return ) (func $export-default/theDefault - nop ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2316,16 +2325,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2337,7 +2341,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid end return @@ -2380,7 +2384,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2389,13 +2393,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $doors call $exports/Car#set:doors @@ -2403,7 +2407,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $doors call $exports/Car#set:doors @@ -2424,12 +2428,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $exports/Car#get:doors local.set $1 @@ -2449,7 +2453,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 i32.const 2 call $export/add @@ -2486,7 +2490,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2511,7 +2515,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 diff --git a/tests/compiler/reexport.release.wat b/tests/compiler/reexport.release.wat index e32fe5590c..a96b58bb2b 100644 --- a/tests/compiler/reexport.release.wat +++ b/tests/compiler/reexport.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (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 $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (param i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) @@ -24,19 +24,19 @@ (global $reexport/car (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34280)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1276) "<") - (data (i32.const 1288) "\02\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 1340) ",") - (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1420) "<") - (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\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 $2 (i32.const 1148) "<") + (data $2.1 (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1276) "<") + (data $5.1 (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1340) ",") + (data $6.1 (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1420) "<") + (data $8.1 (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "add" (func $export/add)) (export "renamed_sub" (func $export/sub)) (export "renamed_mul" (func $export/mul)) @@ -68,15 +68,15 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1296 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1104 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -86,7 +86,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -104,7 +104,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -112,137 +112,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34280 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$119 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34280 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$119 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1168 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1488 + i32.load + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1492 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -250,8 +270,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -263,10 +283,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -277,29 +297,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -307,10 +327,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -324,75 +344,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -414,7 +427,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -431,12 +444,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -453,17 +466,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -473,9 +486,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -500,13 +513,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -540,7 +553,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -596,19 +609,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -620,15 +633,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -636,23 +649,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1440 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -666,10 +681,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -677,23 +692,22 @@ if i32.const 0 i32.const 1440 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -705,52 +719,53 @@ if i32.const 0 i32.const 1440 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -758,7 +773,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -766,7 +781,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -777,10 +792,10 @@ end i32.const 34288 i32.const 0 - i32.store $0 + i32.store i32.const 35856 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -792,7 +807,7 @@ i32.const 34288 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -810,7 +825,7 @@ i32.const 34288 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -827,9 +842,10 @@ end i32.const 34288 i32.const 35860 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34288 global.set $~lib/rt/tlsf/ROOT @@ -859,7 +875,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -872,19 +888,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -895,7 +911,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -907,7 +923,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -920,12 +936,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -934,7 +946,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -945,26 +957,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -980,7 +992,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -996,7 +1008,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1021,14 +1033,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1048,7 +1060,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1063,25 +1074,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1440 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1090,12 +1100,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1105,7 +1114,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1116,10 +1125,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1131,13 +1140,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1440 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1152,7 +1161,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1167,7 +1176,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $0 loop $do-loop|0 @@ -1179,16 +1188,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $0 i32.const 0 @@ -1196,8 +1201,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1219,11 +1223,11 @@ local.tee $0 i32.eqz if - memory.size $0 + memory.size local.tee $0 i32.const 4 local.get $1 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $0 i32.const 16 i32.shl @@ -1242,12 +1246,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1258,9 +1262,10 @@ local.get $0 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $1 call $~lib/rt/tlsf/searchBlock @@ -1269,14 +1274,14 @@ if i32.const 0 i32.const 1440 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1284,7 +1289,7 @@ if i32.const 0 i32.const 1440 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1293,7 +1298,7 @@ local.get $0 call $~lib/rt/tlsf/removeBlock local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const -4 i32.and @@ -1309,7 +1314,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $0 i32.const 32 i32.add @@ -1319,7 +1324,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock @@ -1328,54 +1333,54 @@ local.get $2 i32.const -2 i32.and - i32.store $0 + i32.store local.get $0 i32.const 4 i32.add local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $1 local.get $1 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $0 i32.const 4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 4 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1387,7 +1392,7 @@ i32.add local.tee $0 i32.const 0 - i32.store $0 align=1 + i32.store align=1 local.get $0 ) (func $export/sub (param $0 i32) (param $1 i32) (result i32) @@ -1396,7 +1401,6 @@ i32.sub ) (func $export-default/theDefault - nop ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid @@ -1408,7 +1412,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid end return @@ -1418,12 +1422,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1432,7 +1432,6 @@ ) (func $~start (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1443,10 +1442,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34280 @@ -1456,29 +1454,29 @@ global.set $~lib/rt/itcms/threshold i32.const 1220 i32.const 1216 - i32.store $0 + i32.store i32.const 1224 i32.const 1216 - i32.store $0 + i32.store i32.const 1216 global.set $~lib/rt/itcms/pinSpace i32.const 1252 i32.const 1248 - i32.store $0 + i32.store i32.const 1256 i32.const 1248 - i32.store $0 + i32.store i32.const 1248 global.set $~lib/rt/itcms/toSpace i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1487,27 +1485,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1516,7 +1512,7 @@ global.get $~lib/memory/__stack_pointer global.get $reexport/car local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1526,20 +1522,17 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $0 - local.get $1 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 i32.const 2 i32.ne if @@ -1563,23 +1556,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/rereexport.debug.wat b/tests/compiler/rereexport.debug.wat index 11c58c7744..069f46a726 100644 --- a/tests/compiler/rereexport.debug.wat +++ b/tests/compiler/rereexport.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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_=>_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 $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) @@ -37,17 +37,17 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33304)) (global $~lib/memory/__heap_base i32 (i32.const 33304)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00") - (data (i32.const 512) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00\00\00\00\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s\00\00\00") + (data $10 (i32.const 512) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "a" (global $export/a)) @@ -79,17 +79,17 @@ (func $exports/Car#set:doors (param $this i32) (param $doors i32) local.get $this local.get $doors - i32.store $0 + i32.store ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -103,7 +103,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -177,7 +177,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -247,11 +247,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -259,7 +259,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 272 @@ -391,7 +391,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -404,7 +404,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -420,34 +420,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -607,7 +607,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -630,7 +630,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -644,7 +644,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -667,7 +667,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -810,7 +810,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -896,7 +896,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -976,7 +976,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1010,7 +1010,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1033,7 +1033,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1047,27 +1047,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 416 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1092,9 +1097,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1113,7 +1118,7 @@ if i32.const 0 i32.const 416 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1132,7 +1137,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1146,7 +1150,7 @@ if i32.const 0 i32.const 416 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1202,12 +1206,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1241,7 +1245,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1262,7 +1266,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1282,7 +1286,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1302,7 +1306,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1328,7 +1332,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1351,9 +1355,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1389,7 +1394,7 @@ if i32.const 0 i32.const 416 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1655,14 +1660,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1718,7 +1726,7 @@ if i32.const 80 i32.const 416 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1727,6 +1735,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1756,24 +1784,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1811,7 +1828,7 @@ if i32.const 0 i32.const 416 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1826,7 +1843,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1871,7 +1888,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1882,7 +1899,7 @@ if i32.const 0 i32.const 416 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1904,7 +1921,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1927,7 +1944,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1946,22 +1963,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1974,7 +1983,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2001,27 +2010,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2046,7 +2056,7 @@ if i32.const 0 i32.const 416 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2161,7 +2171,7 @@ if i32.const 0 i32.const 416 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2181,7 +2191,7 @@ if i32.const 0 i32.const 416 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2214,12 +2224,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2270,16 +2280,15 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $exports/Car#get:doors (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $export-default/theDefault - nop ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2317,16 +2326,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2338,7 +2342,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid end return @@ -2381,7 +2385,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2390,13 +2394,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $doors call $exports/Car#set:doors @@ -2404,7 +2408,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $doors call $exports/Car#set:doors @@ -2425,12 +2429,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $exports/Car#get:doors local.set $1 @@ -2450,7 +2454,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 i32.const 2 call $export/add @@ -2487,7 +2491,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2512,7 +2516,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 @@ -2540,7 +2544,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store call $start:reexport i32.const 2 i32.const 2 @@ -2578,7 +2582,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 @@ -2628,7 +2632,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 diff --git a/tests/compiler/rereexport.release.wat b/tests/compiler/rereexport.release.wat index 3fc2a62103..f61fba72ac 100644 --- a/tests/compiler/rereexport.release.wat +++ b/tests/compiler/rereexport.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $0 (func)) + (type $1 (func (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) @@ -24,21 +24,21 @@ (global $rereexport/exportsNamespaceCar (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34328)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1276) "<") - (data (i32.const 1288) "\02\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 1340) ",") - (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1420) "<") - (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1484) ",") - (data (i32.const 1496) "\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") - (data (i32.const 1536) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\16\00\00\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\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 $2 (i32.const 1148) "<") + (data $2.1 (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1276) "<") + (data $5.1 (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1340) ",") + (data $6.1 (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1420) "<") + (data $8.1 (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1484) ",") + (data $9.1 (i32.const 1496) "\02\00\00\00\1a\00\00\00r\00e\00r\00e\00e\00x\00p\00o\00r\00t\00.\00t\00s") + (data $10 (i32.const 1536) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "a" (global $export/a)) (export "renamed_a" (global $export/a)) (export "renamed_b" (global $export/b)) @@ -54,27 +54,27 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $rereexport/exportsNamespaceCar local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1296 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1104 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $reexport/car local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -84,7 +84,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -102,7 +102,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -110,137 +110,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34328 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$120 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34328 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$120 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1168 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1536 + i32.load + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1540 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1536 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1540 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -248,8 +268,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -261,10 +281,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -275,29 +295,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -305,10 +325,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -322,75 +342,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -412,7 +425,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -429,12 +442,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -451,17 +464,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -471,9 +484,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -498,13 +511,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -538,7 +551,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -594,19 +607,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -618,15 +631,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -634,23 +647,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1440 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -664,10 +679,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -675,23 +690,22 @@ if i32.const 0 i32.const 1440 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -703,52 +717,53 @@ if i32.const 0 i32.const 1440 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -756,7 +771,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -764,7 +779,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -775,10 +790,10 @@ end i32.const 34336 i32.const 0 - i32.store $0 + i32.store i32.const 35904 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -790,7 +805,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -808,7 +823,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -825,9 +840,10 @@ end i32.const 34336 i32.const 35908 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34336 global.set $~lib/rt/tlsf/ROOT @@ -857,7 +873,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -870,19 +886,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -893,7 +909,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -905,7 +921,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -918,12 +934,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -932,7 +944,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -943,26 +955,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -978,7 +990,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -994,7 +1006,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1019,14 +1031,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1046,7 +1058,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1061,25 +1072,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1440 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1088,12 +1098,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1103,7 +1112,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1114,10 +1123,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1129,13 +1138,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1440 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1150,7 +1159,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1165,7 +1174,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $0 loop $do-loop|0 @@ -1177,16 +1186,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $0 i32.const 0 @@ -1194,8 +1199,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1217,11 +1221,11 @@ local.tee $0 i32.eqz if - memory.size $0 + memory.size local.tee $0 i32.const 4 local.get $1 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $0 i32.const 16 i32.shl @@ -1240,12 +1244,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1256,9 +1260,10 @@ local.get $0 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $1 call $~lib/rt/tlsf/searchBlock @@ -1267,14 +1272,14 @@ if i32.const 0 i32.const 1440 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1282,7 +1287,7 @@ if i32.const 0 i32.const 1440 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1291,7 +1296,7 @@ local.get $0 call $~lib/rt/tlsf/removeBlock local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const -4 i32.and @@ -1307,7 +1312,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $0 i32.const 32 i32.add @@ -1317,7 +1322,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock @@ -1326,54 +1331,54 @@ local.get $2 i32.const -2 i32.and - i32.store $0 + i32.store local.get $0 i32.const 4 i32.add local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $1 local.get $1 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $0 i32.const 4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 4 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1385,11 +1390,10 @@ i32.add local.tee $0 i32.const 0 - i32.store $0 align=1 + i32.store align=1 local.get $0 ) (func $export-default/theDefault - nop ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid @@ -1401,7 +1405,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $exports/Car $invalid end return @@ -1411,12 +1415,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1435,10 +1435,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1448,8 +1447,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34328 @@ -1459,26 +1458,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1220 i32.const 1216 - i32.store $0 + i32.store i32.const 1224 i32.const 1216 - i32.store $0 + i32.store i32.const 1216 global.set $~lib/rt/itcms/pinSpace i32.const 1252 i32.const 1248 - i32.store $0 + i32.store i32.const 1256 i32.const 1248 - i32.store $0 + i32.store i32.const 1248 global.set $~lib/rt/itcms/toSpace i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/fromSpace call $exports/Car#constructor @@ -1486,7 +1485,7 @@ global.get $~lib/memory/__stack_pointer global.get $reexport/car local.tee $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 @@ -1508,7 +1507,7 @@ global.get $~lib/memory/__stack_pointer global.get $rereexport/car local.tee $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 @@ -1526,7 +1525,7 @@ global.get $~lib/memory/__stack_pointer global.get $rereexport/exportsNamespaceCar local.tee $0 - i32.store $0 + i32.store local.get $0 call $exports/Car#get:numDoors i32.const 2 @@ -1554,7 +1553,6 @@ ) (func $exports/Car#constructor (result i32) (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1571,34 +1569,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) (func $exports/Car#get:numDoors (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1615,38 +1610,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $0 - local.get $1 + i32.load + 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) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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 ) ) diff --git a/tests/compiler/resolve-access.debug.wat b/tests/compiler/resolve-access.debug.wat index 1a33e66a2b..a2176400d2 100644 --- a/tests/compiler/resolve-access.debug.wat +++ b/tests/compiler/resolve-access.debug.wat @@ -1,21 +1,22 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i32_i64_=>_none (func (param i32 i64))) - (type $i32_=>_i64 (func (param i32) (result i64))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32))) + (type $5 (func)) + (type $6 (func (result i32))) + (type $7 (func (param i64 i32) (result i32))) + (type $8 (func (param i32 i64 i32))) + (type $9 (func (param i32 i32 i32 i32))) + (type $10 (func (param i32 i32 i64) (result i32))) + (type $11 (func (param i32 i32 i32) (result i32))) + (type $12 (func (param i64) (result i32))) + (type $13 (func (param i32 i64 i32 i32))) + (type $14 (func (param i32 i64))) + (type $15 (func (param i32) (result i64))) + (type $16 (func (param i32 i32) (result i64))) + (type $17 (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -38,23 +39,23 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35072)) (global $~lib/memory/__heap_base i32 (i32.const 35072)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\02\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 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 444) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 492) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 716) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 1116) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2172) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 2272) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\02\00\00\02\t\00\00 \00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 444) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $10 (i32.const 492) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $12 (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 716) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data $14 (i32.const 1116) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 2172) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") + (data $16 (i32.const 2272) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\02\00\00\02\t\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "arrayAccess" (func $resolve-access/arrayAccess)) @@ -65,12 +66,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -84,7 +85,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -158,7 +159,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -228,11 +229,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -240,7 +241,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 256 @@ -372,7 +373,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -385,7 +386,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -401,34 +402,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -588,7 +589,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -611,7 +612,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -625,7 +626,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -648,7 +649,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -791,7 +792,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -877,7 +878,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -957,7 +958,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -991,7 +992,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1014,7 +1015,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1028,27 +1029,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 400 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1073,9 +1079,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1094,7 +1100,7 @@ if i32.const 0 i32.const 400 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1113,7 +1119,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1127,7 +1132,7 @@ if i32.const 0 i32.const 400 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1183,12 +1188,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1222,7 +1227,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1243,7 +1248,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1263,7 +1268,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1283,7 +1288,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1309,7 +1314,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1332,9 +1337,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1370,7 +1376,7 @@ if i32.const 0 i32.const 400 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1636,14 +1642,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1699,7 +1708,7 @@ if i32.const 64 i32.const 400 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1708,6 +1717,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1737,24 +1766,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1792,7 +1810,7 @@ if i32.const 0 i32.const 400 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1807,7 +1825,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1852,7 +1870,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1863,7 +1881,7 @@ if i32.const 0 i32.const 400 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1885,7 +1903,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1908,7 +1926,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1927,22 +1945,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1955,7 +1965,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1982,27 +1992,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2027,7 +2038,7 @@ if i32.const 0 i32.const 400 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2142,7 +2153,7 @@ if i32.const 0 i32.const 400 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2162,7 +2173,7 @@ if i32.const 0 i32.const 400 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2195,12 +2206,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2251,7 +2262,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2266,7 +2277,7 @@ local.get $buffer local.get $data local.get $size - memory.copy $0 $0 + memory.copy end local.get $buffer return @@ -2341,11 +2352,11 @@ ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/util/number/decimalCount32 (param $value i32) (result i32) local.get $value @@ -2442,14 +2453,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 716 local.get $d2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -2465,7 +2476,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -2492,7 +2503,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits local.get $buffer local.get $offset @@ -2500,7 +2511,7 @@ i32.shl i32.add local.get $digits - i32.store $0 + i32.store end local.get $num i32.const 10 @@ -2515,7 +2526,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits|12 local.get $buffer local.get $offset @@ -2523,7 +2534,7 @@ i32.shl i32.add local.get $digits|12 - i32.store $0 + i32.store else local.get $offset i32.const 1 @@ -2539,7 +2550,7 @@ i32.shl i32.add local.get $digit - i32.store16 $0 + i32.store16 end ) (func $~lib/util/number/decimalCount64High (param $value i64) (result i32) @@ -2659,14 +2670,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 716 local.get $c2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -2682,20 +2693,20 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store i32.const 716 local.get $b1 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 716 local.get $b2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -2711,7 +2722,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -2744,8 +2755,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $num i64.const 8 i64.shr_u @@ -2764,8 +2775,8 @@ i32.const 6 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end ) (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) @@ -2889,8 +2900,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num local.get $shift i64.shr_u @@ -2925,8 +2936,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -2945,11 +2956,11 @@ (func $resolve-access/Container#set:foo (param $this i32) (param $foo i64) local.get $this local.get $foo - i64.store $0 + i64.store ) (func $resolve-access/Container#get:foo (param $this i32) (result i64) local.get $this - i64.load $0 + i64.load ) (func $~lib/number/U32#toString (param $this i32) (param $radix i32) (result i32) local.get $this @@ -2978,20 +2989,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3003,7 +3009,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3025,7 +3031,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $resolve-access/Container $invalid end return @@ -3054,7 +3060,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3096,13 +3102,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3118,14 +3124,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -3140,9 +3146,8 @@ ) (func $resolve-access/arrayAccess (result i32) (local $0 i32) - (local $1 i32) (local $arr i32) - (local $3 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3150,7 +3155,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 3 @@ -3158,23 +3163,23 @@ i32.const 32 call $~lib/rt/__newArray local.tee $arr - i32.store $0 + i32.store local.get $arr - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 10 call $~lib/number/U64#toString - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 return ) (func $resolve-access/Container#constructor (param $this i32) (result i32) @@ -3186,7 +3191,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3195,23 +3200,23 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i64.const 0 call $resolve-access/Container#set:foo @@ -3233,17 +3238,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 call $resolve-access/Container#constructor local.tee $container - i32.store $0 + i32.store local.get $container local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i64.const 1 call $resolve-access/Container#set:foo @@ -3251,7 +3256,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $resolve-access/Container#get:foo i32.const 10 @@ -3273,12 +3278,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $resolve-access/Container#get:foo i32.wrap_i64 @@ -3300,17 +3305,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 call $resolve-access/Container#constructor local.tee $container - i32.store $0 + i32.store local.get $container local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i64.const 1 call $resolve-access/Container#set:foo @@ -3318,7 +3323,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $resolve-access/Container#toU32 i32.const 10 @@ -3340,14 +3345,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -3366,14 +3371,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -3395,7 +3400,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -3406,27 +3411,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer @@ -3460,7 +3465,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -3515,7 +3520,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer local.get $val32 @@ -3541,7 +3546,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|9 local.get $value @@ -3579,7 +3584,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|13 local.get $value @@ -3606,7 +3611,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $value local.get $decimals|16 @@ -3632,7 +3637,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3641,7 +3646,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -3670,7 +3675,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -3715,7 +3720,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer local.get $value @@ -3751,7 +3756,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|8 local.get $value @@ -3780,7 +3785,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $value i64.extend_i32_u diff --git a/tests/compiler/resolve-access.release.wat b/tests/compiler/resolve-access.release.wat index 6b173c9647..bc5cd261d7 100644 --- a/tests/compiler/resolve-access.release.wat +++ b/tests/compiler/resolve-access.release.wat @@ -1,12 +1,13 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (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 $i64_=>_i32 (func (param i64) (result i32))) + (type $0 (func (result i32))) + (type $1 (func (param i32))) + (type $2 (func)) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (param i32 i32 i32))) + (type $8 (func (param i64) (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)) @@ -20,32 +21,32 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36096)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\08\00\00\00\01") - (data (i32.const 1068) "<") - (data (i32.const 1080) "\02\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) "<") - (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\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 1324) ",") - (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1404) "<") - (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1468) ",") - (data (i32.const 1480) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1516) "|") - (data (i32.const 1528) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 1644) "<") - (data (i32.const 1656) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 1708) "\1c") - (data (i32.const 1720) "\02\00\00\00\02\00\00\000") - (data (i32.const 1740) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 2140) "\1c\04") - (data (i32.const 2152) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 3196) "\\") - (data (i32.const 3208) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 3296) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\02\00\00\02\t\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\01\00\00\00\08\00\00\00\01") + (data $1 (i32.const 1068) "<") + (data $1.1 (i32.const 1080) "\02\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 $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1260) "<") + (data $5.1 (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1324) ",") + (data $6.1 (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1404) "<") + (data $8.1 (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1468) ",") + (data $9.1 (i32.const 1480) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $10 (i32.const 1516) "|") + (data $10.1 (i32.const 1528) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data $11 (i32.const 1644) "<") + (data $11.1 (i32.const 1656) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data $12 (i32.const 1708) "\1c") + (data $12.1 (i32.const 1720) "\02\00\00\00\02\00\00\000") + (data $13 (i32.const 1740) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data $14 (i32.const 2140) "\1c\04") + (data $14.1 (i32.const 2152) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data $15 (i32.const 3196) "\\") + (data $15.1 (i32.const 3208) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data $16 (i32.const 3296) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\02\00\00\02\t\00\00 ") (export "arrayAccess" (func $resolve-access/arrayAccess)) (export "fieldAccess" (func $resolve-access/fieldAccess)) (export "propertyAccess" (func $resolve-access/propertyAccess)) @@ -55,16 +56,16 @@ (local $0 i32) (local $1 i32) i32.const 1280 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2160 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 3216 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -74,7 +75,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -92,7 +93,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -109,7 +110,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -123,16 +124,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$143 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 36096 @@ -147,10 +148,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$143 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -163,20 +164,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -185,7 +186,7 @@ else local.get $1 i32.const 3296 - i32.load $0 + i32.load i32.gt_u if i32.const 1280 @@ -200,13 +201,13 @@ i32.shl i32.const 3300 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -216,21 +217,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -238,8 +263,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -251,10 +276,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -265,29 +290,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -295,10 +320,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -312,75 +337,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -402,7 +420,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -419,12 +437,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -441,17 +459,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -461,9 +479,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -488,13 +506,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -528,7 +546,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -584,19 +602,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -608,15 +626,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -624,23 +642,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1424 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -654,10 +674,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -665,23 +685,22 @@ if i32.const 0 i32.const 1424 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -693,52 +712,53 @@ if i32.const 0 i32.const 1424 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -746,7 +766,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -754,7 +774,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -765,10 +785,10 @@ end i32.const 36096 i32.const 0 - i32.store $0 + i32.store i32.const 37664 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -780,7 +800,7 @@ i32.const 36096 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -798,7 +818,7 @@ i32.const 36096 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -815,9 +835,10 @@ end i32.const 36096 i32.const 37668 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 36096 global.set $~lib/rt/tlsf/ROOT @@ -847,7 +868,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -860,19 +881,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -883,7 +904,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -895,7 +916,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -908,12 +929,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -922,7 +939,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -933,26 +950,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -968,7 +985,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -984,7 +1001,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1009,14 +1026,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1036,7 +1053,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1051,25 +1067,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1424 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1078,12 +1093,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1091,47 +1105,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1142,7 +1158,7 @@ if i32.const 0 i32.const 1424 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1152,7 +1168,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1169,10 +1185,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1188,13 +1204,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1424 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1209,7 +1225,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1236,7 +1252,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1248,16 +1264,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1265,8 +1277,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1293,34 +1304,60 @@ if i32.const 1088 i32.const 1424 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1328,21 +1365,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1355,12 +1377,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1371,9 +1393,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1383,7 +1406,7 @@ if i32.const 0 i32.const 1424 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1391,14 +1414,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1424 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1407,8 +1430,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1417,95 +1440,95 @@ if i32.const 0 i32.const 1424 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1518,7 +1541,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) @@ -1551,7 +1574,7 @@ i32.shl i32.const 1740 i32.add - i64.load32_u $0 + i64.load32_u local.get $3 i32.const 100 i32.rem_u @@ -1559,11 +1582,11 @@ i32.shl i32.const 1740 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -1586,8 +1609,8 @@ i32.shl i32.const 1740 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $1 i32.const 100 i32.div_u @@ -1609,8 +1632,8 @@ i32.shl i32.const 1740 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store else local.get $0 local.get $2 @@ -1622,7 +1645,7 @@ local.get $1 i32.const 48 i32.add - i32.store16 $0 + i32.store16 end ) (func $~lib/number/U64#toString (param $0 i64) (result i32) @@ -1647,8 +1670,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/utoa64 + i32.store + block $__inlined_func$~lib/util/number/utoa64$73 local.get $0 i64.eqz if @@ -1658,7 +1681,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1728 local.set $2 - br $__inlined_func$~lib/util/number/utoa64 + br $__inlined_func$~lib/util/number/utoa64$73 end local.get $0 i64.const 4294967295 @@ -1719,7 +1742,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store local.get $2 local.get $1 local.get $3 @@ -1782,7 +1805,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store loop $while-continue|0 local.get $0 i64.const 100000000 @@ -1815,7 +1838,7 @@ i32.shl i32.const 1740 i32.add - i64.load32_u $0 + i64.load32_u local.get $4 i32.const 100 i32.rem_u @@ -1823,11 +1846,11 @@ i32.shl i32.const 1740 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store local.get $2 local.get $1 i32.const 4 @@ -1846,7 +1869,7 @@ i32.shl i32.const 1740 i32.add - i64.load32_u $0 + i64.load32_u local.get $3 i32.const 100 i32.rem_u @@ -1854,11 +1877,11 @@ i32.shl i32.const 1740 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -1876,7 +1899,6 @@ local.get $2 ) (func $~lib/array/Array~visit (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1893,19 +1915,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1923,7 +1940,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $resolve-access/Container $invalid end return @@ -1933,12 +1950,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end local.get $0 @@ -1954,7 +1967,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 36096 @@ -1964,33 +1977,33 @@ global.set $~lib/rt/itcms/threshold i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/pinSpace i32.const 1236 i32.const 1232 - i32.store $0 + i32.store i32.const 1240 i32.const 1232 - i32.store $0 + i32.store i32.const 1232 global.set $~lib/rt/itcms/toSpace i32.const 1380 i32.const 1376 - i32.store $0 + i32.store i32.const 1384 i32.const 1376 - i32.store $0 + i32.store i32.const 1376 global.set $~lib/rt/itcms/fromSpace ) (func $resolve-access/arrayAccess (result i32) (local $0 i32) - (local $1 i64) - (local $2 i32) + (local $1 i32) + (local $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2004,10 +2017,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2016,26 +2029,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $4 i32.const 1056 - i64.load $0 align=1 - i64.store $0 align=1 - local.get $0 - local.get $2 - i32.store $0 + i64.load align=1 + i64.store align=1 + local.get $4 + i32.store i32.const 16 i32.const 4 call $~lib/rt/itcms/__new local.tee $3 - local.get $2 - i32.store $0 - local.get $2 + local.get $4 + i32.store + local.get $4 if local.get $3 i32.eqz @@ -2048,11 +2060,11 @@ unreachable end global.get $~lib/rt/itcms/white - local.get $2 + local.get $4 i32.const 20 i32.sub local.tee $5 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.eq @@ -2060,10 +2072,10 @@ local.get $3 i32.const 20 i32.sub - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and - local.tee $0 + local.tee $1 global.get $~lib/rt/itcms/white i32.eqz i32.eq @@ -2074,7 +2086,7 @@ global.get $~lib/rt/itcms/state i32.const 1 i32.eq - local.get $0 + local.get $1 i32.const 3 i32.eq i32.and @@ -2086,24 +2098,23 @@ end end local.get $3 - local.get $2 - i32.store $0 offset=4 + local.get $4 + i32.store offset=4 local.get $3 i32.const 8 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 i32.const 1 - i32.store $0 offset=12 + 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 $3 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2113,14 +2124,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - i32.load $0 offset=12 + i32.load offset=12 i32.eqz if i32.const 1280 @@ -2131,25 +2141,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $3 - i32.store $0 + i32.store local.get $3 - i32.load $0 offset=4 - i64.load $0 - local.set $1 - local.get $0 + i32.load offset=4 + i64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 call $~lib/number/U64#toString - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 36128 @@ -2172,20 +2177,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2195,7 +2199,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -2204,21 +2208,20 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2251,31 +2254,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer call $resolve-access/Container#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 1 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i64.load $0 + i64.load call $~lib/number/U64#toString - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $resolve-access/propertyAccess (result i32) (local $0 i32) @@ -2291,22 +2291,21 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer call $resolve-access/Container#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 1 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2316,17 +2315,16 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i64.load $0 + i64.load i32.wrap_i64 - local.set $1 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2340,9 +2338,9 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/utoa32 - local.get $1 + i32.store + block $__inlined_func$~lib/util/number/utoa32$74 + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -2351,65 +2349,65 @@ global.set $~lib/memory/__stack_pointer i32.const 1728 local.set $0 - br $__inlined_func$~lib/util/number/utoa32 + br $__inlined_func$~lib/util/number/utoa32$74 end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $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 end end - local.tee $2 + local.tee $1 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store local.get $0 - local.get $1 local.get $2 + local.get $1 call $~lib/util/number/utoa32_dec_lut global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2430,23 +2428,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/resolve-binary.debug.wat b/tests/compiler/resolve-binary.debug.wat index 8f7185e7a3..d10576390f 100644 --- a/tests/compiler/resolve-binary.debug.wat +++ b/tests/compiler/resolve-binary.debug.wat @@ -1,22 +1,23 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_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_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $f64_i32_=>_i32 (func (param f64 i32) (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) + (type $10 (func (param i32 i64 i32))) + (type $11 (func (param i64 i32) (result i32))) + (type $12 (func (param i32 i64 i32 i32))) + (type $13 (func (param f64 f64) (result f64))) + (type $14 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) + (type $15 (func (param i32 i32 i32) (result i32))) + (type $16 (func (param i32 f64 i32) (result i32))) + (type $17 (func (param f64 i32) (result i32))) + (type $18 (func (param f64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -51,52 +52,52 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 42992)) (global $~lib/memory/__heap_base i32 (i32.const 42992)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00b\00i\00n\00a\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 496) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 528) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 620) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 672) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 764) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 1164) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2220) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2384) "\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 8572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 8604) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8652) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8704) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 8760) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data $21 (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data $22 (i32.const 8572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data $23 (i32.const 8604) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data $24 (i32.const 8652) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 8704) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $26 (i32.const 8760) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 return ) (func $~lib/math/ipow32 (param $x i32) (param $e i32) (result i32) @@ -5544,16 +5609,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -5567,7 +5627,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-binary/Foo $resolve-binary/Bar $resolve-binary/Baz $invalid end return @@ -5615,7 +5675,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -5653,7 +5713,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -5662,7 +5722,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -5680,14 +5740,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -5710,7 +5770,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5719,18 +5779,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5748,7 +5808,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5757,18 +5817,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5786,7 +5846,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5795,18 +5855,18 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5818,14 +5878,16 @@ (func $start:resolve-binary (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 i32.const 1 i32.const 2 i32.lt_s @@ -5834,14 +5896,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5860,14 +5917,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5886,14 +5938,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5912,14 +5959,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5938,14 +5980,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5964,14 +6001,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5982,7 +6014,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -6007,14 +6039,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6035,14 +6062,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6063,14 +6085,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6091,14 +6108,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6121,14 +6133,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9696 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6151,14 +6158,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6179,14 +6181,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6207,14 +6204,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9728 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6235,14 +6227,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6263,14 +6250,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6291,14 +6273,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6319,14 +6296,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9760 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6347,14 +6319,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6373,14 +6340,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9760 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6399,14 +6361,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9792 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6425,14 +6382,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6451,14 +6403,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6477,14 +6424,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6503,14 +6445,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9728 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6529,14 +6466,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9696 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6555,14 +6487,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9696 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6581,14 +6508,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9728 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6607,14 +6529,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6633,14 +6550,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9760 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6659,14 +6571,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6685,14 +6592,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9760 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6711,14 +6613,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6729,25 +6626,15 @@ call $~lib/builtins/abort unreachable end - i32.const 1 - if (result i32) - i32.const 2 - else - i32.const 1 - end + i32.const 2 i32.const 10 call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6759,24 +6646,14 @@ unreachable end i32.const 0 - if (result i32) - i32.const 2 - else - i32.const 0 - end i32.const 10 call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 352 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6788,24 +6665,14 @@ unreachable end i32.const 1 - if (result i32) - i32.const 1 - else - i32.const 2 - end i32.const 10 call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6816,25 +6683,15 @@ call $~lib/builtins/abort unreachable end - i32.const 0 - if (result i32) - i32.const 0 - else - i32.const 2 - end + i32.const 2 i32.const 10 call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6852,32 +6709,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#lt local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9824 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6892,32 +6744,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#gt local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9856 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6932,32 +6779,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#le local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9888 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -6972,32 +6814,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#ge local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9920 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -7012,32 +6849,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#eq local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9952 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -7052,32 +6884,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#ne local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 9984 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -7092,32 +6919,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#add local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 10016 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -7132,32 +6954,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo.sub local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 10048 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -7172,32 +6989,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#mul local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 10080 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -7212,32 +7024,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#div local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 10112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -7252,32 +7059,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#rem local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 10144 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -7292,32 +7094,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 global.get $resolve-binary/foo local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 local.get $0 call $resolve-binary/Foo#pow local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 10176 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -7338,13 +7135,13 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 global.get $resolve-binary/bar2 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $resolve-binary/Bar#add global.set $resolve-binary/bar @@ -7352,7 +7149,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $resolve-binary/Bar#self global.get $resolve-binary/bar2 @@ -7385,7 +7182,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 42 call $resolve-binary/Baz#add @@ -7404,7 +7201,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 42 call $resolve-binary/Baz#sub @@ -7423,7 +7220,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 42 call $resolve-binary/Baz.mul @@ -7442,7 +7239,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 42 call $resolve-binary/Baz.div @@ -7458,7 +7255,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -7483,7 +7280,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -7543,7 +7340,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -7583,7 +7380,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -7618,7 +7415,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -7633,7 +7430,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $14 @@ -7644,10 +7441,12 @@ local.get $14 return ) - (func $~lib/util/number/dtoa (param $value f64) (result i32) + (func $~lib/util/number/dtoa (param $value f64) (result i32) + (local $value|1 f64) + (local $isSingle i32) (local $size i32) (local $result i32) - (local $3 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7655,77 +7454,67 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $value - f64.const 0 - f64.eq - if - i32.const 8560 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if + i32.store + block $~lib/util/number/dtoa_impl|inlined.0 (result i32) local.get $value - local.get $value - f64.ne + local.set $value|1 + i32.const 0 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq if - i32.const 8592 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 8560 + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 8624 - i32.const 8672 - local.get $value + local.get $value|1 + local.get $value|1 + f64.sub f64.const 0 - f64.lt - select - local.set $3 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 8592 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 8624 + i32.const 8672 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 8704 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 8704 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 8704 - local.get $value - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $size - global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 - local.get $result - i32.const 8704 - local.get $size - memory.copy $0 $0 - local.get $result - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 return ) (func $~lib/object/Object#constructor (param $this i32) (result i32) @@ -7737,7 +7526,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -7746,7 +7535,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/resolve-binary.release.wat b/tests/compiler/resolve-binary.release.wat index 7de49362c6..d7685c983c 100644 --- a/tests/compiler/resolve-binary.release.wat +++ b/tests/compiler/resolve-binary.release.wat @@ -1,13 +1,14 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_i32 (func (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 $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i64_i64_i32_i64_=>_i32 (func (param i64 i64 i32 i64) (result i32))) + (type $0 (func)) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (result i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) + (type $8 (func (param i32 i32 i32))) + (type $9 (func (param i64 i64 i32 i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $resolve-binary/a (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -29,211 +30,211 @@ (global $resolve-binary/baz (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 44016)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\08\00\00\00t\00r\00u\00e") - (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") - (data (i32.const 1100) "<") - (data (i32.const 1112) "\02\00\00\00\"\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00b\00i\00n\00a\00r\00y\00.\00t\00s") - (data (i32.const 1164) "|") - (data (i32.const 1176) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 1292) "<") - (data (i32.const 1304) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 1356) "\1c") - (data (i32.const 1368) "\02\00\00\00\02\00\00\000") - (data (i32.const 1388) "<") - (data (i32.const 1400) "\02\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 1452) "<") - (data (i32.const 1464) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1580) "<") - (data (i32.const 1592) "\02\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 1644) ",") - (data (i32.const 1656) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1724) "<") - (data (i32.const 1736) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1788) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 2188) "\1c\04") - (data (i32.const 2200) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 3244) "\\") - (data (i32.const 3256) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 3340) "\1c") - (data (i32.const 3352) "\02\00\00\00\02\00\00\001") - (data (i32.const 3372) "\1c") - (data (i32.const 3384) "\02\00\00\00\02\00\00\002") - (data (i32.const 3413) "\a0\f6?") - (data (i32.const 3425) "\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?") - (data (i32.const 3457) "\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?") - (data (i32.const 3489) "XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?") - (data (i32.const 3521) "\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?") - (data (i32.const 3553) "xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?") - (data (i32.const 3585) "`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?") - (data (i32.const 3617) "\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?") - (data (i32.const 3649) "HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?") - (data (i32.const 3681) "\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?") - (data (i32.const 3713) " \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?") - (data (i32.const 3745) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?") - (data (i32.const 3777) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?") - (data (i32.const 3809) "x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?") - (data (i32.const 3841) "\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?") - (data (i32.const 3873) "\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?") - (data (i32.const 3905) "H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?") - (data (i32.const 3937) "\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?") - (data (i32.const 3969) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?") - (data (i32.const 4001) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?") - (data (i32.const 4033) "@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?") - (data (i32.const 4065) "`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?") - (data (i32.const 4097) "\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?") - (data (i32.const 4129) "\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?") - (data (i32.const 4161) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?") - (data (i32.const 4193) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?") - (data (i32.const 4225) "\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?") - (data (i32.const 4257) "\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?") - (data (i32.const 4289) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?") - (data (i32.const 4321) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?") - (data (i32.const 4353) "P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?") - (data (i32.const 4385) "\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?") - (data (i32.const 4417) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?") - (data (i32.const 4449) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?") - (data (i32.const 4481) "\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?") - (data (i32.const 4513) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?") - (data (i32.const 4545) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?") - (data (i32.const 4577) "\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?") - (data (i32.const 4609) "\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?") - (data (i32.const 6113) "`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?") - (data (i32.const 6145) "\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?") - (data (i32.const 6177) "\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?") - (data (i32.const 6209) "\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?") - (data (i32.const 6241) "@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?") - (data (i32.const 6273) "`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?") - (data (i32.const 6305) "@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?") - (data (i32.const 6337) " \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?") - (data (i32.const 6369) "\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?") - (data (i32.const 6401) "\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?") - (data (i32.const 6433) "\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?") - (data (i32.const 6465) "\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?") - (data (i32.const 6497) "\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?") - (data (i32.const 6529) "\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?") - (data (i32.const 6561) "\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?") - (data (i32.const 6593) "\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?") - (data (i32.const 6625) "pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?") - (data (i32.const 6657) "PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?") - (data (i32.const 6690) "9\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?") - (data (i32.const 6722) "\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?") - (data (i32.const 6753) "\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?") - (data (i32.const 6785) "\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?") - (data (i32.const 6817) "\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?") - (data (i32.const 6849) "\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?") - (data (i32.const 6881) "\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?") - (data (i32.const 6913) "\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?") - (data (i32.const 6946) "\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?") - (data (i32.const 6977) "\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?") - (data (i32.const 7009) "XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?") - (data (i32.const 7041) "`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?") - (data (i32.const 7073) "\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?") - (data (i32.const 7105) "\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?") - (data (i32.const 7137) "hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?") - (data (i32.const 7169) "\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?") - (data (i32.const 7201) "\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?") - (data (i32.const 7233) "`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 9564) "\1c") - (data (i32.const 9576) "\02\00\00\00\06\00\00\000\00.\000") - (data (i32.const 9596) "\1c") - (data (i32.const 9608) "\02\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 9628) ",") - (data (i32.const 9640) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 9676) ",") - (data (i32.const 9688) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 9784) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8)\93i\1b\04\bd\00\00\00\00\00\00\f6?") + (data $19.6 (i32.const 3585) "`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?") + (data $19.7 (i32.const 3617) "\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?") + (data $19.8 (i32.const 3649) "HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?") + (data $19.9 (i32.const 3681) "\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?") + (data $19.10 (i32.const 3713) " \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?") + (data $19.11 (i32.const 3745) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?") + (data $19.12 (i32.const 3777) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?") + (data $19.13 (i32.const 3809) "x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?") + (data $19.14 (i32.const 3841) "\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?") + (data $19.15 (i32.const 3873) "\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?") + (data $19.16 (i32.const 3905) "H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?") + (data $19.17 (i32.const 3937) "\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?") + (data $19.18 (i32.const 3969) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?") + (data $19.19 (i32.const 4001) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?") + (data $19.20 (i32.const 4033) "@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?") + (data $19.21 (i32.const 4065) "`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?") + (data $19.22 (i32.const 4097) "\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?") + (data $19.23 (i32.const 4129) "\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?") + (data $19.24 (i32.const 4161) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?") + (data $19.25 (i32.const 4193) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?") + (data $19.26 (i32.const 4225) "\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?") + (data $19.27 (i32.const 4257) "\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?") + (data $19.28 (i32.const 4289) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?") + (data $19.29 (i32.const 4321) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?") + (data $19.30 (i32.const 4353) "P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?") + (data $19.31 (i32.const 4385) "\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?") + (data $19.32 (i32.const 4417) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?") + (data $19.33 (i32.const 4449) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?") + (data $19.34 (i32.const 4481) "\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?") + (data $19.35 (i32.const 4513) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?") + (data $19.36 (i32.const 4545) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?") + (data $19.37 (i32.const 4577) "\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?") + (data $19.38 (i32.const 4609) "\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?") + (data $19.85 (i32.const 6113) "`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?") + (data $19.86 (i32.const 6145) "\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?") + (data $19.87 (i32.const 6177) "\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?") + (data $19.88 (i32.const 6209) "\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?") + (data $19.89 (i32.const 6241) "@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?") + (data $19.90 (i32.const 6273) "`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?") + (data $19.91 (i32.const 6305) "@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?") + (data $19.92 (i32.const 6337) " \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?") + (data $19.93 (i32.const 6369) "\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?") + (data $19.94 (i32.const 6401) "\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?") + (data $19.95 (i32.const 6433) "\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?") + (data $19.96 (i32.const 6465) "\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?") + (data $19.97 (i32.const 6497) "\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?") + (data $19.98 (i32.const 6529) "\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?") + (data $19.99 (i32.const 6561) "\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?") + (data $19.100 (i32.const 6593) "\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?") + (data $19.101 (i32.const 6625) "pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?") + (data $19.102 (i32.const 6657) "PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?") + (data $19.103 (i32.const 6690) "9\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?") + (data $19.104 (i32.const 6722) "\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?") + (data $19.105 (i32.const 6753) "\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?") + (data $19.106 (i32.const 6785) "\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?") + (data $19.107 (i32.const 6817) "\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?") + (data $19.108 (i32.const 6849) "\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?") + (data $19.109 (i32.const 6881) "\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?") + (data $19.110 (i32.const 6913) "\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?") + (data $19.111 (i32.const 6946) "\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?") + (data $19.112 (i32.const 6977) "\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?") + (data $19.113 (i32.const 7009) "XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?") + (data $19.114 (i32.const 7041) "`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?") + (data $19.115 (i32.const 7073) "\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?") + (data $19.116 (i32.const 7105) "\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?") + (data $19.117 (i32.const 7137) "hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?") + (data $19.118 (i32.const 7169) "\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?") + (data $19.119 (i32.const 7201) "\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?") + (data $19.120 (i32.const 7233) "`\d3\e1\f1\14\d3?\b8\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data $21 (i32.const 9564) "\1c") + (data $21.1 (i32.const 9576) "\02\00\00\00\06\00\00\000\00.\000") + (data $22 (i32.const 9596) "\1c") + (data $22.1 (i32.const 9608) "\02\00\00\00\06\00\00\00N\00a\00N") + (data $23 (i32.const 9628) ",") + (data $23.1 (i32.const 9640) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data $24 (i32.const 9676) ",") + (data $24.1 (i32.const 9688) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data $26 (i32.const 9784) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8_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 $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_none (func)) - (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))) - (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $f32_i32_=>_i32 (func (param f32 i32) (result i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i32_i32_f32_=>_none (func (param i32 i32 f32))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $f64_=>_i32 (func (param f64) (result i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32 i32))) + (type $5 (func)) + (type $6 (func (param i32 i32 i32) (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) + (type $10 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) + (type $11 (func (param i32 f64 i32) (result i32))) + (type $12 (func (param f32 i32) (result i32))) + (type $13 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $14 (func (param i32 i64 i32))) + (type $15 (func (param i64 i32) (result i32))) + (type $16 (func (param i32 i64 i32 i32))) + (type $17 (func (param i32 i32 f32))) + (type $18 (func (param i32 i32) (result f32))) + (type $19 (func (param f32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -48,39 +49,39 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36576)) (global $~lib/memory/__heap_base i32 (i32.const 36576)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 652) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 752) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 808) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 return ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -3944,9 +4008,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -3979,10 +4043,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -4030,8 +4094,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $num i64.const 8 i64.shr_u @@ -4050,8 +4114,8 @@ i32.const 6 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end ) (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) @@ -4175,8 +4239,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num local.get $shift i64.shr_u @@ -4211,8 +4275,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -4268,16 +4332,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/typedarray/Float32Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4306,7 +4365,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Float32Array $resolve-elementaccess/Buffer $~lib/typedarray/Uint8Array $invalid end return @@ -4363,10 +4422,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -4375,13 +4434,13 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer @@ -4389,7 +4448,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -4397,7 +4456,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -4422,7 +4481,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -4431,20 +4490,20 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -4452,7 +4511,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -4473,7 +4532,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4482,20 +4541,20 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -4513,13 +4572,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -4537,7 +4596,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -4545,7 +4604,7 @@ i32.shl i32.add local.get $value - f32.store $0 + f32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4561,13 +4620,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -4585,14 +4644,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4611,7 +4670,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -4649,7 +4708,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -4658,7 +4717,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -4676,14 +4735,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -4706,7 +4765,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4715,20 +4774,20 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -4746,7 +4805,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4755,19 +4814,19 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length call $~lib/typedarray/Uint8Array#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -4785,13 +4844,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.ge_u @@ -4807,13 +4866,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add local.get $value - i32.store8 $0 + i32.store8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4828,13 +4887,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.ge_u @@ -4850,12 +4909,12 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add - i32.load8_u $0 + i32.load8_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4871,15 +4930,15 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - memory.size $0 + i32.const 20 + memory.fill + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -4904,7 +4963,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 0 f32.const 1 @@ -4913,7 +4972,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 1 f32.const 2 @@ -4922,7 +4981,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -4931,14 +4990,9 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 2144 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -4953,7 +5007,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 1 call $~lib/typedarray/Float32Array#__get @@ -4962,14 +5016,9 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 2256 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -4983,12 +5032,12 @@ global.get $~lib/memory/__stack_pointer global.get $resolve-elementaccess/arr local.tee $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 0 local.tee $1 @@ -4996,7 +5045,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -5007,7 +5056,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 local.get $1 call $~lib/typedarray/Float32Array#__get @@ -5016,14 +5065,9 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 2288 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5038,14 +5082,14 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 0 global.get $resolve-elementaccess/arr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -5056,7 +5100,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -5079,7 +5123,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 0 i32.const 1 @@ -5088,7 +5132,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 1 i32.const 2 @@ -5097,7 +5141,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -5106,14 +5150,9 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 3696 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5128,7 +5167,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 1 call $~lib/typedarray/Uint8Array#__get @@ -5137,14 +5176,9 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 3728 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5158,12 +5192,12 @@ global.get $~lib/memory/__stack_pointer global.get $resolve-elementaccess/buf local.tee $2 - i32.store $0 offset=20 + i32.store offset=16 local.get $2 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 0 local.tee $3 @@ -5171,7 +5205,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -5182,7 +5216,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 local.get $3 call $~lib/typedarray/Uint8Array#__get @@ -5191,14 +5225,9 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 3760 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5213,14 +5242,14 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 0 global.get $resolve-elementaccess/buf local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -5231,7 +5260,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -5247,14 +5276,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/number/dtoa (param $value f64) (result i32) + (func $~lib/util/number/dtoa (param $value f32) (result i32) + (local $value|1 f64) + (local $isSingle i32) (local $size i32) (local $result i32) - (local $3 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5262,77 +5293,68 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $value - f64.const 0 - f64.eq - if - i32.const 608 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if + i32.store + block $~lib/util/number/dtoa_impl|inlined.0 (result i32) local.get $value - local.get $value - f64.ne + f64.promote_f32 + local.set $value|1 + i32.const 1 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq if - i32.const 640 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 608 + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 672 - i32.const 720 - local.get $value + local.get $value|1 + local.get $value|1 + f64.sub f64.const 0 - f64.lt - select - local.set $3 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 640 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 672 + i32.const 720 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 752 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 752 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 752 - local.get $value - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $size - global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 - local.get $result - i32.const 752 - local.get $size - memory.copy $0 $0 - local.get $result - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 return ) (func $~lib/util/number/utoa32 (param $value i32) (param $radix i32) (result i32) @@ -5354,7 +5376,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -5399,7 +5421,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer local.get $value @@ -5435,7 +5457,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|8 local.get $value @@ -5464,7 +5486,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $value i64.extend_i32_u diff --git a/tests/compiler/resolve-elementaccess.release.wat b/tests/compiler/resolve-elementaccess.release.wat index 3831b34214..bc80e8c9b3 100644 --- a/tests/compiler/resolve-elementaccess.release.wat +++ b/tests/compiler/resolve-elementaccess.release.wat @@ -1,18 +1,19 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i64_i64_i32_i64_i32_=>_i32 (func (param i64 i64 i32 i64 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $f32_=>_i32 (func (param f32) (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_f32_=>_none (func (param i32 i32 f32))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (result i32))) + (type $8 (func (param i64 i64 i32 i64 i32) (result i32))) + (type $9 (func (param i32 i32 i32) (result i32))) + (type $10 (func (param f64) (result i32))) + (type $11 (func (param f32) (result i32))) + (type $12 (func (param i32) (result i32))) + (type $13 (func (param i32 i32 f32))) + (type $14 (func (param i32 i32) (result f32))) (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)) @@ -34,59 +35,59 @@ (global $resolve-elementaccess/buf (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37600)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1148) "<") - (data (i32.const 1160) "\02\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 1212) "<") - (data (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1340) "<") - (data (i32.const 1352) "\02\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 1404) ",") - (data (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1484) "<") - (data (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1548) "<") - (data (i32.const 1560) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1612) "\1c") - (data (i32.const 1624) "\02\00\00\00\06\00\00\000\00.\000") - (data (i32.const 1644) "\1c") - (data (i32.const 1656) "\02\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 1676) ",") - (data (i32.const 1688) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 1724) ",") - (data (i32.const 1736) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 1832) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8_i32 (func (param i32) (result i32))) - (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 $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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i64 i32))) + (type $10 (func (param i64 i32) (result i32))) + (type $11 (func (param i32 i64 i32 i32))) + (type $12 (func (param i32 i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -34,26 +34,26 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35192)) (global $~lib/memory/__heap_base i32 (i32.const 35192)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s\00") - (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 188) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\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\02\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 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 576) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 668) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 720) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 812) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 1212) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2268) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\004\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 2400) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s\00") + (data $2 (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 188) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $6 (i32.const 380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 576) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $12 (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $13 (i32.const 720) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 748) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $15 (i32.const 812) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data $16 (i32.const 1212) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 2268) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") + (data $18 (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\004\002\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 2400) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00") (table $0 4 4 funcref) (elem $0 (i32.const 1) $start:resolve-function-expression~anonymous|0 $start:resolve-function-expression~anonymous|1 $start:resolve-function-expression~anonymous|2) (export "memory" (memory $0)) @@ -132,12 +132,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -151,7 +151,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -225,7 +225,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -295,11 +295,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -307,7 +307,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 624 @@ -439,7 +439,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -452,7 +452,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -468,34 +468,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -655,7 +655,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -678,7 +678,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -692,7 +692,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -715,7 +715,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -858,7 +858,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -944,7 +944,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1024,7 +1024,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1058,7 +1058,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1081,7 +1081,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1095,27 +1095,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 768 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1140,9 +1145,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1161,7 +1166,7 @@ if i32.const 0 i32.const 768 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1180,7 +1185,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1194,7 +1198,7 @@ if i32.const 0 i32.const 768 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1250,12 +1254,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1289,7 +1293,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1310,7 +1314,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1330,7 +1334,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1350,7 +1354,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1376,7 +1380,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1399,9 +1403,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1437,7 +1442,7 @@ if i32.const 0 i32.const 768 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1703,14 +1708,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1766,7 +1774,7 @@ if i32.const 432 i32.const 768 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1775,6 +1783,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1804,24 +1832,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1859,7 +1876,7 @@ if i32.const 0 i32.const 768 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1874,7 +1891,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1919,7 +1936,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1930,7 +1947,7 @@ if i32.const 0 i32.const 768 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1952,7 +1969,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1975,7 +1992,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1994,22 +2011,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2022,7 +2031,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2049,27 +2058,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2094,7 +2104,7 @@ if i32.const 0 i32.const 768 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2209,7 +2219,7 @@ if i32.const 0 i32.const 768 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2229,7 +2239,7 @@ if i32.const 0 i32.const 768 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2262,12 +2272,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2318,7 +2328,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2362,14 +2372,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 812 local.get $d2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -2385,7 +2395,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -2412,7 +2422,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits local.get $buffer local.get $offset @@ -2420,7 +2430,7 @@ i32.shl i32.add local.get $digits - i32.store $0 + i32.store end local.get $num i32.const 10 @@ -2435,7 +2445,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits|12 local.get $buffer local.get $offset @@ -2443,7 +2453,7 @@ i32.shl i32.add local.get $digits|12 - i32.store $0 + i32.store else local.get $offset i32.const 1 @@ -2459,7 +2469,7 @@ i32.shl i32.add local.get $digit - i32.store16 $0 + i32.store16 end ) (func $~lib/util/number/utoa_hex_lut (param $buffer i32) (param $num i64) (param $offset i32) @@ -2485,8 +2495,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $num i64.const 8 i64.shr_u @@ -2505,8 +2515,8 @@ i32.const 6 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end ) (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) @@ -2630,8 +2640,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num local.get $shift i64.shr_u @@ -2666,8 +2676,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -2685,7 +2695,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -2737,9 +2747,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2772,10 +2782,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2821,20 +2831,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/function/Function<%28i32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2854,7 +2859,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid end return @@ -2901,7 +2906,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -2939,7 +2944,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -2948,7 +2953,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -2966,14 +2971,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -2990,19 +2995,19 @@ (func $start:resolve-function-expression (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store i32.const 2 i32.const 1 global.set $~argumentsLength i32.const 32 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 42 i32.eq i32.eqz @@ -3018,8 +3023,8 @@ i32.const 1 global.set $~argumentsLength i32.const 144 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 42 i32.eq i32.eqz @@ -3031,7 +3036,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3052,21 +3057,16 @@ i32.const 1 global.set $~argumentsLength i32.const 176 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 10 call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2384 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3078,7 +3078,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3091,12 +3091,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%29=>i32>#get:_env local.get $cookie @@ -3127,7 +3127,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -3187,7 +3187,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -3227,7 +3227,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -3262,7 +3262,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -3277,7 +3277,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $14 diff --git a/tests/compiler/resolve-function-expression.release.wat b/tests/compiler/resolve-function-expression.release.wat index 73b99b393f..82fe5bde30 100644 --- a/tests/compiler/resolve-function-expression.release.wat +++ b/tests/compiler/resolve-function-expression.release.wat @@ -1,12 +1,12 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 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))) + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (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)) @@ -20,38 +20,38 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36216)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") - (data (i32.const 1068) "L") - (data (i32.const 1080) "\02\00\00\00<\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s") - (data (i32.const 1148) "\1c") - (data (i32.const 1160) "\04\00\00\00\08\00\00\00\02") - (data (i32.const 1180) "\1c") - (data (i32.const 1192) "\04\00\00\00\08\00\00\00\03") - (data (i32.const 1212) "|") - (data (i32.const 1224) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 1340) "<") - (data (i32.const 1352) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 1404) "\1c") - (data (i32.const 1416) "\02\00\00\00\02\00\00\000") - (data (i32.const 1436) "<") - (data (i32.const 1448) "\02\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 1500) "<") - (data (i32.const 1512) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1628) "<") - (data (i32.const 1640) "\02\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 1692) ",") - (data (i32.const 1704) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1772) "<") - (data (i32.const 1784) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1836) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 2236) "\1c\04") - (data (i32.const 2248) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 3292) "\\") - (data (i32.const 3304) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 3388) "\1c") - (data (i32.const 3400) "\02\00\00\00\04\00\00\004\002") - (data (i32.const 3424) "\05\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\04\00\00\00\08\00\00\00\01") + (data $1 (i32.const 1068) "L") + (data $1.1 (i32.const 1080) "\02\00\00\00<\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00f\00u\00n\00c\00t\00i\00o\00n\00-\00e\00x\00p\00r\00e\00s\00s\00i\00o\00n\00.\00t\00s") + (data $2 (i32.const 1148) "\1c") + (data $2.1 (i32.const 1160) "\04\00\00\00\08\00\00\00\02") + (data $3 (i32.const 1180) "\1c") + (data $3.1 (i32.const 1192) "\04\00\00\00\08\00\00\00\03") + (data $4 (i32.const 1212) "|") + (data $4.1 (i32.const 1224) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data $5 (i32.const 1340) "<") + (data $5.1 (i32.const 1352) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data $6 (i32.const 1404) "\1c") + (data $6.1 (i32.const 1416) "\02\00\00\00\02\00\00\000") + (data $7 (i32.const 1436) "<") + (data $7.1 (i32.const 1448) "\02\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 $8 (i32.const 1500) "<") + (data $8.1 (i32.const 1512) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $11 (i32.const 1628) "<") + (data $11.1 (i32.const 1640) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $12 (i32.const 1692) ",") + (data $12.1 (i32.const 1704) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $14 (i32.const 1772) "<") + (data $14.1 (i32.const 1784) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $15 (i32.const 1836) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data $16 (i32.const 2236) "\1c\04") + (data $16.1 (i32.const 2248) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data $17 (i32.const 3292) "\\") + (data $17.1 (i32.const 3304) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data $18 (i32.const 3388) "\1c") + (data $18.1 (i32.const 3400) "\02\00\00\00\04\00\00\004\002") + (data $19 (i32.const 3424) "\05\00\00\00 \00\00\00 \00\00\00 ") (table $0 4 4 funcref) (elem $0 (i32.const 1) $start:resolve-function-expression~anonymous|0 $start:resolve-function-expression~anonymous|1 $start:resolve-function-expression~anonymous|2) (export "memory" (memory $0)) @@ -75,16 +75,16 @@ (local $0 i32) (local $1 i32) i32.const 1648 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1456 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2256 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 3312 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -94,7 +94,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -112,7 +112,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -120,137 +120,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1520 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1520 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 36216 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$124 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 36216 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1520 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$124 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1520 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1520 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 3424 + i32.load + i32.gt_u + if + i32.const 1648 + i32.const 1712 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 3428 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 3424 - i32.load $0 - i32.gt_u - if - i32.const 1648 - i32.const 1712 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 3428 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -258,8 +278,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -271,10 +291,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -285,29 +305,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -315,10 +335,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -332,75 +352,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -422,7 +435,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -439,12 +452,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -461,17 +474,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -481,9 +494,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -508,13 +521,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -548,7 +561,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -604,19 +617,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -628,15 +641,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -644,23 +657,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1792 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -674,10 +689,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -685,23 +700,22 @@ if i32.const 0 i32.const 1792 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -713,52 +727,53 @@ if i32.const 0 i32.const 1792 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -766,7 +781,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -774,7 +789,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -785,10 +800,10 @@ end i32.const 36224 i32.const 0 - i32.store $0 + i32.store i32.const 37792 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -800,7 +815,7 @@ i32.const 36224 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -818,7 +833,7 @@ i32.const 36224 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -835,9 +850,10 @@ end i32.const 36224 i32.const 37796 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 36224 global.set $~lib/rt/tlsf/ROOT @@ -867,7 +883,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -880,19 +896,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -903,7 +919,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -915,7 +931,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -928,12 +944,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -942,7 +954,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -953,26 +965,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -988,7 +1000,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1004,7 +1016,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1029,14 +1041,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1056,7 +1068,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1071,25 +1082,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1792 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1098,12 +1108,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1111,47 +1120,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1162,7 +1173,7 @@ if i32.const 0 i32.const 1792 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1172,7 +1183,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1189,10 +1200,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1208,13 +1219,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1792 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1229,7 +1240,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1262,8 +1273,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/itoa32 + i32.store + block $__inlined_func$~lib/util/number/itoa32$73 local.get $0 i32.eqz if @@ -1272,11 +1283,10 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1424 - local.set $1 - br $__inlined_func$~lib/util/number/itoa32 + local.set $2 + br $__inlined_func$~lib/util/number/itoa32$73 end global.get $~lib/memory/__stack_pointer - local.set $5 i32.const 0 local.get $0 i32.sub @@ -1334,7 +1344,7 @@ i32.add end end - local.tee $2 + local.tee $1 i32.const 1 i32.shl local.get $3 @@ -1354,43 +1364,38 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 - local.set $1 + local.set $2 loop $do-loop|0 - local.get $1 + local.get $2 call $~lib/rt/itcms/step i32.sub - local.set $1 + 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end - local.get $1 + local.get $2 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/total 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 @@ -1405,62 +1410,73 @@ local.get $6 i32.const 16 i32.add - local.tee $1 + local.tee $2 i32.const 1073741820 i32.gt_u if i32.const 1456 i32.const 1792 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $7 - i32.const 12 - local.get $1 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub - local.get $1 + local.get $2 i32.const 12 i32.le_u - select + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $8 call $~lib/rt/tlsf/searchBlock - local.tee $1 + local.tee $2 i32.eqz if - memory.size $0 - local.tee $1 + memory.size + local.tee $2 + local.get $8 + i32.const 256 + i32.ge_u + if (result i32) + local.get $8 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $8 + i32.const 1 + i32.const 27 + local.get $8 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $8 + end + else + local.get $8 + end i32.const 4 local.get $7 - i32.load $0 offset=1568 - local.get $1 + i32.load offset=1568 + local.get $2 i32.const 16 i32.shl i32.const 4 i32.sub i32.ne i32.shl - local.get $8 - i32.const 1 - i32.const 27 - local.get $8 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $8 - local.get $8 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1469,16 +1485,16 @@ i32.const 16 i32.shr_u local.tee $4 - local.get $1 + local.get $2 local.get $4 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $4 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1486,47 +1502,48 @@ end end local.get $7 - local.get $1 - i32.const 16 - i32.shl - memory.size $0 + local.get $2 i32.const 16 i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $7 local.get $8 call $~lib/rt/tlsf/searchBlock - local.tee $1 + local.tee $2 i32.eqz if i32.const 0 i32.const 1792 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $8 - local.get $1 - i32.load $0 + local.get $2 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1792 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable end local.get $7 - local.get $1 + local.get $2 call $~lib/rt/tlsf/removeBlock - local.get $1 - i32.load $0 - local.set $4 + local.get $2 + i32.load + local.set $9 local.get $8 i32.const 4 i32.add @@ -1535,112 +1552,111 @@ if i32.const 0 i32.const 1792 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $4 + local.get $9 i32.const -4 i32.and local.get $8 i32.sub - local.tee $9 + local.tee $4 i32.const 16 i32.ge_u if - local.get $1 + local.get $2 local.get $8 - local.get $4 + local.get $9 i32.const 2 i32.and i32.or - i32.store $0 - local.get $1 + i32.store + local.get $2 i32.const 4 i32.add local.get $8 i32.add - local.tee $4 - local.get $9 + local.tee $8 + local.get $4 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $7 - local.get $4 + local.get $8 call $~lib/rt/tlsf/insertBlock else - local.get $1 - local.get $4 + local.get $2 + local.get $9 i32.const -2 i32.and - i32.store $0 - local.get $1 + i32.store + local.get $2 i32.const 4 i32.add - local.get $1 - i32.load $0 + local.get $2 + i32.load i32.const -4 i32.and i32.add local.tee $4 local.get $4 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end - local.get $1 + local.get $2 i32.const 2 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $6 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $4 - i32.load $0 offset=8 + i32.load offset=8 local.set $7 - local.get $1 + local.get $2 local.get $4 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + local.get $2 local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 - local.get $1 + local.get $2 local.get $7 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $4 - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 global.get $~lib/rt/itcms/total - local.get $1 - i32.load $0 + 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 $1 + local.get $2 i32.const 20 i32.add - local.tee $1 + local.tee $2 i32.const 0 local.get $6 - memory.fill $0 - local.get $5 - local.get $1 - i32.store $0 - local.get $1 + memory.fill + local.get $2 + i32.store + local.get $2 local.get $3 i32.add local.set $4 @@ -1658,10 +1674,10 @@ i32.div_u local.set $0 local.get $4 - local.get $2 + local.get $1 i32.const 4 i32.sub - local.tee $2 + local.tee $1 i32.const 1 i32.shl i32.add @@ -1672,7 +1688,7 @@ i32.shl i32.const 1836 i32.add - i64.load32_u $0 + i64.load32_u local.get $5 i32.const 100 i32.rem_u @@ -1680,11 +1696,11 @@ i32.shl i32.const 1836 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -1693,10 +1709,10 @@ i32.ge_u if local.get $4 - local.get $2 + local.get $1 i32.const 2 i32.sub - local.tee $2 + local.tee $1 i32.const 1 i32.shl i32.add @@ -1707,8 +1723,8 @@ i32.shl i32.const 1836 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $0 i32.const 100 i32.div_u @@ -1719,7 +1735,7 @@ i32.ge_u if local.get $4 - local.get $2 + local.get $1 i32.const 2 i32.sub i32.const 1 @@ -1730,11 +1746,11 @@ i32.shl i32.const 1836 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store else local.get $4 - local.get $2 + local.get $1 i32.const 1 i32.sub i32.const 1 @@ -1743,23 +1759,22 @@ local.get $0 i32.const 48 i32.add - i32.store16 $0 + i32.store16 end local.get $3 if - local.get $1 + local.get $2 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $1 + local.get $2 ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $invalid block $~lib/function/Function<%28i32%29=>i32> block $~lib/arraybuffer/ArrayBufferView @@ -1769,7 +1784,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid end return @@ -1779,12 +1794,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end global.get $~lib/memory/__stack_pointer @@ -1803,19 +1814,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1832,7 +1838,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -1841,12 +1847,12 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store i32.const 2 i32.const 1056 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 42 i32.ne if @@ -1859,8 +1865,8 @@ end i32.const 1 i32.const 1168 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 42 i32.ne if @@ -1871,7 +1877,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 36216 @@ -1881,43 +1887,39 @@ global.set $~lib/rt/itcms/threshold i32.const 1572 i32.const 1568 - i32.store $0 + i32.store i32.const 1576 i32.const 1568 - i32.store $0 + i32.store i32.const 1568 global.set $~lib/rt/itcms/pinSpace i32.const 1604 i32.const 1600 - i32.store $0 + i32.store i32.const 1608 i32.const 1600 - i32.store $0 + i32.store i32.const 1600 global.set $~lib/rt/itcms/toSpace i32.const 1748 i32.const 1744 - i32.store $0 + i32.store i32.const 1752 i32.const 1744 - i32.store $0 + i32.store i32.const 1744 global.set $~lib/rt/itcms/fromSpace i32.const 0 i32.const 1200 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) call $~lib/number/I32#toString local.set $5 global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $5 - i32.store $0 - local.get $0 - i32.const 3408 - i32.store $0 offset=4 - block $__inlined_func$~lib/string/String.__eq (result i32) - local.get $0 + i32.store + block $__inlined_func$~lib/string/String.__eq$1 (result i32) + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1927,7 +1929,7 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $5 i32.const 3408 i32.eq @@ -1937,56 +1939,55 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/string/String.__eq + br $__inlined_func$~lib/string/String.__eq$1 end block $folding-inner0 local.get $5 i32.eqz br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3408 - i32.store $0 + i32.store local.get $1 i32.const 3404 - i32.load $0 + i32.load i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $5 - i32.store $0 + i32.store i32.const 3408 local.set $3 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3408 - i32.store $0 offset=4 + i32.store offset=4 + i32.const 1 local.get $5 i32.const 7 i32.and - i32.eqz local.get $1 i32.const 4 - i32.ge_u - i32.and + i32.lt_u + select + i32.eqz if loop $do-loop|0 local.get $5 - i64.load $0 + i64.load local.get $3 - i64.load $0 + i64.load i64.eq if local.get $5 @@ -2007,7 +2008,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$80 loop $while-continue|1 local.get $1 local.tee $0 @@ -2017,17 +2018,17 @@ local.get $0 if local.get $5 - i32.load16_u $0 + i32.load16_u local.tee $2 local.get $3 - i32.load16_u $0 + i32.load16_u local.tee $0 i32.sub local.set $4 local.get $0 local.get $2 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl + br_if $__inlined_func$~lib/util/string/compareImpl$80 local.get $5 i32.const 2 i32.add @@ -2048,7 +2049,7 @@ global.set $~lib/memory/__stack_pointer local.get $4 i32.eqz - br $__inlined_func$~lib/string/String.__eq + br $__inlined_func$~lib/string/String.__eq$1 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2066,7 +2067,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -2078,23 +2079,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/resolve-localortype.debug.wat b/tests/compiler/resolve-localortype.debug.wat index b2017caf22..c070663650 100644 --- a/tests/compiler/resolve-localortype.debug.wat +++ b/tests/compiler/resolve-localortype.debug.wat @@ -1,7 +1,7 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) @@ -37,12 +37,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $string local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $resolve-localortype/foo<~lib/string/String> local.set $1 @@ -62,7 +62,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $resolve-localortype/test local.set $1 diff --git a/tests/compiler/resolve-localortype.release.wat b/tests/compiler/resolve-localortype.release.wat index 64f8e21612..7fe06f9905 100644 --- a/tests/compiler/resolve-localortype.release.wat +++ b/tests/compiler/resolve-localortype.release.wat @@ -1,13 +1,12 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func (param i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33792)) (memory $0 0) (export "memory" (memory $0)) (export "test" (func $export:resolve-localortype/test)) (func $export:resolve-localortype/test (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18,10 +17,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -30,13 +28,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-nested.debug.wat b/tests/compiler/resolve-nested.debug.wat index 2e918e766f..41ee1e9f62 100644 --- a/tests/compiler/resolve-nested.debug.wat +++ b/tests/compiler/resolve-nested.debug.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 $0 (func (param i32 i32 i32))) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $resolve-nested/Outer.Inner.a (mut i32) (i32.const 0)) (global $resolve-nested/Outer.Inner.b (mut i32) (i32.const 0)) @@ -26,7 +26,6 @@ (export "memory" (memory $0)) (export "outer" (func $export:resolve-nested/outer)) (func $resolve-nested/outer (param $a i32) (param $b i32) (param $c i32) - nop ) (func $~stack_check global.get $~lib/memory/__stack_pointer @@ -49,13 +48,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 local.get $2 diff --git a/tests/compiler/resolve-nested.release.wat b/tests/compiler/resolve-nested.release.wat index 4c633e5c55..76459d8f80 100644 --- a/tests/compiler/resolve-nested.release.wat +++ b/tests/compiler/resolve-nested.release.wat @@ -1,13 +1,12 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func (param i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33792)) (memory $0 0) (export "memory" (memory $0)) (export "outer" (func $export:resolve-nested/outer)) (func $export:resolve-nested/outer (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -24,16 +23,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-new.debug.wat b/tests/compiler/resolve-new.debug.wat index 1716a8099d..a1724b824f 100644 --- a/tests/compiler/resolve-new.debug.wat +++ b/tests/compiler/resolve-new.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -29,15 +29,15 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33208)) (global $~lib/memory/__heap_base i32 (i32.const 33208)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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 416) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -45,12 +45,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -64,7 +64,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -138,7 +138,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -208,11 +208,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -220,7 +220,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -352,7 +352,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -365,7 +365,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -381,34 +381,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -568,7 +568,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -591,7 +591,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -605,7 +605,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -628,7 +628,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -771,7 +771,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -857,7 +857,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -937,7 +937,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -971,7 +971,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -994,7 +994,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1008,27 +1008,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1053,9 +1058,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1074,7 +1079,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1093,7 +1098,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1107,7 +1111,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1163,12 +1167,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1202,7 +1206,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1223,7 +1227,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1243,7 +1247,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1263,7 +1267,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1289,7 +1293,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1312,9 +1316,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1350,7 +1355,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1616,14 +1621,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1679,7 +1687,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1688,6 +1696,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1717,24 +1745,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1772,7 +1789,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1787,7 +1804,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1832,7 +1849,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1843,7 +1860,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1865,7 +1882,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1888,7 +1905,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1907,22 +1924,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1935,7 +1944,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1962,27 +1971,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2007,7 +2017,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2122,7 +2132,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2142,7 +2152,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2175,12 +2185,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2231,12 +2241,11 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $resolve-new/Foo#bar (param $this i32) - nop ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2260,16 +2269,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2281,7 +2285,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-new/Foo $invalid end return @@ -2324,7 +2328,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2333,18 +2337,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2362,8 +2366,8 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2388,7 +2392,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $resolve-new/Foo#bar global.get $~lib/memory/__stack_pointer @@ -2405,7 +2409,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2414,7 +2418,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/resolve-new.release.wat b/tests/compiler/resolve-new.release.wat index cb6dc791af..2a19017969 100644 --- a/tests/compiler/resolve-new.release.wat +++ b/tests/compiler/resolve-new.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param 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 $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (result i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (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)) @@ -20,17 +20,17 @@ (global $resolve-new/foo (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34232)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1440) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -40,15 +40,15 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -58,7 +58,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -76,7 +76,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -84,137 +84,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34232 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$112 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34232 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$112 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1440 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1444 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -222,8 +242,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -235,10 +255,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -249,29 +269,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -279,10 +299,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -296,75 +316,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -386,7 +399,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -403,12 +416,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -425,17 +438,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -445,9 +458,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -472,13 +485,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -512,7 +525,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -568,19 +581,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -592,15 +605,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -608,23 +621,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -638,10 +653,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -649,23 +664,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -677,52 +691,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -730,7 +745,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -738,7 +753,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -749,10 +764,10 @@ end i32.const 34240 i32.const 0 - i32.store $0 + i32.store i32.const 35808 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -764,7 +779,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -782,7 +797,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -799,9 +814,10 @@ end i32.const 34240 i32.const 35812 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34240 global.set $~lib/rt/tlsf/ROOT @@ -831,7 +847,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -844,19 +860,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -867,7 +883,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -879,7 +895,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -892,12 +908,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -906,7 +918,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -917,26 +929,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -952,7 +964,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -968,7 +980,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -993,14 +1005,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1020,7 +1032,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1035,25 +1046,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1062,12 +1072,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1077,7 +1086,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1088,10 +1097,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1103,13 +1112,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1124,7 +1133,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1139,7 +1148,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1151,16 +1160,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1168,8 +1173,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1191,11 +1195,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1214,12 +1218,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1230,9 +1234,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1241,14 +1246,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1256,7 +1261,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1265,7 +1270,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1281,7 +1286,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1291,7 +1296,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1300,54 +1305,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1360,7 +1365,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1373,7 +1378,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-new/Foo $invalid end return @@ -1383,12 +1388,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1414,8 +1415,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34232 @@ -1425,26 +1426,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace call $resolve-new/Foo#constructor @@ -1453,7 +1454,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1472,19 +1473,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1494,7 +1494,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1502,15 +1502,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1525,23 +1524,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/resolve-propertyaccess.debug.wat b/tests/compiler/resolve-propertyaccess.debug.wat index 08683b9901..06b17954f1 100644 --- a/tests/compiler/resolve-propertyaccess.debug.wat +++ b/tests/compiler/resolve-propertyaccess.debug.wat @@ -1,17 +1,17 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (param i32 i64 i32))) + (type $10 (func (param i64 i32) (result i32))) + (type $11 (func (param i32 i64 i32 i32))) + (type $12 (func (param i32 i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $resolve-propertyaccess/Namespace.member i32 (i32.const 1)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -42,34 +42,34 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35448)) (global $~lib/memory/__heap_base i32 (i32.const 35448)) (memory $0 1) - (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 636) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2220) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00p\00r\00o\00p\00e\00r\00t\00y\00a\00c\00c\00e\00s\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\002\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\003\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\003\003\00\00\00\00\00\00\00\00\00") - (data (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\004\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\005\005\00\00\00\00\00\00\00\00\00") - (data (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\007\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\006\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\008\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2656) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $2 (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $11 (i32.const 636) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data $12 (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") + (data $14 (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 2220) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00p\00r\00o\00p\00e\00r\00t\00y\00a\00c\00c\00e\00s\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data $18 (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\002\002\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\003\00\00\00\00\00\00\00\00\00\00\00") + (data $20 (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\003\003\00\00\00\00\00\00\00\00\00") + (data $21 (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\004\00\00\00\00\00\00\00\00\00\00\00") + (data $22 (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\005\00\00\00\00\00\00\00\00\00\00\00") + (data $23 (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\005\005\00\00\00\00\00\00\00\00\00") + (data $24 (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\007\00\00\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\006\00\00\00\00\00\00\00\00\00\00\00") + (data $26 (i32.const 2620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\008\00\00\00\00\00\00\00\00\00\00\00") + (data $27 (i32.const 2656) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -132,12 +132,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -151,7 +151,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -225,7 +225,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -295,11 +295,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -307,7 +307,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 448 @@ -439,7 +439,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -452,7 +452,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -468,34 +468,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -655,7 +655,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -678,7 +678,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -692,7 +692,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -715,7 +715,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -858,7 +858,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -944,7 +944,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1024,7 +1024,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1058,7 +1058,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1081,7 +1081,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1095,27 +1095,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 592 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1140,9 +1145,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1161,7 +1166,7 @@ if i32.const 0 i32.const 592 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1180,7 +1185,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1194,7 +1198,7 @@ if i32.const 0 i32.const 592 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1250,12 +1254,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1289,7 +1293,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1310,7 +1314,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1330,7 +1334,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1350,7 +1354,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1376,7 +1380,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1399,9 +1403,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1437,7 +1442,7 @@ if i32.const 0 i32.const 592 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1703,14 +1708,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1766,7 +1774,7 @@ if i32.const 256 i32.const 592 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1775,6 +1783,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1804,24 +1832,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1859,7 +1876,7 @@ if i32.const 0 i32.const 592 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1874,7 +1891,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1919,7 +1936,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1930,7 +1947,7 @@ if i32.const 0 i32.const 592 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1952,7 +1969,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1975,7 +1992,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1994,22 +2011,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2022,7 +2031,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2049,27 +2058,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2094,7 +2104,7 @@ if i32.const 0 i32.const 592 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2209,7 +2219,7 @@ if i32.const 0 i32.const 592 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2229,7 +2239,7 @@ if i32.const 0 i32.const 592 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2262,12 +2272,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2318,7 +2328,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2362,14 +2372,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 636 local.get $d2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -2385,7 +2395,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -2412,7 +2422,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits local.get $buffer local.get $offset @@ -2420,7 +2430,7 @@ i32.shl i32.add local.get $digits - i32.store $0 + i32.store end local.get $num i32.const 10 @@ -2435,7 +2445,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits|12 local.get $buffer local.get $offset @@ -2443,7 +2453,7 @@ i32.shl i32.add local.get $digits|12 - i32.store $0 + i32.store else local.get $offset i32.const 1 @@ -2459,7 +2469,7 @@ i32.shl i32.add local.get $digit - i32.store16 $0 + i32.store16 end ) (func $~lib/util/number/utoa_hex_lut (param $buffer i32) (param $num i64) (param $offset i32) @@ -2485,8 +2495,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $num i64.const 8 i64.shr_u @@ -2505,8 +2515,8 @@ i32.const 6 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end ) (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) @@ -2630,8 +2640,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num local.get $shift i64.shr_u @@ -2666,8 +2676,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -2685,7 +2695,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -2737,9 +2747,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2772,10 +2782,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2807,11 +2817,11 @@ (func $resolve-propertyaccess/Class#set:instanceField (param $this i32) (param $instanceField i32) local.get $this local.get $instanceField - i32.store $0 + i32.store ) (func $resolve-propertyaccess/Class#get:instanceField (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $resolve-propertyaccess/Class#get:instanceProperty (param $this i32) (result i32) i32.const 8 @@ -2838,16 +2848,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2859,7 +2864,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-propertyaccess/Class $invalid end return @@ -2903,7 +2908,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -2941,7 +2946,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -2950,7 +2955,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -2968,14 +2973,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -2998,7 +3003,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3007,23 +3012,23 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6 call $resolve-propertyaccess/Class#set:instanceField @@ -3039,17 +3044,17 @@ (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - memory.size $0 + i32.const 0 + i32.store offset=8 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3072,14 +3077,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2208 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3096,14 +3096,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2320 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3120,14 +3115,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2352 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3144,14 +3134,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2384 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3168,14 +3153,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2416 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3192,14 +3172,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2448 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3216,14 +3191,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2480 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3240,14 +3210,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2512 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3264,14 +3229,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2544 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3288,14 +3248,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2576 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3310,12 +3265,12 @@ i32.const 0 call $resolve-propertyaccess/Class#constructor local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $resolve-propertyaccess/Class#get:instanceField i32.const 10 @@ -3323,14 +3278,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2608 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3345,7 +3295,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $resolve-propertyaccess/Class#get:instanceProperty i32.const 10 @@ -3353,14 +3303,9 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2640 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -3372,7 +3317,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3397,7 +3342,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -3457,7 +3402,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -3497,7 +3442,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -3532,7 +3477,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -3547,7 +3492,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $14 @@ -3567,7 +3512,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3576,7 +3521,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/resolve-propertyaccess.release.wat b/tests/compiler/resolve-propertyaccess.release.wat index f1dfc9aa82..9ac4eb9778 100644 --- a/tests/compiler/resolve-propertyaccess.release.wat +++ b/tests/compiler/resolve-propertyaccess.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 (func (param i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param 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)) @@ -20,70 +20,70 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36472)) (memory $0 1) - (data (i32.const 1036) "|") - (data (i32.const 1048) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 1164) "<") - (data (i32.const 1176) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\02\00\00\00\02\00\00\000") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\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 1324) "<") - (data (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1452) "<") - (data (i32.const 1464) "\02\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 1516) ",") - (data (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1596) "<") - (data (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1660) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 2060) "\1c\04") - (data (i32.const 2072) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 3116) "\\") - (data (i32.const 3128) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 3212) "\1c") - (data (i32.const 3224) "\02\00\00\00\02\00\00\001") - (data (i32.const 3244) "L") - (data (i32.const 3256) "\02\00\00\002\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00p\00r\00o\00p\00e\00r\00t\00y\00a\00c\00c\00e\00s\00s\00.\00t\00s") - (data (i32.const 3324) "\1c") - (data (i32.const 3336) "\02\00\00\00\04\00\00\001\001") - (data (i32.const 3356) "\1c") - (data (i32.const 3368) "\02\00\00\00\02\00\00\002") - (data (i32.const 3388) "\1c") - (data (i32.const 3400) "\02\00\00\00\04\00\00\002\002") - (data (i32.const 3420) "\1c") - (data (i32.const 3432) "\02\00\00\00\02\00\00\003") - (data (i32.const 3452) "\1c") - (data (i32.const 3464) "\02\00\00\00\04\00\00\003\003") - (data (i32.const 3484) "\1c") - (data (i32.const 3496) "\02\00\00\00\02\00\00\004") - (data (i32.const 3516) "\1c") - (data (i32.const 3528) "\02\00\00\00\02\00\00\005") - (data (i32.const 3548) "\1c") - (data (i32.const 3560) "\02\00\00\00\04\00\00\005\005") - (data (i32.const 3580) "\1c") - (data (i32.const 3592) "\02\00\00\00\02\00\00\007") - (data (i32.const 3612) "\1c") - (data (i32.const 3624) "\02\00\00\00\02\00\00\006") - (data (i32.const 3644) "\1c") - (data (i32.const 3656) "\02\00\00\00\02\00\00\008") - (data (i32.const 3680) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) "|") + (data $0.1 (i32.const 1048) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data $1 (i32.const 1164) "<") + (data $1.1 (i32.const 1176) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data $2 (i32.const 1228) "\1c") + (data $2.1 (i32.const 1240) "\02\00\00\00\02\00\00\000") + (data $3 (i32.const 1260) "<") + (data $3.1 (i32.const 1272) "\02\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 $4 (i32.const 1324) "<") + (data $4.1 (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $7 (i32.const 1452) "<") + (data $7.1 (i32.const 1464) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $8 (i32.const 1516) ",") + (data $8.1 (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $10 (i32.const 1596) "<") + (data $10.1 (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $11 (i32.const 1660) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data $12 (i32.const 2060) "\1c\04") + (data $12.1 (i32.const 2072) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data $13 (i32.const 3116) "\\") + (data $13.1 (i32.const 3128) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data $14 (i32.const 3212) "\1c") + (data $14.1 (i32.const 3224) "\02\00\00\00\02\00\00\001") + (data $15 (i32.const 3244) "L") + (data $15.1 (i32.const 3256) "\02\00\00\002\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00p\00r\00o\00p\00e\00r\00t\00y\00a\00c\00c\00e\00s\00s\00.\00t\00s") + (data $16 (i32.const 3324) "\1c") + (data $16.1 (i32.const 3336) "\02\00\00\00\04\00\00\001\001") + (data $17 (i32.const 3356) "\1c") + (data $17.1 (i32.const 3368) "\02\00\00\00\02\00\00\002") + (data $18 (i32.const 3388) "\1c") + (data $18.1 (i32.const 3400) "\02\00\00\00\04\00\00\002\002") + (data $19 (i32.const 3420) "\1c") + (data $19.1 (i32.const 3432) "\02\00\00\00\02\00\00\003") + (data $20 (i32.const 3452) "\1c") + (data $20.1 (i32.const 3464) "\02\00\00\00\04\00\00\003\003") + (data $21 (i32.const 3484) "\1c") + (data $21.1 (i32.const 3496) "\02\00\00\00\02\00\00\004") + (data $22 (i32.const 3516) "\1c") + (data $22.1 (i32.const 3528) "\02\00\00\00\02\00\00\005") + (data $23 (i32.const 3548) "\1c") + (data $23.1 (i32.const 3560) "\02\00\00\00\04\00\00\005\005") + (data $24 (i32.const 3580) "\1c") + (data $24.1 (i32.const 3592) "\02\00\00\00\02\00\00\007") + (data $25 (i32.const 3612) "\1c") + (data $25.1 (i32.const 3624) "\02\00\00\00\02\00\00\006") + (data $26 (i32.const 3644) "\1c") + (data $26.1 (i32.const 3656) "\02\00\00\00\02\00\00\008") + (data $27 (i32.const 3680) "\05\00\00\00 \00\00\00 \00\00\00 \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 1472 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1280 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2080 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 3136 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -93,7 +93,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -111,7 +111,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -119,137 +119,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 36472 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$126 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 36472 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$126 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1344 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 3680 + i32.load + i32.gt_u + if + i32.const 1472 + i32.const 1536 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 3684 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 3680 - i32.load $0 - i32.gt_u - if - i32.const 1472 - i32.const 1536 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 3684 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -257,8 +277,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -270,10 +290,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -284,29 +304,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -314,10 +334,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -331,75 +351,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -421,7 +434,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -438,12 +451,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -460,17 +473,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -480,9 +493,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -507,13 +520,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -547,7 +560,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -603,19 +616,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -627,15 +640,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -643,23 +656,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1616 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -673,10 +688,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -684,23 +699,22 @@ if i32.const 0 i32.const 1616 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -712,52 +726,53 @@ if i32.const 0 i32.const 1616 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -765,7 +780,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -773,7 +788,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -784,10 +799,10 @@ end i32.const 36480 i32.const 0 - i32.store $0 + i32.store i32.const 38048 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -799,7 +814,7 @@ i32.const 36480 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -817,7 +832,7 @@ i32.const 36480 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -834,9 +849,10 @@ end i32.const 36480 i32.const 38052 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 36480 global.set $~lib/rt/tlsf/ROOT @@ -866,7 +882,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -879,19 +895,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -902,7 +918,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -914,7 +930,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -927,12 +943,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -941,7 +953,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -952,26 +964,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -987,7 +999,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1003,7 +1015,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1028,14 +1040,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1055,7 +1067,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1070,25 +1081,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1616 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1097,12 +1107,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1110,47 +1119,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1161,7 +1172,7 @@ if i32.const 0 i32.const 1616 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1171,7 +1182,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1188,10 +1199,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1207,13 +1218,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1616 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1228,7 +1239,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1255,7 +1266,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1267,16 +1278,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1284,8 +1291,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1312,34 +1318,60 @@ if i32.const 1280 i32.const 1616 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1347,21 +1379,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1374,12 +1391,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1390,9 +1407,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1402,7 +1420,7 @@ if i32.const 0 i32.const 1616 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1410,14 +1428,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1616 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1426,8 +1444,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1436,95 +1454,95 @@ if i32.const 0 i32.const 1616 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1537,7 +1555,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/number/I32#toString (param $0 i32) (result i32) @@ -1563,8 +1581,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/itoa32 + i32.store + block $__inlined_func$~lib/util/number/itoa32$73 local.get $0 i32.eqz if @@ -1574,7 +1592,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1248 local.set $2 - br $__inlined_func$~lib/util/number/itoa32 + br $__inlined_func$~lib/util/number/itoa32$73 end global.get $~lib/memory/__stack_pointer i32.const 0 @@ -1642,7 +1660,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store local.get $2 local.get $3 i32.add @@ -1675,7 +1693,7 @@ i32.shl i32.const 1660 i32.add - i64.load32_u $0 + i64.load32_u local.get $4 i32.const 100 i32.rem_u @@ -1683,11 +1701,11 @@ i32.shl i32.const 1660 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -1710,8 +1728,8 @@ i32.shl i32.const 1660 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $0 i32.const 100 i32.div_u @@ -1733,8 +1751,8 @@ i32.shl i32.const 1660 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store else local.get $5 local.get $1 @@ -1746,13 +1764,13 @@ local.get $0 i32.const 48 i32.add - i32.store16 $0 + i32.store16 end local.get $3 if local.get $2 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1771,7 +1789,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-propertyaccess/Class $invalid end return @@ -1781,12 +1799,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1818,7 +1832,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -1838,55 +1852,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -1907,7 +1923,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$77 loop $while-continue|1 local.get $0 local.tee $3 @@ -1917,17 +1933,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$77 local.get $2 i32.const 2 i32.add @@ -1961,7 +1977,7 @@ (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1970,13 +1986,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i64.const 0 - i64.store $0 offset=8 - memory.size $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + memory.size i32.const 16 i32.shl i32.const 36472 @@ -1986,26 +2001,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/pinSpace i32.const 1428 i32.const 1424 - i32.store $0 + i32.store i32.const 1432 i32.const 1424 - i32.store $0 + i32.store i32.const 1424 global.set $~lib/rt/itcms/toSpace i32.const 1572 i32.const 1568 - i32.store $0 + i32.store i32.const 1576 i32.const 1568 - i32.store $0 + i32.store i32.const 1568 global.set $~lib/rt/itcms/fromSpace i32.const 1 @@ -2013,10 +2028,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3232 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3232 call $~lib/string/String.__eq @@ -2033,12 +2045,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3344 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3344 call $~lib/string/String.__eq @@ -2055,12 +2063,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3376 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3376 call $~lib/string/String.__eq @@ -2077,12 +2081,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3408 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3408 call $~lib/string/String.__eq @@ -2099,12 +2099,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3440 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3440 call $~lib/string/String.__eq @@ -2121,12 +2117,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3472 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3472 call $~lib/string/String.__eq @@ -2143,12 +2135,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3504 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3504 call $~lib/string/String.__eq @@ -2165,12 +2153,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3536 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3536 call $~lib/string/String.__eq @@ -2187,12 +2171,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3568 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3568 call $~lib/string/String.__eq @@ -2209,12 +2189,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3600 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3600 call $~lib/string/String.__eq @@ -2228,7 +2204,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2237,20 +2213,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2260,7 +2235,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -2269,41 +2244,36 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store 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 $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load call $~lib/number/I32#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3632 - i32.store $0 offset=4 + i32.store local.get $1 i32.const 3632 call $~lib/string/String.__eq @@ -2318,16 +2288,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 8 call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3664 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3664 call $~lib/string/String.__eq @@ -2341,7 +2308,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer return @@ -2353,23 +2320,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/resolve-ternary.debug.wat b/tests/compiler/resolve-ternary.debug.wat index 32cfedeafd..ff33c0b57a 100644 --- a/tests/compiler/resolve-ternary.debug.wat +++ b/tests/compiler/resolve-ternary.debug.wat @@ -1,21 +1,22 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $f64_i32_=>_i32 (func (param f64 i32) (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i64 i32))) + (type $10 (func (param i64 i32) (result i32))) + (type $11 (func (param i32 i64 i32 i32))) + (type $12 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $13 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) + (type $14 (func (param i32 i32 i32) (result i32))) + (type $15 (func (param i32 f64 i32) (result i32))) + (type $16 (func (param f64 i32) (result i32))) + (type $17 (func (param f64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $resolve-ternary/b (mut i32) (i32.const 1)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -47,36 +48,36 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36376)) (global $~lib/memory/__heap_base i32 (i32.const 36376)) (memory $0 1) - (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 636) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00t\00e\00r\00n\00a\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 2348) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2396) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 2504) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 return ) (func $start:resolve-ternary~anonymous|0 (param $x i32) (result i32) @@ -4171,20 +4236,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/function/Function<%28i32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4204,7 +4264,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid end return @@ -4251,7 +4311,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -4289,7 +4349,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -4298,7 +4358,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -4316,14 +4376,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -4340,14 +4400,14 @@ (func $start:resolve-ternary (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - memory.size $0 + i32.const 0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -4375,14 +4435,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2208 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4404,14 +4459,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3440 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4431,8 +4481,8 @@ else global.get $resolve-ternary/f2 end - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 2 i32.eq i32.eqz @@ -4453,8 +4503,8 @@ else i32.const 3568 end - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 4 i32.eq i32.eqz @@ -4475,8 +4525,8 @@ else i32.const 3568 end - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 3 i32.eq i32.eqz @@ -4489,7 +4539,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4502,12 +4552,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%29=>i32>#get:_env local.get $cookie @@ -4538,7 +4588,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -4598,7 +4648,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -4638,7 +4688,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -4673,7 +4723,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -4688,7 +4738,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $14 @@ -4699,10 +4749,12 @@ local.get $14 return ) - (func $~lib/util/number/dtoa (param $value f64) (result i32) + (func $~lib/util/number/dtoa (param $value f64) (result i32) + (local $value|1 f64) + (local $isSingle i32) (local $size i32) (local $result i32) - (local $3 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4710,77 +4762,67 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $value - f64.const 0 - f64.eq - if - i32.const 2304 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if + i32.store + block $~lib/util/number/dtoa_impl|inlined.0 (result i32) local.get $value - local.get $value - f64.ne + local.set $value|1 + i32.const 0 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq if - i32.const 2336 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 2304 + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 2368 - i32.const 2416 - local.get $value + local.get $value|1 + local.get $value|1 + f64.sub f64.const 0 - f64.lt - select - local.set $3 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 2336 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 2368 + i32.const 2416 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 2448 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 2448 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 2448 - local.get $value - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $size - global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 - local.get $result - i32.const 2448 - local.get $size - memory.copy $0 $0 - local.get $result - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 return ) ) diff --git a/tests/compiler/resolve-ternary.release.wat b/tests/compiler/resolve-ternary.release.wat index 58eecd5448..91b5b3d064 100644 --- a/tests/compiler/resolve-ternary.release.wat +++ b/tests/compiler/resolve-ternary.release.wat @@ -1,13 +1,14 @@ (module - (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_=>_none (func (param i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i64_i64_i32_i64_=>_i32 (func (param i64 i64 i32 i64) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (result i32))) + (type $8 (func (param i32 i32 i32))) + (type $9 (func (param i64 i64 i32 i64) (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)) @@ -24,53 +25,53 @@ (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37400)) (memory $0 1) - (data (i32.const 1036) "|") - (data (i32.const 1048) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 1164) "<") - (data (i32.const 1176) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\02\00\00\00\02\00\00\000") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\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 1324) "<") - (data (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1452) "<") - (data (i32.const 1464) "\02\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 1516) ",") - (data (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1596) "<") - (data (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1660) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 2060) "\1c\04") - (data (i32.const 2072) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 3116) "\\") - (data (i32.const 3128) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 3212) "\1c") - (data (i32.const 3224) "\02\00\00\00\02\00\00\001") - (data (i32.const 3244) "<") - (data (i32.const 3256) "\02\00\00\00$\00\00\00r\00e\00s\00o\00l\00v\00e\00-\00t\00e\00r\00n\00a\00r\00y\00.\00t\00s") - (data (i32.const 3308) "\1c") - (data (i32.const 3320) "\02\00\00\00\06\00\00\000\00.\000") - (data (i32.const 3340) "\1c") - (data (i32.const 3352) "\02\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 3372) ",") - (data (i32.const 3384) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3420) ",") - (data (i32.const 3432) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3528) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8i32> block $~lib/arraybuffer/ArrayBufferView @@ -2415,7 +2433,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $invalid end return @@ -2425,12 +2443,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end global.get $~lib/memory/__stack_pointer @@ -2449,19 +2463,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2479,7 +2488,7 @@ (local $5 i64) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -2488,10 +2497,9 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - memory.size $0 + i32.const 0 + i32.store + memory.size i32.const 16 i32.shl i32.const 37400 @@ -2501,29 +2509,29 @@ global.set $~lib/rt/itcms/threshold i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/pinSpace i32.const 1428 i32.const 1424 - i32.store $0 + i32.store i32.const 1432 i32.const 1424 - i32.store $0 + i32.store i32.const 1424 global.set $~lib/rt/itcms/toSpace i32.const 1572 i32.const 1568 - i32.store $0 + i32.store i32.const 1576 i32.const 1568 - i32.store $0 + i32.store i32.const 1568 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2532,14 +2540,13 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 1 i32.const 1 @@ -2550,10 +2557,7 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3232 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3232 call $~lib/string/String.__eq @@ -2576,14 +2580,14 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const -4 global.set $~lib/util/number/_K i32.const 3880 - i64.load $0 + i64.load global.set $~lib/util/number/_frc_pow i32.const 4312 - i32.load16_s $0 + i32.load16_s global.set $~lib/util/number/_exp_pow global.get $~lib/util/number/_frc_pow local.tee $3 @@ -2687,22 +2691,18 @@ local.get $6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3472 local.get $6 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $0 - i32.store $0 - local.get $6 - i32.const 4464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4464 call $~lib/string/String.__eq @@ -2717,8 +2717,8 @@ end i32.const 1 i32.const 4496 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 2 i32.ne if @@ -2731,8 +2731,8 @@ end i32.const 1 i32.const 4560 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 4 i32.ne if @@ -2745,8 +2745,8 @@ end i32.const 1 i32.const 4528 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 3 i32.ne if @@ -2758,7 +2758,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -2792,7 +2792,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -2812,55 +2812,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -2881,7 +2883,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$84 loop $while-continue|1 local.get $0 local.tee $3 @@ -2891,17 +2893,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$84 local.get $2 i32.const 2 i32.add @@ -2930,23 +2932,4 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/resolve-unary.debug.wat b/tests/compiler/resolve-unary.debug.wat index 9ab4cafcff..46d35d9426 100644 --- a/tests/compiler/resolve-unary.debug.wat +++ b/tests/compiler/resolve-unary.debug.wat @@ -1,17 +1,17 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i64 i32))) + (type $10 (func (param i64 i32) (result i32))) + (type $11 (func (param i32 i64 i32 i32))) + (type $12 (func (param i32 i32 i32 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)) @@ -37,39 +37,39 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35616)) (global $~lib/memory/__heap_base i32 (i32.const 35616)) (memory $0 1) - (data (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 636) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00-\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 2220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00r\00e\00s\00o\00l\00v\00e\00-\00u\00n\00a\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") - (data (i32.const 2380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") - (data (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00-\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00~\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00+\00+\00i\00\00\00\00\00\00\00") - (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00-\00-\00i\00\00\00\00\00\00\00") - (data (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\00+\00+\00\00\00\00\00\00\00") - (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\00-\00-\00\00\00\00\00\00\00") - (data (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r\00") - (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2764) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2816) "\07\00\00\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 $0 (i32.const 12) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $2 (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $11 (i32.const 636) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data $12 (i32.const 1036) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 2092) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") + (data $14 (i32.const 2188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00-\001\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 2220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00r\00e\00s\00o\00l\00v\00e\00-\00u\00n\00a\00r\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data $18 (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") + (data $19 (i32.const 2380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") + (data $20 (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00-\002\00\00\00\00\00\00\00\00\00") + (data $21 (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data $22 (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data $23 (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") + (data $24 (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00~\00\00\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00+\00+\00i\00\00\00\00\00\00\00") + (data $26 (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00-\00-\00i\00\00\00\00\00\00\00") + (data $27 (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\00+\00+\00\00\00\00\00\00\00") + (data $28 (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\00-\00-\00\00\00\00\00\00\00") + (data $29 (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r\00") + (data $30 (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $31 (i32.const 2764) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $32 (i32.const 2816) "\07\00\00\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 2 2 funcref) (elem $0 (i32.const 1) $start:resolve-unary~anonymous|0) (export "memory" (memory $0)) @@ -132,12 +132,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -151,7 +151,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -225,7 +225,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -295,11 +295,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -307,7 +307,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 448 @@ -439,7 +439,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -452,7 +452,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -468,34 +468,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -655,7 +655,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -678,7 +678,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -692,7 +692,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -715,7 +715,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -858,7 +858,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -944,7 +944,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1024,7 +1024,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1058,7 +1058,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1081,7 +1081,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1095,27 +1095,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 592 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1140,9 +1145,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1161,7 +1166,7 @@ if i32.const 0 i32.const 592 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1180,7 +1185,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1194,7 +1198,7 @@ if i32.const 0 i32.const 592 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1250,12 +1254,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1289,7 +1293,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1310,7 +1314,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1330,7 +1334,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1350,7 +1354,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1376,7 +1380,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1399,9 +1403,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1437,7 +1442,7 @@ if i32.const 0 i32.const 592 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1703,14 +1708,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1766,7 +1774,7 @@ if i32.const 256 i32.const 592 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1775,6 +1783,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1804,24 +1832,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1859,7 +1876,7 @@ if i32.const 0 i32.const 592 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1874,7 +1891,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1919,7 +1936,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1930,7 +1947,7 @@ if i32.const 0 i32.const 592 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1952,7 +1969,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1975,7 +1992,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1994,22 +2011,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2022,7 +2031,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2049,27 +2058,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2094,7 +2104,7 @@ if i32.const 0 i32.const 592 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2209,7 +2219,7 @@ if i32.const 0 i32.const 592 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2229,7 +2239,7 @@ if i32.const 0 i32.const 592 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2262,12 +2272,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2318,7 +2328,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2362,14 +2372,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 636 local.get $d2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -2385,7 +2395,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -2412,7 +2422,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits local.get $buffer local.get $offset @@ -2420,7 +2430,7 @@ i32.shl i32.add local.get $digits - i32.store $0 + i32.store end local.get $num i32.const 10 @@ -2435,7 +2445,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits|12 local.get $buffer local.get $offset @@ -2443,7 +2453,7 @@ i32.shl i32.add local.get $digits|12 - i32.store $0 + i32.store else local.get $offset i32.const 1 @@ -2459,7 +2469,7 @@ i32.shl i32.add local.get $digit - i32.store16 $0 + i32.store16 end ) (func $~lib/util/number/utoa_hex_lut (param $buffer i32) (param $num i64) (param $offset i32) @@ -2485,8 +2495,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $num i64.const 8 i64.shr_u @@ -2505,8 +2515,8 @@ i32.const 6 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end ) (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) @@ -2630,8 +2640,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num local.get $shift i64.shr_u @@ -2666,8 +2676,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -2685,7 +2695,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -2737,9 +2747,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2772,10 +2782,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2866,10 +2876,8 @@ return ) (func $start:resolve-unary~anonymous|0 - nop ) (func $resolve-unary/generic<~lib/string/String> (param $v i32) - nop ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2906,20 +2914,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/function/Function<%28%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2941,7 +2944,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-unary/Foo $resolve-unary/Bar $~lib/function/Function<%28%29=>void> $invalid end return @@ -2992,7 +2995,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -3030,7 +3033,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -3039,7 +3042,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -3057,14 +3060,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -3087,7 +3090,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3096,18 +3099,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3125,7 +3128,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3134,18 +3137,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3163,15 +3166,15 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - memory.size $0 + i32.const 20 + memory.fill + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3194,14 +3197,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2208 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3218,14 +3216,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2304 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3246,14 +3239,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2336 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3274,14 +3262,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2304 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3299,14 +3282,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2400 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3325,14 +3303,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2368 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3351,14 +3324,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2432 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3380,14 +3348,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2304 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3409,14 +3372,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2336 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3434,26 +3392,21 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 call $resolve-unary/Foo#plus local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/string/String#toString local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2464 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3468,26 +3421,21 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 call $resolve-unary/Foo#minus local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/string/String#toString local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2496 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3502,7 +3450,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $resolve-unary/Foo#prefix_inc global.set $resolve-unary/foo @@ -3510,7 +3458,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $resolve-unary/Foo#self global.get $resolve-unary/foo @@ -3528,7 +3476,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $resolve-unary/Foo#prefix_dec global.set $resolve-unary/foo @@ -3536,7 +3484,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $resolve-unary/Foo#self global.get $resolve-unary/foo @@ -3554,26 +3502,21 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 call $resolve-unary/Foo#not local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/string/String#toString local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2528 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3588,26 +3531,21 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 call $resolve-unary/Foo#bitwise_not local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/string/String#toString local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2560 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3621,12 +3559,12 @@ global.get $~lib/memory/__stack_pointer global.get $resolve-unary/foo local.tee $2 - i32.store $0 offset=16 + i32.store offset=12 local.get $2 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $resolve-unary/Foo#postfix_inc global.set $resolve-unary/foo @@ -3634,7 +3572,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $resolve-unary/Foo#self global.get $resolve-unary/foo @@ -3651,12 +3589,12 @@ global.get $~lib/memory/__stack_pointer global.get $resolve-unary/foo local.tee $3 - i32.store $0 offset=20 + i32.store offset=16 local.get $3 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $resolve-unary/Foo#postfix_dec global.set $resolve-unary/foo @@ -3664,7 +3602,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $resolve-unary/Foo#self global.get $resolve-unary/foo @@ -3685,26 +3623,21 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 call $resolve-unary/Bar.prefix_inc local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/string/String#toString local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2592 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3719,26 +3652,21 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 call $resolve-unary/Bar.prefix_dec local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/string/String#toString local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2624 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3749,32 +3677,25 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer global.get $resolve-unary/bar - local.tee $6 - i32.store $0 + local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 call $resolve-unary/Bar.postfix_inc local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/string/String#toString local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2656 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3785,32 +3706,25 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer global.get $resolve-unary/bar - local.tee $6 - i32.store $0 + local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 call $resolve-unary/Bar.postfix_dec local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/string/String#toString local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2688 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 call $~lib/string/String.__eq i32.eqz if @@ -3824,24 +3738,14 @@ i32.const 1 drop i32.const 2720 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 call $~lib/string/String#get:length drop i32.const 2752 drop i32.const 2784 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 call $resolve-unary/generic<~lib/string/String> global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3854,12 +3758,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28%29=>void>#get:_env local.get $cookie @@ -3890,7 +3794,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -3950,7 +3854,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -3990,7 +3894,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -4025,7 +3929,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -4040,7 +3944,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $14 @@ -4060,7 +3964,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -4069,7 +3973,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/resolve-unary.release.wat b/tests/compiler/resolve-unary.release.wat index e7bc793ac4..b2115a2271 100644 --- a/tests/compiler/resolve-unary.release.wat +++ b/tests/compiler/resolve-unary.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $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 $0 (func)) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (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)) @@ -24,64 +24,64 @@ (global $resolve-unary/bar (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36640)) (memory $0 1) - (data (i32.const 1036) "|") - (data (i32.const 1048) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 1164) "<") - (data (i32.const 1176) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\02\00\00\00\02\00\00\000") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\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 1324) "<") - (data (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1452) "<") - (data (i32.const 1464) "\02\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 1516) ",") - (data (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1596) "<") - (data (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1660) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 2060) "\1c\04") - (data (i32.const 2072) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 3116) "\\") - (data (i32.const 3128) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 3212) "\1c") - (data (i32.const 3224) "\02\00\00\00\04\00\00\00-\001") - (data (i32.const 3244) "<") - (data (i32.const 3256) "\02\00\00\00 \00\00\00r\00e\00s\00o\00l\00v\00e\00-\00u\00n\00a\00r\00y\00.\00t\00s") - (data (i32.const 3308) "\1c") - (data (i32.const 3320) "\02\00\00\00\02\00\00\001") - (data (i32.const 3340) "\1c") - (data (i32.const 3352) "\02\00\00\00\02\00\00\002") - (data (i32.const 3372) "\1c") - (data (i32.const 3384) "\02\00\00\00\08\00\00\00t\00r\00u\00e") - (data (i32.const 3404) "\1c") - (data (i32.const 3416) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") - (data (i32.const 3436) "\1c") - (data (i32.const 3448) "\02\00\00\00\04\00\00\00-\002") - (data (i32.const 3468) "\1c") - (data (i32.const 3480) "\02\00\00\00\02\00\00\00+") - (data (i32.const 3500) "\1c") - (data (i32.const 3512) "\02\00\00\00\02\00\00\00-") - (data (i32.const 3532) "\1c") - (data (i32.const 3544) "\02\00\00\00\02\00\00\00!") - (data (i32.const 3564) "\1c") - (data (i32.const 3576) "\02\00\00\00\02\00\00\00~") - (data (i32.const 3596) "\1c") - (data (i32.const 3608) "\02\00\00\00\06\00\00\00+\00+\00i") - (data (i32.const 3628) "\1c") - (data (i32.const 3640) "\02\00\00\00\06\00\00\00-\00-\00i") - (data (i32.const 3660) "\1c") - (data (i32.const 3672) "\02\00\00\00\06\00\00\00i\00+\00+") - (data (i32.const 3692) "\1c") - (data (i32.const 3704) "\02\00\00\00\06\00\00\00i\00-\00-") - (data (i32.const 3724) "\1c") - (data (i32.const 3736) "\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r") - (data (i32.const 3756) "\1c") - (data (i32.const 3768) "\06\00\00\00\08\00\00\00\01") - (data (i32.const 3788) ",") - (data (i32.const 3800) "\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n") - (data (i32.const 3840) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "|") + (data $0.1 (i32.const 1048) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data $1 (i32.const 1164) "<") + (data $1.1 (i32.const 1176) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data $2 (i32.const 1228) "\1c") + (data $2.1 (i32.const 1240) "\02\00\00\00\02\00\00\000") + (data $3 (i32.const 1260) "<") + (data $3.1 (i32.const 1272) "\02\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 $4 (i32.const 1324) "<") + (data $4.1 (i32.const 1336) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $7 (i32.const 1452) "<") + (data $7.1 (i32.const 1464) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $8 (i32.const 1516) ",") + (data $8.1 (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $10 (i32.const 1596) "<") + (data $10.1 (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $11 (i32.const 1660) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data $12 (i32.const 2060) "\1c\04") + (data $12.1 (i32.const 2072) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data $13 (i32.const 3116) "\\") + (data $13.1 (i32.const 3128) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data $14 (i32.const 3212) "\1c") + (data $14.1 (i32.const 3224) "\02\00\00\00\04\00\00\00-\001") + (data $15 (i32.const 3244) "<") + (data $15.1 (i32.const 3256) "\02\00\00\00 \00\00\00r\00e\00s\00o\00l\00v\00e\00-\00u\00n\00a\00r\00y\00.\00t\00s") + (data $16 (i32.const 3308) "\1c") + (data $16.1 (i32.const 3320) "\02\00\00\00\02\00\00\001") + (data $17 (i32.const 3340) "\1c") + (data $17.1 (i32.const 3352) "\02\00\00\00\02\00\00\002") + (data $18 (i32.const 3372) "\1c") + (data $18.1 (i32.const 3384) "\02\00\00\00\08\00\00\00t\00r\00u\00e") + (data $19 (i32.const 3404) "\1c") + (data $19.1 (i32.const 3416) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") + (data $20 (i32.const 3436) "\1c") + (data $20.1 (i32.const 3448) "\02\00\00\00\04\00\00\00-\002") + (data $21 (i32.const 3468) "\1c") + (data $21.1 (i32.const 3480) "\02\00\00\00\02\00\00\00+") + (data $22 (i32.const 3500) "\1c") + (data $22.1 (i32.const 3512) "\02\00\00\00\02\00\00\00-") + (data $23 (i32.const 3532) "\1c") + (data $23.1 (i32.const 3544) "\02\00\00\00\02\00\00\00!") + (data $24 (i32.const 3564) "\1c") + (data $24.1 (i32.const 3576) "\02\00\00\00\02\00\00\00~") + (data $25 (i32.const 3596) "\1c") + (data $25.1 (i32.const 3608) "\02\00\00\00\06\00\00\00+\00+\00i") + (data $26 (i32.const 3628) "\1c") + (data $26.1 (i32.const 3640) "\02\00\00\00\06\00\00\00-\00-\00i") + (data $27 (i32.const 3660) "\1c") + (data $27.1 (i32.const 3672) "\02\00\00\00\06\00\00\00i\00+\00+") + (data $28 (i32.const 3692) "\1c") + (data $28.1 (i32.const 3704) "\02\00\00\00\06\00\00\00i\00-\00-") + (data $29 (i32.const 3724) "\1c") + (data $29.1 (i32.const 3736) "\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r") + (data $30 (i32.const 3756) "\1c") + (data $30.1 (i32.const 3768) "\06\00\00\00\08\00\00\00\01") + (data $31 (i32.const 3788) ",") + (data $31.1 (i32.const 3800) "\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n") + (data $32 (i32.const 3840) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -91,25 +91,25 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $resolve-unary/bar local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1472 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1280 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2080 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 3136 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -119,7 +119,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -137,7 +137,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -145,137 +145,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 36640 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$156 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 36640 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1344 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$156 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1344 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1344 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 3840 + i32.load + i32.gt_u + if + i32.const 1472 + i32.const 1536 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 3844 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 3840 - i32.load $0 - i32.gt_u - if - i32.const 1472 - i32.const 1536 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 3844 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -283,8 +303,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -296,10 +316,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -310,29 +330,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -340,10 +360,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -357,75 +377,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -447,7 +460,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -464,12 +477,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -486,17 +499,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -506,9 +519,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -533,13 +546,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -573,7 +586,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -629,19 +642,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -653,15 +666,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -669,23 +682,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1616 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -699,10 +714,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -710,23 +725,22 @@ if i32.const 0 i32.const 1616 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -738,52 +752,53 @@ if i32.const 0 i32.const 1616 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -791,7 +806,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -799,7 +814,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -810,10 +825,10 @@ end i32.const 36640 i32.const 0 - i32.store $0 + i32.store i32.const 38208 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -825,7 +840,7 @@ i32.const 36640 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -843,7 +858,7 @@ i32.const 36640 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -860,9 +875,10 @@ end i32.const 36640 i32.const 38212 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 36640 global.set $~lib/rt/tlsf/ROOT @@ -892,7 +908,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -905,19 +921,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -928,7 +944,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -940,7 +956,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -953,12 +969,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -967,7 +979,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -978,26 +990,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1013,7 +1025,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1029,7 +1041,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1054,14 +1066,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1081,7 +1093,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1096,25 +1107,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1616 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1123,12 +1133,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1136,47 +1145,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1187,7 +1198,7 @@ if i32.const 0 i32.const 1616 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1197,7 +1208,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1214,10 +1225,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1233,13 +1244,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1616 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1254,7 +1265,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1281,7 +1292,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1293,16 +1304,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1310,8 +1317,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1337,35 +1343,61 @@ i32.gt_u if i32.const 1280 - i32.const 1616 - i32.const 458 - i32.const 29 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 12 - local.get $2 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub + i32.const 1616 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 local.get $2 i32.const 12 i32.le_u - select + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1373,21 +1405,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1400,12 +1417,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1416,9 +1433,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1428,7 +1446,7 @@ if i32.const 0 i32.const 1616 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1436,14 +1454,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1616 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1452,8 +1470,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1462,95 +1480,95 @@ if i32.const 0 i32.const 1616 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1563,7 +1581,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/number/I32#toString (param $0 i32) (result i32) @@ -1589,8 +1607,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/itoa32 + i32.store + block $__inlined_func$~lib/util/number/itoa32$73 local.get $0 i32.eqz if @@ -1600,7 +1618,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1248 local.set $2 - br $__inlined_func$~lib/util/number/itoa32 + br $__inlined_func$~lib/util/number/itoa32$73 end global.get $~lib/memory/__stack_pointer i32.const 0 @@ -1668,7 +1686,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store local.get $2 local.get $3 i32.add @@ -1701,7 +1719,7 @@ i32.shl i32.const 1660 i32.add - i64.load32_u $0 + i64.load32_u local.get $4 i32.const 100 i32.rem_u @@ -1709,11 +1727,11 @@ i32.shl i32.const 1660 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -1736,8 +1754,8 @@ i32.shl i32.const 1660 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $0 i32.const 100 i32.div_u @@ -1759,8 +1777,8 @@ i32.shl i32.const 1660 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store else local.get $5 local.get $1 @@ -1772,13 +1790,13 @@ local.get $0 i32.const 48 i32.add - i32.store16 $0 + i32.store16 end local.get $3 if local.get $2 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1788,7 +1806,6 @@ local.get $2 ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $invalid block $~lib/function/Function<%28%29=>void> block $resolve-unary/Bar @@ -1800,7 +1817,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $resolve-unary/Foo $resolve-unary/Bar $~lib/function/Function<%28%29=>void> $invalid end return @@ -1810,12 +1827,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1838,19 +1851,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1884,7 +1892,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -1904,55 +1912,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -1973,7 +1983,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$79 loop $while-continue|1 local.get $0 local.tee $3 @@ -1983,17 +1993,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$79 local.get $2 i32.const 2 i32.add @@ -2024,9 +2034,8 @@ ) (func $start:resolve-unary (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -2036,9 +2045,9 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - memory.size $0 + i32.const 20 + memory.fill + memory.size i32.const 16 i32.shl i32.const 36640 @@ -2048,26 +2057,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/pinSpace i32.const 1428 i32.const 1424 - i32.store $0 + i32.store i32.const 1432 i32.const 1424 - i32.store $0 + i32.store i32.const 1424 global.set $~lib/rt/itcms/toSpace i32.const 1572 i32.const 1568 - i32.store $0 + i32.store i32.const 1576 i32.const 1568 - i32.store $0 + i32.store i32.const 1568 global.set $~lib/rt/itcms/fromSpace i32.const -1 @@ -2075,10 +2084,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3232 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3232 call $~lib/string/String.__eq @@ -2095,12 +2101,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3328 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3328 call $~lib/string/String.__eq @@ -2121,12 +2123,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3360 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3360 call $~lib/string/String.__eq @@ -2147,12 +2145,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3328 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3328 call $~lib/string/String.__eq @@ -2166,18 +2160,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 3424 i32.const 3392 global.get $resolve-unary/a select - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 3424 - i32.store $0 offset=4 - local.get $1 - i32.const 3424 call $~lib/string/String.__eq i32.eqz if @@ -2189,18 +2179,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 3392 i32.const 3424 global.get $resolve-unary/a select - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 3392 - i32.store $0 offset=4 - local.get $1 - i32.const 3392 call $~lib/string/String.__eq i32.eqz if @@ -2217,12 +2203,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3456 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3456 call $~lib/string/String.__eq @@ -2244,12 +2226,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3328 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3328 call $~lib/string/String.__eq @@ -2271,12 +2249,8 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3360 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3360 call $~lib/string/String.__eq @@ -2298,24 +2272,22 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2324,16 +2296,13 @@ global.set $resolve-unary/foo global.get $~lib/memory/__stack_pointer global.get $resolve-unary/foo - i32.store $0 offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 3488 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3488 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3488 - i32.store $0 offset=4 + i32.store i32.const 3488 i32.const 3488 call $~lib/string/String.__eq @@ -2347,18 +2316,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/foo - i32.store $0 offset=12 - local.get $0 - i32.const 3520 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3520 - i32.store $0 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 3520 - i32.store $0 offset=4 + i32.store i32.const 3520 i32.const 3520 call $~lib/string/String.__eq @@ -2372,16 +2337,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/foo - local.tee $1 - i32.store $0 offset=4 - local.get $1 - global.set $resolve-unary/foo + local.tee $0 + i32.store offset=4 local.get $0 + global.set $resolve-unary/foo + global.get $~lib/memory/__stack_pointer global.get $resolve-unary/foo local.tee $0 - i32.store $0 + i32.store global.get $resolve-unary/foo local.get $0 i32.ne @@ -2394,16 +2358,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/foo - local.tee $1 - i32.store $0 offset=4 - local.get $1 - global.set $resolve-unary/foo + local.tee $0 + i32.store offset=4 local.get $0 + global.set $resolve-unary/foo + global.get $~lib/memory/__stack_pointer global.get $resolve-unary/foo local.tee $0 - i32.store $0 + i32.store global.get $resolve-unary/foo local.get $0 i32.ne @@ -2416,18 +2379,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/foo - i32.store $0 offset=12 - local.get $0 - i32.const 3552 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3552 - i32.store $0 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 3552 - i32.store $0 offset=4 + i32.store i32.const 3552 i32.const 3552 call $~lib/string/String.__eq @@ -2441,18 +2400,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/foo - i32.store $0 offset=12 - local.get $0 - i32.const 3584 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3584 - i32.store $0 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 3584 - i32.store $0 offset=4 + i32.store i32.const 3584 i32.const 3584 call $~lib/string/String.__eq @@ -2466,20 +2421,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/foo - local.tee $1 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 global.set $resolve-unary/foo + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 + i32.store global.get $resolve-unary/foo - local.get $1 + local.get $0 i32.ne if i32.const 0 @@ -2490,20 +2444,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/foo - local.tee $1 - i32.store $0 offset=20 + local.tee $0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 global.set $resolve-unary/foo + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 + i32.store global.get $resolve-unary/foo - local.get $1 + local.get $0 i32.ne if i32.const 0 @@ -2522,24 +2475,22 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/object/Object#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2548,16 +2499,13 @@ global.set $resolve-unary/bar global.get $~lib/memory/__stack_pointer global.get $resolve-unary/bar - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 3616 - i32.store $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3616 - i32.store $0 offset=4 + i32.store i32.const 3616 i32.const 3616 call $~lib/string/String.__eq @@ -2571,18 +2519,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/bar - i32.store $0 offset=12 - local.get $0 - i32.const 3648 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3648 - i32.store $0 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 3648 - i32.store $0 offset=4 + i32.store i32.const 3648 i32.const 3648 call $~lib/string/String.__eq @@ -2596,22 +2540,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/bar - local.tee $1 - i32.store $0 - local.get $0 - local.get $1 - i32.store $0 offset=12 - local.get $0 - i32.const 3680 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3680 - i32.store $0 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 3680 - i32.store $0 offset=4 + i32.store i32.const 3680 i32.const 3680 call $~lib/string/String.__eq @@ -2625,22 +2561,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $resolve-unary/bar - local.tee $1 - i32.store $0 - local.get $0 - local.get $1 - i32.store $0 offset=12 - local.get $0 - i32.const 3712 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3712 - i32.store $0 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 3712 - i32.store $0 offset=4 + i32.store i32.const 3712 i32.const 3712 call $~lib/string/String.__eq @@ -2653,18 +2581,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 3744 - i32.store $0 i32.const 3740 - i32.load $0 + i32.load drop - local.get $0 - i32.const 3808 - i32.store $0 - local.get $0 - i32.const 24 + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer return @@ -2694,7 +2615,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -2703,7 +2624,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2711,23 +2632,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/retain-i32.debug.wat b/tests/compiler/retain-i32.debug.wat index 0c43a37d4b..29864f2efa 100644 --- a/tests/compiler/retain-i32.debug.wat +++ b/tests/compiler/retain-i32.debug.wat @@ -1,7 +1,7 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_=>_none (func (param i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func (param i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/builtins/i8.MAX_VALUE i32 (i32.const 127)) (global $~lib/builtins/i8.MIN_VALUE i32 (i32.const -128)) @@ -19,7 +19,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -303,7 +303,7 @@ (func $retain-i32/testLocalRetain (local $ri i32) i32.const 0 - i32.load8_s $0 + i32.load8_s local.set $ri i32.const 1 drop @@ -741,7 +741,7 @@ unreachable end i32.const 0 - i32.load8_s $0 + i32.load8_s global.set $retain-i32/ri i32.const 1 drop diff --git a/tests/compiler/retain-i32.release.wat b/tests/compiler/retain-i32.release.wat index 7d2098cc81..66ffaef6f3 100644 --- a/tests/compiler/retain-i32.release.wat +++ b/tests/compiler/retain-i32.release.wat @@ -1,8 +1,8 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1a\00\00\00r\00e\00t\00a\00i\00n\00-\00i\003\002\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start @@ -22,7 +22,7 @@ end end i32.const 0 - i32.load8_s $0 + i32.load8_s drop ) ) diff --git a/tests/compiler/return-unreachable.debug.wat b/tests/compiler/return-unreachable.debug.wat index 54877803da..0c46f0c920 100644 --- a/tests/compiler/return-unreachable.debug.wat +++ b/tests/compiler/return-unreachable.debug.wat @@ -1,13 +1,13 @@ (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -29,17 +29,17 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33304)) (global $~lib/memory/__heap_base i32 (i32.const 33304)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 512) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $1 (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 512) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "test" (func $return-unreachable/test)) @@ -48,12 +48,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -67,7 +67,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -141,7 +141,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -211,11 +211,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -223,7 +223,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 320 @@ -355,7 +355,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -368,7 +368,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -384,34 +384,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -571,7 +571,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -594,7 +594,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -608,7 +608,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -631,7 +631,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -774,7 +774,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -860,7 +860,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -940,7 +940,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -974,7 +974,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -997,7 +997,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1011,27 +1011,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 464 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1056,9 +1061,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1077,7 +1082,7 @@ if i32.const 0 i32.const 464 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1096,7 +1101,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1110,7 +1114,7 @@ if i32.const 0 i32.const 464 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1166,12 +1170,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1205,7 +1209,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1226,7 +1230,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1246,7 +1250,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1266,7 +1270,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1292,7 +1296,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1315,9 +1319,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1353,7 +1358,7 @@ if i32.const 0 i32.const 464 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1619,14 +1624,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1682,7 +1690,7 @@ if i32.const 128 i32.const 464 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1691,6 +1699,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1720,24 +1748,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1775,7 +1792,7 @@ if i32.const 0 i32.const 464 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1790,7 +1807,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1835,7 +1852,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1846,7 +1863,7 @@ if i32.const 0 i32.const 464 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1868,7 +1885,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1891,7 +1908,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1910,22 +1927,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1938,7 +1947,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1965,27 +1974,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2010,7 +2020,7 @@ if i32.const 0 i32.const 464 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2125,7 +2135,7 @@ if i32.const 0 i32.const 464 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2145,7 +2155,7 @@ if i32.const 0 i32.const 464 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2178,12 +2188,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2234,7 +2244,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2309,7 +2319,7 @@ (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2318,17 +2328,17 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $return-unreachable/test (param $a i32) (result i32) (local $str i32) @@ -2339,13 +2349,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 100 call $~lib/array/Array#constructor local.tee $str - i32.store $0 + i32.store unreachable ) (func $~lib/rt/__visit_globals (param $0 i32) @@ -2366,20 +2376,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2399,7 +2404,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $invalid end return @@ -2421,7 +2426,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2465,10 +2470,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -2477,13 +2482,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -2491,7 +2496,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -2499,7 +2504,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -2507,7 +2512,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -2540,7 +2545,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2549,20 +2554,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -2570,7 +2575,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -2578,7 +2583,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -2599,14 +2604,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie diff --git a/tests/compiler/return-unreachable.release.wat b/tests/compiler/return-unreachable.release.wat index 23a8e2606c..df64ee697c 100644 --- a/tests/compiler/return-unreachable.release.wat +++ b/tests/compiler/return-unreachable.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param 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)) @@ -20,21 +20,21 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34328)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1084) ",") - (data (i32.const 1096) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1132) "<") - (data (i32.const 1144) "\02\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 1196) "<") - (data (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1324) "<") - (data (i32.const 1336) "\02\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 1388) ",") - (data (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1468) "<") - (data (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1536) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $1 (i32.const 1084) ",") + (data $1.1 (i32.const 1096) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\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 $3 (i32.const 1196) "<") + (data $3.1 (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1324) "<") + (data $6.1 (i32.const 1336) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1388) ",") + (data $7.1 (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1468) "<") + (data $9.1 (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1536) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t") (export "test" (func $return-unreachable/test)) (export "memory" (memory $0)) (start $~start) @@ -42,14 +42,14 @@ (local $0 i32) (local $1 i32) i32.const 1344 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1152 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -59,7 +59,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -77,7 +77,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -94,7 +94,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -108,16 +108,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$121 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34328 @@ -132,10 +132,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$121 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -148,20 +148,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -170,7 +170,7 @@ else local.get $1 i32.const 1536 - i32.load $0 + i32.load i32.gt_u if i32.const 1344 @@ -185,13 +185,13 @@ i32.shl i32.const 1540 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -201,21 +201,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -223,8 +247,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -236,10 +260,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -250,29 +274,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -280,10 +304,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -297,75 +321,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -387,7 +404,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -404,12 +421,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -426,17 +443,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -446,9 +463,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -473,13 +490,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -513,7 +530,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -569,19 +586,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -593,15 +610,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -609,23 +626,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1488 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -639,10 +658,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -650,23 +669,22 @@ if i32.const 0 i32.const 1488 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -678,52 +696,53 @@ if i32.const 0 i32.const 1488 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -731,7 +750,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -739,7 +758,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -750,10 +769,10 @@ end i32.const 34336 i32.const 0 - i32.store $0 + i32.store i32.const 35904 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -765,7 +784,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -783,7 +802,7 @@ i32.const 34336 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -800,9 +819,10 @@ end i32.const 34336 i32.const 35908 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34336 global.set $~lib/rt/tlsf/ROOT @@ -832,7 +852,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -845,19 +865,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -868,7 +888,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -880,7 +900,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -893,12 +913,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -907,7 +923,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -918,26 +934,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -953,7 +969,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -969,7 +985,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -994,14 +1010,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1021,7 +1037,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1036,25 +1051,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1488 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1063,12 +1077,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1076,47 +1089,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1127,7 +1142,7 @@ if i32.const 0 i32.const 1488 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1137,7 +1152,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1154,10 +1169,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1173,13 +1188,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1488 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1194,7 +1209,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1221,7 +1236,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1233,16 +1248,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1250,8 +1261,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1278,34 +1288,60 @@ if i32.const 1152 i32.const 1488 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1313,21 +1349,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1340,12 +1361,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1356,9 +1377,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1368,7 +1390,7 @@ if i32.const 0 i32.const 1488 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1376,14 +1398,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1488 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1392,8 +1414,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1402,95 +1424,95 @@ if i32.const 0 i32.const 1488 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1503,13 +1525,13 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/array/Array#set:buffer (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store $0 + i32.store local.get $1 if local.get $0 @@ -1527,7 +1549,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.eq @@ -1535,7 +1557,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and local.tee $0 @@ -1574,10 +1596,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -1586,82 +1608,80 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 call $~lib/array/Array#set:buffer global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 400 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 - local.get $2 + i32.store offset=12 + local.get $0 local.get $1 call $~lib/array/Array#set:buffer global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 400 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 100 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $2 - i32.store $0 + i32.store unreachable end i32.const 34352 @@ -1672,7 +1692,6 @@ unreachable ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $invalid block $~lib/array/Array block $~lib/arraybuffer/ArrayBufferView @@ -1682,7 +1701,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $invalid end return @@ -1692,12 +1711,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end global.get $~lib/memory/__stack_pointer @@ -1716,19 +1731,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1738,7 +1748,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34328 @@ -1748,46 +1758,27 @@ global.set $~lib/rt/itcms/threshold i32.const 1268 i32.const 1264 - i32.store $0 + i32.store i32.const 1272 i32.const 1264 - i32.store $0 + i32.store i32.const 1264 global.set $~lib/rt/itcms/pinSpace i32.const 1300 i32.const 1296 - i32.store $0 + i32.store i32.const 1304 i32.const 1296 - i32.store $0 + i32.store i32.const 1296 global.set $~lib/rt/itcms/toSpace i32.const 1444 i32.const 1440 - i32.store $0 + i32.store i32.const 1448 i32.const 1440 - i32.store $0 + i32.store i32.const 1440 global.set $~lib/rt/itcms/fromSpace ) - (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 $0 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 - ) ) diff --git a/tests/compiler/return.debug.wat b/tests/compiler/return.debug.wat index ee825776f7..3a0fe739ab 100644 --- a/tests/compiler/return.debug.wat +++ b/tests/compiler/return.debug.wat @@ -1,15 +1,15 @@ (module - (type $none_=>_none (func)) - (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))) + (type $0 (func)) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/memory/__data_end i32 (i32.const 44)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32812)) (global $~lib/memory/__heap_base i32 (i32.const 32812)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:return~anonymous|0) (export "testVoidReturn" (func $return/testVoidReturn)) @@ -17,7 +17,6 @@ (export "testVoidReturnFunction" (func $export:return/testVoidReturnFunction)) (start $~start) (func $return/nop - nop ) (func $start:return~anonymous|0 call $return/nop @@ -28,15 +27,15 @@ i32.const 0 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) return end i32.const 0 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) return ) (func $return/testVoidReturn (param $cond i32) @@ -73,13 +72,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 i32.const 32 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $return/testVoidReturnFunction global.get $~lib/memory/__stack_pointer @@ -95,7 +94,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $0 local.get $1 call $return/testVoidReturnFunction diff --git a/tests/compiler/return.release.wat b/tests/compiler/return.release.wat index 28b75bfb2e..4509ebf226 100644 --- a/tests/compiler/return.release.wat +++ b/tests/compiler/return.release.wat @@ -1,13 +1,13 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_=>_none (func (param i32 i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32 i32 i32))) + (type $3 (func (param i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33836)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\04\00\00\00\08\00\00\00\01") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\04\00\00\00\08\00\00\00\01") (table $0 2 2 funcref) (elem $0 (i32.const 1) $start:return~anonymous|0) (export "testVoidReturn" (func $return/testVoidReturn)) @@ -15,13 +15,10 @@ (export "testVoidReturnFunction" (func $export:return/testVoidReturnFunction)) (start $~start) (func $start:return~anonymous|0 - nop ) (func $return/testVoidReturn (param $0 i32) - nop ) (func $~start - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -38,15 +35,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1056 - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -70,10 +66,10 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) global.get $~lib/memory/__stack_pointer i32.const 4 i32.add diff --git a/tests/compiler/rt/alloc-large-memory.debug.wat b/tests/compiler/rt/alloc-large-memory.debug.wat new file mode 100644 index 0000000000..9d12c607e6 --- /dev/null +++ b/tests/compiler/rt/alloc-large-memory.debug.wat @@ -0,0 +1,1539 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64) (result i32))) + (type $6 (func (param i32 i32 i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $~lib/memory/__data_end i32 (i32.const 140)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32908)) + (global $~lib/memory/__heap_base i32 (i32.const 32908)) + (memory $0 1) + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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") + (table $0 1 1 funcref) + (elem $0 (i32.const 1)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) + local.get $this + local.get $flMap + i32.store + ) + (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) + local.get $this + local.get $next + i32.store offset=8 + ) + (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) + (local $blockInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $6 i32) + (local $7 i32) + (local $boundedSize i32) + (local $prev i32) + (local $next i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $root|14 i32) + (local $fl|15 i32) + (local $sl|16 i32) + (local $head i32) + (local $root|18 i32) + (local $fl|19 i32) + (local $slMap i32) + (local $root|21 i32) + (local $fl|22 i32) + (local $slMap|23 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 284 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/tlsf/Block#get:prev + local.set $prev + local.get $block + call $~lib/rt/tlsf/Block#get:next + local.set $next + local.get $prev + if + local.get $prev + local.get $next + call $~lib/rt/tlsf/Block#set:next + end + local.get $next + if + local.get $next + local.get $prev + call $~lib/rt/tlsf/Block#set:prev + end + local.get $block + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end + i32.eq + if + local.get $root + local.set $root|14 + local.get $fl + local.set $fl|15 + local.get $sl + local.set $sl|16 + local.get $next + local.set $head + local.get $root|14 + local.get $fl|15 + i32.const 4 + i32.shl + local.get $sl|16 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $next + i32.eqz + if + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end + local.set $slMap + local.get $root + local.set $root|21 + local.get $fl + local.set $fl|22 + local.get $slMap + i32.const 1 + local.get $sl + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $slMap + local.set $slMap|23 + local.get $root|21 + local.get $fl|22 + i32.const 2 + i32.shl + i32.add + local.get $slMap|23 + i32.store offset=4 + local.get $slMap + i32.eqz + if + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + 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 $root i32) (param $block i32) + (local $blockInfo i32) + (local $block|3 i32) + (local $right i32) + (local $rightInfo i32) + (local $block|6 i32) + (local $block|7 i32) + (local $left i32) + (local $leftInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $13 i32) + (local $14 i32) + (local $boundedSize i32) + (local $root|16 i32) + (local $fl|17 i32) + (local $sl|18 i32) + (local $head i32) + (local $root|20 i32) + (local $fl|21 i32) + (local $sl|22 i32) + (local $head|23 i32) + (local $root|24 i32) + (local $fl|25 i32) + (local $root|26 i32) + (local $fl|27 i32) + (local $slMap i32) + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 203 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + local.get $rightInfo + i32.const 1 + i32.and + if + local.get $root + local.get $right + call $~lib/rt/tlsf/removeBlock + local.get $block + local.get $blockInfo + i32.const 4 + i32.add + local.get $rightInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + end + local.get $blockInfo + i32.const 2 + i32.and + if + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end + local.set $left + local.get $left + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $leftInfo + i32.const 1 + drop + local.get $leftInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 221 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $left + call $~lib/rt/tlsf/removeBlock + local.get $left + local.set $block + local.get $block + local.get $leftInfo + i32.const 4 + i32.add + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $right + local.get $rightInfo + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + drop + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.get $right + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 234 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $right + i32.const 4 + i32.sub + local.get $block + i32.store + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $13 + i32.const 1073741820 + local.tee $14 + local.get $13 + local.get $14 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end + local.set $head + local.get $block + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $block + local.get $head + call $~lib/rt/tlsf/Block#set:next + local.get $head + if + local.get $head + local.get $block + call $~lib/rt/tlsf/Block#set:prev + end + local.get $root + local.set $root|20 + local.get $fl + local.set $fl|21 + local.get $sl + local.set $sl|22 + local.get $block + local.set $head|23 + local.get $root|20 + local.get $fl|21 + i32.const 4 + i32.shl + local.get $sl|22 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head|23 + i32.store offset=96 + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|26 + local.get $fl + local.set $fl|27 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end + i32.const 1 + local.get $sl + i32.shl + i32.or + local.set $slMap + local.get $root|26 + local.get $fl|27 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) + (local $tail i32) + (local $tailInfo i32) + (local $size i32) + (local $leftSize i32) + (local $left i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end + i32.const 1 + drop + local.get $start + i64.extend_i32_u + local.get $endU64 + i64.le_u + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 382 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $start + 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 $start + local.get $end + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $end + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|4 + local.get $root|4 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end + local.set $tail + i32.const 0 + local.set $tailInfo + local.get $tail + if + i32.const 1 + drop + local.get $start + local.get $tail + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $start + i32.const 16 + i32.sub + local.get $tail + i32.eq + if + local.get $start + i32.const 16 + i32.sub + local.set $start + local.get $tail + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $tailInfo + else + end + else + i32.const 1 + drop + local.get $start + local.get $root + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $end + local.get $start + i32.sub + local.set $size + local.get $size + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $size + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $leftSize + local.get $start + local.set $left + local.get $left + local.get $leftSize + i32.const 1 + i32.or + local.get $tailInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $start + i32.const 4 + i32.add + local.get $leftSize + i32.add + local.set $tail + local.get $tail + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.set $root|10 + local.get $tail + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 + local.get $root + local.get $left + call $~lib/rt/tlsf/insertBlock + i32.const 1 + return + ) + (func $~lib/rt/tlsf/initialize + (local $rootOffset i32) + (local $pagesBefore i32) + (local $pagesNeeded i32) + (local $root i32) + (local $root|4 i32) + (local $tail i32) + (local $fl i32) + (local $root|7 i32) + (local $fl|8 i32) + (local $slMap i32) + (local $sl i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $head i32) + (local $memStart 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 $rootOffset + memory.size + local.set $pagesBefore + local.get $rootOffset + 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 $pagesNeeded + local.get $pagesNeeded + local.get $pagesBefore + i32.gt_s + if (result i32) + local.get $pagesNeeded + local.get $pagesBefore + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $rootOffset + local.set $root + local.get $root + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|4 + i32.const 0 + local.set $tail + local.get $root|4 + local.get $tail + i32.store offset=1568 + i32.const 0 + local.set $fl + loop $for-loop|0 + local.get $fl + i32.const 23 + i32.lt_u + if + local.get $root + local.set $root|7 + local.get $fl + local.set $fl|8 + i32.const 0 + local.set $slMap + local.get $root|7 + local.get $fl|8 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + i32.const 0 + local.set $sl + loop $for-loop|1 + local.get $sl + i32.const 16 + i32.lt_u + if + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + i32.const 0 + local.set $head + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $sl + i32.const 1 + i32.add + local.set $sl + br $for-loop|1 + end + end + local.get $fl + i32.const 1 + i32.add + local.set $fl + br $for-loop|0 + end + end + local.get $rootOffset + i32.const 1572 + i32.add + local.set $memStart + i32.const 0 + drop + local.get $root + local.get $memStart + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $root + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/computeSize (param $size i32) (result i32) + local.get $size + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $size + 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 + return + ) + (func $~lib/rt/tlsf/prepareSize (param $size i32) (result i32) + local.get $size + i32.const 1073741820 + i32.gt_u + if + i32.const 96 + i32.const 32 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $size + call $~lib/rt/tlsf/computeSize + return + ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) + (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) + (local $fl i32) + (local $sl i32) + (local $requestSize i32) + (local $root|5 i32) + (local $fl|6 i32) + (local $slMap i32) + (local $head i32) + (local $flMap i32) + (local $root|10 i32) + (local $fl|11 i32) + (local $root|12 i32) + (local $fl|13 i32) + (local $sl|14 i32) + (local $root|15 i32) + (local $fl|16 i32) + (local $sl|17 i32) + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $requestSize + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub + local.get $requestSize + i32.clz + i32.sub + local.set $fl + local.get $requestSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 334 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end + i32.const 0 + i32.const -1 + i32.xor + local.get $sl + i32.shl + i32.and + local.set $slMap + i32.const 0 + local.set $head + local.get $slMap + i32.eqz + if + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 0 + i32.const -1 + i32.xor + local.get $fl + i32.const 1 + i32.add + i32.shl + i32.and + local.set $flMap + local.get $flMap + i32.eqz + if + i32.const 0 + local.set $head + else + local.get $flMap + i32.ctz + local.set $fl + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end + local.set $slMap + i32.const 1 + drop + local.get $slMap + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) + local.get $root + local.set $root|15 + local.get $fl + local.set $fl|16 + local.get $slMap + i32.ctz + local.set $sl|17 + local.get $root|15 + local.get $fl|16 + i32.const 4 + i32.shl + local.get $sl|17 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.3 + end + local.set $head + end + local.get $head + return + ) + (func $~lib/rt/tlsf/growMemory (param $root i32) (param $size i32) + (local $pagesBefore i32) + (local $root|3 i32) + (local $pagesNeeded i32) + (local $5 i32) + (local $6 i32) + (local $pagesWanted i32) + (local $pagesAfter i32) + i32.const 0 + drop + local.get $size + i32.const 256 + i32.ge_u + if + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $size + end + memory.size + local.set $pagesBefore + local.get $size + i32.const 4 + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 4 + i32.sub + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end + i32.ne + i32.shl + i32.add + local.set $size + local.get $size + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $5 + local.get $pagesNeeded + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $pagesAfter + local.get $root + local.get $pagesBefore + i32.const 16 + i32.shl + local.get $pagesAfter + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $root i32) (param $block i32) (param $size i32) + (local $blockInfo i32) + (local $remaining i32) + (local $spare i32) + (local $block|6 i32) + (local $block|7 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $size + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $size + i32.sub + local.set $remaining + local.get $remaining + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $block + local.get $size + local.get $blockInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.set $spare + local.get $spare + local.get $remaining + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $spare + call $~lib/rt/tlsf/insertBlock + else + local.get $block + local.get $blockInfo + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $root i32) (param $size i32) (result i32) + (local $payloadSize i32) + (local $block i32) + local.get $size + call $~lib/rt/tlsf/prepareSize + local.set $payloadSize + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + local.get $block + i32.eqz + if + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/growMemory + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $payloadSize + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $block + call $~lib/rt/tlsf/removeBlock + local.get $root + local.get $block + local.get $payloadSize + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $block + return + ) + (func $~lib/rt/tlsf/__alloc (param $size 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 $size + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + return + ) + (func $~lib/memory/heap.alloc (param $size i32) (result i32) + local.get $size + call $~lib/rt/tlsf/__alloc + return + ) + (func $start:rt/alloc-large-memory + (local $i i32) + loop $while-continue|0 + memory.size + i32.const 128 + i32.ne + if + i32.const 32 + i32.const 1024 + i32.mul + call $~lib/memory/heap.alloc + drop + br $while-continue|0 + end + end + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + i32.const 32763 + i32.lt_s + if + i32.const 64 + i32.const 1024 + i32.mul + call $~lib/memory/heap.alloc + drop + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + ) + (func $~start + call $start:rt/alloc-large-memory + ) +) diff --git a/tests/compiler/rt/alloc-large-memory.json b/tests/compiler/rt/alloc-large-memory.json new file mode 100644 index 0000000000..ea57a955e1 --- /dev/null +++ b/tests/compiler/rt/alloc-large-memory.json @@ -0,0 +1,3 @@ +{ + "asc_flags": [] +} diff --git a/tests/compiler/rt/alloc-large-memory.release.wat b/tests/compiler/rt/alloc-large-memory.release.wat new file mode 100644 index 0000000000..7430833f99 --- /dev/null +++ b/tests/compiler/rt/alloc-large-memory.release.wat @@ -0,0 +1,965 @@ +(module + (type $0 (func (param i32 i32))) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func (param i32 i32 i64))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32))) + (type $5 (func)) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) + (memory $0 1) + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\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") + (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 $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1056 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.tee $3 + i32.const 12 + i32.lt_u + if + i32.const 0 + i32.const 1056 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1073741820 + local.get $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $2 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $3 + 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 1056 + 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 $1 + local.get $0 + local.get $2 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=96 + i32.eq + if + local.get $1 + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $3 + i32.rotl + i32.and + local.set $3 + local.get $1 + local.get $3 + i32.store offset=4 + local.get $3 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $2 + 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 1056 + 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 1056 + 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 1056 + 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 1056 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + i32.ne + if + i32.const 0 + i32.const 1056 + 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 + i32.const 1073741820 + local.get $2 + local.get $2 + i32.const 1073741820 + i32.ge_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 1056 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + 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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + 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 $5 + i32.shl + i32.or + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + 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 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.get $1 + i64.extend_i32_u + i64.lt_u + if + i32.const 0 + i32.const 1056 + i32.const 382 + 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 $3 + if + local.get $3 + i32.const 4 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1056 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + local.tee $5 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $5 + local.set $1 + end + else + local.get $0 + i32.const 1572 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1056 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.wrap_i64 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $3 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + 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 $1 + i32.const 4 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.const 2 + i32.store + local.get $0 + local.get $3 + 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 + 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.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $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 + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1056 + i32.const 334 + 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 1056 + i32.const 347 + 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/memory/heap.alloc (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + memory.size + local.tee $2 + i32.const 0 + i32.le_s + if (result i32) + i32.const 1 + local.get $2 + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + i32.const 33936 + i32.const 0 + i32.store + i32.const 35504 + 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 33936 + i32.add + i32.const 0 + i32.store offset=4 + i32.const 0 + local.set $2 + loop $for-loop|1 + local.get $2 + i32.const 16 + i32.lt_u + if + local.get $1 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + i32.const 33936 + i32.add + i32.const 0 + i32.store offset=96 + local.get $2 + i32.const 1 + i32.add + local.set $2 + 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 33936 + i32.const 35508 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + i32.const 33936 + global.set $~lib/rt/tlsf/ROOT + end + global.get $~lib/rt/tlsf/ROOT + local.set $3 + local.get $0 + i32.const 1073741820 + i32.gt_u + if + i32.const 1120 + i32.const 1056 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $0 + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $0 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end + local.tee $0 + call $~lib/rt/tlsf/searchBlock + local.tee $1 + i32.eqz + if + memory.size + local.tee $1 + local.get $0 + i32.const 256 + i32.ge_u + if (result i32) + local.get $0 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1 + i32.const 27 + local.get $0 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $0 + end + else + local.get $0 + end + i32.const 4 + local.get $3 + i32.load offset=1568 + local.get $1 + i32.const 16 + i32.shl + i32.const 4 + i32.sub + i32.ne + i32.shl + i32.add + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $2 + local.get $1 + local.get $2 + i32.gt_s + select + memory.grow + i32.const 0 + i32.lt_s + if + local.get $2 + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + local.get $3 + local.get $1 + i32.const 16 + i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + local.get $3 + local.get $0 + call $~lib/rt/tlsf/searchBlock + local.tee $1 + i32.eqz + if + i32.const 0 + i32.const 1056 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + local.get $0 + local.get $1 + i32.load + i32.const -4 + i32.and + i32.gt_u + if + i32.const 0 + i32.const 1056 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + call $~lib/rt/tlsf/removeBlock + local.get $1 + i32.load + local.set $2 + local.get $0 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1056 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $2 + i32.const -4 + i32.and + local.get $0 + i32.sub + local.tee $4 + i32.const 16 + i32.ge_u + if + local.get $1 + local.get $0 + local.get $2 + i32.const 2 + i32.and + i32.or + i32.store + local.get $1 + i32.const 4 + i32.add + local.get $0 + i32.add + local.tee $0 + local.get $4 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $3 + local.get $0 + 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.get $1 + i32.load + i32.const -4 + i32.and + i32.add + local.tee $0 + local.get $0 + i32.load + i32.const -3 + i32.and + i32.store + end + ) + (func $~start + (local $0 i32) + loop $while-continue|0 + memory.size + i32.const 128 + i32.ne + if + i32.const 32768 + call $~lib/memory/heap.alloc + br $while-continue|0 + end + end + loop $for-loop|1 + local.get $0 + i32.const 32763 + i32.lt_s + if + i32.const 65536 + call $~lib/memory/heap.alloc + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 + end + end + ) +) diff --git a/tests/compiler/rt/alloc-large-memory.ts b/tests/compiler/rt/alloc-large-memory.ts new file mode 100644 index 0000000000..60af92d558 --- /dev/null +++ b/tests/compiler/rt/alloc-large-memory.ts @@ -0,0 +1,7 @@ +while (memory.size() != 128) { + heap.alloc(32 * 1024); +} + +for (let i = 0; i < 32763; i++) { + heap.alloc(64 * 1024); +} diff --git a/tests/compiler/rt/finalize.debug.wat b/tests/compiler/rt/finalize.debug.wat index 760ffd333b..9e9ef46519 100644 --- a/tests/compiler/rt/finalize.debug.wat +++ b/tests/compiler/rt/finalize.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $rt/finalize/expect (mut i32) (i32.const 0)) (global $rt/finalize/ran (mut i32) (i32.const 0)) @@ -31,16 +31,16 @@ (global $~lib/memory/__heap_base i32 (i32.const 33256)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\00\00\00\1c\00\00\00r\00t\00/\00f\00i\00n\00a\00l\00i\00z\00e\00.\00t\00s\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00r\00t\00/\00f\00i\00n\00a\00l\00i\00z\00e\00.\00t\00s\00") + (data $8 (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -48,12 +48,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -67,7 +67,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -141,7 +141,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -211,11 +211,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -223,7 +223,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -355,7 +355,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -368,7 +368,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -400,34 +400,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -587,7 +587,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -610,7 +610,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -624,7 +624,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -647,7 +647,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -790,7 +790,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -876,7 +876,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -956,7 +956,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -990,7 +990,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1013,7 +1013,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1027,27 +1027,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 416 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1072,9 +1077,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1093,7 +1098,7 @@ if i32.const 0 i32.const 416 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1112,7 +1117,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1126,7 +1130,7 @@ if i32.const 0 i32.const 416 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1182,12 +1186,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1221,7 +1225,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1242,7 +1246,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1262,7 +1266,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1282,7 +1286,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1308,7 +1312,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1331,9 +1335,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1369,7 +1374,7 @@ if i32.const 0 i32.const 416 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1639,14 +1644,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1702,7 +1710,7 @@ if i32.const 32 i32.const 416 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1711,6 +1719,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1740,24 +1768,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1795,7 +1812,7 @@ if i32.const 0 i32.const 416 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1810,7 +1827,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1855,7 +1872,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1866,7 +1883,7 @@ if i32.const 0 i32.const 416 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1888,7 +1905,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1911,7 +1928,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1930,22 +1947,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1958,7 +1967,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1985,27 +1994,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2030,7 +2040,7 @@ if i32.const 0 i32.const 416 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2145,7 +2155,7 @@ if i32.const 0 i32.const 416 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2165,7 +2175,7 @@ if i32.const 0 i32.const 416 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2198,12 +2208,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2254,7 +2264,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2305,7 +2315,7 @@ drop ) (func $start:rt/finalize - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2352,16 +2362,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2373,7 +2378,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rt/finalize/Ref $invalid end return @@ -2422,7 +2427,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2431,18 +2436,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2460,7 +2465,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2469,7 +2474,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/rt/finalize.release.wat b/tests/compiler/rt/finalize.release.wat index cccbbe02a6..5d8331afd3 100644 --- a/tests/compiler/rt/finalize.release.wat +++ b/tests/compiler/rt/finalize.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $rt/finalize/expect (mut i32) (i32.const 0)) (global $rt/finalize/ran (mut i32) (i32.const 0)) @@ -22,31 +22,31 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34280)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) ",") - (data (i32.const 1384) "\02\00\00\00\1c\00\00\00r\00t\00/\00f\00i\00n\00a\00l\00i\00z\00e\00.\00t\00s") - (data (i32.const 1420) "<") - (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) ",") + (data $7.1 (i32.const 1384) "\02\00\00\00\1c\00\00\00r\00t\00/\00f\00i\00n\00a\00l\00i\00z\00e\00.\00t\00s") + (data $8 (i32.const 1420) "<") + (data $8.1 (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -56,7 +56,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -74,7 +74,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -82,137 +82,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34280 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$112 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34280 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$112 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1488 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1492 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -220,8 +240,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -233,10 +253,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -247,29 +267,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -277,10 +297,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -294,75 +314,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -384,7 +397,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -401,12 +414,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -423,17 +436,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -443,9 +456,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -470,13 +483,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -510,7 +523,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -566,19 +579,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -590,15 +603,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -606,23 +619,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1440 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -636,10 +651,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -647,23 +662,22 @@ if i32.const 0 i32.const 1440 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -675,52 +689,53 @@ if i32.const 0 i32.const 1440 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -728,7 +743,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -736,7 +751,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -747,10 +762,10 @@ end i32.const 34288 i32.const 0 - i32.store $0 + i32.store i32.const 35856 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -762,7 +777,7 @@ i32.const 34288 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -780,7 +795,7 @@ i32.const 34288 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -797,9 +812,10 @@ end i32.const 34288 i32.const 35860 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34288 global.set $~lib/rt/tlsf/ROOT @@ -829,7 +845,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -842,19 +858,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -865,7 +881,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -877,7 +893,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -890,12 +906,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -904,7 +916,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -915,26 +927,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -950,7 +962,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -966,7 +978,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -991,14 +1003,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1033,7 +1045,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1048,25 +1059,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1440 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1075,12 +1085,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1090,7 +1099,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1101,10 +1110,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1116,13 +1125,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1440 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1137,7 +1146,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1152,7 +1161,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$70 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1164,16 +1173,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$70 end local.get $1 i32.const 0 @@ -1181,8 +1186,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1204,11 +1208,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1227,12 +1231,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1243,9 +1247,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1254,14 +1259,14 @@ if i32.const 0 i32.const 1440 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1269,7 +1274,7 @@ if i32.const 0 i32.const 1440 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1278,7 +1283,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1294,7 +1299,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1304,7 +1309,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1313,54 +1318,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1373,7 +1378,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1386,7 +1391,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rt/finalize/Ref $invalid end return @@ -1396,12 +1401,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1417,7 +1418,7 @@ end i32.const 1 global.set $~started - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34280 @@ -1427,52 +1428,51 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$start:rt/finalize + block $__inlined_func$start:rt/finalize$1 block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1512 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1482,7 +1482,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1490,15 +1490,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1548,7 +1547,7 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$start:rt/finalize + br $__inlined_func$start:rt/finalize$1 end i32.const 34304 i32.const 34352 @@ -1558,23 +1557,4 @@ unreachable end ) - (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 $0 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 - ) ) diff --git a/tests/compiler/rt/flags.debug.wat b/tests/compiler/rt/flags.debug.wat index 55d3dcc921..7a20ca9635 100644 --- a/tests/compiler/rt/flags.debug.wat +++ b/tests/compiler/rt/flags.debug.wat @@ -1,8 +1,8 @@ (module - (type $i32_=>_none (func (param i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func)) + (type $3 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -14,17 +14,17 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33160)) (global $~lib/memory/__heap_base i32 (i32.const 33160)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00t\00/\00f\00l\00a\00g\00s\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 176) "5\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00B\08\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\t\00\00\02\01\00\00\02\n\00\00\02\02\00\00\02\19\00\00\02\1a\00\00\02\04\00\00 \00\00\00\02A\00\00\02a\00\00H\08\00\00H\00\00\00\88\08\00\00\88\00\00\00\08\t\00\00\08\01\00\00\08\n\00\00\08\02\00\00\08\19\00\00\08\1a\00\00\08\04\00\00\08A\00\00\08a\00\00P\08\08\00\90\08\14\00\10\t\12\00\10\n\11\00\10\84\10\00P\08\82\00P\08\c2\00\10\c1\10\00\10\e1\10\00\10a\c2\00\10\t2\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00r\00t\00/\00f\00l\00a\00g\00s\00.\00t\00s\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "5\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00B\08\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\t\00\00\02\01\00\00\02\n\00\00\02\02\00\00\02\19\00\00\02\1a\00\00\02\04\00\00 \00\00\00\02A\00\00\02a\00\00H\08\00\00H\00\00\00\88\08\00\00\88\00\00\00\08\t\00\00\08\01\00\00\08\n\00\00\08\02\00\00\08\19\00\00\08\1a\00\00\08\04\00\00\08A\00\00\08a\00\00P\08\08\00\90\08\14\00\10\t\12\00\10\n\11\00\10\84\10\00P\08\82\00P\08\c2\00\10\c1\10\00\10\e1\10\00\10a\c2\00\10\t2\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -32,7 +32,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 32 @@ -607,7 +607,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 42 call $~lib/rt/__typeinfo local.get $flags @@ -622,7 +622,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 43 call $~lib/rt/__typeinfo local.get $flags @@ -637,7 +637,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 44 call $~lib/rt/__typeinfo local.get $flags @@ -652,7 +652,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 45 call $~lib/rt/__typeinfo local.get $flags @@ -667,7 +667,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 46 call $~lib/rt/__typeinfo local.get $flags @@ -682,7 +682,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 47 call $~lib/rt/__typeinfo local.get $flags @@ -697,7 +697,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 48 call $~lib/rt/__typeinfo local.get $flags @@ -712,7 +712,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 49 call $~lib/rt/__typeinfo local.get $flags @@ -727,7 +727,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 50 call $~lib/rt/__typeinfo local.get $flags @@ -742,7 +742,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 51 call $~lib/rt/__typeinfo local.get $flags @@ -757,7 +757,7 @@ unreachable end ) - (func $rt/flags/test<~lib/map/Map> (param $flags i32) + (func $"rt/flags/test<~lib/map/Map>" (param $flags i32) i32.const 52 call $~lib/rt/__typeinfo local.get $flags @@ -988,7 +988,7 @@ i32.or i32.const 2048 i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" i32.const 16 i32.const 262144 i32.or @@ -998,7 +998,7 @@ i32.or i32.const 2048 i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" i32.const 16 i32.const 131072 i32.or @@ -1008,7 +1008,7 @@ i32.or i32.const 2048 i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" i32.const 16 i32.const 65536 i32.or @@ -1018,7 +1018,7 @@ i32.or i32.const 2048 i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" i32.const 16 i32.const 32768 i32.or @@ -1026,7 +1026,7 @@ i32.or i32.const 1024 i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" i32.const 16 global.get $rt/flags/KEY_ALIGN_REF i32.or @@ -1036,7 +1036,7 @@ i32.or i32.const 2048 i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" i32.const 16 global.get $rt/flags/KEY_ALIGN_REF i32.or @@ -1048,7 +1048,7 @@ i32.or i32.const 2048 i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" i32.const 16 i32.const 32768 i32.or @@ -1058,7 +1058,7 @@ i32.or global.get $rt/flags/VALUE_ALIGN_REF i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" i32.const 16 i32.const 32768 i32.or @@ -1070,7 +1070,7 @@ i32.or global.get $rt/flags/VALUE_ALIGN_REF i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" i32.const 16 i32.const 4194304 i32.or @@ -1084,7 +1084,7 @@ i32.or global.get $rt/flags/VALUE_ALIGN_REF i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" i32.const 16 i32.const 131072 i32.or @@ -1096,7 +1096,7 @@ i32.or i32.const 2048 i32.or - call $rt/flags/test<~lib/map/Map> + call $"rt/flags/test<~lib/map/Map>" ) (func $~start call $start:rt/flags diff --git a/tests/compiler/rt/flags.release.wat b/tests/compiler/rt/flags.release.wat index 04a1f84e56..c0b2f9cf66 100644 --- a/tests/compiler/rt/flags.release.wat +++ b/tests/compiler/rt/flags.release.wat @@ -1,22 +1,22 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func (param i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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 1100) ",") - (data (i32.const 1112) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1148) ",") - (data (i32.const 1160) "\02\00\00\00\16\00\00\00r\00t\00/\00f\00l\00a\00g\00s\00.\00t\00s") - (data (i32.const 1200) "5\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00B\08\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\t\00\00\02\01\00\00\02\n\00\00\02\02\00\00\02\19\00\00\02\1a\00\00\02\04\00\00 \00\00\00\02A\00\00\02a\00\00H\08\00\00H\00\00\00\88\08\00\00\88\00\00\00\08\t\00\00\08\01\00\00\08\n\00\00\08\02\00\00\08\19\00\00\08\1a\00\00\08\04\00\00\08A\00\00\08a\00\00P\08\08\00\90\08\14\00\10\t\12\00\10\n\11\00\10\84\10\00P\08\82\00P\08\c2\00\10\c1\10\00\10\e1\10\00\10a\c2\00\10\t2") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $1 (i32.const 1100) ",") + (data $1.1 (i32.const 1112) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $2 (i32.const 1148) ",") + (data $2.1 (i32.const 1160) "\02\00\00\00\16\00\00\00r\00t\00/\00f\00l\00a\00g\00s\00.\00t\00s") + (data $3 (i32.const 1200) "5\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00B\08\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\t\00\00\02\01\00\00\02\n\00\00\02\02\00\00\02\19\00\00\02\1a\00\00\02\04\00\00 \00\00\00\02A\00\00\02a\00\00H\08\00\00H\00\00\00\88\08\00\00\88\00\00\00\08\t\00\00\08\01\00\00\08\n\00\00\08\02\00\00\08\19\00\00\08\1a\00\00\08\04\00\00\08A\00\00\08a\00\00P\08\08\00\90\08\14\00\10\t\12\00\10\n\11\00\10\84\10\00P\08\82\00P\08\c2\00\10\c1\10\00\10\e1\10\00\10a\c2\00\10\t2") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/__typeinfo (param $0 i32) (result i32) local.get $0 i32.const 1200 - i32.load $0 + i32.load i32.gt_u if i32.const 1056 @@ -31,7 +31,7 @@ i32.shl i32.const 1204 i32.add - i32.load $0 + i32.load ) (func $start:rt/flags block $folding-inner0 diff --git a/tests/compiler/rt/ids.debug.wat b/tests/compiler/rt/ids.debug.wat index 6ee554366f..b663e8fa45 100644 --- a/tests/compiler/rt/ids.debug.wat +++ b/tests/compiler/rt/ids.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (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)) diff --git a/tests/compiler/rt/issue-2719.debug.wat b/tests/compiler/rt/issue-2719.debug.wat new file mode 100644 index 0000000000..6aae0a765d --- /dev/null +++ b/tests/compiler/rt/issue-2719.debug.wat @@ -0,0 +1,2558 @@ +(module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32 i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 480)) + (global $~lib/memory/__data_end i32 (i32.const 504)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33272)) + (global $~lib/memory/__heap_base i32 (i32.const 33272)) + (memory $0 1) + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00r\00t\00/\00i\00s\00s\00u\00e\00-\002\007\001\009\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 480) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (table $0 1 1 funcref) + (elem $0 (i32.const 1)) + (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) + local.get $this + local.get $nextWithColor + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:prev + local.get $space + return + ) + (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + return + ) + (func $~lib/rt/itcms/Object#get:color (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + return + ) + (func $~lib/rt/itcms/visitRoots (param $cookie i32) + (local $pn i32) + (local $iter i32) + local.get $cookie + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $pn + local.get $pn + call $~lib/rt/itcms/Object#get:next + local.set $iter + loop $while-continue|0 + local.get $iter + local.get $pn + i32.ne + if + i32.const 1 + drop + local.get $iter + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 160 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $iter + i32.const 20 + i32.add + local.get $cookie + call $~lib/rt/__visit_members + local.get $iter + call $~lib/rt/itcms/Object#get:next + local.set $iter + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $this i32) (param $color i32) + local.get $this + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $color + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) + local.get $this + local.get $obj + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $this i32) + (local $next i32) + (local $prev i32) + local.get $this + call $~lib/rt/itcms/Object#get:next + local.set $next + local.get $next + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $this + call $~lib/rt/itcms/Object#get:prev + i32.const 0 + i32.eq + if (result i32) + local.get $this + 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 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return + end + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.set $prev + i32.const 1 + drop + local.get $prev + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $next + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $next + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/__typeinfo (param $id i32) (result i32) + (local $ptr i32) + global.get $~lib/rt/__rtti_base + local.set $ptr + local.get $id + local.get $ptr + i32.load + i32.gt_u + if + i32.const 224 + i32.const 288 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $ptr + i32.const 4 + i32.add + local.get $id + i32.const 4 + i32.mul + i32.add + call $~lib/shared/typeinfo/Typeinfo#get:flags + return + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $this i32) (result i32) + (local $rtId i32) + local.get $this + call $~lib/rt/itcms/Object#get:rtId + local.set $rtId + local.get $rtId + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $rtId + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + return + ) + (func $~lib/rt/itcms/Object#linkTo (param $this i32) (param $list i32) (param $withColor i32) + (local $prev i32) + local.get $list + call $~lib/rt/itcms/Object#get:prev + local.set $prev + local.get $this + local.get $list + local.get $withColor + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $this + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $this + call $~lib/rt/itcms/Object#set:next + local.get $list + local.get $this + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $this i32) + (local $1 i32) + local.get $this + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 96 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $this + call $~lib/rt/itcms/Object#unlink + local.get $this + global.get $~lib/rt/itcms/toSpace + local.get $this + 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 $ptr i32) (param $cookie i32) + (local $obj i32) + local.get $ptr + i32.eqz + if + return + end + local.get $ptr + i32.const 20 + i32.sub + local.set $obj + i32.const 0 + drop + local.get $obj + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $obj + 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 $cookie i32) + (local $ptr i32) + global.get $~lib/memory/__stack_pointer + local.set $ptr + loop $while-continue|0 + local.get $ptr + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $ptr + i32.load + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + br $while-continue|0 + end + end + ) + (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) + i32.const 4 + local.get $this + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + return + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) + local.get $this + local.get $flMap + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) + local.get $this + local.get $next + i32.store offset=8 + ) + (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) + (local $blockInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $6 i32) + (local $7 i32) + (local $boundedSize i32) + (local $prev i32) + (local $next i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $root|14 i32) + (local $fl|15 i32) + (local $sl|16 i32) + (local $head i32) + (local $root|18 i32) + (local $fl|19 i32) + (local $slMap i32) + (local $root|21 i32) + (local $fl|22 i32) + (local $slMap|23 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + 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 $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + 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 $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + 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 $block + call $~lib/rt/tlsf/Block#get:prev + local.set $prev + local.get $block + call $~lib/rt/tlsf/Block#get:next + local.set $next + local.get $prev + if + local.get $prev + local.get $next + call $~lib/rt/tlsf/Block#set:next + end + local.get $next + if + local.get $next + local.get $prev + call $~lib/rt/tlsf/Block#set:prev + end + local.get $block + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end + i32.eq + if + local.get $root + local.set $root|14 + local.get $fl + local.set $fl|15 + local.get $sl + local.set $sl|16 + local.get $next + local.set $head + local.get $root|14 + local.get $fl|15 + i32.const 4 + i32.shl + local.get $sl|16 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $next + i32.eqz + if + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end + local.set $slMap + local.get $root + local.set $root|21 + local.get $fl + local.set $fl|22 + local.get $slMap + i32.const 1 + local.get $sl + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $slMap + local.set $slMap|23 + local.get $root|21 + local.get $fl|22 + i32.const 2 + i32.shl + i32.add + local.get $slMap|23 + i32.store offset=4 + local.get $slMap + i32.eqz + if + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + 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 $root i32) (param $block i32) + (local $blockInfo i32) + (local $block|3 i32) + (local $right i32) + (local $rightInfo i32) + (local $block|6 i32) + (local $block|7 i32) + (local $left i32) + (local $leftInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $13 i32) + (local $14 i32) + (local $boundedSize i32) + (local $root|16 i32) + (local $fl|17 i32) + (local $sl|18 i32) + (local $head i32) + (local $root|20 i32) + (local $fl|21 i32) + (local $sl|22 i32) + (local $head|23 i32) + (local $root|24 i32) + (local $fl|25 i32) + (local $root|26 i32) + (local $fl|27 i32) + (local $slMap i32) + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + 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 + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + local.get $rightInfo + i32.const 1 + i32.and + if + local.get $root + local.get $right + call $~lib/rt/tlsf/removeBlock + local.get $block + local.get $blockInfo + i32.const 4 + i32.add + local.get $rightInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + end + local.get $blockInfo + i32.const 2 + i32.and + if + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end + local.set $left + local.get $left + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $leftInfo + i32.const 1 + drop + local.get $leftInfo + 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 $root + local.get $left + call $~lib/rt/tlsf/removeBlock + local.get $left + local.set $block + local.get $block + local.get $leftInfo + i32.const 4 + i32.add + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $right + local.get $rightInfo + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + 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 $block + i32.const 4 + i32.add + local.get $size + i32.add + local.get $right + 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 $right + i32.const 4 + i32.sub + local.get $block + i32.store + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $13 + i32.const 1073741820 + local.tee $14 + local.get $13 + local.get $14 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + 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 + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end + local.set $head + local.get $block + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $block + local.get $head + call $~lib/rt/tlsf/Block#set:next + local.get $head + if + local.get $head + local.get $block + call $~lib/rt/tlsf/Block#set:prev + end + local.get $root + local.set $root|20 + local.get $fl + local.set $fl|21 + local.get $sl + local.set $sl|22 + local.get $block + local.set $head|23 + local.get $root|20 + local.get $fl|21 + i32.const 4 + i32.shl + local.get $sl|22 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head|23 + i32.store offset=96 + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|26 + local.get $fl + local.set $fl|27 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end + i32.const 1 + local.get $sl + i32.shl + i32.or + local.set $slMap + local.get $root|26 + local.get $fl|27 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) + (local $tail i32) + (local $tailInfo i32) + (local $size i32) + (local $leftSize i32) + (local $left i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end + i32.const 1 + drop + local.get $start + i64.extend_i32_u + local.get $endU64 + i64.le_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 382 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $start + 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 $start + local.get $end + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $end + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|4 + local.get $root|4 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end + local.set $tail + i32.const 0 + local.set $tailInfo + local.get $tail + if + i32.const 1 + drop + local.get $start + local.get $tail + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $start + i32.const 16 + i32.sub + local.get $tail + i32.eq + if + local.get $start + i32.const 16 + i32.sub + local.set $start + local.get $tail + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $tailInfo + else + end + else + i32.const 1 + drop + local.get $start + local.get $root + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $end + local.get $start + i32.sub + local.set $size + local.get $size + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $size + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $leftSize + local.get $start + local.set $left + local.get $left + local.get $leftSize + i32.const 1 + i32.or + local.get $tailInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $start + i32.const 4 + i32.add + local.get $leftSize + i32.add + local.set $tail + local.get $tail + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.set $root|10 + local.get $tail + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 + local.get $root + local.get $left + call $~lib/rt/tlsf/insertBlock + i32.const 1 + return + ) + (func $~lib/rt/tlsf/initialize + (local $rootOffset i32) + (local $pagesBefore i32) + (local $pagesNeeded i32) + (local $root i32) + (local $root|4 i32) + (local $tail i32) + (local $fl i32) + (local $root|7 i32) + (local $fl|8 i32) + (local $slMap i32) + (local $sl i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $head i32) + (local $memStart 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 $rootOffset + memory.size + local.set $pagesBefore + local.get $rootOffset + 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 $pagesNeeded + local.get $pagesNeeded + local.get $pagesBefore + i32.gt_s + if (result i32) + local.get $pagesNeeded + local.get $pagesBefore + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $rootOffset + local.set $root + local.get $root + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|4 + i32.const 0 + local.set $tail + local.get $root|4 + local.get $tail + i32.store offset=1568 + i32.const 0 + local.set $fl + loop $for-loop|0 + local.get $fl + i32.const 23 + i32.lt_u + if + local.get $root + local.set $root|7 + local.get $fl + local.set $fl|8 + i32.const 0 + local.set $slMap + local.get $root|7 + local.get $fl|8 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + i32.const 0 + local.set $sl + loop $for-loop|1 + local.get $sl + i32.const 16 + i32.lt_u + if + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + i32.const 0 + local.set $head + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $sl + i32.const 1 + i32.add + local.set $sl + br $for-loop|1 + end + end + local.get $fl + i32.const 1 + i32.add + local.set $fl + br $for-loop|0 + end + end + local.get $rootOffset + i32.const 1572 + i32.add + local.set $memStart + i32.const 0 + drop + local.get $root + local.get $memStart + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $root + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/checkUsedBlock (param $ptr i32) (result i32) + (local $block i32) + local.get $ptr + i32.const 4 + i32.sub + local.set $block + local.get $ptr + i32.const 0 + i32.ne + if (result i32) + local.get $ptr + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 562 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $block + return + ) + (func $~lib/rt/tlsf/freeBlock (param $root i32) (param $block i32) + i32.const 0 + drop + local.get $block + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $block + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $ptr i32) + local.get $ptr + 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 $ptr + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $obj i32) + local.get $obj + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $obj + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $obj + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $obj i32) + (local $1 i32) + (local $black i32) + (local $from 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 $black + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $obj + loop $while-continue|1 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + global.set $~lib/rt/itcms/iter + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + 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 $obj + local.get $obj + 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 $obj + loop $while-continue|2 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + local.get $obj + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $from + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $from + global.set $~lib/rt/itcms/toSpace + local.get $black + global.set $~lib/rt/itcms/white + local.get $from + 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 $obj + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $obj + 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 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $obj + 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 + return + ) + (func $~lib/rt/itcms/interrupt + (local $budget 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 $budget + loop $do-loop|0 + local.get $budget + call $~lib/rt/itcms/step + i32.sub + local.set $budget + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + drop + global.get $~lib/rt/itcms/total + i32.const 200 + i32.const 100 + i32.div_u + i32.mul + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $budget + 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 $size i32) (result i32) + local.get $size + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $size + 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 + return + ) + (func $~lib/rt/tlsf/prepareSize (param $size i32) (result i32) + local.get $size + i32.const 1073741820 + i32.gt_u + if + i32.const 32 + i32.const 368 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $size + call $~lib/rt/tlsf/computeSize + return + ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) + (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) + (local $fl i32) + (local $sl i32) + (local $requestSize i32) + (local $root|5 i32) + (local $fl|6 i32) + (local $slMap i32) + (local $head i32) + (local $flMap i32) + (local $root|10 i32) + (local $fl|11 i32) + (local $root|12 i32) + (local $fl|13 i32) + (local $sl|14 i32) + (local $root|15 i32) + (local $fl|16 i32) + (local $sl|17 i32) + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $requestSize + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub + local.get $requestSize + i32.clz + i32.sub + local.set $fl + local.get $requestSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 334 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end + i32.const 0 + i32.const -1 + i32.xor + local.get $sl + i32.shl + i32.and + local.set $slMap + i32.const 0 + local.set $head + local.get $slMap + i32.eqz + if + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 0 + i32.const -1 + i32.xor + local.get $fl + i32.const 1 + i32.add + i32.shl + i32.and + local.set $flMap + local.get $flMap + i32.eqz + if + i32.const 0 + local.set $head + else + local.get $flMap + i32.ctz + local.set $fl + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end + local.set $slMap + i32.const 1 + drop + local.get $slMap + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) + local.get $root + local.set $root|15 + local.get $fl + local.set $fl|16 + local.get $slMap + i32.ctz + local.set $sl|17 + local.get $root|15 + local.get $fl|16 + i32.const 4 + i32.shl + local.get $sl|17 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.3 + end + local.set $head + end + local.get $head + return + ) + (func $~lib/rt/tlsf/growMemory (param $root i32) (param $size i32) + (local $pagesBefore i32) + (local $root|3 i32) + (local $pagesNeeded i32) + (local $5 i32) + (local $6 i32) + (local $pagesWanted i32) + (local $pagesAfter i32) + i32.const 0 + drop + local.get $size + i32.const 256 + i32.ge_u + if + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $size + end + memory.size + local.set $pagesBefore + local.get $size + i32.const 4 + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 4 + i32.sub + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end + i32.ne + i32.shl + i32.add + local.set $size + local.get $size + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $5 + local.get $pagesNeeded + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $pagesAfter + local.get $root + local.get $pagesBefore + i32.const 16 + i32.shl + local.get $pagesAfter + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $root i32) (param $block i32) (param $size i32) + (local $blockInfo i32) + (local $remaining i32) + (local $spare i32) + (local $block|6 i32) + (local $block|7 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $size + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $size + i32.sub + local.set $remaining + local.get $remaining + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $block + local.get $size + local.get $blockInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.set $spare + local.get $spare + local.get $remaining + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $spare + call $~lib/rt/tlsf/insertBlock + else + local.get $block + local.get $blockInfo + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $root i32) (param $size i32) (result i32) + (local $payloadSize i32) + (local $block i32) + local.get $size + call $~lib/rt/tlsf/prepareSize + local.set $payloadSize + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + local.get $block + i32.eqz + if + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/growMemory + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $payloadSize + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $block + call $~lib/rt/tlsf/removeBlock + local.get $root + local.get $block + local.get $payloadSize + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $block + return + ) + (func $~lib/rt/tlsf/__alloc (param $size 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 $size + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + return + ) + (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) + local.get $this + local.get $rtId + i32.store offset=12 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) + local.get $this + local.get $rtSize + i32.store offset=16 + ) + (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) + (local $obj i32) + (local $ptr i32) + local.get $size + i32.const 1073741804 + i32.ge_u + if + i32.const 32 + i32.const 96 + i32.const 261 + 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 $size + i32.add + call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub + local.set $obj + local.get $obj + local.get $id + call $~lib/rt/itcms/Object#set:rtId + local.get $obj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $obj + i32.const 20 + i32.add + local.set $ptr + local.get $ptr + i32.const 0 + local.get $size + memory.fill + local.get $ptr + return + ) + (func $rt/issue-2719/issue2719_T#set:v (param $this i32) (param $v i32) + local.get $this + local.get $v + i32.store + ) + (func $~lib/rt/itcms/__collect + i32.const 0 + drop + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + i32.const 0 + drop + ) + (func $rt/issue-2719/issue2719_T#get:v (param $this i32) (result i32) + local.get $this + i32.load + ) + (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) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $rt/issue-2719/issue2719_T + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rt/issue-2719/issue2719_T $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + unreachable + ) + (func $~start + call $start:rt/issue-2719 + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33296 + i32.const 33344 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $rt/issue-2719/issue2719_T#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $rt/issue-2719/issue2719_T#set:v + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $rt/issue-2719/issue2719_f2 (param $t i32) (result i32) + (local $c 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 + call $~lib/rt/itcms/__collect + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $rt/issue-2719/issue2719_T#constructor + local.tee $c + i32.store + local.get $c + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 100 + call $rt/issue-2719/issue2719_T#set:v + i32.const 1 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $rt/issue-2719/issue2719_f1 (param $a i32) (param $t i32) (param $b 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 $t + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $rt/issue-2719/issue2719_T#get:v + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 6 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $start:rt/issue-2719 + (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 + i32.const 1 + i32.const 0 + call $rt/issue-2719/issue2719_T#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 0 + call $rt/issue-2719/issue2719_T#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + call $rt/issue-2719/issue2719_f2 + call $rt/issue-2719/issue2719_f1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) +) diff --git a/tests/compiler/rt/issue-2719.json b/tests/compiler/rt/issue-2719.json new file mode 100644 index 0000000000..1bdd02b1be --- /dev/null +++ b/tests/compiler/rt/issue-2719.json @@ -0,0 +1,4 @@ +{ + "asc_flags": [ + ] +} diff --git a/tests/compiler/rt/issue-2719.release.wat b/tests/compiler/rt/issue-2719.release.wat new file mode 100644 index 0000000000..0665cfc0ef --- /dev/null +++ b/tests/compiler/rt/issue-2719.release.wat @@ -0,0 +1,1777 @@ +(module + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (result i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (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 34296)) + (memory $0 1) + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "<") + (data $8.1 (i32.const 1448) "\02\00\00\00 \00\00\00r\00t\00/\00i\00s\00s\00u\00e\00-\002\007\001\009\00.\00t\00s") + (data $9 (i32.const 1504) "\05\00\00\00 \00\00\00 \00\00\00 \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 $~lib/rt/itcms/__visit + i32.const 1056 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 160 + 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/__visit (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $1 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $1 + i32.load offset=8 + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + 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$119 + local.get $1 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34296 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$119 + end + local.get $1 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1504 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + 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 $0 + local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + 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 + ) + (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 $3 + 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 $3 + i32.const -4 + i32.and + local.tee $3 + 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 $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1073741820 + local.get $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $2 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $3 + 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 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 $1 + local.get $0 + local.get $2 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=96 + i32.eq + if + local.get $1 + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $3 + i32.rotl + i32.and + local.set $3 + local.get $1 + local.get $3 + i32.store offset=4 + local.get $3 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $2 + 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 $4 + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + 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 + i32.const 1073741820 + local.get $2 + local.get $2 + i32.const 1073741820 + i32.ge_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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + 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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + 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 $5 + i32.shl + i32.or + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + 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 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.get $1 + i64.extend_i32_u + i64.lt_u + if + i32.const 0 + i32.const 1392 + i32.const 382 + 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 $3 + if + local.get $3 + i32.const 4 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + local.tee $5 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $5 + local.set $1 + end + else + local.get $0 + i32.const 1572 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.wrap_i64 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $3 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + 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 $1 + i32.const 4 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.const 2 + i32.store + local.get $0 + local.get $3 + 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 34304 + i32.const 0 + i32.store + i32.const 35872 + 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 34304 + 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 $0 + i32.const 4 + i32.shl + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.const 34304 + 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 34304 + i32.const 35876 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + i32.const 34304 + 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 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 34296 + i32.lt_u + if + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 34296 + 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 34296 + 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 562 + 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 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (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 + 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.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $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 + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 334 + 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 1392 + i32.const 347 + 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/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 261 + 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$69 + 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 + i32.const 1 + i32.shl + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt$69 + end + local.get $2 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.set $4 + 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 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end + local.tee $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + memory.size + local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end + i32.const 4 + local.get $4 + i32.load offset=1568 + local.get $2 + i32.const 16 + i32.shl + i32.const 4 + i32.sub + i32.ne + i32.shl + i32.add + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $2 + 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 $4 + local.get $2 + i32.const 16 + i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + local.get $4 + local.get $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + local.get $5 + local.get $2 + i32.load + i32.const -4 + i32.and + i32.gt_u + if + i32.const 0 + i32.const 1392 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $2 + i32.load + local.set $6 + local.get $5 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1392 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const -4 + i32.and + local.get $5 + i32.sub + local.tee $3 + i32.const 16 + i32.ge_u + if + local.get $2 + local.get $5 + local.get $6 + i32.const 2 + i32.and + i32.or + i32.store + local.get $2 + i32.const 4 + i32.add + local.get $5 + i32.add + local.tee $5 + local.get $3 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $4 + local.get $5 + 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 + local.get $1 + global.get $~lib/rt/itcms/white + i32.or + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $3 + local.get $2 + local.get $3 + i32.load offset=4 + i32.const 3 + i32.and + 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 $1 + i32.const 0 + local.get $0 + memory.fill + local.get $1 + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $invalid + block $rt/issue-2719/issue2719_T + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $rt/issue-2719/issue2719_T $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + 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 1528 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + memory.size + i32.const 16 + i32.shl + i32.const 34296 + 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 + call $rt/issue-2719/issue2719_T#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + call $rt/issue-2719/issue2719_T#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1528 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i64.const 200 + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + global.get $~lib/memory/__stack_pointer + call $rt/issue-2719/issue2719_T#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 100 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1528 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + if + i32.const 0 + i32.const 1456 + i32.const 6 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34320 + i32.const 34368 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $rt/issue-2719/issue2719_T#constructor (result i32) + (local $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1528 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1528 + 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 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 34320 + i32.const 34368 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) +) diff --git a/tests/compiler/rt/issue-2719.ts b/tests/compiler/rt/issue-2719.ts new file mode 100644 index 0000000000..be369ee568 --- /dev/null +++ b/tests/compiler/rt/issue-2719.ts @@ -0,0 +1,17 @@ +class issue2719_T { + v: i32 = 0; +} + +function issue2719_f1(a: i32, t: issue2719_T, b: i32): void { + assert(t.v == 0); +} + +function issue2719_f2(t: issue2719_T): i32 { + __collect(); // gc will recover the second argument issue2719_T in issue2719_f1 + let c = new issue2719_T(); + c.v = 100; + return 1; +} + +issue2719_f1(1, new issue2719_T(), issue2719_f2(new issue2719_T())); + diff --git a/tests/compiler/rt/runtime-incremental-export.debug.wat b/tests/compiler/rt/runtime-incremental-export.debug.wat index 25aa3ed731..e95efa75fe 100644 --- a/tests/compiler/rt/runtime-incremental-export.debug.wat +++ b/tests/compiler/rt/runtime-incremental-export.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -28,17 +28,17 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33332)) (global $~lib/memory/__heap_base i32 (i32.const 33332)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") - (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") - (data (i32.const 544) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") + (data $9 (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") + (data $10 (i32.const 544) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "__new" (func $~lib/rt/itcms/__new)) @@ -51,12 +51,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -70,7 +70,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -144,7 +144,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -214,11 +214,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -226,7 +226,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -358,7 +358,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -371,7 +371,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -387,34 +387,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -574,7 +574,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -597,7 +597,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -611,7 +611,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -634,7 +634,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -777,7 +777,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -863,7 +863,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -943,7 +943,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -977,7 +977,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1000,7 +1000,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1014,27 +1014,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1059,9 +1064,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1080,7 +1085,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1099,7 +1104,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1113,7 +1117,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1169,12 +1173,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1208,7 +1212,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1229,7 +1233,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1249,7 +1253,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1269,7 +1273,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1295,7 +1299,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1318,9 +1322,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1356,7 +1361,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1622,14 +1627,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1685,7 +1693,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1694,6 +1702,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1723,24 +1751,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1778,7 +1795,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1793,7 +1810,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1838,7 +1855,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1849,7 +1866,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1871,7 +1888,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1894,7 +1911,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1913,22 +1930,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1941,7 +1950,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1968,27 +1977,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2013,7 +2023,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2128,7 +2138,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2148,7 +2158,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2181,12 +2191,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2237,7 +2247,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2376,16 +2386,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2396,7 +2401,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return @@ -2413,7 +2418,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base diff --git a/tests/compiler/rt/runtime-incremental-export.release.wat b/tests/compiler/rt/runtime-incremental-export.release.wat index 70d90691f3..605d4f43c8 100644 --- a/tests/compiler/rt/runtime-incremental-export.release.wat +++ b/tests/compiler/rt/runtime-incremental-export.release.wat @@ -1,12 +1,12 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_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 (func (param i32) (result i32))) + (type $0 (func (param i32))) + (type $1 (func)) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param 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)) @@ -20,21 +20,21 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 1568)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 1500) "<") - (data (i32.const 1512) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 1568) "\04\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "<") + (data $8.1 (i32.const 1448) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") + (data $9 (i32.const 1500) "<") + (data $9.1 (i32.const 1512) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") + (data $10 (i32.const 1568) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "__new" (func $~lib/rt/itcms/__new)) (export "__pin" (func $~lib/rt/itcms/__pin)) (export "__unpin" (func $~lib/rt/itcms/__unpin)) @@ -46,16 +46,16 @@ (local $0 i32) (local $1 i32) i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1456 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1520 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -65,7 +65,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -83,7 +83,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -94,14 +94,14 @@ (func $~lib/rt/itcms/Object#unlink (param $0 i32) (local $1 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34356 @@ -119,7 +119,7 @@ return end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $0 i32.eqz if @@ -132,15 +132,15 @@ end local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#makeGray (param $0 i32) (local $1 i32) @@ -151,7 +151,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -170,7 +170,7 @@ global.get $~lib/rt/itcms/toSpace local.set $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 i32.const 2 i32.le_u @@ -179,7 +179,7 @@ else local.get $2 i32.const 1568 - i32.load $0 + i32.load i32.gt_u if i32.const 1248 @@ -194,13 +194,13 @@ i32.shl i32.const 1572 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 global.get $~lib/rt/itcms/white @@ -210,21 +210,45 @@ select local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -232,8 +256,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -245,10 +269,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -259,29 +283,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -289,10 +313,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -306,75 +330,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -396,7 +413,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -413,12 +430,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -435,17 +452,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -455,9 +472,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -482,13 +499,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -522,7 +539,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -578,19 +595,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -602,15 +619,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -618,23 +635,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -648,10 +667,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -659,23 +678,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -687,52 +705,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -740,7 +759,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -748,7 +767,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -759,10 +778,10 @@ end i32.const 34368 i32.const 0 - i32.store $0 + i32.store i32.const 35936 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -774,7 +793,7 @@ i32.const 34368 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -792,7 +811,7 @@ i32.const 34368 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -809,9 +828,10 @@ end i32.const 34368 i32.const 35940 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34368 global.set $~lib/rt/tlsf/ROOT @@ -841,7 +861,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -854,19 +874,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -877,7 +897,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -889,7 +909,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -902,12 +922,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -916,7 +932,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -927,26 +943,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -962,7 +978,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -978,7 +994,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1003,14 +1019,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1030,7 +1046,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1045,25 +1060,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1072,12 +1086,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1085,47 +1098,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1136,7 +1151,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1146,7 +1161,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1163,10 +1178,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1182,13 +1197,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1203,7 +1218,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1230,7 +1245,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1242,16 +1257,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1259,8 +1270,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1287,34 +1297,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1322,21 +1358,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1349,12 +1370,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1365,9 +1386,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1377,7 +1399,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1385,14 +1407,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1401,8 +1423,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1411,95 +1433,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1512,7 +1534,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/rt/itcms/__pin (param $0 i32) (result i32) @@ -1525,7 +1547,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1542,27 +1564,27 @@ call $~lib/rt/itcms/Object#unlink global.get $~lib/rt/itcms/pinSpace local.tee $3 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $3 i32.const 3 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end local.get $0 ) @@ -1578,7 +1600,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1602,27 +1624,27 @@ call $~lib/rt/itcms/Object#unlink global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end ) (func $~lib/rt/itcms/__collect @@ -1669,7 +1691,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return @@ -1679,18 +1701,14 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34356 @@ -1700,46 +1718,27 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace ) - (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 $0 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 - ) ) diff --git a/tests/compiler/rt/runtime-minimal-export.debug.wat b/tests/compiler/rt/runtime-minimal-export.debug.wat index 228a822953..95a809eadd 100644 --- a/tests/compiler/rt/runtime-minimal-export.debug.wat +++ b/tests/compiler/rt/runtime-minimal-export.debug.wat @@ -1,12 +1,12 @@ (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) @@ -18,15 +18,15 @@ (global $~lib/rt/__rtti_base i32 (i32.const 432)) (global $~lib/memory/__heap_base i32 (i32.const 452)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00c\00m\00s\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\00\00\00\00\00\00\00\00\02\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) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") - (data (i32.const 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 332) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") - (data (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 432) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00c\00m\00s\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d\00\00\00") + (data $5 (i32.const 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 332) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d\00\00\00\00\00") + (data $7 (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 432) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "__new" (func $~lib/rt/tcms/__new)) @@ -39,38 +39,38 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -230,7 +230,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -253,7 +253,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -267,7 +267,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -290,7 +290,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -433,7 +433,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -519,7 +519,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -599,7 +599,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -633,7 +633,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -656,7 +656,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -670,27 +670,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 160 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -715,9 +720,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -736,7 +741,7 @@ if i32.const 0 i32.const 160 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -755,7 +760,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -769,7 +773,7 @@ if i32.const 0 i32.const 160 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -825,12 +829,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -864,7 +868,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -885,7 +889,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -905,7 +909,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -925,7 +929,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -951,7 +955,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -974,9 +978,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1010,7 +1015,7 @@ if i32.const 32 i32.const 160 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1019,6 +1024,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1048,24 +1073,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1103,7 +1117,7 @@ if i32.const 0 i32.const 160 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1118,7 +1132,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1163,7 +1177,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1174,7 +1188,7 @@ if i32.const 0 i32.const 160 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1196,7 +1210,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1219,7 +1233,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1238,22 +1252,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1266,7 +1272,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1293,27 +1299,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -1338,7 +1345,7 @@ if i32.const 0 i32.const 160 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -1453,7 +1460,7 @@ if i32.const 0 i32.const 160 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1473,7 +1480,7 @@ if i32.const 0 i32.const 160 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1506,22 +1513,22 @@ (func $~lib/rt/tcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/tcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/tcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tcms/initLazy (param $space i32) (result i32) local.get $space @@ -1535,11 +1542,11 @@ ) (func $~lib/rt/tcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -1784,7 +1791,7 @@ if i32.const 0 i32.const 160 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -2026,16 +2033,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/tcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/tcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2046,7 +2048,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return diff --git a/tests/compiler/rt/runtime-minimal-export.release.wat b/tests/compiler/rt/runtime-minimal-export.release.wat index f6717c4ce9..bbaf5cc296 100644 --- a/tests/compiler/rt/runtime-minimal-export.release.wat +++ b/tests/compiler/rt/runtime-minimal-export.release.wat @@ -1,11 +1,11 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func (param i32))) + (type $1 (func)) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (param i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/rt/tcms/fromSpace (mut i32) (i32.const 0)) @@ -15,17 +15,17 @@ (global $~lib/rt/tcms/toSpace (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 1456)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1164) "<") - (data (i32.const 1176) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 1356) "<") - (data (i32.const 1368) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") - (data (i32.const 1456) "\04\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00c\00m\00s\00.\00t\00s") + (data $2 (i32.const 1164) "<") + (data $2.1 (i32.const 1176) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $4 (i32.const 1260) "<") + (data $4.1 (i32.const 1272) "\02\00\00\00*\00\00\00O\00b\00j\00e\00c\00t\00 \00a\00l\00r\00e\00a\00d\00y\00 \00p\00i\00n\00n\00e\00d") + (data $6 (i32.const 1356) "<") + (data $6.1 (i32.const 1368) "\02\00\00\00(\00\00\00O\00b\00j\00e\00c\00t\00 \00i\00s\00 \00n\00o\00t\00 \00p\00i\00n\00n\00e\00d") + (data $8 (i32.const 1456) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "__new" (func $~lib/rt/tcms/__new)) (export "__pin" (func $~lib/rt/tcms/__pin)) (export "__unpin" (func $~lib/rt/tcms/__unpin)) @@ -39,8 +39,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -52,10 +52,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -66,29 +66,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -96,10 +96,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -113,75 +113,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -203,7 +196,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -220,12 +213,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -242,17 +235,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -262,9 +255,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -289,13 +282,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -329,7 +322,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -385,19 +378,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -409,15 +402,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -425,23 +418,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1184 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -455,10 +450,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -466,23 +461,22 @@ if i32.const 0 i32.const 1184 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -494,52 +488,53 @@ if i32.const 0 i32.const 1184 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -547,7 +542,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -555,7 +550,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -566,10 +561,10 @@ end i32.const 1488 i32.const 0 - i32.store $0 + i32.store i32.const 3056 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -581,7 +576,7 @@ i32.const 1488 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -599,7 +594,7 @@ i32.const 1488 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -616,56 +611,59 @@ end i32.const 1488 i32.const 3060 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 1488 global.set $~lib/rt/tlsf/ROOT ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -676,7 +674,7 @@ if i32.const 0 i32.const 1184 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -686,7 +684,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -703,10 +701,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -722,13 +720,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1184 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -743,7 +741,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -782,34 +780,60 @@ if i32.const 1056 i32.const 1184 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -817,21 +841,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -844,12 +853,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -860,9 +869,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -872,7 +882,7 @@ if i32.const 0 i32.const 1184 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -880,14 +890,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1184 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -896,8 +906,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -906,95 +916,95 @@ if i32.const 0 i32.const 1184 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/tcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $2 local.get $0 global.get $~lib/rt/tcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $2 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/tcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1008,14 +1018,14 @@ (func $~lib/rt/tcms/Object#unlink (param $0 i32) (local $1 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 1476 @@ -1033,7 +1043,7 @@ return end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $0 i32.eqz if @@ -1046,15 +1056,15 @@ end local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tcms/__pin (param $0 i32) (result i32) (local $1 i32) @@ -1066,7 +1076,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1083,27 +1093,27 @@ call $~lib/rt/tcms/Object#unlink global.get $~lib/rt/tcms/pinSpace local.tee $3 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $3 i32.const 3 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end local.get $0 ) @@ -1119,7 +1129,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1136,27 +1146,27 @@ call $~lib/rt/tcms/Object#unlink global.get $~lib/rt/tcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/tcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tcms/__collect (local $0 i32) @@ -1167,14 +1177,14 @@ (local $5 i32) (local $6 i32) i32.const 1056 - call $byn-split-outlined-A$~lib/rt/tcms/__visit_0 + call $~lib/rt/tcms/__visit i32.const 1280 - call $byn-split-outlined-A$~lib/rt/tcms/__visit_0 + call $~lib/rt/tcms/__visit i32.const 1376 - call $byn-split-outlined-A$~lib/rt/tcms/__visit_0 + call $~lib/rt/tcms/__visit global.get $~lib/rt/tcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1184,7 +1194,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -1202,7 +1212,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1214,7 +1224,7 @@ local.set $3 global.get $~lib/rt/tcms/toSpace local.tee $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1225,7 +1235,7 @@ if local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.ne @@ -1242,7 +1252,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1251,7 +1261,7 @@ end global.get $~lib/rt/tcms/fromSpace local.tee $5 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1262,7 +1272,7 @@ if global.get $~lib/rt/tcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.ne @@ -1275,24 +1285,23 @@ unreachable end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and - local.set $1 local.get $0 i32.const 1476 i32.lt_u if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/tcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1312,7 +1321,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $6 local.get $0 i32.const 4 i32.sub @@ -1327,40 +1335,38 @@ i32.const 1 else local.get $4 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1184 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $4 local.get $4 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $6 + i32.store local.get $4 call $~lib/rt/tlsf/insertBlock end end - local.get $1 local.set $0 br $while-continue|2 end end local.get $5 local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 global.set $~lib/rt/tcms/fromSpace local.get $5 @@ -1368,9 +1374,53 @@ local.get $3 global.set $~lib/rt/tcms/white ) - (func $~lib/rt/__visit_members (param $0 i32) + (func $~lib/rt/tcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/tcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $1 + call $~lib/rt/tcms/Object#unlink + global.get $~lib/rt/tcms/toSpace + local.tee $0 + i32.load offset=8 + local.set $2 + local.get $1 + local.get $0 + global.get $~lib/rt/tcms/white + i32.eqz + i32.or + i32.store offset=4 + local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + i32.or + i32.store offset=4 + local.get $0 + local.get $1 + i32.store offset=8 + end + ) + (func $~lib/rt/__visit_members (param $0 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String @@ -1379,7 +1429,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return @@ -1389,47 +1439,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - global.get $~lib/rt/tcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $1 - call $~lib/rt/tcms/Object#unlink - global.get $~lib/rt/tcms/toSpace - local.tee $0 - i32.load $0 offset=8 - local.set $2 - local.get $1 - local.get $0 - global.get $~lib/rt/tcms/white - i32.eqz - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $1 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - end - end + i32.load + call $~lib/rt/tcms/__visit return end unreachable @@ -1437,68 +1448,27 @@ (func $~start i32.const 1236 i32.const 1232 - i32.store $0 + i32.store i32.const 1240 i32.const 1232 - i32.store $0 + i32.store i32.const 1232 global.set $~lib/rt/tcms/fromSpace i32.const 1332 i32.const 1328 - i32.store $0 + i32.store i32.const 1336 i32.const 1328 - i32.store $0 + i32.store i32.const 1328 global.set $~lib/rt/tcms/pinSpace i32.const 1428 i32.const 1424 - i32.store $0 + i32.store i32.const 1432 i32.const 1424 - i32.store $0 + i32.store i32.const 1424 global.set $~lib/rt/tcms/toSpace ) - (func $byn-split-outlined-A$~lib/rt/tcms/__visit_0 (param $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/rt/tcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $1 - call $~lib/rt/tcms/Object#unlink - global.get $~lib/rt/tcms/toSpace - local.tee $0 - i32.load $0 offset=8 - local.set $2 - local.get $1 - local.get $0 - global.get $~lib/rt/tcms/white - i32.eqz - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $1 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - end - ) ) diff --git a/tests/compiler/rt/runtime-stub-export.debug.wat b/tests/compiler/rt/runtime-stub-export.debug.wat index 0d06091a4b..da03f96897 100644 --- a/tests/compiler/rt/runtime-stub-export.debug.wat +++ b/tests/compiler/rt/runtime-stub-export.debug.wat @@ -1,19 +1,19 @@ (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_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func)) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/stub/startOffset (mut i32) (i32.const 0)) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 144)) (global $~lib/memory/__heap_base i32 (i32.const 164)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 144) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 144) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "__new" (func $~lib/rt/stub/__new)) @@ -30,7 +30,7 @@ (local $4 i32) (local $5 i32) (local $pagesWanted i32) - memory.size $0 + memory.size local.set $pagesBefore local.get $pagesBefore i32.const 16 @@ -68,12 +68,12 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -87,7 +87,7 @@ (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/stub/__alloc (param $size i32) (result i32) (local $block i32) @@ -141,22 +141,22 @@ (func $~lib/rt/common/OBJECT#set:gcInfo (param $this i32) (param $gcInfo i32) local.get $this local.get $gcInfo - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/common/OBJECT#set:gcInfo2 (param $this i32) (param $gcInfo2 i32) local.get $this local.get $gcInfo2 - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/common/OBJECT#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/common/OBJECT#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/stub/__new (param $size i32) (param $id i32) (result i32) (local $ptr i32) @@ -203,10 +203,8 @@ return ) (func $~lib/rt/stub/__unpin (param $ptr i32) - nop ) (func $~lib/rt/stub/__collect - nop ) (func $~start global.get $~lib/memory/__heap_base diff --git a/tests/compiler/rt/runtime-stub-export.release.wat b/tests/compiler/rt/runtime-stub-export.release.wat index 5422ff5ea2..49d2915a10 100644 --- a/tests/compiler/rt/runtime-stub-export.release.wat +++ b/tests/compiler/rt/runtime-stub-export.release.wat @@ -1,18 +1,18 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32) (result i32))) + (type $4 (func (param i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/rt/__rtti_base i32 (i32.const 1168)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s") - (data (i32.const 1168) "\04\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s") + (data $2 (i32.const 1168) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "__new" (func $~lib/rt/stub/__new)) (export "__pin" (func $~lib/rt/stub/__pin)) (export "__unpin" (func $~lib/rt/stub/__unpin)) @@ -53,7 +53,7 @@ unreachable end global.get $~lib/rt/stub/offset - local.tee $3 + global.get $~lib/rt/stub/offset i32.const 4 i32.add local.tee $2 @@ -67,7 +67,7 @@ local.tee $4 i32.add local.tee $5 - memory.size $0 + memory.size local.tee $6 i32.const 16 i32.shl @@ -93,12 +93,12 @@ local.get $7 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $7 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -108,24 +108,23 @@ end local.get $5 global.set $~lib/rt/stub/offset - local.get $3 local.get $4 - i32.store $0 + i32.store local.get $2 i32.const 4 i32.sub local.tee $3 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $3 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 local.get $2 i32.const 16 i32.add @@ -134,10 +133,8 @@ local.get $0 ) (func $~lib/rt/stub/__unpin (param $0 i32) - nop ) (func $~lib/rt/stub/__collect - nop ) (func $~start i32.const 1196 diff --git a/tests/compiler/scoped.debug.wat b/tests/compiler/scoped.debug.wat index 18cde11496..4703e91d9b 100644 --- a/tests/compiler/scoped.debug.wat +++ b/tests/compiler/scoped.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) + (type $0 (func)) + (type $1 (func (param i32))) (global $scoped/aGlobal (mut i32) (i32.const 1)) (global $scoped/aConstant i32 (i32.const 3)) (global $scoped/aStartFunctionLocal (mut i32) (i32.const 2)) @@ -32,7 +32,6 @@ i32.const 1 i32.lt_s if - nop local.get $anotherStartFunctionLocal i32.const 1 i32.add diff --git a/tests/compiler/scoped.release.wat b/tests/compiler/scoped.release.wat index 23e6ec1719..5a9366ab03 100644 --- a/tests/compiler/scoped.release.wat +++ b/tests/compiler/scoped.release.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (memory $0 0) (export "memory" (memory $0)) (start $~start) diff --git a/tests/compiler/simd.debug.wat b/tests/compiler/simd.debug.wat index f8a950898b..ded9a32b78 100644 --- a/tests/compiler/simd.debug.wat +++ b/tests/compiler/simd.debug.wat @@ -1,27 +1,28 @@ (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 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_v128 (func (param i32 i32 i32) (result v128))) - (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))) - (type $none_=>_v128 (func (result v128))) - (type $v128_=>_v128 (func (param v128) (result v128))) - (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_v128 (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result v128))) - (type $i32_i32_i32_i32_i32_i32_i32_i32_=>_v128 (func (param i32 i32 i32 i32 i32 i32 i32 i32) (result v128))) - (type $i32_i32_i32_i32_=>_v128 (func (param i32 i32 i32 i32) (result v128))) - (type $i64_=>_v128 (func (param i64) (result v128))) - (type $i64_i64_=>_v128 (func (param i64 i64) (result v128))) - (type $f32_f32_f32_=>_v128 (func (param f32 f32 f32) (result v128))) - (type $f32_f32_f32_f32_=>_v128 (func (param f32 f32 f32 f32) (result v128))) - (type $f64_=>_v128 (func (param f64) (result v128))) - (type $f64_f64_=>_v128 (func (param f64 f64) (result v128))) - (type $i32_i32_=>_v128 (func (param i32 i32) (result v128))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32 i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32) (result v128))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) + (type $10 (func (param i32 i32 i32) (result i32))) + (type $11 (func (result v128))) + (type $12 (func (param v128) (result v128))) + (type $13 (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result v128))) + (type $14 (func (param i32 i32 i32 i32 i32 i32 i32 i32) (result v128))) + (type $15 (func (param i32 i32 i32 i32) (result v128))) + (type $16 (func (param i64) (result v128))) + (type $17 (func (param i64 i64) (result v128))) + (type $18 (func (param f32 f32 f32) (result v128))) + (type $19 (func (param f32 f32 f32 f32) (result v128))) + (type $20 (func (param f64) (result v128))) + (type $21 (func (param f64 f64) (result v128))) + (type $22 (func (param i32 i32) (result v128))) + (type $23 (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -50,18 +51,18 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33356)) (global $~lib/memory/__heap_base i32 (i32.const 33356)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 560) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\04\00\00\02\t\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $10 (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 560) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\04\00\00\02\t\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "reexport" (func $simd/reexport)) @@ -83,12 +84,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -102,7 +103,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -176,7 +177,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -246,11 +247,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -258,7 +259,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 272 @@ -390,7 +391,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -403,7 +404,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -419,34 +420,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -606,7 +607,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -629,7 +630,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -643,7 +644,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -666,7 +667,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -809,7 +810,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -895,7 +896,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -975,7 +976,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1009,7 +1010,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1032,7 +1033,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1046,27 +1047,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 416 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1091,9 +1097,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1112,7 +1118,7 @@ if i32.const 0 i32.const 416 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1131,7 +1137,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1145,7 +1150,7 @@ if i32.const 0 i32.const 416 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1201,12 +1206,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1240,7 +1245,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1261,7 +1266,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1281,7 +1286,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1301,7 +1306,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1327,7 +1332,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1350,9 +1355,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1388,7 +1394,7 @@ if i32.const 0 i32.const 416 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1654,14 +1660,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1717,7 +1726,7 @@ if i32.const 80 i32.const 416 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1726,6 +1735,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1755,24 +1784,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1810,7 +1828,7 @@ if i32.const 0 i32.const 416 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1825,7 +1843,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1870,7 +1888,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1881,7 +1899,7 @@ if i32.const 0 i32.const 416 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1903,7 +1921,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1926,7 +1944,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1945,22 +1963,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1973,7 +1983,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2000,27 +2010,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2045,7 +2056,7 @@ if i32.const 0 i32.const 416 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2160,7 +2171,7 @@ if i32.const 0 i32.const 416 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2180,7 +2191,7 @@ if i32.const 0 i32.const 416 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2213,12 +2224,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2269,7 +2280,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2284,7 +2295,7 @@ local.get $buffer local.get $data local.get $size - memory.copy $0 $0 + memory.copy end local.get $buffer return @@ -2359,11 +2370,11 @@ ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $simd/test_v128 (local $ptr i32) @@ -2379,8 +2390,10 @@ (local $v|10 v128) (local $ptr|11 i32) (local $v|12 v128) - (local $v|13 v128) + (local $ptr|13 i32) (local $v|14 v128) + (local $v|15 v128) + (local $v|16 v128) v128.const i32x4 0x00000001 0x00000000 0x00000000 0x00000000 v128.any_true i32.const 0 @@ -2466,8 +2479,8 @@ local.set $ptr local.get $ptr local.get $ptr - v128.load $0 offset=16 - v128.store $0 offset=32 + v128.load offset=16 + v128.store offset=32 local.get $ptr call $~lib/rt/tlsf/__free i32.const 16 @@ -2475,9 +2488,9 @@ local.set $ptr|1 local.get $ptr|1 i32.const 42 - i32.store8 $0 + i32.store8 local.get $ptr|1 - v128.load8_splat $0 + v128.load8_splat v128.const i32x4 0x2a2a2a2a 0x2a2a2a2a 0x2a2a2a2a 0x2a2a2a2a i8x16.eq i8x16.all_true @@ -2499,9 +2512,9 @@ local.set $ptr|2 local.get $ptr|2 i32.const 42 - i32.store16 $0 + i32.store16 local.get $ptr|2 - v128.load16_splat $0 + v128.load16_splat v128.const i32x4 0x002a002a 0x002a002a 0x002a002a 0x002a002a i8x16.eq i8x16.all_true @@ -2523,9 +2536,9 @@ local.set $ptr|3 local.get $ptr|3 i32.const 42 - i32.store $0 + i32.store local.get $ptr|3 - v128.load32_splat $0 + v128.load32_splat v128.const i32x4 0x0000002a 0x0000002a 0x0000002a 0x0000002a i8x16.eq i8x16.all_true @@ -2547,9 +2560,9 @@ local.set $ptr|4 local.get $ptr|4 i64.const 42 - i64.store $0 + i64.store local.get $ptr|4 - v128.load64_splat $0 + v128.load64_splat v128.const i32x4 0x0000002a 0x00000000 0x0000002a 0x00000000 i8x16.eq i8x16.all_true @@ -2571,9 +2584,9 @@ local.set $ptr|5 local.get $ptr|5 i32.const 42 - i32.store $0 + i32.store local.get $ptr|5 - v128.load32_zero $0 + v128.load32_zero v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 i8x16.eq i8x16.all_true @@ -2595,9 +2608,9 @@ local.set $ptr|6 local.get $ptr|6 i64.const 42 - i64.store $0 + i64.store local.get $ptr|6 - v128.load64_zero $0 + v128.load64_zero v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 i8x16.eq i8x16.all_true @@ -2752,12 +2765,12 @@ local.set $ptr|9 local.get $ptr|9 i32.const 42 - i32.store $0 + i32.store v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 local.set $v|10 local.get $ptr|9 local.get $v|10 - v128.load32_lane $0 0 + v128.load32_lane 0 local.set $v|10 local.get $v|10 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 @@ -2781,12 +2794,12 @@ local.set $ptr|11 local.get $ptr|11 i32.const 42 - i32.store $0 + i32.store v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 local.set $v|12 local.get $ptr|11 local.get $v|12 - v128.load32_lane $0 0 + v128.load32_lane 0 local.set $v|12 local.get $v|12 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 @@ -2805,7 +2818,7 @@ end local.get $ptr|11 local.get $v|12 - v128.load8_lane $0 0 + v128.load8_lane 0 local.set $v|12 local.get $v|12 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 @@ -2824,7 +2837,7 @@ end local.get $ptr|11 local.get $v|12 - v128.load16_lane $0 0 + v128.load16_lane 0 local.set $v|12 local.get $v|12 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 @@ -2843,7 +2856,7 @@ end local.get $ptr|11 local.get $v|12 - v128.load32_lane $0 0 + v128.load32_lane 0 local.set $v|12 local.get $v|12 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 @@ -2862,7 +2875,7 @@ end local.get $ptr|11 local.get $v|12 - v128.load64_lane $0 0 + v128.load64_lane 0 local.set $v|12 local.get $v|12 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 @@ -2881,10 +2894,97 @@ end local.get $ptr|11 call $~lib/rt/tlsf/__free + i32.const 16 + call $~lib/rt/tlsf/__alloc + local.set $ptr|13 + v128.const i32x4 0x0000002a 0x0000002b 0x0000002c 0x00000000 + local.set $v|14 + local.get $ptr|13 + local.get $v|14 + v128.store32_lane 0 + local.get $ptr|13 + i32.load + i32.const 42 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 215 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $ptr|13 + local.get $v|14 + v128.store8_lane 4 + local.get $ptr|13 + i32.load8_s + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 217 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $ptr|13 + local.get $v|14 + v128.store16_lane 4 + local.get $ptr|13 + i32.load16_s + i32.const 44 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 219 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $ptr|13 + local.get $v|14 + v128.store32_lane 1 + local.get $ptr|13 + i32.load + i32.const 43 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 221 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $ptr|13 + local.get $v|14 + v128.store64_lane offset=1 1 + local.get $ptr|13 + i64.load offset=1 + i64.const 44 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 223 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $ptr|13 + call $~lib/rt/tlsf/__free v128.const i32x4 0x3f8ccccd 0xbe800000 0x428c051f 0x40800000 f32x4.ceil - local.set $v|13 - local.get $v|13 + local.set $v|15 + local.get $v|15 v128.const i32x4 0x40000000 0x80000000 0x428e0000 0x40800000 i8x16.eq i8x16.all_true @@ -2894,15 +2994,15 @@ if i32.const 0 i32.const 528 - i32.const 213 + i32.const 228 i32.const 5 call $~lib/builtins/abort unreachable end v128.const i32x4 0x3f8ccccd 0xbe800000 0x428c051f 0x40800000 f32x4.floor - local.set $v|14 - local.get $v|14 + local.set $v|16 + local.get $v|16 v128.const i32x4 0x3f800000 0xbf800000 0x428c0000 0x40800000 i8x16.eq i8x16.all_true @@ -2912,7 +3012,7 @@ if i32.const 0 i32.const 528 - i32.const 217 + i32.const 232 i32.const 5 call $~lib/builtins/abort unreachable @@ -2986,7 +3086,7 @@ if i32.const 0 i32.const 528 - i32.const 287 + i32.const 302 i32.const 3 call $~lib/builtins/abort unreachable @@ -3004,7 +3104,7 @@ if i32.const 0 i32.const 528 - i32.const 289 + i32.const 304 i32.const 3 call $~lib/builtins/abort unreachable @@ -3023,7 +3123,7 @@ if i32.const 0 i32.const 528 - i32.const 291 + i32.const 306 i32.const 3 call $~lib/builtins/abort unreachable @@ -3040,7 +3140,7 @@ if i32.const 0 i32.const 528 - i32.const 292 + i32.const 307 i32.const 3 call $~lib/builtins/abort unreachable @@ -3101,7 +3201,7 @@ if i32.const 0 i32.const 528 - i32.const 333 + i32.const 348 i32.const 3 call $~lib/builtins/abort unreachable @@ -3115,7 +3215,7 @@ if i32.const 0 i32.const 528 - i32.const 338 + i32.const 353 i32.const 3 call $~lib/builtins/abort unreachable @@ -3129,7 +3229,7 @@ if i32.const 0 i32.const 528 - i32.const 339 + i32.const 354 i32.const 3 call $~lib/builtins/abort unreachable @@ -3144,7 +3244,7 @@ if i32.const 0 i32.const 528 - i32.const 340 + i32.const 355 i32.const 3 call $~lib/builtins/abort unreachable @@ -3161,7 +3261,7 @@ if i32.const 0 i32.const 528 - i32.const 341 + i32.const 356 i32.const 3 call $~lib/builtins/abort unreachable @@ -3178,7 +3278,7 @@ if i32.const 0 i32.const 528 - i32.const 346 + i32.const 361 i32.const 3 call $~lib/builtins/abort unreachable @@ -3302,7 +3402,7 @@ if i32.const 0 i32.const 528 - i32.const 384 + i32.const 399 i32.const 3 call $~lib/builtins/abort unreachable @@ -3319,7 +3419,7 @@ if i32.const 0 i32.const 528 - i32.const 385 + i32.const 400 i32.const 3 call $~lib/builtins/abort unreachable @@ -3336,7 +3436,7 @@ if i32.const 0 i32.const 528 - i32.const 386 + i32.const 401 i32.const 3 call $~lib/builtins/abort unreachable @@ -3353,7 +3453,7 @@ if i32.const 0 i32.const 528 - i32.const 387 + i32.const 402 i32.const 3 call $~lib/builtins/abort unreachable @@ -3370,7 +3470,7 @@ if i32.const 0 i32.const 528 - i32.const 388 + i32.const 403 i32.const 3 call $~lib/builtins/abort unreachable @@ -3387,7 +3487,7 @@ if i32.const 0 i32.const 528 - i32.const 389 + i32.const 404 i32.const 3 call $~lib/builtins/abort unreachable @@ -3404,7 +3504,7 @@ if i32.const 0 i32.const 528 - i32.const 390 + i32.const 405 i32.const 3 call $~lib/builtins/abort unreachable @@ -3421,7 +3521,7 @@ if i32.const 0 i32.const 528 - i32.const 391 + i32.const 406 i32.const 3 call $~lib/builtins/abort unreachable @@ -3438,7 +3538,7 @@ if i32.const 0 i32.const 528 - i32.const 392 + i32.const 407 i32.const 3 call $~lib/builtins/abort unreachable @@ -3455,7 +3555,7 @@ if i32.const 0 i32.const 528 - i32.const 393 + i32.const 408 i32.const 3 call $~lib/builtins/abort unreachable @@ -3500,7 +3600,7 @@ if i32.const 0 i32.const 528 - i32.const 399 + i32.const 414 i32.const 5 call $~lib/builtins/abort unreachable @@ -3519,7 +3619,7 @@ if i32.const 0 i32.const 528 - i32.const 405 + i32.const 420 i32.const 5 call $~lib/builtins/abort unreachable @@ -3535,7 +3635,7 @@ if i32.const 0 i32.const 528 - i32.const 410 + i32.const 425 i32.const 5 call $~lib/builtins/abort unreachable @@ -3604,7 +3704,7 @@ if i32.const 0 i32.const 528 - i32.const 465 + i32.const 480 i32.const 3 call $~lib/builtins/abort unreachable @@ -3622,7 +3722,7 @@ if i32.const 0 i32.const 528 - i32.const 467 + i32.const 482 i32.const 3 call $~lib/builtins/abort unreachable @@ -3641,7 +3741,7 @@ if i32.const 0 i32.const 528 - i32.const 469 + i32.const 484 i32.const 3 call $~lib/builtins/abort unreachable @@ -3658,7 +3758,7 @@ if i32.const 0 i32.const 528 - i32.const 470 + i32.const 485 i32.const 3 call $~lib/builtins/abort unreachable @@ -3675,7 +3775,7 @@ if i32.const 0 i32.const 528 - i32.const 471 + i32.const 486 i32.const 3 call $~lib/builtins/abort unreachable @@ -3736,7 +3836,7 @@ if i32.const 0 i32.const 528 - i32.const 512 + i32.const 527 i32.const 3 call $~lib/builtins/abort unreachable @@ -3750,7 +3850,7 @@ if i32.const 0 i32.const 528 - i32.const 517 + i32.const 532 i32.const 3 call $~lib/builtins/abort unreachable @@ -3764,7 +3864,7 @@ if i32.const 0 i32.const 528 - i32.const 518 + i32.const 533 i32.const 3 call $~lib/builtins/abort unreachable @@ -3779,7 +3879,7 @@ if i32.const 0 i32.const 528 - i32.const 519 + i32.const 534 i32.const 3 call $~lib/builtins/abort unreachable @@ -3796,7 +3896,7 @@ if i32.const 0 i32.const 528 - i32.const 520 + i32.const 535 i32.const 3 call $~lib/builtins/abort unreachable @@ -3813,7 +3913,7 @@ if i32.const 0 i32.const 528 - i32.const 525 + i32.const 540 i32.const 3 call $~lib/builtins/abort unreachable @@ -3937,7 +4037,7 @@ if i32.const 0 i32.const 528 - i32.const 563 + i32.const 578 i32.const 3 call $~lib/builtins/abort unreachable @@ -3954,7 +4054,7 @@ if i32.const 0 i32.const 528 - i32.const 564 + i32.const 579 i32.const 3 call $~lib/builtins/abort unreachable @@ -3971,7 +4071,7 @@ if i32.const 0 i32.const 528 - i32.const 565 + i32.const 580 i32.const 3 call $~lib/builtins/abort unreachable @@ -3988,7 +4088,7 @@ if i32.const 0 i32.const 528 - i32.const 566 + i32.const 581 i32.const 3 call $~lib/builtins/abort unreachable @@ -4005,7 +4105,7 @@ if i32.const 0 i32.const 528 - i32.const 567 + i32.const 582 i32.const 3 call $~lib/builtins/abort unreachable @@ -4022,7 +4122,7 @@ if i32.const 0 i32.const 528 - i32.const 568 + i32.const 583 i32.const 3 call $~lib/builtins/abort unreachable @@ -4039,7 +4139,7 @@ if i32.const 0 i32.const 528 - i32.const 569 + i32.const 584 i32.const 3 call $~lib/builtins/abort unreachable @@ -4056,7 +4156,7 @@ if i32.const 0 i32.const 528 - i32.const 570 + i32.const 585 i32.const 3 call $~lib/builtins/abort unreachable @@ -4073,7 +4173,7 @@ if i32.const 0 i32.const 528 - i32.const 571 + i32.const 586 i32.const 3 call $~lib/builtins/abort unreachable @@ -4090,7 +4190,7 @@ if i32.const 0 i32.const 528 - i32.const 572 + i32.const 587 i32.const 3 call $~lib/builtins/abort unreachable @@ -4181,26 +4281,7 @@ if i32.const 0 i32.const 528 - i32.const 579 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $a - local.get $b - i8x16.swizzle - local.get $a - local.get $b - i8x16.swizzle - i8x16.eq - i8x16.all_true - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 584 + i32.const 594 i32.const 3 call $~lib/builtins/abort unreachable @@ -4210,30 +4291,30 @@ local.set $ptr local.get $ptr i32.const 1 - i32.store8 $0 + i32.store8 local.get $ptr i32.const 2 - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $ptr i32.const 3 - i32.store8 $0 offset=2 + i32.store8 offset=2 local.get $ptr i32.const 4 - i32.store8 $0 offset=3 + i32.store8 offset=3 local.get $ptr i32.const 5 - i32.store8 $0 offset=4 + i32.store8 offset=4 local.get $ptr i32.const 6 - i32.store8 $0 offset=5 + i32.store8 offset=5 local.get $ptr i32.const 7 - i32.store8 $0 offset=6 + i32.store8 offset=6 local.get $ptr i32.const -1 - i32.store8 $0 offset=7 + i32.store8 offset=7 local.get $ptr - v128.load8x8_s $0 align=1 + v128.load8x8_s align=1 v128.const i32x4 0x00020001 0x00040003 0x00060005 0xffff0007 i8x16.eq i8x16.all_true @@ -4243,13 +4324,13 @@ if i32.const 0 i32.const 528 - i32.const 599 + i32.const 609 i32.const 5 call $~lib/builtins/abort unreachable end local.get $ptr - v128.load8x8_u $0 align=1 + v128.load8x8_u align=1 v128.const i32x4 0x00020001 0x00040003 0x00060005 0x00ff0007 i8x16.eq i8x16.all_true @@ -4259,7 +4340,7 @@ if i32.const 0 i32.const 528 - i32.const 604 + i32.const 614 i32.const 5 call $~lib/builtins/abort unreachable @@ -4361,7 +4442,7 @@ if i32.const 0 i32.const 528 - i32.const 672 + i32.const 682 i32.const 3 call $~lib/builtins/abort unreachable @@ -4379,7 +4460,7 @@ if i32.const 0 i32.const 528 - i32.const 674 + i32.const 684 i32.const 3 call $~lib/builtins/abort unreachable @@ -4398,7 +4479,7 @@ if i32.const 0 i32.const 528 - i32.const 676 + i32.const 686 i32.const 3 call $~lib/builtins/abort unreachable @@ -4415,7 +4496,7 @@ if i32.const 0 i32.const 528 - i32.const 677 + i32.const 687 i32.const 3 call $~lib/builtins/abort unreachable @@ -4432,7 +4513,7 @@ if i32.const 0 i32.const 528 - i32.const 678 + i32.const 688 i32.const 3 call $~lib/builtins/abort unreachable @@ -4493,7 +4574,7 @@ if i32.const 0 i32.const 528 - i32.const 719 + i32.const 729 i32.const 3 call $~lib/builtins/abort unreachable @@ -4506,7 +4587,7 @@ if i32.const 0 i32.const 528 - i32.const 724 + i32.const 734 i32.const 3 call $~lib/builtins/abort unreachable @@ -4519,7 +4600,7 @@ if i32.const 0 i32.const 528 - i32.const 725 + i32.const 735 i32.const 3 call $~lib/builtins/abort unreachable @@ -4536,7 +4617,7 @@ if i32.const 0 i32.const 528 - i32.const 726 + i32.const 736 i32.const 3 call $~lib/builtins/abort unreachable @@ -4553,7 +4634,7 @@ if i32.const 0 i32.const 528 - i32.const 731 + i32.const 741 i32.const 3 call $~lib/builtins/abort unreachable @@ -4633,7 +4714,7 @@ if i32.const 0 i32.const 528 - i32.const 745 + i32.const 755 i32.const 3 call $~lib/builtins/abort unreachable @@ -4650,7 +4731,7 @@ if i32.const 0 i32.const 528 - i32.const 746 + i32.const 756 i32.const 3 call $~lib/builtins/abort unreachable @@ -4667,7 +4748,7 @@ if i32.const 0 i32.const 528 - i32.const 747 + i32.const 757 i32.const 3 call $~lib/builtins/abort unreachable @@ -4684,7 +4765,7 @@ if i32.const 0 i32.const 528 - i32.const 748 + i32.const 758 i32.const 3 call $~lib/builtins/abort unreachable @@ -4701,7 +4782,7 @@ if i32.const 0 i32.const 528 - i32.const 749 + i32.const 759 i32.const 3 call $~lib/builtins/abort unreachable @@ -4718,7 +4799,7 @@ if i32.const 0 i32.const 528 - i32.const 750 + i32.const 760 i32.const 3 call $~lib/builtins/abort unreachable @@ -4735,7 +4816,7 @@ if i32.const 0 i32.const 528 - i32.const 751 + i32.const 761 i32.const 3 call $~lib/builtins/abort unreachable @@ -4752,7 +4833,7 @@ if i32.const 0 i32.const 528 - i32.const 752 + i32.const 762 i32.const 3 call $~lib/builtins/abort unreachable @@ -4769,7 +4850,7 @@ if i32.const 0 i32.const 528 - i32.const 753 + i32.const 763 i32.const 3 call $~lib/builtins/abort unreachable @@ -4786,7 +4867,7 @@ if i32.const 0 i32.const 528 - i32.const 754 + i32.const 764 i32.const 3 call $~lib/builtins/abort unreachable @@ -4873,7 +4954,7 @@ if i32.const 0 i32.const 528 - i32.const 769 + i32.const 779 i32.const 3 call $~lib/builtins/abort unreachable @@ -4883,18 +4964,18 @@ local.set $ptr local.get $ptr i32.const 1 - i32.store16 $0 + i32.store16 local.get $ptr i32.const 2 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $ptr i32.const 3 - i32.store16 $0 offset=4 + i32.store16 offset=4 local.get $ptr i32.const -1 - i32.store16 $0 offset=6 + i32.store16 offset=6 local.get $ptr - v128.load16x4_s $0 align=2 + v128.load16x4_s align=2 v128.const i32x4 0x00000001 0x00000002 0x00000003 0xffffffff i8x16.eq i8x16.all_true @@ -4904,13 +4985,13 @@ if i32.const 0 i32.const 528 - i32.const 780 + i32.const 790 i32.const 5 call $~lib/builtins/abort unreachable end local.get $ptr - v128.load16x4_u $0 align=2 + v128.load16x4_u align=2 v128.const i32x4 0x00000001 0x00000002 0x00000003 0x0000ffff i8x16.eq i8x16.all_true @@ -4920,7 +5001,7 @@ if i32.const 0 i32.const 528 - i32.const 785 + i32.const 795 i32.const 5 call $~lib/builtins/abort unreachable @@ -5020,7 +5101,7 @@ if i32.const 0 i32.const 528 - i32.const 819 + i32.const 829 i32.const 3 call $~lib/builtins/abort unreachable @@ -5038,7 +5119,7 @@ if i32.const 0 i32.const 528 - i32.const 821 + i32.const 831 i32.const 3 call $~lib/builtins/abort unreachable @@ -5057,7 +5138,7 @@ if i32.const 0 i32.const 528 - i32.const 823 + i32.const 833 i32.const 3 call $~lib/builtins/abort unreachable @@ -5074,7 +5155,7 @@ if i32.const 0 i32.const 528 - i32.const 824 + i32.const 834 i32.const 3 call $~lib/builtins/abort unreachable @@ -5091,7 +5172,7 @@ if i32.const 0 i32.const 528 - i32.const 825 + i32.const 835 i32.const 3 call $~lib/builtins/abort unreachable @@ -5107,7 +5188,7 @@ if i32.const 0 i32.const 528 - i32.const 826 + i32.const 836 i32.const 3 call $~lib/builtins/abort unreachable @@ -5120,7 +5201,7 @@ if i32.const 0 i32.const 528 - i32.const 831 + i32.const 841 i32.const 3 call $~lib/builtins/abort unreachable @@ -5133,7 +5214,7 @@ if i32.const 0 i32.const 528 - i32.const 832 + i32.const 842 i32.const 3 call $~lib/builtins/abort unreachable @@ -5150,7 +5231,7 @@ if i32.const 0 i32.const 528 - i32.const 833 + i32.const 843 i32.const 3 call $~lib/builtins/abort unreachable @@ -5167,7 +5248,7 @@ if i32.const 0 i32.const 528 - i32.const 838 + i32.const 848 i32.const 3 call $~lib/builtins/abort unreachable @@ -5225,12 +5306,12 @@ local.set $ptr local.get $ptr i32.const 1 - i32.store $0 + i32.store local.get $ptr i32.const -1 - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr - v128.load32x2_s $0 align=4 + v128.load32x2_s align=4 v128.const i32x4 0x00000001 0x00000000 0xffffffff 0xffffffff i8x16.eq i8x16.all_true @@ -5240,13 +5321,13 @@ if i32.const 0 i32.const 528 - i32.const 852 + i32.const 862 i32.const 5 call $~lib/builtins/abort unreachable end local.get $ptr - v128.load32x2_u $0 align=4 + v128.load32x2_u align=4 v128.const i32x4 0x00000001 0x00000000 0xffffffff 0x00000000 i8x16.eq i8x16.all_true @@ -5256,7 +5337,7 @@ if i32.const 0 i32.const 528 - i32.const 857 + i32.const 867 i32.const 5 call $~lib/builtins/abort unreachable @@ -5637,7 +5718,7 @@ if i32.const 0 i32.const 528 - i32.const 930 + i32.const 940 i32.const 3 call $~lib/builtins/abort unreachable @@ -5655,7 +5736,7 @@ if i32.const 0 i32.const 528 - i32.const 932 + i32.const 942 i32.const 3 call $~lib/builtins/abort unreachable @@ -5674,7 +5755,7 @@ if i32.const 0 i32.const 528 - i32.const 934 + i32.const 944 i32.const 3 call $~lib/builtins/abort unreachable @@ -5691,7 +5772,7 @@ if i32.const 0 i32.const 528 - i32.const 935 + i32.const 945 i32.const 3 call $~lib/builtins/abort unreachable @@ -5708,7 +5789,7 @@ if i32.const 0 i32.const 528 - i32.const 936 + i32.const 946 i32.const 3 call $~lib/builtins/abort unreachable @@ -5729,7 +5810,7 @@ if i32.const 0 i32.const 528 - i32.const 938 + i32.const 948 i32.const 3 call $~lib/builtins/abort unreachable @@ -5746,7 +5827,7 @@ if i32.const 0 i32.const 528 - i32.const 939 + i32.const 949 i32.const 3 call $~lib/builtins/abort unreachable @@ -5762,7 +5843,7 @@ if i32.const 0 i32.const 528 - i32.const 940 + i32.const 950 i32.const 3 call $~lib/builtins/abort unreachable @@ -5775,7 +5856,7 @@ if i32.const 0 i32.const 528 - i32.const 941 + i32.const 951 i32.const 3 call $~lib/builtins/abort unreachable @@ -5788,7 +5869,7 @@ if i32.const 0 i32.const 528 - i32.const 942 + i32.const 952 i32.const 3 call $~lib/builtins/abort unreachable @@ -5805,7 +5886,7 @@ if i32.const 0 i32.const 528 - i32.const 943 + i32.const 953 i32.const 3 call $~lib/builtins/abort unreachable @@ -5822,7 +5903,7 @@ if i32.const 0 i32.const 528 - i32.const 948 + i32.const 958 i32.const 3 call $~lib/builtins/abort unreachable @@ -5853,7 +5934,7 @@ if i32.const 0 i32.const 528 - i32.const 957 + i32.const 967 i32.const 3 call $~lib/builtins/abort unreachable @@ -5870,7 +5951,7 @@ if i32.const 0 i32.const 528 - i32.const 958 + i32.const 968 i32.const 3 call $~lib/builtins/abort unreachable @@ -5887,7 +5968,7 @@ if i32.const 0 i32.const 528 - i32.const 959 + i32.const 969 i32.const 3 call $~lib/builtins/abort unreachable @@ -5904,7 +5985,7 @@ if i32.const 0 i32.const 528 - i32.const 960 + i32.const 970 i32.const 3 call $~lib/builtins/abort unreachable @@ -5921,7 +6002,7 @@ if i32.const 0 i32.const 528 - i32.const 961 + i32.const 971 i32.const 3 call $~lib/builtins/abort unreachable @@ -5938,7 +6019,7 @@ if i32.const 0 i32.const 528 - i32.const 962 + i32.const 972 i32.const 3 call $~lib/builtins/abort unreachable @@ -5955,7 +6036,7 @@ if i32.const 0 i32.const 528 - i32.const 963 + i32.const 973 i32.const 3 call $~lib/builtins/abort unreachable @@ -5972,7 +6053,7 @@ if i32.const 0 i32.const 528 - i32.const 964 + i32.const 974 i32.const 3 call $~lib/builtins/abort unreachable @@ -5988,7 +6069,7 @@ if i32.const 0 i32.const 528 - i32.const 965 + i32.const 975 i32.const 3 call $~lib/builtins/abort unreachable @@ -6055,7 +6136,7 @@ if i32.const 0 i32.const 528 - i32.const 992 + i32.const 1002 i32.const 5 call $~lib/builtins/abort unreachable @@ -6073,7 +6154,7 @@ if i32.const 0 i32.const 528 - i32.const 996 + i32.const 1006 i32.const 5 call $~lib/builtins/abort unreachable @@ -6118,7 +6199,7 @@ if i32.const 0 i32.const 528 - i32.const 1012 + i32.const 1022 i32.const 3 call $~lib/builtins/abort unreachable @@ -6136,7 +6217,7 @@ if i32.const 0 i32.const 528 - i32.const 1014 + i32.const 1024 i32.const 3 call $~lib/builtins/abort unreachable @@ -6155,7 +6236,7 @@ if i32.const 0 i32.const 528 - i32.const 1016 + i32.const 1026 i32.const 3 call $~lib/builtins/abort unreachable @@ -6172,7 +6253,7 @@ if i32.const 0 i32.const 528 - i32.const 1017 + i32.const 1027 i32.const 3 call $~lib/builtins/abort unreachable @@ -6189,7 +6270,7 @@ if i32.const 0 i32.const 528 - i32.const 1018 + i32.const 1028 i32.const 3 call $~lib/builtins/abort unreachable @@ -6210,7 +6291,7 @@ if i32.const 0 i32.const 528 - i32.const 1020 + i32.const 1030 i32.const 3 call $~lib/builtins/abort unreachable @@ -6227,7 +6308,7 @@ if i32.const 0 i32.const 528 - i32.const 1021 + i32.const 1031 i32.const 3 call $~lib/builtins/abort unreachable @@ -6243,7 +6324,7 @@ if i32.const 0 i32.const 528 - i32.const 1022 + i32.const 1032 i32.const 3 call $~lib/builtins/abort unreachable @@ -6256,7 +6337,7 @@ if i32.const 0 i32.const 528 - i32.const 1023 + i32.const 1033 i32.const 3 call $~lib/builtins/abort unreachable @@ -6269,7 +6350,7 @@ if i32.const 0 i32.const 528 - i32.const 1024 + i32.const 1034 i32.const 3 call $~lib/builtins/abort unreachable @@ -6286,7 +6367,7 @@ if i32.const 0 i32.const 528 - i32.const 1025 + i32.const 1035 i32.const 3 call $~lib/builtins/abort unreachable @@ -6303,7 +6384,7 @@ if i32.const 0 i32.const 528 - i32.const 1030 + i32.const 1040 i32.const 3 call $~lib/builtins/abort unreachable @@ -6334,7 +6415,7 @@ if i32.const 0 i32.const 528 - i32.const 1039 + i32.const 1049 i32.const 3 call $~lib/builtins/abort unreachable @@ -6351,7 +6432,7 @@ if i32.const 0 i32.const 528 - i32.const 1040 + i32.const 1050 i32.const 3 call $~lib/builtins/abort unreachable @@ -6368,7 +6449,7 @@ if i32.const 0 i32.const 528 - i32.const 1041 + i32.const 1051 i32.const 3 call $~lib/builtins/abort unreachable @@ -6385,7 +6466,7 @@ if i32.const 0 i32.const 528 - i32.const 1042 + i32.const 1052 i32.const 3 call $~lib/builtins/abort unreachable @@ -6402,7 +6483,7 @@ if i32.const 0 i32.const 528 - i32.const 1043 + i32.const 1053 i32.const 3 call $~lib/builtins/abort unreachable @@ -6419,7 +6500,7 @@ if i32.const 0 i32.const 528 - i32.const 1044 + i32.const 1054 i32.const 3 call $~lib/builtins/abort unreachable @@ -6436,7 +6517,7 @@ if i32.const 0 i32.const 528 - i32.const 1045 + i32.const 1055 i32.const 3 call $~lib/builtins/abort unreachable @@ -6453,7 +6534,7 @@ if i32.const 0 i32.const 528 - i32.const 1046 + i32.const 1056 i32.const 3 call $~lib/builtins/abort unreachable @@ -6469,7 +6550,7 @@ if i32.const 0 i32.const 528 - i32.const 1047 + i32.const 1057 i32.const 3 call $~lib/builtins/abort unreachable @@ -6522,7 +6603,7 @@ if i32.const 0 i32.const 528 - i32.const 1066 + i32.const 1076 i32.const 5 call $~lib/builtins/abort unreachable @@ -6540,7 +6621,7 @@ if i32.const 0 i32.const 528 - i32.const 1070 + i32.const 1080 i32.const 5 call $~lib/builtins/abort unreachable @@ -6732,20 +6813,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -6757,7 +6833,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -6778,7 +6854,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $invalid end return @@ -6831,13 +6907,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -6853,14 +6929,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 4 i32.shl i32.add - v128.load $0 + v128.load local.set $value i32.const 0 drop @@ -6877,7 +6953,6 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -6885,8 +6960,8 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - memory.size $0 + i64.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -6909,14 +6984,14 @@ i32.const 4 i32.const 32 call $~lib/rt/__newArray - local.tee $2 - i32.store $0 - local.get $2 - local.set $3 + local.tee $1 + i32.store + local.get $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 call $~lib/array/Array#__get i32x4.extract_lane 0 @@ -6967,14 +7042,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -6993,14 +7068,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -7022,7 +7097,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -7033,27 +7108,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/simd.release.wat b/tests/compiler/simd.release.wat index 1103cb213f..a554a20ba2 100644 --- a/tests/compiler/simd.release.wat +++ b/tests/compiler/simd.release.wat @@ -1,23 +1,23 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_=>_v128 (func (param i32 i32 i32) (result v128))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $v128_=>_v128 (func (param v128) (result v128))) - (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_v128 (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result v128))) - (type $i32_i32_i32_i32_i32_i32_i32_i32_=>_v128 (func (param i32 i32 i32 i32 i32 i32 i32 i32) (result v128))) - (type $i32_i32_i32_i32_=>_v128 (func (param i32 i32 i32 i32) (result v128))) - (type $i64_=>_v128 (func (param i64) (result v128))) - (type $i64_i64_=>_v128 (func (param i64 i64) (result v128))) - (type $f32_f32_f32_=>_v128 (func (param f32 f32 f32) (result v128))) - (type $f32_f32_f32_f32_=>_v128 (func (param f32 f32 f32 f32) (result v128))) - (type $f64_=>_v128 (func (param f64) (result v128))) - (type $f64_f64_=>_v128 (func (param f64 f64) (result v128))) + (type $0 (func (param i32))) + (type $1 (func)) + (type $2 (func (param i32 i32 i32) (result v128))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (result i32))) + (type $8 (func (param i32) (result i32))) + (type $9 (func (param v128) (result v128))) + (type $10 (func (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result v128))) + (type $11 (func (param i32 i32 i32 i32 i32 i32 i32 i32) (result v128))) + (type $12 (func (param i32 i32 i32 i32) (result v128))) + (type $13 (func (param i64) (result v128))) + (type $14 (func (param i64 i64) (result v128))) + (type $15 (func (param f32 f32 f32) (result v128))) + (type $16 (func (param f32 f32 f32 f32) (result v128))) + (type $17 (func (param f64) (result v128))) + (type $18 (func (param f64 f64) (result v128))) (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)) @@ -32,23 +32,23 @@ (global $simd/vec (mut v128) (v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34380)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1276) "<") - (data (i32.const 1288) "\02\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 1340) ",") - (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1420) "<") - (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1484) ",") - (data (i32.const 1496) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1532) ",") - (data (i32.const 1544) "\02\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s") - (data (i32.const 1584) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\04\00\00\02\t") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\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 $2 (i32.const 1148) "<") + (data $2.1 (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1276) "<") + (data $5.1 (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1340) ",") + (data $6.1 (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1420) "<") + (data $8.1 (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1484) ",") + (data $9.1 (i32.const 1496) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $10 (i32.const 1532) ",") + (data $10.1 (i32.const 1544) "\02\00\00\00\0e\00\00\00s\00i\00m\00d\00.\00t\00s") + (data $11 (i32.const 1584) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\04\00\00\02\t") (export "reexport" (func $simd/reexport)) (export "test_vars_i8x16_partial" (func $simd/test_vars_i8x16_partial)) (export "test_vars_i8x16_full" (func $simd/test_vars_i8x16_full)) @@ -69,12 +69,12 @@ (local $0 i32) (local $1 i32) i32.const 1296 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1104 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -84,7 +84,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -102,7 +102,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -119,7 +119,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -133,16 +133,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$132 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34380 @@ -157,10 +157,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$132 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -173,20 +173,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -195,7 +195,7 @@ else local.get $1 i32.const 1584 - i32.load $0 + i32.load i32.gt_u if i32.const 1296 @@ -210,13 +210,13 @@ i32.shl i32.const 1588 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -226,21 +226,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -248,8 +272,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -261,10 +285,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -275,29 +299,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -305,10 +329,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -322,75 +346,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -412,7 +429,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -429,12 +446,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -451,17 +468,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -471,9 +488,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -498,13 +515,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -538,7 +555,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -594,19 +611,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -618,15 +635,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -634,23 +651,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1440 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -664,10 +683,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -675,23 +694,22 @@ if i32.const 0 i32.const 1440 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -703,52 +721,53 @@ if i32.const 0 i32.const 1440 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -756,7 +775,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -764,7 +783,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -775,10 +794,10 @@ end i32.const 34384 i32.const 0 - i32.store $0 + i32.store i32.const 35952 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -790,7 +809,7 @@ i32.const 34384 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -808,7 +827,7 @@ i32.const 34384 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -825,9 +844,10 @@ end i32.const 34384 i32.const 35956 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34384 global.set $~lib/rt/tlsf/ROOT @@ -847,7 +867,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $2 local.get $0 i32.const 4 i32.sub @@ -862,25 +881,24 @@ i32.const 1 else local.get $1 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1440 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $1 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $2 + i32.store local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -909,7 +927,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -922,19 +940,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -945,7 +963,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -957,7 +975,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -970,12 +988,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -984,7 +998,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -995,26 +1009,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1030,7 +1044,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1046,7 +1060,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1071,14 +1085,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1094,12 +1108,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1107,47 +1120,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1158,7 +1173,7 @@ if i32.const 0 i32.const 1440 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1168,7 +1183,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1185,10 +1200,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1204,13 +1219,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1440 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1225,7 +1240,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1241,34 +1256,60 @@ if i32.const 1104 i32.const 1440 - i32.const 458 + i32.const 461 i32.const 29 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 + if (result i32) + i32.const 12 + else + local.get $1 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $3 call $~lib/rt/tlsf/searchBlock local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 + local.get $3 + i32.const 256 + i32.ge_u + if (result i32) + local.get $3 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $3 + i32.const 1 + i32.const 27 + local.get $3 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $3 + end + else + local.get $3 + end i32.const 4 local.get $0 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1276,21 +1317,6 @@ i32.sub i32.ne i32.shl - local.get $3 - i32.const 1 - i32.const 27 - local.get $3 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $3 - local.get $3 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1303,12 +1329,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1319,9 +1345,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $0 local.get $3 @@ -1331,7 +1358,7 @@ if i32.const 0 i32.const 1440 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1339,14 +1366,14 @@ end local.get $3 local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1440 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1355,7 +1382,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.set $4 local.get $3 i32.const 4 @@ -1365,7 +1392,7 @@ if i32.const 0 i32.const 1440 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -1385,7 +1412,7 @@ i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add @@ -1397,7 +1424,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $0 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1406,21 +1433,21 @@ local.get $4 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $0 local.get $0 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 ) @@ -1431,7 +1458,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$68 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1443,16 +1470,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$68 end local.get $1 i32.const 0 @@ -1460,8 +1483,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1482,36 +1504,36 @@ call $~lib/rt/tlsf/allocateBlock local.tee $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 16 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $0 local.get $1 local.get $2 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1523,7 +1545,7 @@ i32.add local.tee $0 v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 - v128.store $0 align=1 + v128.store align=1 local.get $0 ) (func $simd/test_v128 @@ -1541,8 +1563,8 @@ i32.add local.tee $0 local.get $0 - v128.load $0 offset=16 - v128.store $0 offset=32 + v128.load offset=16 + v128.store offset=32 local.get $0 call $~lib/rt/tlsf/__free global.get $~lib/rt/tlsf/ROOT @@ -1557,9 +1579,9 @@ i32.add local.tee $0 i32.const 42 - i32.store8 $0 + i32.store8 local.get $0 - v128.load8_splat $0 + v128.load8_splat v128.const i32x4 0x2a2a2a2a 0x2a2a2a2a 0x2a2a2a2a 0x2a2a2a2a i8x16.eq i8x16.all_true @@ -1586,9 +1608,9 @@ i32.add local.tee $0 i32.const 42 - i32.store16 $0 + i32.store16 local.get $0 - v128.load16_splat $0 + v128.load16_splat v128.const i32x4 0x002a002a 0x002a002a 0x002a002a 0x002a002a i8x16.eq i8x16.all_true @@ -1615,9 +1637,9 @@ i32.add local.tee $0 i32.const 42 - i32.store $0 + i32.store local.get $0 - v128.load32_splat $0 + v128.load32_splat v128.const i32x4 0x0000002a 0x0000002a 0x0000002a 0x0000002a i8x16.eq i8x16.all_true @@ -1644,9 +1666,9 @@ i32.add local.tee $0 i64.const 42 - i64.store $0 + i64.store local.get $0 - v128.load64_splat $0 + v128.load64_splat v128.const i32x4 0x0000002a 0x00000000 0x0000002a 0x00000000 i8x16.eq i8x16.all_true @@ -1673,9 +1695,9 @@ i32.add local.tee $0 i32.const 42 - i32.store $0 + i32.store local.get $0 - v128.load32_zero $0 + v128.load32_zero v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 i8x16.eq i8x16.all_true @@ -1702,9 +1724,9 @@ i32.add local.tee $0 i64.const 42 - i64.store $0 + i64.store local.get $0 - v128.load64_zero $0 + v128.load64_zero v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 i8x16.eq i8x16.all_true @@ -1731,10 +1753,10 @@ i32.add local.tee $0 i32.const 42 - i32.store $0 + i32.store local.get $0 v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 - v128.load32_lane $0 0 + v128.load32_lane 0 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 i8x16.eq i8x16.all_true @@ -1761,10 +1783,10 @@ i32.add local.tee $0 i32.const 42 - i32.store $0 + i32.store local.get $0 v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 - v128.load32_lane $0 0 + v128.load32_lane 0 local.tee $1 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 i8x16.eq @@ -1780,7 +1802,7 @@ end local.get $0 local.get $1 - v128.load8_lane $0 0 + v128.load8_lane 0 local.tee $1 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 i8x16.eq @@ -1796,7 +1818,7 @@ end local.get $0 local.get $1 - v128.load16_lane $0 0 + v128.load16_lane 0 local.tee $1 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 i8x16.eq @@ -1812,7 +1834,7 @@ end local.get $0 local.get $1 - v128.load32_lane $0 0 + v128.load32_lane 0 local.tee $1 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 i8x16.eq @@ -1828,7 +1850,7 @@ end local.get $0 local.get $1 - v128.load64_lane $0 0 + v128.load64_lane 0 v128.const i32x4 0x0000002a 0x00000000 0x00000000 0x00000000 i8x16.eq i8x16.all_true @@ -1843,6 +1865,93 @@ end local.get $0 call $~lib/rt/tlsf/__free + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + i32.const 16 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $0 + v128.const i32x4 0x0000002a 0x0000002b 0x0000002c 0x00000000 + v128.store32_lane 0 + local.get $0 + i32.load + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 215 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + v128.const i32x4 0x0000002a 0x0000002b 0x0000002c 0x00000000 + v128.store8_lane 4 + local.get $0 + i32.load8_s + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 217 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + v128.const i32x4 0x0000002a 0x0000002b 0x0000002c 0x00000000 + v128.store16_lane 4 + local.get $0 + i32.load16_s + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 219 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + v128.const i32x4 0x0000002a 0x0000002b 0x0000002c 0x00000000 + v128.store32_lane 1 + local.get $0 + i32.load + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 221 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + v128.const i32x4 0x0000002a 0x0000002b 0x0000002c 0x00000000 + v128.store64_lane offset=1 1 + local.get $0 + i64.load offset=1 + i64.const 44 + i64.ne + if + i32.const 0 + i32.const 1552 + i32.const 223 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + call $~lib/rt/tlsf/__free ) (func $simd/reexport (param $0 v128) (result v128) local.get $0 @@ -1980,7 +2089,6 @@ f64x2.replace_lane 1 ) (func $~lib/array/Array~visit (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1997,19 +2105,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2026,7 +2129,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $invalid end return @@ -2036,12 +2139,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end local.get $0 @@ -2056,8 +2155,8 @@ ) (func $~start (local $0 i32) - (local $1 v128) - (local $2 i32) + (local $1 i32) + (local $2 v128) (local $3 i32) (local $4 i32) (local $5 i32) @@ -2071,10 +2170,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - memory.size $0 + i64.store + memory.size i32.const 16 i32.shl i32.const 34380 @@ -2084,29 +2182,30 @@ global.set $~lib/rt/itcms/threshold i32.const 1220 i32.const 1216 - i32.store $0 + i32.store i32.const 1224 i32.const 1216 - i32.store $0 + i32.store i32.const 1216 global.set $~lib/rt/itcms/pinSpace i32.const 1252 i32.const 1248 - i32.store $0 + i32.store i32.const 1256 i32.const 1248 - i32.store $0 + i32.store i32.const 1248 global.set $~lib/rt/itcms/toSpace i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/fromSpace - local.get $4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2115,26 +2214,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $3 i32.const 1056 - v128.load $0 align=1 - v128.store $0 align=1 - local.get $0 - local.get $2 - i32.store $0 + v128.load align=1 + v128.store align=1 + local.get $3 + i32.store i32.const 4 call $~lib/rt/itcms/__new - local.tee $3 - local.get $2 - i32.store $0 - local.get $2 + local.tee $4 + local.get $3 + i32.store + local.get $3 if - local.get $3 + local.get $4 i32.eqz if i32.const 0 @@ -2145,22 +2243,22 @@ unreachable end global.get $~lib/rt/itcms/white - local.get $2 + local.get $3 i32.const 20 i32.sub local.tee $5 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.eq if - local.get $3 + local.get $4 i32.const 20 i32.sub - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and - local.tee $0 + local.tee $1 global.get $~lib/rt/itcms/white i32.eqz i32.eq @@ -2171,7 +2269,7 @@ global.get $~lib/rt/itcms/state i32.const 1 i32.eq - local.get $0 + local.get $1 i32.const 3 i32.eq i32.and @@ -2182,25 +2280,24 @@ end end end + local.get $4 local.get $3 - local.get $2 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + local.get $4 i32.const 16 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + local.get $4 i32.const 1 - i32.store $0 offset=12 + 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 $3 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2210,14 +2307,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.load offset=12 i32.eqz if i32.const 1296 @@ -2228,18 +2324,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $3 - i32.store $0 - local.get $3 - i32.load $0 offset=4 - v128.load $0 - local.set $1 - local.get $0 + local.get $4 + i32.store + local.get $4 + i32.load offset=4 + v128.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 i32x4.extract_lane 0 i32.const 1 i32.ne @@ -2266,30 +2359,30 @@ i32.add local.tee $0 i32.const 1 - i32.store8 $0 + i32.store8 local.get $0 i32.const 2 - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $0 i32.const 3 - i32.store8 $0 offset=2 + i32.store8 offset=2 local.get $0 i32.const 4 - i32.store8 $0 offset=3 + i32.store8 offset=3 local.get $0 i32.const 5 - i32.store8 $0 offset=4 + i32.store8 offset=4 local.get $0 i32.const 6 - i32.store8 $0 offset=5 + i32.store8 offset=5 local.get $0 i32.const 7 - i32.store8 $0 offset=6 + i32.store8 offset=6 local.get $0 i32.const 255 - i32.store8 $0 offset=7 + i32.store8 offset=7 local.get $0 - v128.load8x8_s $0 align=1 + v128.load8x8_s align=1 v128.const i32x4 0x00020001 0x00040003 0x00060005 0xffff0007 i8x16.eq i8x16.all_true @@ -2297,13 +2390,13 @@ if i32.const 0 i32.const 1552 - i32.const 599 + i32.const 609 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - v128.load8x8_u $0 align=1 + v128.load8x8_u align=1 v128.const i32x4 0x00020001 0x00040003 0x00060005 0x00ff0007 i8x16.eq i8x16.all_true @@ -2311,7 +2404,7 @@ if i32.const 0 i32.const 1552 - i32.const 604 + i32.const 614 i32.const 5 call $~lib/builtins/abort unreachable @@ -2330,18 +2423,18 @@ i32.add local.tee $0 i32.const 1 - i32.store16 $0 + i32.store16 local.get $0 i32.const 2 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 i32.const 3 - i32.store16 $0 offset=4 + i32.store16 offset=4 local.get $0 i32.const 65535 - i32.store16 $0 offset=6 + i32.store16 offset=6 local.get $0 - v128.load16x4_s $0 align=2 + v128.load16x4_s align=2 v128.const i32x4 0x00000001 0x00000002 0x00000003 0xffffffff i8x16.eq i8x16.all_true @@ -2349,13 +2442,13 @@ if i32.const 0 i32.const 1552 - i32.const 780 + i32.const 790 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - v128.load16x4_u $0 align=2 + v128.load16x4_u align=2 v128.const i32x4 0x00000001 0x00000002 0x00000003 0x0000ffff i8x16.eq i8x16.all_true @@ -2363,7 +2456,7 @@ if i32.const 0 i32.const 1552 - i32.const 785 + i32.const 795 i32.const 5 call $~lib/builtins/abort unreachable @@ -2382,12 +2475,12 @@ i32.add local.tee $0 i32.const 1 - i32.store $0 + i32.store local.get $0 i32.const -1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - v128.load32x2_s $0 align=4 + v128.load32x2_s align=4 v128.const i32x4 0x00000001 0x00000000 0xffffffff 0xffffffff i8x16.eq i8x16.all_true @@ -2395,13 +2488,13 @@ if i32.const 0 i32.const 1552 - i32.const 852 + i32.const 862 i32.const 5 call $~lib/builtins/abort unreachable end local.get $0 - v128.load32x2_u $0 align=4 + v128.load32x2_u align=4 v128.const i32x4 0x00000001 0x00000000 0xffffffff 0x00000000 i8x16.eq i8x16.all_true @@ -2409,7 +2502,7 @@ if i32.const 0 i32.const 1552 - i32.const 857 + i32.const 867 i32.const 5 call $~lib/builtins/abort unreachable @@ -2429,23 +2522,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/simd.ts b/tests/compiler/simd.ts index 2a68d5cb8b..82dd705064 100644 --- a/tests/compiler/simd.ts +++ b/tests/compiler/simd.ts @@ -208,6 +208,21 @@ function test_v128(): void { assert(v == i64x2(42, 0)); __free(ptr); } + { + let ptr = __alloc(16); + let v: v128 = v128(42, 0, 0, 0, 43, 0, 0, 0, 44, 0, 0, 0, 0, 0, 0, 0); + v128.store_lane(ptr, v, 0); + assert(load(ptr) == 42); + v128.store8_lane(ptr, v, 4); + assert(load(ptr) == 43); + v128.store16_lane(ptr, v, 4); + assert(load(ptr) == 44); + v128.store32_lane(ptr, v, 1); + assert(load(ptr) == 43); + v128.store64_lane(ptr, v, 1, 1); + assert(load(ptr, 1) == 44); + __free(ptr); + } { let v: v128 = v128.ceil(f32x4(1.1, -0.25, 70.01, 4.0)); assert(v == f32x4(2, -0.0, 71, 4)); @@ -581,11 +596,6 @@ function test_i16x8(): void { == v128.shuffle(a, b, 0, 1, 2, 3, 12, 13, 14, 15) ); - assert( - i16x8.swizzle(a, b) - == - v128.swizzle(a, b) - ); { let ptr = __alloc(16); store(ptr, 1); diff --git a/tests/compiler/static-this.debug.wat b/tests/compiler/static-this.debug.wat index 29386a4de1..4b335cf70f 100644 --- a/tests/compiler/static-this.debug.wat +++ b/tests/compiler/static-this.debug.wat @@ -1,14 +1,14 @@ (module - (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (result i32))) + (type $2 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $static-this/Foo.bar (mut i32) (i32.const 42)) (global $~lib/memory/__data_end i32 (i32.const 60)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) diff --git a/tests/compiler/static-this.release.wat b/tests/compiler/static-this.release.wat index 2ff0178aaa..0f18b92259 100644 --- a/tests/compiler/static-this.release.wat +++ b/tests/compiler/static-this.release.wat @@ -1,6 +1,6 @@ (module (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00s\00t\00a\00t\00i\00c\00-\00t\00h\00i\00s\00.\00t\00s") (export "memory" (memory $0)) ) diff --git a/tests/compiler/std/array-access.debug.wat b/tests/compiler/std/array-access.debug.wat index eecc85d753..951850584d 100644 --- a/tests/compiler/std/array-access.debug.wat +++ b/tests/compiler/std/array-access.debug.wat @@ -1,10 +1,10 @@ (module - (type $i32_=>_i32 (func (param i32) (result 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_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32 i32 i32 i32))) + (type $3 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -15,10 +15,10 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33052)) (global $~lib/memory/__heap_base i32 (i32.const 33052)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 124) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $2 (i32.const 124) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -30,31 +30,31 @@ (export "functionArrayElementCall" (func $export:std/array-access/functionArrayElementCall)) (func $~lib/array/Array<~lib/array/Array>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/array/Array>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -106,9 +106,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -141,10 +141,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -171,19 +171,19 @@ ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array<%28i32%29=>i32>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<%28i32%29=>i32>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~stack_check global.get $~lib/memory/__stack_pointer @@ -208,13 +208,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.ge_u @@ -231,16 +231,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -275,13 +275,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -297,14 +297,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -326,19 +326,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $a local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -360,13 +360,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u @@ -383,16 +383,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -426,19 +426,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $a local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/string/String#get:length local.set $1 @@ -465,12 +465,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $len @@ -494,7 +494,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $searchLength @@ -517,14 +517,14 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 local.get $searchStart local.get $search local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=4 + i32.store offset=4 local.get $10 i32.const 0 local.get $searchLength @@ -541,40 +541,32 @@ (func $std/array-access/stringArrayMethodCall (param $a i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $a local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 272 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 0 call $~lib/string/String#startsWith local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -590,13 +582,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#get:length_ i32.ge_u @@ -613,16 +605,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -656,29 +648,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $a local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/string/String#get:length local.set $1 @@ -692,47 +684,42 @@ (func $std/array-access/stringArrayArrayMethodCall (param $a i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 local.get $a local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 272 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 0 call $~lib/string/String#startsWith local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -748,13 +735,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<%28i32%29=>i32>#get:length_ i32.ge_u @@ -771,16 +758,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<%28i32%29=>i32>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -814,7 +801,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 123 i32.const 1 global.set $~argumentsLength @@ -822,12 +809,12 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/array/Array<%28i32%29=>i32>#__get - i32.load $0 - call_indirect $0 (type $i32_=>_i32) + i32.load + call_indirect (type $0) local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -845,7 +832,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $std/array-access/i32ArrayArrayElementAccess local.set $1 @@ -864,7 +851,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $std/array-access/stringArrayPropertyAccess local.set $1 @@ -883,7 +870,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $std/array-access/stringArrayMethodCall local.set $1 @@ -902,7 +889,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $std/array-access/stringArrayArrayPropertyAccess local.set $1 @@ -921,7 +908,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $std/array-access/stringArrayArrayMethodCall local.set $1 @@ -940,7 +927,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $std/array-access/functionArrayElementCall local.set $1 diff --git a/tests/compiler/std/array-access.release.wat b/tests/compiler/std/array-access.release.wat index 4ce951aa01..d9ec8e7386 100644 --- a/tests/compiler/std/array-access.release.wat +++ b/tests/compiler/std/array-access.release.wat @@ -1,20 +1,19 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func (param i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34076)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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 1100) ",") - (data (i32.const 1112) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1148) "|") - (data (i32.const 1160) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 1276) "\1c") - (data (i32.const 1288) "\02") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $1 (i32.const 1100) ",") + (data $1.1 (i32.const 1112) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $2 (i32.const 1148) "|") + (data $2.1 (i32.const 1160) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data $3 (i32.const 1276) "\1c") + (data $3.1 (i32.const 1288) "\02") (table $0 1 1 funcref) - (elem $0 (i32.const 1)) (export "memory" (memory $0)) (export "i32ArrayArrayElementAccess" (func $export:std/array-access/i32ArrayArrayElementAccess)) (export "stringArrayPropertyAccess" (func $export:std/array-access/stringArrayPropertyAccess)) @@ -23,7 +22,6 @@ (export "stringArrayArrayMethodCall" (func $export:std/array-access/stringArrayArrayMethodCall)) (export "functionArrayElementCall" (func $export:std/array-access/functionArrayElementCall)) (func $~lib/array/Array<~lib/array/Array>#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -40,15 +38,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1056 @@ -59,19 +56,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -110,25 +106,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1296 - i32.store $0 - local.get $2 + i32.store i32.const 1292 - i32.load $0 + i32.load i32.const 1 i32.shr_u local.tee $2 @@ -142,30 +135,30 @@ return end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store i32.const 1296 local.set $3 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1296 - i32.store $0 offset=4 + i32.store offset=4 + i32.const 1 local.get $0 local.tee $1 i32.const 7 i32.and - i32.eqz local.get $2 local.tee $0 i32.const 4 - i32.ge_u - i32.and + i32.lt_u + select + i32.eqz if loop $do-loop|0 local.get $1 - i64.load $0 + i64.load local.get $3 - i64.load $0 + i64.load i64.eq if local.get $1 @@ -186,7 +179,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$10 loop $while-continue|1 local.get $0 local.tee $2 @@ -196,17 +189,17 @@ local.get $2 if local.get $1 - i32.load16_u $0 - local.tee $5 - local.get $3 - i32.load16_u $0 + i32.load16_u local.tee $4 + local.get $3 + i32.load16_u + local.tee $5 i32.sub local.set $2 local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl + br_if $__inlined_func$~lib/util/string/compareImpl$10 local.get $1 i32.const 2 i32.add @@ -229,7 +222,6 @@ i32.eqz ) (func $export:std/array-access/i32ArrayArrayElementAccess (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -240,10 +232,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -252,19 +243,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -274,14 +264,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.le_u if @@ -293,14 +282,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - i32.load $0 offset=4 - local.set $0 - local.get $1 + i32.load offset=4 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -312,7 +299,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 34096 @@ -323,7 +309,6 @@ unreachable ) (func $export:std/array-access/stringArrayPropertyAccess (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -334,10 +319,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -346,26 +330,24 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -374,7 +356,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 34096 @@ -385,7 +366,6 @@ unreachable ) (func $export:std/array-access/stringArrayMethodCall (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -396,11 +376,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 12 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -408,37 +387,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1296 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/string/String#startsWith - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 34096 @@ -449,7 +419,6 @@ unreachable ) (func $export:std/array-access/stringArrayArrayPropertyAccess (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -460,10 +429,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -472,36 +440,34 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -510,7 +476,6 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 34096 @@ -521,7 +486,6 @@ unreachable ) (func $export:std/array-access/stringArrayArrayMethodCall (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -532,11 +496,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 16 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -544,44 +507,38 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/array/Array>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1296 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/string/String#startsWith - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 34096 @@ -592,7 +549,6 @@ unreachable ) (func $export:std/array-access/functionArrayElementCall (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -603,10 +559,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -615,19 +570,17 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 123 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get - i32.load $0 - call_indirect $0 (type $i32_=>_i32) - drop + i32.load + call_indirect (type $0) unreachable end i32.const 34096 diff --git a/tests/compiler/std/array-literal.debug.wat b/tests/compiler/std/array-literal.debug.wat index c0b9e092c3..641be48a4f 100644 --- a/tests/compiler/std/array-literal.debug.wat +++ b/tests/compiler/std/array-literal.debug.wat @@ -1,14 +1,15 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_none (func)) - (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_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32 i32))) + (type $4 (func)) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i32 i32) (result i32))) + (type $10 (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/array-literal/staticArrayI8 i32 (i32.const 64)) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) @@ -38,53 +39,53 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33628)) (global $~lib/memory/__heap_base i32 (i32.const 33628)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\00\01\02\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00 \00\00\00 \00\00\00\03\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00") - (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 220) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") - (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00 \01\00\00 \01\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 348) "\1c\00\00\00\00\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 380) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00p\01\00\00p\01\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 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 492) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 560) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 592) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 672) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 764) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 816) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00B\08\00\00\02\t\00\00 \00\00\00\02A\00\00 \00\00\00\02A\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\00\01\02\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00 \00\00\00 \00\00\00\03\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00") + (data $3 (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $5 (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00") + (data $6 (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00 \01\00\00 \01\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "\1c\00\00\00\00\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 $8 (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00p\01\00\00p\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $11 (i32.const 560) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 592) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 620) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $14 (i32.const 672) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 700) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $16 (i32.const 764) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $17 (i32.const 816) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00B\08\00\00\02\t\00\00 \00\00\00\02A\00\00 \00\00\00\02A\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -98,7 +99,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -172,7 +173,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -242,11 +243,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -254,7 +255,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 176 @@ -386,7 +387,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -399,7 +400,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -415,34 +416,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -602,7 +603,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -625,7 +626,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -639,7 +640,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -662,7 +663,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -805,7 +806,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -891,7 +892,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -971,7 +972,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1005,7 +1006,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1028,7 +1029,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1042,27 +1043,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 720 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1087,9 +1093,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1108,7 +1114,7 @@ if i32.const 0 i32.const 720 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1127,7 +1133,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1141,7 +1146,7 @@ if i32.const 0 i32.const 720 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1197,12 +1202,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1236,7 +1241,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1257,7 +1262,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1277,7 +1282,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1297,7 +1302,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1323,7 +1328,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1346,9 +1351,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1384,7 +1390,7 @@ if i32.const 0 i32.const 720 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1650,14 +1656,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1713,7 +1722,7 @@ if i32.const 448 i32.const 720 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1722,6 +1731,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1751,24 +1780,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1806,7 +1824,7 @@ if i32.const 0 i32.const 720 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1821,7 +1839,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1866,7 +1884,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1877,7 +1895,7 @@ if i32.const 0 i32.const 720 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1899,7 +1917,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1922,7 +1940,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1941,22 +1959,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1969,7 +1979,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1996,27 +2006,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2041,7 +2052,7 @@ if i32.const 0 i32.const 720 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2156,7 +2167,7 @@ if i32.const 0 i32.const 720 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2176,7 +2187,7 @@ if i32.const 0 i32.const 720 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2209,12 +2220,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2265,7 +2276,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2280,7 +2291,7 @@ local.get $buffer local.get $data local.get $size - memory.copy $0 $0 + memory.copy end local.get $buffer return @@ -2355,15 +2366,15 @@ ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2407,48 +2418,47 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $std/array-literal/doesntLeak (param $refs i32) - nop ) (func $~lib/rt/itcms/__collect i32.const 0 @@ -2563,20 +2573,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2588,7 +2593,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2600,7 +2605,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2612,7 +2617,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2637,7 +2642,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $std/array-literal/Ref $~lib/array/Array $std/array-literal/RefWithCtor $~lib/array/Array $invalid end return @@ -2702,12 +2707,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -2728,13 +2733,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2750,14 +2755,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -2779,12 +2784,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -2805,13 +2810,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2827,14 +2832,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -2866,12 +2871,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -2898,7 +2903,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -2948,10 +2953,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -2959,7 +2964,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2975,13 +2980,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3008,7 +3013,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -3019,7 +3024,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -3027,7 +3032,7 @@ i32.shl i32.add local.get $value - i32.store8 $0 + i32.store8 i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -3044,13 +3049,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3077,7 +3082,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -3088,7 +3093,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -3096,7 +3101,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -3113,7 +3118,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3122,18 +3127,18 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3151,13 +3156,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3184,7 +3189,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -3195,7 +3200,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -3203,7 +3208,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -3224,12 +3229,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -3249,13 +3254,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3282,7 +3287,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -3293,7 +3298,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -3301,7 +3306,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -3322,12 +3327,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -3348,29 +3353,21 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) global.get $~lib/memory/__stack_pointer - i32.const 44 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 44 - memory.fill $0 + i32.const 24 + memory.fill global.get $std/array-literal/staticArrayI8 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -3384,11 +3381,11 @@ unreachable end global.get $std/array-literal/staticArrayI8 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 0 call $~lib/array/Array#__get i32.const 0 @@ -3403,11 +3400,11 @@ unreachable end global.get $std/array-literal/staticArrayI8 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 1 call $~lib/array/Array#__get i32.const 1 @@ -3422,11 +3419,11 @@ unreachable end global.get $std/array-literal/staticArrayI8 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 2 call $~lib/array/Array#__get i32.const 2 @@ -3441,11 +3438,11 @@ unreachable end global.get $std/array-literal/staticArrayI32 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -3459,11 +3456,11 @@ unreachable end global.get $std/array-literal/staticArrayI32 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 0 call $~lib/array/Array#__get i32.const 0 @@ -3478,11 +3475,11 @@ unreachable end global.get $std/array-literal/staticArrayI32 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 1 call $~lib/array/Array#__get i32.const 1 @@ -3497,11 +3494,11 @@ unreachable end global.get $std/array-literal/staticArrayI32 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 2 call $~lib/array/Array#__get i32.const 2 @@ -3516,11 +3513,11 @@ unreachable end global.get $std/array-literal/emptyArrayI32 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -3533,7 +3530,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3556,18 +3553,13 @@ i32.const 4 i32.const 0 call $~lib/rt/__newArray - local.tee $6 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.load $0 offset=4 - local.tee $7 - i32.store $0 offset=8 - local.get $6 + local.tee $3 + i32.store offset=4 + local.get $3 i32.const 0 global.get $std/array-literal/i call $~lib/array/Array#__set - local.get $6 + local.get $3 i32.const 1 global.get $std/array-literal/i i32.const 1 @@ -3575,7 +3567,7 @@ global.set $std/array-literal/i global.get $std/array-literal/i call $~lib/array/Array#__set - local.get $6 + local.get $3 i32.const 2 global.get $std/array-literal/i i32.const 1 @@ -3583,14 +3575,14 @@ global.set $std/array-literal/i global.get $std/array-literal/i call $~lib/array/Array#__set - local.get $6 + local.get $3 global.set $std/array-literal/dynamicArrayI8 global.get $std/array-literal/dynamicArrayI8 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -3604,11 +3596,11 @@ unreachable end global.get $std/array-literal/dynamicArrayI8 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 0 call $~lib/array/Array#__get i32.const 0 @@ -3623,11 +3615,11 @@ unreachable end global.get $std/array-literal/dynamicArrayI8 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 1 call $~lib/array/Array#__get i32.const 1 @@ -3642,11 +3634,11 @@ unreachable end global.get $std/array-literal/dynamicArrayI8 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 2 call $~lib/array/Array#__get i32.const 2 @@ -3668,18 +3660,13 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.tee $8 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.load $0 offset=4 - local.tee $9 - i32.store $0 offset=16 - local.get $8 + local.tee $4 + i32.store offset=8 + local.get $4 i32.const 0 global.get $std/array-literal/i call $~lib/array/Array#__set - local.get $8 + local.get $4 i32.const 1 global.get $std/array-literal/i i32.const 1 @@ -3687,7 +3674,7 @@ global.set $std/array-literal/i global.get $std/array-literal/i call $~lib/array/Array#__set - local.get $8 + local.get $4 i32.const 2 global.get $std/array-literal/i i32.const 1 @@ -3695,14 +3682,14 @@ global.set $std/array-literal/i global.get $std/array-literal/i call $~lib/array/Array#__set - local.get $8 + local.get $4 global.set $std/array-literal/dynamicArrayI32 global.get $std/array-literal/dynamicArrayI32 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -3716,11 +3703,11 @@ unreachable end global.get $std/array-literal/dynamicArrayI32 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 0 call $~lib/array/Array#__get i32.const 0 @@ -3735,11 +3722,11 @@ unreachable end global.get $std/array-literal/dynamicArrayI32 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 1 call $~lib/array/Array#__get i32.const 1 @@ -3754,11 +3741,11 @@ unreachable end global.get $std/array-literal/dynamicArrayI32 - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 i32.const 2 call $~lib/array/Array#__get i32.const 2 @@ -3778,36 +3765,31 @@ i32.const 7 i32.const 0 call $~lib/rt/__newArray - local.tee $10 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.load $0 offset=4 - local.tee $11 - i32.store $0 offset=24 - local.get $10 + local.tee $5 + i32.store offset=12 + local.get $5 i32.const 0 i32.const 0 call $std/array-literal/Ref#constructor call $~lib/array/Array#__set - local.get $10 + local.get $5 i32.const 1 i32.const 0 call $std/array-literal/Ref#constructor call $~lib/array/Array#__set - local.get $10 + local.get $5 i32.const 2 i32.const 0 call $std/array-literal/Ref#constructor call $~lib/array/Array#__set - local.get $10 + local.get $5 global.set $std/array-literal/dynamicArrayRef global.get $std/array-literal/dynamicArrayRef - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -3826,36 +3808,31 @@ i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $12 - i32.store $0 offset=28 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.load $0 offset=4 - local.tee $13 - i32.store $0 offset=32 - local.get $12 + local.tee $6 + i32.store offset=16 + local.get $6 i32.const 0 i32.const 0 call $std/array-literal/RefWithCtor#constructor call $~lib/array/Array#__set - local.get $12 + local.get $6 i32.const 1 i32.const 0 call $std/array-literal/RefWithCtor#constructor call $~lib/array/Array#__set - local.get $12 + local.get $6 i32.const 2 i32.const 0 call $std/array-literal/RefWithCtor#constructor call $~lib/array/Array#__set - local.get $12 + local.get $6 global.set $std/array-literal/dynamicArrayRefWithCtor global.get $std/array-literal/dynamicArrayRefWithCtor - local.set $16 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -3884,30 +3861,25 @@ i32.const 7 i32.const 0 call $~lib/rt/__newArray - local.tee $14 - i32.store $0 offset=36 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.load $0 offset=4 - local.tee $15 - i32.store $0 offset=40 - local.get $14 + local.tee $7 + i32.store offset=20 + local.get $7 i32.const 0 i32.const 0 call $std/array-literal/Ref#constructor call $~lib/array/Array#__set - local.get $14 - local.set $16 + local.get $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $16 - i32.store $0 - local.get $16 + local.get $8 + i32.store + local.get $8 call $std/array-literal/doesntLeak global.get $~lib/memory/__heap_base global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 44 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3920,14 +3892,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -3946,14 +3918,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -3975,14 +3947,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $cur @@ -3991,7 +3963,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 2 @@ -4004,7 +3976,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -4023,7 +3995,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:buffer local.get $cookie @@ -4045,14 +4017,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $cur @@ -4061,7 +4033,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 2 @@ -4074,7 +4046,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -4093,7 +4065,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:buffer local.get $cookie @@ -4115,7 +4087,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -4126,27 +4098,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer @@ -4165,7 +4137,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -4174,7 +4146,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -4193,7 +4165,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -4202,7 +4174,7 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/std/array-literal.release.wat b/tests/compiler/std/array-literal.release.wat index 04aafd11ba..d53285989a 100644 --- a/tests/compiler/std/array-literal.release.wat +++ b/tests/compiler/std/array-literal.release.wat @@ -1,13 +1,14 @@ (module - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32))) + (type $1 (func (param i32 i32 i32))) + (type $2 (func)) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) + (type $8 (func (param i32) (result i32))) + (type $9 (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 1424)) (global $std/array-literal/i (mut i32) (i32.const 0)) @@ -27,83 +28,83 @@ (global $std/array-literal/dynamicArrayRefWithCtor (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34652)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\03\00\00\00\00\01\02") - (data (i32.const 1068) ",") - (data (i32.const 1080) "\04\00\00\00\10\00\00\00 \04\00\00 \04\00\00\03\00\00\00\03") - (data (i32.const 1116) "<") - (data (i32.const 1128) "\02\00\00\00(\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") - (data (i32.const 1180) "<") - (data (i32.const 1192) "\02\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 1244) ",") - (data (i32.const 1256) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1292) "\1c") - (data (i32.const 1304) "\01\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02") - (data (i32.const 1324) ",") - (data (i32.const 1336) "\05\00\00\00\10\00\00\00 \05\00\00 \05\00\00\0c\00\00\00\03") - (data (i32.const 1372) "\1c") - (data (i32.const 1384) "\01") - (data (i32.const 1404) ",") - (data (i32.const 1416) "\05\00\00\00\10\00\00\00p\05\00\00p\05") - (data (i32.const 1452) "<") - (data (i32.const 1464) "\02\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 1516) "<") - (data (i32.const 1528) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1644) ",") - (data (i32.const 1656) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1724) "<") - (data (i32.const 1736) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1788) ",") - (data (i32.const 1800) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1840) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00B\08\00\00\02\t\00\00 \00\00\00\02A\00\00 \00\00\00\02A") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\01\00\00\00\03\00\00\00\00\01\02") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\04\00\00\00\10\00\00\00 \04\00\00 \04\00\00\03\00\00\00\03") + (data $2 (i32.const 1116) "<") + (data $2.1 (i32.const 1128) "\02\00\00\00(\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00-\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") + (data $3 (i32.const 1180) "<") + (data $3.1 (i32.const 1192) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $4 (i32.const 1244) ",") + (data $4.1 (i32.const 1256) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $5 (i32.const 1292) "\1c") + (data $5.1 (i32.const 1304) "\01\00\00\00\0c\00\00\00\00\00\00\00\01\00\00\00\02") + (data $6 (i32.const 1324) ",") + (data $6.1 (i32.const 1336) "\05\00\00\00\10\00\00\00 \05\00\00 \05\00\00\0c\00\00\00\03") + (data $7 (i32.const 1372) "\1c") + (data $7.1 (i32.const 1384) "\01") + (data $8 (i32.const 1404) ",") + (data $8.1 (i32.const 1416) "\05\00\00\00\10\00\00\00p\05\00\00p\05") + (data $9 (i32.const 1452) "<") + (data $9.1 (i32.const 1464) "\02\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 $10 (i32.const 1516) "<") + (data $10.1 (i32.const 1528) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $13 (i32.const 1644) ",") + (data $13.1 (i32.const 1656) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $15 (i32.const 1724) "<") + (data $15.1 (i32.const 1736) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $16 (i32.const 1788) ",") + (data $16.1 (i32.const 1800) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $17 (i32.const 1840) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00B\08\00\00\02\t\00\00 \00\00\00\02A\00\00 \00\00\00\02A") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1344 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $std/array-literal/emptyArrayI32 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/array-literal/dynamicArrayI8 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/array-literal/dynamicArrayI32 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/array-literal/dynamicArrayRef local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/array-literal/dynamicArrayRefWithCtor local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1200 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1808 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1472 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -113,7 +114,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -131,7 +132,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -148,7 +149,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -162,16 +163,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$154 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34652 @@ -186,10 +187,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$154 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -202,20 +203,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -224,7 +225,7 @@ else local.get $1 i32.const 1840 - i32.load $0 + i32.load i32.gt_u if i32.const 1200 @@ -239,13 +240,13 @@ i32.shl i32.const 1844 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -255,21 +256,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -277,8 +302,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -290,10 +315,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -304,29 +329,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -334,10 +359,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -351,75 +376,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -441,7 +459,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -458,12 +476,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -480,17 +498,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -500,9 +518,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -527,13 +545,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -567,7 +585,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -623,19 +641,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -647,15 +665,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -663,23 +681,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1744 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -693,10 +713,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -704,23 +724,22 @@ if i32.const 0 i32.const 1744 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -732,52 +751,53 @@ if i32.const 0 i32.const 1744 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -785,7 +805,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -793,7 +813,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -804,10 +824,10 @@ end i32.const 34656 i32.const 0 - i32.store $0 + i32.store i32.const 36224 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -819,7 +839,7 @@ i32.const 34656 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -837,7 +857,7 @@ i32.const 34656 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -854,9 +874,10 @@ end i32.const 34656 i32.const 36228 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34656 global.set $~lib/rt/tlsf/ROOT @@ -886,7 +907,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -899,19 +920,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -922,7 +943,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -934,7 +955,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -947,12 +968,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -961,7 +978,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -972,26 +989,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1007,7 +1024,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1023,7 +1040,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1048,14 +1065,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1075,7 +1092,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1090,25 +1106,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1744 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1117,12 +1132,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1130,47 +1144,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1181,7 +1197,7 @@ if i32.const 0 i32.const 1744 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1191,7 +1207,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1208,10 +1224,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1227,13 +1243,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1744 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1248,7 +1264,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1275,7 +1291,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1287,16 +1303,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1304,8 +1316,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1332,34 +1343,60 @@ if i32.const 1472 i32.const 1744 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1367,21 +1404,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1394,12 +1416,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1410,9 +1432,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1422,7 +1445,7 @@ if i32.const 0 i32.const 1744 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1430,14 +1453,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1744 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1446,8 +1469,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1456,95 +1479,95 @@ if i32.const 0 i32.const 1744 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1557,11 +1580,69 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1536 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) (func $~lib/array/Array~visit (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1578,19 +1659,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1616,21 +1692,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl i32.add @@ -1641,11 +1716,11 @@ i32.lt_u if local.get $1 - i32.load $0 + i32.load local.tee $3 if local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $1 i32.const 4 @@ -1656,14 +1731,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1684,7 +1755,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $std/array-literal/Ref $~lib/array/Array $std/array-literal/RefWithCtor $~lib/array/Array $invalid end return @@ -1694,12 +1765,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end local.get $0 @@ -1728,7 +1795,6 @@ call $start:std/array-literal ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1745,23 +1811,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1778,15 +1840,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1200 @@ -1797,23 +1858,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_s $0 - local.set $0 - local.get $2 + i32.load8_s + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1830,15 +1887,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1200 @@ -1849,22 +1905,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -1885,15 +1938,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 local.get $2 i32.shr_u @@ -1914,8 +1966,8 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - block $__inlined_func$~lib/rt/itcms/__renew + i32.store + block $__inlined_func$~lib/rt/itcms/__renew$149 i32.const 1073741820 local.get $3 i32.const 1 @@ -1941,12 +1993,12 @@ select local.tee $3 local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const 20 i32.sub local.tee $4 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -1955,26 +2007,26 @@ if local.get $4 local.get $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew + br $__inlined_func$~lib/rt/itcms/__renew$149 end local.get $3 local.get $4 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $1 local.get $2 local.get $3 local.get $4 - i32.load $0 offset=16 + i32.load offset=16 local.tee $4 local.get $3 local.get $4 i32.lt_u select - memory.copy $0 $0 + memory.copy end local.get $1 local.get $2 @@ -1982,21 +2034,18 @@ if local.get $0 local.get $1 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link end local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2021,15 +2070,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -2052,22 +2100,21 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add local.get $2 - i32.store8 $0 - local.get $3 + i32.store8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2090,15 +2137,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -2121,24 +2167,23 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2156,20 +2201,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2179,7 +2223,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -2188,15 +2232,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2229,15 +2272,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -2260,29 +2302,26 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 + i32.store + local.get $0 local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2291,7 +2330,7 @@ (func $start:std/array-literal (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 44 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2306,13 +2345,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 44 - memory.fill $0 - local.get $0 + i32.const 24 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store i32.const 1088 call $~lib/array/Array#get:length i32.const 3 @@ -2327,7 +2365,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store i32.const 1088 i32.const 0 call $~lib/array/Array#__get @@ -2341,7 +2379,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store i32.const 1088 i32.const 1 call $~lib/array/Array#__get @@ -2357,7 +2395,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store i32.const 1088 i32.const 2 call $~lib/array/Array#__get @@ -2373,7 +2411,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1344 - i32.store $0 + i32.store i32.const 1344 call $~lib/array/Array#get:length i32.const 3 @@ -2388,7 +2426,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1344 - i32.store $0 + i32.store i32.const 1344 i32.const 0 call $~lib/array/Array#__get @@ -2402,7 +2440,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1344 - i32.store $0 + i32.store i32.const 1344 i32.const 1 call $~lib/array/Array#__get @@ -2418,7 +2456,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1344 - i32.store $0 + i32.store i32.const 1344 i32.const 2 call $~lib/array/Array#__get @@ -2435,7 +2473,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/emptyArrayI32 local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length if @@ -2446,7 +2484,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34652 @@ -2456,26 +2494,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1588 i32.const 1584 - i32.store $0 + i32.store i32.const 1592 i32.const 1584 - i32.store $0 + i32.store i32.const 1584 global.set $~lib/rt/itcms/pinSpace i32.const 1620 i32.const 1616 - i32.store $0 + i32.store i32.const 1624 i32.const 1616 - i32.store $0 + i32.store i32.const 1616 global.set $~lib/rt/itcms/toSpace i32.const 1700 i32.const 1696 - i32.store $0 + i32.store i32.const 1704 i32.const 1696 - i32.store $0 + i32.store i32.const 1696 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -2484,11 +2522,7 @@ i32.const 4 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 global.get $std/array-literal/i @@ -2514,7 +2548,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayI8 local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 3 @@ -2530,7 +2564,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayI8 local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -2545,7 +2579,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayI8 local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $~lib/array/Array#__get @@ -2562,7 +2596,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayI8 local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#__get @@ -2584,11 +2618,7 @@ i32.const 5 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 i32.const 0 global.get $std/array-literal/i @@ -2614,7 +2644,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayI32 local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 3 @@ -2630,7 +2660,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayI32 local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -2645,7 +2675,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayI32 local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $~lib/array/Array#__get @@ -2662,7 +2692,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayI32 local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#__get @@ -2682,11 +2712,7 @@ i32.const 7 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - i32.store $0 offset=24 + i32.store offset=12 local.get $0 i32.const 0 call $std/array-literal/Ref#constructor @@ -2704,7 +2730,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayRef local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 3 @@ -2723,11 +2749,7 @@ i32.const 9 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=28 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - i32.store $0 offset=32 + i32.store offset=16 local.get $0 i32.const 0 call $std/array-literal/RefWithCtor#constructor @@ -2745,7 +2767,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array-literal/dynamicArrayRefWithCtor local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 3 @@ -2774,18 +2796,14 @@ i32.const 7 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=36 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - i32.store $0 offset=40 + i32.store offset=20 local.get $0 i32.const 0 call $std/array-literal/Ref#constructor call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 34652 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state @@ -2822,7 +2840,7 @@ i32.add global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 44 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) @@ -2844,10 +2862,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.shl @@ -2855,29 +2872,26 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store i32.const 16 local.get $2 call $~lib/rt/itcms/__new local.tee $2 local.get $3 - i32.store $0 + i32.store + local.get $2 local.get $3 - if - local.get $2 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link local.get $2 local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2902,92 +2916,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store 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) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1536 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $0 - local.get $1 - local.get $2 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - 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/std/array.debug.wat b/tests/compiler/std/array.debug.wat index f5909023f3..7c585db17c 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -1,37 +1,38 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32))) - (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) - (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $i32_i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $none_=>_f64 (func (result f64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i32_i32_i32_=>_f32 (func (param i32 i32 i32) (result f32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) - (type $i32_f32_i32_i32_=>_i32 (func (param i32 f32 i32 i32) (result i32))) - (type $i32_f32_i32_=>_i32 (func (param i32 f32 i32) (result i32))) - (type $i32_f64_i32_=>_i32 (func (param i32 f64 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_f32_i32_i32_=>_none (func (param i32 i32 f32 i32 i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i64_=>_i64 (func (param i64) (result i64))) - (type $i64_=>_none (func (param i64))) - (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) - (type $f64_=>_i32 (func (param f64) (result i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32 i32))) + (type $7 (func (param f32 f32) (result i32))) + (type $8 (func (param f64 f64) (result i32))) + (type $9 (func (param i32 i32 i32 i32 i32 i32))) + (type $10 (func (param i32))) + (type $11 (func)) + (type $12 (func (param i64 i32) (result i32))) + (type $13 (func (result f64))) + (type $14 (func (param i32 f64 i32) (result i32))) + (type $15 (func (param i32 i32 i32 i32))) + (type $16 (func (param i64) (result i64))) + (type $17 (func (param i32 i64 i32))) + (type $18 (func (param i32 i32 i32) (result f32))) + (type $19 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $20 (func (param i32 i64) (result i32))) + (type $21 (func (param i32 f32 i32 i32) (result i32))) + (type $22 (func (param i32 f32 i32) (result i32))) + (type $23 (func (param i32 i32 i64) (result i32))) + (type $24 (func (result i32))) + (type $25 (func (param i32 i32 f32 i32 i32))) + (type $26 (func (param i32 i64 i32 i32))) + (type $27 (func (param i64))) + (type $28 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) + (type $29 (func (param i32 f64) (result i32))) + (type $30 (func (param i64) (result i32))) + (type $31 (func (param i32 i32) (result f32))) + (type $32 (func (param i32 i32) (result f64))) + (type $33 (func (param f64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "env" "Math.random" (func $~lib/bindings/dom/Math.random (result f64))) (import "env" "seed" (func $~lib/builtins/seed (result f64))) @@ -79,308 +80,308 @@ (global $~lib/memory/__heap_base i32 (i32.const 47936)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00") - (data (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") - (data (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\02\03\04\05\00\00\00\00\00\00\00") - (data (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\01\04\05\00\00\00\00\00\00\00") - (data (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\02\02\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\05\00\00\00\01\01\00\02\02\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\05\00\00\00\ff\ff\ff\ff\ff\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\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 924) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 972) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\00\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 1020) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\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 1068) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1116) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1164) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00") - (data (i32.const 1212) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\c0?\00\00 @\00\00@@\00\00\00\00\00\00\00\00") - (data (i32.const 1260) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\80?\00\00 @\00\00@@\00\00\00\00\00\00\00\00") - (data (i32.const 1308) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\00\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 1356) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1404) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@\00\00\00\00\00\00\00\00") - (data (i32.const 1452) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@\00\00\00\00\00\00\00\00") - (data (i32.const 1500) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\00\00\00\00\00\00") - (data (i32.const 1548) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\00\00\00\00\00") - (data (i32.const 1596) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y\00") - (data (i32.const 1644) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1692) "\1c\00\00\00\00\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 1724) "\1c\00\00\00\00\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 1756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1804) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1852) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1900) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1948) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1996) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2044) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2092) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2140) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2188) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2236) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2284) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2332) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2380) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2428) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2476) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2668) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2716) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2764) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2812) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2860) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\03\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00") - (data (i32.const 2988) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") - (data (i32.const 3020) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00") - (data (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") - (data (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") - (data (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\01\02\03\00\00\00\00\00\00\00\00") - (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\01\02\03\04\05\06\07\00\00\00\00") - (data (i32.const 3228) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\11\00\00\00\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3276) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3324) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3372) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3420) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 3452) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") - (data (i32.const 3484) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3532) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 3564) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") - (data (i32.const 3596) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3644) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3692) "\1c\00\00\00\00\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 3724) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3772) "\1c\00\00\00\00\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 3804) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3852) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") - (data (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 3964) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4012) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00") - (data (i32.const 4044) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00") - (data (i32.const 4076) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4124) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4156) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4204) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4284) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4332) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 4412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 4444) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4652) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4700) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4748) "\1c\00\00\00\00\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 4780) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4828) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4876) "\1c\00\00\00\00\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 4908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5004) "\1c\00\00\00\00\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 5036) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5084) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5132) "\1c\00\00\00\00\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 5164) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5212) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5260) "\1c\00\00\00\00\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 5292) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5340) "\1c\00\00\00\00\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 5372) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5500) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5628) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5692) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5724) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5756) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5788) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5820) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5868) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5900) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5932) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5964) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5996) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6028) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6060) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6092) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6124) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\15\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\17\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6412) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6444) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6476) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 6604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 6668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6700) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 7100) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8156) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 8252) "\1c\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\08\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8284) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8316) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8348) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8380) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8412) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8444) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8476) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8508) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00#\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8572) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00$\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8604) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00%\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8636) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8668) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\'\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8700) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00(\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8732) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8764) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00*\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8796) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8828) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8860) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8892) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8924) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00/\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8956) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8988) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\ac\00\00\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\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\000\001\002\003\004\005\006\007\008\009\00_\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 9180) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf\00\00\00\00") - (data (i32.const 9212) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9244) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") - (data (i32.const 9276) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9340) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9404) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9500) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9532) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9628) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9676) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\003\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9708) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9804) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\004\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9836) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00") - (data (i32.const 9884) "\1c\00\00\00\00\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 9916) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 9948) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") - (data (i32.const 9980) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\03\00\00\00\02\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 10028) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10076) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10140) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 10172) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\006\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10204) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\007\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10236) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\008\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10268) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\009\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10300) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10332) "\1c\00\00\00\00\00\00\00\00\00\00\00\1e\00\00\00\08\00\00\00;\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10364) "\1c\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\08\00\00\00<\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 10492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00a\00\00\00\00\00\00\00\00\00") - (data (i32.const 10524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10556) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00\b0(\00\00\d0(\00\00\b0(\00\00\f0(\00\00\10)\00\000)\00\00\00\00\00\00") - (data (i32.const 10604) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\000)\00\00\b0(\00\00\b0(\00\00\f0(\00\00\d0(\00\00\10)\00\00\00\00\00\00") - (data (i32.const 10652) "\1c\00\00\00\00\00\00\00\00\00\00\00#\00\00\00\08\00\00\00=\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10684) "\1c\00\00\00\00\00\00\00\00\00\00\00$\00\00\00\08\00\00\00>\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") - (data (i32.const 10780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") - (data (i32.const 10812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10844) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 10892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 10924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00-\002\00-\003\00\00\00") - (data (i32.const 10956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 10988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11020) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80\00\00\00\00") - (data (i32.const 11052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00_\00_\00\00\00\00\00\00\00\00\00") - (data (i32.const 11084) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11164) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00,\00 \00\00\00\00\00\00\00\00\00") - (data (i32.const 11276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 11308) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 11340) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11388) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11440) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 11496) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12844) "\1c\00\00\00\00\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 12876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 12940) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00,\002\00\00\00\00\00\00\00") - (data (i32.const 13020) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\01\ff\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00,\00-\001\00,\000\00") - (data (i32.const 13132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\80\81\80\00\00\00\00\00\00\00\00\00") - (data (i32.const 13164) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008\00") - (data (i32.const 13212) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\01\00\ff\ff\00\00\00\00\00\00\00\00") - (data (i32.const 13244) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13292) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\80\01\ff\00\00\00\00\00\00\00\00") - (data (i32.const 13324) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005\00\00\00\00\00\00\00") - (data (i32.const 13372) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff\00\00\00\00") - (data (i32.const 13404) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13468) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13516) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13596) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f\00\00\00\00") - (data (i32.const 13660) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13820) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\000)\00\00\b0(\00\00\b0(\00\00\f0(\00\00\d0(\00\00\10)\00\00\00\00\00\00") - (data (i32.const 13868) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,\00\00\00") - (data (i32.const 13916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13948) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\004\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13980) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\001\00\00p6\00\00\00\00\00\00\906\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14028) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00,\002\00,\00,\004\00") - (data (i32.const 14060) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 14092) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00") - (data (i32.const 14124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\02\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\04\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00") - (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00") - (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00o\00n\00e\00\00\00\00\00\00\00") - (data (i32.const 14428) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00P8\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00t\00w\00o\00\00\00\00\00\00\00") - (data (i32.const 14492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00h\00r\00e\00e\00\00\00") - (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\908\00\00\00\00\00\00\b08\00\00") - (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00o\00u\00r\00\00\00\00\00") - (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00i\00v\00e\00\00\00\00\00") - (data (i32.const 14620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00s\00i\00x\00\00\00\00\00\00\00") - (data (i32.const 14652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\f08\00\00\109\00\0009\00\00") - (data (i32.const 14684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00s\00e\00v\00e\00n\00\00\00") - (data (i32.const 14716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00p9\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14748) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00P8\00\00\908\00\00\00\00\00\00\b08\00\00\f08\00\00\109\00\0009\00\00p9\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14812) "\1c\00\00\00\00\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 14844) "\1c\00\00\00\00\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 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14940) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00?\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14976) "/\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a\00\00\00\00\00\00\00\00\00\00\02A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a\00\00\00\00\00\00\00\00\00\00B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $1 (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00") + (data $11 (i32.const 556) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $12 (i32.const 620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") + (data $13 (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\02\03\04\05\00\00\00\00\00\00\00") + (data $14 (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\01\04\05\00\00\00\00\00\00\00") + (data $15 (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") + (data $18 (i32.const 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") + (data $19 (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\ff\ff\ff\ff\ff\00\00\00\00\00\00\00") + (data $20 (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $21 (i32.const 924) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $22 (i32.const 972) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\00\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 $23 (i32.const 1020) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $24 (i32.const 1068) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 1116) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $26 (i32.const 1164) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00") + (data $27 (i32.const 1212) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\c0?\00\00 @\00\00@@\00\00\00\00\00\00\00\00") + (data $28 (i32.const 1260) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\80?\00\00 @\00\00@@\00\00\00\00\00\00\00\00") + (data $29 (i32.const 1308) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\00\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 $30 (i32.const 1356) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $31 (i32.const 1404) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@\00\00\00\00\00\00\00\00") + (data $32 (i32.const 1452) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@\00\00\00\00\00\00\00\00") + (data $33 (i32.const 1500) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\00\00\00\00\00\00") + (data $34 (i32.const 1548) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\00\00\00\00\00") + (data $35 (i32.const 1596) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y\00") + (data $36 (i32.const 1644) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $37 (i32.const 1692) "\1c\00\00\00\00\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 $38 (i32.const 1724) "\1c\00\00\00\00\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 $39 (i32.const 1756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $40 (i32.const 1804) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $41 (i32.const 1852) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $42 (i32.const 1900) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $43 (i32.const 1948) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $44 (i32.const 1996) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $45 (i32.const 2044) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $46 (i32.const 2092) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $47 (i32.const 2140) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $48 (i32.const 2188) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $49 (i32.const 2236) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $50 (i32.const 2284) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $51 (i32.const 2332) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $52 (i32.const 2380) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $53 (i32.const 2428) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $54 (i32.const 2476) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $55 (i32.const 2524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $56 (i32.const 2572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $57 (i32.const 2620) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $58 (i32.const 2668) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $59 (i32.const 2716) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $60 (i32.const 2764) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $61 (i32.const 2812) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $62 (i32.const 2860) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $63 (i32.const 2908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\03\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data $64 (i32.const 2956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00") + (data $65 (i32.const 2988) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") + (data $66 (i32.const 3020) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $67 (i32.const 3068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\t\00\00\00\0b\00\00\00\00\00\00\00") + (data $68 (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") + (data $69 (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\07\00\00\00\t\00\00\00\00\00\00\00") + (data $70 (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\01\02\03\00\00\00\00\00\00\00\00") + (data $71 (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\01\02\03\04\05\06\07\00\00\00\00") + (data $72 (i32.const 3228) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\11\00\00\00\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\00\00\00\00\00\00\00\00\00\00\00") + (data $73 (i32.const 3276) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0e\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $74 (i32.const 3324) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $75 (i32.const 3372) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\12\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data $76 (i32.const 3420) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") + (data $77 (i32.const 3452) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") + (data $78 (i32.const 3484) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $79 (i32.const 3532) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") + (data $80 (i32.const 3564) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") + (data $81 (i32.const 3596) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $82 (i32.const 3644) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $83 (i32.const 3692) "\1c\00\00\00\00\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 $84 (i32.const 3724) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $85 (i32.const 3772) "\1c\00\00\00\00\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 $86 (i32.const 3804) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $87 (i32.const 3852) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $88 (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00") + (data $89 (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data $90 (i32.const 3964) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $91 (i32.const 4012) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00") + (data $92 (i32.const 4044) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05\00\00\00") + (data $93 (i32.const 4076) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $94 (i32.const 4124) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $95 (i32.const 4156) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $96 (i32.const 4204) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $97 (i32.const 4252) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $98 (i32.const 4284) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $99 (i32.const 4332) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $100 (i32.const 4380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00") + (data $101 (i32.const 4412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $102 (i32.const 4444) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $103 (i32.const 4492) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data $104 (i32.const 4524) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $105 (i32.const 4572) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $106 (i32.const 4620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $107 (i32.const 4652) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $108 (i32.const 4700) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $109 (i32.const 4748) "\1c\00\00\00\00\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 $110 (i32.const 4780) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $111 (i32.const 4828) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $112 (i32.const 4876) "\1c\00\00\00\00\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 $113 (i32.const 4908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $114 (i32.const 4956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $115 (i32.const 5004) "\1c\00\00\00\00\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 $116 (i32.const 5036) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $117 (i32.const 5084) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $118 (i32.const 5132) "\1c\00\00\00\00\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 $119 (i32.const 5164) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $120 (i32.const 5212) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $121 (i32.const 5260) "\1c\00\00\00\00\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 $122 (i32.const 5292) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $123 (i32.const 5340) "\1c\00\00\00\00\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 $124 (i32.const 5372) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $125 (i32.const 5500) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $126 (i32.const 5628) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $127 (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $128 (i32.const 5692) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $129 (i32.const 5724) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data $130 (i32.const 5756) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $131 (i32.const 5788) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data $132 (i32.const 5820) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $133 (i32.const 5868) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data $134 (i32.const 5900) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data $135 (i32.const 5932) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $136 (i32.const 5964) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data $137 (i32.const 5996) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data $138 (i32.const 6028) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") + (data $139 (i32.const 6060) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") + (data $140 (i32.const 6092) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") + (data $141 (i32.const 6124) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") + (data $142 (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") + (data $143 (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") + (data $144 (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") + (data $145 (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") + (data $146 (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00") + (data $147 (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\15\00\00\00\00\00\00\00\00\00\00\00") + (data $148 (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00") + (data $149 (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\17\00\00\00\00\00\00\00\00\00\00\00") + (data $150 (i32.const 6412) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00") + (data $151 (i32.const 6444) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00") + (data $152 (i32.const 6476) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data $153 (i32.const 6604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $154 (i32.const 6668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $155 (i32.const 6700) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data $156 (i32.const 7100) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $157 (i32.const 8156) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") + (data $158 (i32.const 8252) "\1c\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\08\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00") + (data $159 (i32.const 8284) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00") + (data $160 (i32.const 8316) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00") + (data $161 (i32.const 8348) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1d\00\00\00\00\00\00\00\00\00\00\00") + (data $162 (i32.const 8380) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00") + (data $163 (i32.const 8412) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00") + (data $164 (i32.const 8444) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data $165 (i32.const 8476) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") + (data $166 (i32.const 8508) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00") + (data $167 (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00#\00\00\00\00\00\00\00\00\00\00\00") + (data $168 (i32.const 8572) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00$\00\00\00\00\00\00\00\00\00\00\00") + (data $169 (i32.const 8604) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00%\00\00\00\00\00\00\00\00\00\00\00") + (data $170 (i32.const 8636) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") + (data $171 (i32.const 8668) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\'\00\00\00\00\00\00\00\00\00\00\00") + (data $172 (i32.const 8700) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00(\00\00\00\00\00\00\00\00\00\00\00") + (data $173 (i32.const 8732) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") + (data $174 (i32.const 8764) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00*\00\00\00\00\00\00\00\00\00\00\00") + (data $175 (i32.const 8796) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data $176 (i32.const 8828) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data $177 (i32.const 8860) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data $178 (i32.const 8892) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") + (data $179 (i32.const 8924) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00/\00\00\00\00\00\00\00\00\00\00\00") + (data $180 (i32.const 8956) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $181 (i32.const 8988) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\ac\00\00\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\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\000\001\002\003\004\005\006\007\008\009\00_\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 $182 (i32.const 9180) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf\00\00\00\00") + (data $183 (i32.const 9212) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data $184 (i32.const 9244) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") + (data $185 (i32.const 9276) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f\00\00\00\00\00\00\00\00\00\00\00\00") + (data $186 (i32.const 9340) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00") + (data $187 (i32.const 9404) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00") + (data $188 (i32.const 9500) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data $189 (i32.const 9532) "\\\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00@\00\00\00\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\00\00\00\00\00\00") + (data $190 (i32.const 9628) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $191 (i32.const 9676) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\003\00\00\00\00\00\00\00\00\00\00\00") + (data $192 (i32.const 9708) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $193 (i32.const 9756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $194 (i32.const 9804) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\004\00\00\00\00\00\00\00\00\00\00\00") + (data $195 (i32.const 9836) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00") + (data $196 (i32.const 9884) "\1c\00\00\00\00\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 $197 (i32.const 9916) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $198 (i32.const 9948) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00") + (data $199 (i32.const 9980) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $200 (i32.const 10028) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $201 (i32.const 10076) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\005\00\00\00\00\00\00\00\00\00\00\00") + (data $202 (i32.const 10108) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $203 (i32.const 10140) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data $204 (i32.const 10172) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\006\00\00\00\00\00\00\00\00\00\00\00") + (data $205 (i32.const 10204) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\007\00\00\00\00\00\00\00\00\00\00\00") + (data $206 (i32.const 10236) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\008\00\00\00\00\00\00\00\00\00\00\00") + (data $207 (i32.const 10268) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\009\00\00\00\00\00\00\00\00\00\00\00") + (data $208 (i32.const 10300) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") + (data $209 (i32.const 10332) "\1c\00\00\00\00\00\00\00\00\00\00\00\1e\00\00\00\08\00\00\00;\00\00\00\00\00\00\00\00\00\00\00") + (data $210 (i32.const 10364) "\1c\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\08\00\00\00<\00\00\00\00\00\00\00\00\00\00\00") + (data $211 (i32.const 10396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $212 (i32.const 10428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data $213 (i32.const 10460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") + (data $214 (i32.const 10492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00a\00\00\00\00\00\00\00\00\00") + (data $215 (i32.const 10524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $216 (i32.const 10556) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\00\b0(\00\00\d0(\00\00\b0(\00\00\f0(\00\00\10)\00\000)\00\00\00\00\00\00") + (data $217 (i32.const 10604) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\000)\00\00\b0(\00\00\b0(\00\00\f0(\00\00\d0(\00\00\10)\00\00\00\00\00\00") + (data $218 (i32.const 10652) "\1c\00\00\00\00\00\00\00\00\00\00\00#\00\00\00\08\00\00\00=\00\00\00\00\00\00\00\00\00\00\00") + (data $219 (i32.const 10684) "\1c\00\00\00\00\00\00\00\00\00\00\00$\00\00\00\08\00\00\00>\00\00\00\00\00\00\00\00\00\00\00") + (data $220 (i32.const 10716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $221 (i32.const 10748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") + (data $222 (i32.const 10780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") + (data $223 (i32.const 10812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data $224 (i32.const 10844) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e\00\00\00\00\00\00\00\00\00") + (data $225 (i32.const 10892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data $226 (i32.const 10924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00-\002\00-\003\00\00\00") + (data $227 (i32.const 10956) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $228 (i32.const 10988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data $229 (i32.const 11020) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80\00\00\00\00") + (data $230 (i32.const 11052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00_\00_\00\00\00\00\00\00\00\00\00") + (data $231 (i32.const 11084) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $232 (i32.const 11164) "L\00\00\00\00\00\00\00\00\00\00\00\01\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\00\00\00\00\00\00") + (data $233 (i32.const 11244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00,\00 \00\00\00\00\00\00\00\00\00") + (data $234 (i32.const 11276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data $235 (i32.const 11308) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data $236 (i32.const 11340) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data $237 (i32.const 11388) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $238 (i32.const 11440) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $239 (i32.const 11496) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $248 (i32.const 12844) "\1c\00\00\00\00\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 $249 (i32.const 12876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $250 (i32.const 12908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data $251 (i32.const 12940) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $252 (i32.const 12988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00,\002\00\00\00\00\00\00\00") + (data $253 (i32.const 13020) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $254 (i32.const 13068) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\01\ff\00\00\00\00\00\00\00\00\00\00") + (data $255 (i32.const 13100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00,\00-\001\00,\000\00") + (data $256 (i32.const 13132) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\80\81\80\00\00\00\00\00\00\00\00\00") + (data $257 (i32.const 13164) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008\00") + (data $258 (i32.const 13212) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\06\00\00\00\01\00\ff\ff\00\00\00\00\00\00\00\00") + (data $259 (i32.const 13244) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000\00\00\00\00\00\00\00\00\00\00\00") + (data $260 (i32.const 13292) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\80\01\ff\00\00\00\00\00\00\00\00") + (data $261 (i32.const 13324) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005\00\00\00\00\00\00\00") + (data $262 (i32.const 13372) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff\00\00\00\00") + (data $263 (i32.const 13404) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $264 (i32.const 13468) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data $265 (i32.const 13516) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $266 (i32.const 13596) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f\00\00\00\00") + (data $267 (i32.const 13660) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $268 (i32.const 13820) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\1c\00\00\000)\00\00\b0(\00\00\b0(\00\00\f0(\00\00\d0(\00\00\10)\00\00\00\00\00\00") + (data $269 (i32.const 13868) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,\00\00\00") + (data $270 (i32.const 13916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data $271 (i32.const 13948) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\004\00\00\00\00\00\00\00\00\00\00\00") + (data $272 (i32.const 13980) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\001\00\00p6\00\00\00\00\00\00\906\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $273 (i32.const 14028) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00,\002\00,\00,\004\00") + (data $274 (i32.const 14060) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data $275 (i32.const 14092) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\03\00\00\00\04\00\00\00\00\00\00\00") + (data $276 (i32.const 14124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $277 (i32.const 14172) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\01\02\00\00\00\00\00\00\00\00\00\00") + (data $278 (i32.const 14204) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\04\00\00\00\00\00\00\00\00\00\00") + (data $279 (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $280 (i32.const 14268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $281 (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $282 (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00") + (data $283 (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00") + (data $284 (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00o\00n\00e\00\00\00\00\00\00\00") + (data $285 (i32.const 14428) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00P8\00\00\00\00\00\00\00\00\00\00") + (data $286 (i32.const 14460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00t\00w\00o\00\00\00\00\00\00\00") + (data $287 (i32.const 14492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00h\00r\00e\00e\00\00\00") + (data $288 (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\908\00\00\00\00\00\00\b08\00\00") + (data $289 (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00o\00u\00r\00\00\00\00\00") + (data $290 (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00i\00v\00e\00\00\00\00\00") + (data $291 (i32.const 14620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00s\00i\00x\00\00\00\00\00\00\00") + (data $292 (i32.const 14652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\f08\00\00\109\00\0009\00\00") + (data $293 (i32.const 14684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00s\00e\00v\00e\00n\00\00\00") + (data $294 (i32.const 14716) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00p9\00\00\00\00\00\00\00\00\00\00") + (data $295 (i32.const 14748) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00 \00\00\00P8\00\00\908\00\00\00\00\00\00\b08\00\00\f08\00\00\109\00\0009\00\00p9\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $296 (i32.const 14812) "\1c\00\00\00\00\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 $297 (i32.const 14844) "\1c\00\00\00\00\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 $298 (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $299 (i32.const 14908) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $300 (i32.const 14940) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00?\00\00\00\00\00\00\00\00\00\00\00") + (data $301 (i32.const 14976) "/\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a\00\00\00\00\00\00\00\00\00\00\02A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a\00\00\00\00\00\00\00\00\00\00B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A\00\00\00\00\00\00") (table $0 64 64 funcref) (elem $0 (i32.const 1) $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|4 $start:std/array~anonymous|5 $start:std/array~anonymous|6 $start:std/array~anonymous|7 $start:std/array~anonymous|8 $start:std/array~anonymous|9 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|18 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|22 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|30 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|35 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|39 $start:std/array~anonymous|40 $start:std/array~anonymous|41 $start:std/array~anonymous|42 $start:std/array~anonymous|43 $start:std/array~anonymous|44 $start:std/array~anonymous|45 $start:std/array~anonymous|46 $start:std/array~anonymous|47 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|1 $std/array/assertStableSortedForComplexObjects~anonymous|0 $start:std/array~anonymous|48 $start:std/array~anonymous|49 $start:std/array~anonymous|50 $start:std/array~anonymous|51 $start:std/array~anonymous|52 $start:std/array~anonymous|53 $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 $start:std/array~anonymous|54) (export "memory" (memory $0)) @@ -388,12 +389,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -407,7 +408,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -481,7 +482,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -551,11 +552,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -563,7 +564,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 320 @@ -695,7 +696,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -708,7 +709,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -724,34 +725,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -911,7 +912,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -934,7 +935,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -948,7 +949,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -971,7 +972,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -1114,7 +1115,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -1200,7 +1201,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1280,7 +1281,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1314,7 +1315,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1337,7 +1338,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1351,27 +1352,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 464 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1396,9 +1402,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1417,7 +1423,7 @@ if i32.const 0 i32.const 464 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1436,7 +1442,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1450,7 +1455,7 @@ if i32.const 0 i32.const 464 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1506,12 +1511,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1545,7 +1550,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1566,7 +1571,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1586,7 +1591,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1606,7 +1611,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1632,7 +1637,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1655,9 +1660,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1693,7 +1699,7 @@ if i32.const 0 i32.const 464 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1959,14 +1965,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -2022,7 +2031,7 @@ if i32.const 128 i32.const 464 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -2031,6 +2040,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -2060,24 +2089,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -2115,7 +2133,7 @@ if i32.const 0 i32.const 464 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -2130,7 +2148,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -2175,7 +2193,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -2186,7 +2204,7 @@ if i32.const 0 i32.const 464 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -2208,7 +2226,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2231,7 +2249,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2250,22 +2268,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2278,7 +2288,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2305,27 +2315,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2350,7 +2361,7 @@ if i32.const 0 i32.const 464 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2465,7 +2476,7 @@ if i32.const 0 i32.const 464 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2485,7 +2496,7 @@ if i32.const 0 i32.const 464 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2518,12 +2529,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2574,7 +2585,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2649,7 +2660,7 @@ (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2658,17 +2669,17 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array.isArray<~lib/array/Array|null> (param $value i32) (result i32) local.get $value @@ -2684,7 +2695,7 @@ (func $std/array/Ref#set:v (param $this i32) (param $v i32) local.get $this local.get $v - i32.store $0 + i32.store ) (func $~lib/array/Array.isArray (param $value i32) (result i32) local.get $value @@ -2700,7 +2711,7 @@ (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2709,12 +2720,12 @@ (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> (param $value i32) (result i32) local.get $value @@ -2764,18 +2775,18 @@ local.get $buffer local.get $data local.get $size - memory.copy $0 $0 + memory.copy end local.get $buffer return ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/util/bytes/FILL (param $ptr i32) (param $len i32) (param $value i32) (param $start i32) (param $end i32) (local $5 i32) @@ -2851,16 +2862,16 @@ local.get $end local.get $start i32.sub - memory.fill $0 + memory.fill end ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/util/bytes/FILL (param $ptr i32) (param $len i32) (param $value i32) (param $start i32) (param $end i32) (local $5 i32) @@ -2954,7 +2965,7 @@ i32.sub i32.const 2 i32.shl - memory.fill $0 + memory.fill end return end @@ -2969,7 +2980,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store local.get $start i32.const 1 i32.add @@ -2980,11 +2991,11 @@ ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/util/bytes/FILL (param $ptr i32) (param $len i32) (param $value f32) (param $start i32) (param $end i32) (local $5 i32) @@ -3084,7 +3095,7 @@ i32.sub i32.const 2 i32.shl - memory.fill $0 + memory.fill end return end @@ -3099,7 +3110,7 @@ i32.shl i32.add local.get $value - f32.store $0 + f32.store local.get $start i32.const 1 i32.add @@ -3110,15 +3121,15 @@ ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (param $this i32) (result i32) local.get $this @@ -3129,15 +3140,15 @@ ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -3181,26 +3192,26 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/util/bytes/REVERSE (param $ptr i32) (param $len i32) (local $i i32) @@ -3255,15 +3266,15 @@ i32.add local.set $back local.get $front - i32.load $0 + i32.load local.set $temp local.get $front local.get $back - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $back local.get $temp - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -3273,20 +3284,73 @@ end end ) + (func $~lib/polyfills/bswap (param $value i64) (result i64) + (local $a i64) + (local $b i64) + (local $v i64) + i32.const 1 + drop + i32.const 8 + i32.const 1 + i32.eq + drop + i32.const 8 + i32.const 2 + i32.eq + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $value + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.set $a + local.get $value + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + local.set $b + local.get $a + local.get $b + i64.or + local.set $v + local.get $v + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.set $a + local.get $v + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + local.set $b + local.get $a + local.get $b + i64.or + i64.const 32 + i64.rotr + return + ) (func $~lib/util/bytes/REVERSE (param $ptr i32) (param $len i32) (local $i i32) (local $tail i32) (local $hlen i32) (local $front i32) (local $back i32) - (local $7 i64) - (local $8 i64) (local $temp i64) - (local $10 i64) - (local $11 i64) - (local $front|12 i32) - (local $back|13 i32) - (local $temp|14 i32) + (local $front|8 i32) + (local $back|9 i32) + (local $temp|10 i32) local.get $len i32.const 1 i32.gt_u @@ -3327,63 +3391,17 @@ i32.sub local.set $back local.get $front - i64.load $0 - local.tee $7 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $7 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $8 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $8 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr + i64.load + call $~lib/polyfills/bswap local.set $temp local.get $front local.get $back - i64.load $0 - local.tee $10 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $10 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $11 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $11 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - i64.store $0 + i64.load + call $~lib/polyfills/bswap + i64.store local.get $back local.get $temp - i64.store $0 + i64.store local.get $i i32.const 8 i32.add @@ -3409,7 +3427,7 @@ i32.const 0 i32.shl i32.add - local.set $front|12 + local.set $front|8 local.get $ptr local.get $tail local.get $i @@ -3417,17 +3435,17 @@ i32.const 0 i32.shl i32.add - local.set $back|13 - local.get $front|12 - i32.load8_u $0 - local.set $temp|14 - local.get $front|12 - local.get $back|13 - i32.load8_u $0 - i32.store8 $0 - local.get $back|13 - local.get $temp|14 - i32.store8 $0 + local.set $back|9 + local.get $front|8 + i32.load8_u + local.set $temp|10 + local.get $front|8 + local.get $back|9 + i32.load8_u + i32.store8 + local.get $back|9 + local.get $temp|10 + i32.store8 local.get $i i32.const 1 i32.add @@ -3439,11 +3457,11 @@ ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/util/bytes/REVERSE (param $ptr i32) (param $len i32) (local $i i32) @@ -3503,19 +3521,19 @@ i32.add local.set $back local.get $back - i32.load $0 + i32.load i32.const 16 i32.rotr local.set $temp local.get $back local.get $front - i32.load $0 + i32.load i32.const 16 i32.rotr - i32.store $0 + i32.store local.get $front local.get $temp - i32.store $0 + i32.store local.get $i i32.const 2 i32.add @@ -3547,15 +3565,15 @@ i32.add local.set $back|9 local.get $front|8 - i32.load16_u $0 + i32.load16_u local.set $temp|10 local.get $front|8 local.get $back|9 - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $back|9 local.get $temp|10 - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -3567,28 +3585,28 @@ ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $std/array/Ref#get:v (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $start:std/array~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value @@ -3762,14 +3780,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 6700 local.get $d2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -3785,7 +3803,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -3812,7 +3830,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits local.get $buffer local.get $offset @@ -3820,7 +3838,7 @@ i32.shl i32.add local.get $digits - i32.store $0 + i32.store end local.get $num i32.const 10 @@ -3835,7 +3853,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits|12 local.get $buffer local.get $offset @@ -3843,7 +3861,7 @@ i32.shl i32.add local.get $digits|12 - i32.store $0 + i32.store else local.get $offset i32.const 1 @@ -3859,7 +3877,7 @@ i32.shl i32.add local.get $digit - i32.store16 $0 + i32.store16 end ) (func $~lib/util/number/utoa_hex_lut (param $buffer i32) (param $num i64) (param $offset i32) @@ -3885,8 +3903,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $num i64.const 8 i64.shr_u @@ -3905,8 +3923,8 @@ i32.const 6 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end ) (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) @@ -4030,8 +4048,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num local.get $shift i64.shr_u @@ -4066,8 +4084,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -4090,7 +4108,7 @@ ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $start:std/array~anonymous|26 (param $value i32) (param $$1 i32) (param $$2 i32) (result f32) local.get $value @@ -4284,25 +4302,25 @@ (func $std/array/Dim#set:height (param $this i32) (param $height i32) local.get $this local.get $height - i32.store $0 + i32.store ) (func $std/array/Dim#set:width (param $this i32) (param $width i32) local.get $this local.get $width - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/util/sort/insertionSort (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) @@ -4349,14 +4367,14 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $a local.get $ptr local.get $i i32.const 2 i32.shl i32.add - f32.load $0 offset=4 + f32.load offset=4 local.set $b local.get $b local.set $min @@ -4367,8 +4385,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.le_s if @@ -4392,15 +4410,15 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s if @@ -4410,7 +4428,7 @@ i32.shl i32.add local.get $a - f32.store $0 offset=8 + f32.store offset=8 local.get $j i32.const 1 i32.sub @@ -4428,7 +4446,7 @@ i32.shl i32.add local.get $max - f32.store $0 offset=8 + f32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -4440,15 +4458,15 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s if @@ -4458,7 +4476,7 @@ i32.shl i32.add local.get $a - f32.store $0 offset=4 + f32.store offset=4 local.get $j i32.const 1 i32.sub @@ -4476,7 +4494,7 @@ i32.shl i32.add local.get $min - f32.store $0 offset=4 + f32.store offset=4 local.get $i i32.const 2 i32.add @@ -4503,7 +4521,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $ptr local.get $j i32.const 1 @@ -4512,12 +4530,12 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s if @@ -4531,18 +4549,18 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 + f32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - f32.load $0 + f32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $7) i32.const 31 i32.shr_u else @@ -4568,7 +4586,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $tmp local.get $ptr local.get $i @@ -4580,8 +4598,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 - f32.store $0 + f32.load + f32.store local.get $i i32.const 1 i32.add @@ -4592,7 +4610,7 @@ i32.shl i32.add local.get $tmp - f32.store $0 + f32.store local.get $k i32.const 1 i32.sub @@ -4611,18 +4629,18 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 + f32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - f32.load $0 + f32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.ge_s else @@ -4729,8 +4747,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 - f32.store $0 + f32.load + f32.store local.get $i i32.const 1 i32.sub @@ -4757,8 +4775,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 - f32.store $0 + f32.load offset=4 + f32.store local.get $j i32.const 1 i32.add @@ -4778,22 +4796,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $a local.get $buffer local.get $i i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.lt_s if @@ -4803,7 +4821,7 @@ i32.shl i32.add local.get $a - f32.store $0 + f32.store local.get $j i32.const 1 i32.sub @@ -4815,7 +4833,7 @@ i32.shl i32.add local.get $b - f32.store $0 + f32.store local.get $i i32.const 1 i32.add @@ -4908,14 +4926,14 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $a local.get $ptr local.get $i i32.const 3 i32.shl i32.add - f64.load $0 offset=8 + f64.load offset=8 local.set $b local.get $b local.set $min @@ -4926,8 +4944,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.le_s if @@ -4951,15 +4969,15 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s if @@ -4969,7 +4987,7 @@ i32.shl i32.add local.get $a - f64.store $0 offset=16 + f64.store offset=16 local.get $j i32.const 1 i32.sub @@ -4987,7 +5005,7 @@ i32.shl i32.add local.get $max - f64.store $0 offset=16 + f64.store offset=16 block $while-break|2 loop $while-continue|2 local.get $j @@ -4999,15 +5017,15 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s if @@ -5017,7 +5035,7 @@ i32.shl i32.add local.get $a - f64.store $0 offset=8 + f64.store offset=8 local.get $j i32.const 1 i32.sub @@ -5035,7 +5053,7 @@ i32.shl i32.add local.get $min - f64.store $0 offset=8 + f64.store offset=8 local.get $i i32.const 2 i32.add @@ -5062,7 +5080,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $ptr local.get $j i32.const 1 @@ -5071,12 +5089,12 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s if @@ -5090,18 +5108,18 @@ i32.const 3 i32.shl i32.add - f64.load $0 offset=8 + f64.load offset=8 local.get $ptr local.get $j i32.const 3 i32.shl i32.add - f64.load $0 + f64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $8) i32.const 31 i32.shr_u else @@ -5127,7 +5145,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $tmp local.get $ptr local.get $i @@ -5139,8 +5157,8 @@ i32.const 3 i32.shl i32.add - f64.load $0 - f64.store $0 + f64.load + f64.store local.get $i i32.const 1 i32.add @@ -5151,7 +5169,7 @@ i32.shl i32.add local.get $tmp - f64.store $0 + f64.store local.get $k i32.const 1 i32.sub @@ -5170,18 +5188,18 @@ i32.const 3 i32.shl i32.add - f64.load $0 offset=8 + f64.load offset=8 local.get $ptr local.get $j i32.const 3 i32.shl i32.add - f64.load $0 + f64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.ge_s else @@ -5237,8 +5255,8 @@ i32.const 3 i32.shl i32.add - f64.load $0 - f64.store $0 + f64.load + f64.store local.get $i i32.const 1 i32.sub @@ -5265,8 +5283,8 @@ i32.const 3 i32.shl i32.add - f64.load $0 offset=8 - f64.store $0 + f64.load offset=8 + f64.store local.get $j i32.const 1 i32.add @@ -5286,22 +5304,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $a local.get $buffer local.get $i i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.lt_s if @@ -5311,7 +5329,7 @@ i32.shl i32.add local.get $a - f64.store $0 + f64.store local.get $j i32.const 1 i32.sub @@ -5323,7 +5341,7 @@ i32.shl i32.add local.get $b - f64.store $0 + f64.store local.get $i i32.const 1 i32.add @@ -5416,14 +5434,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $b local.get $b local.set $min @@ -5434,8 +5452,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -5459,15 +5477,15 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -5477,7 +5495,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=8 + i32.store offset=8 local.get $j i32.const 1 i32.sub @@ -5495,7 +5513,7 @@ i32.shl i32.add local.get $max - i32.store $0 offset=8 + i32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -5507,15 +5525,15 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -5525,7 +5543,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=4 + i32.store offset=4 local.get $j i32.const 1 i32.sub @@ -5543,7 +5561,7 @@ i32.shl i32.add local.get $min - i32.store $0 offset=4 + i32.store offset=4 local.get $i i32.const 2 i32.add @@ -5570,7 +5588,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $ptr local.get $j i32.const 1 @@ -5579,12 +5597,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -5598,18 +5616,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -5635,7 +5653,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $tmp local.get $ptr local.get $i @@ -5647,8 +5665,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.add @@ -5659,7 +5677,7 @@ i32.shl i32.add local.get $tmp - i32.store $0 + i32.store local.get $k i32.const 1 i32.sub @@ -5678,18 +5696,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -5745,8 +5763,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.sub @@ -5773,8 +5791,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $j i32.const 1 i32.add @@ -5794,22 +5812,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $buffer local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -5819,7 +5837,7 @@ i32.shl i32.add local.get $a - i32.store $0 + i32.store local.get $j i32.const 1 i32.sub @@ -5831,7 +5849,7 @@ i32.shl i32.add local.get $b - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -5895,14 +5913,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $b local.get $b local.set $min @@ -5913,8 +5931,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -5938,15 +5956,15 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -5956,7 +5974,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=8 + i32.store offset=8 local.get $j i32.const 1 i32.sub @@ -5974,7 +5992,7 @@ i32.shl i32.add local.get $max - i32.store $0 offset=8 + i32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -5986,15 +6004,15 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -6004,7 +6022,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=4 + i32.store offset=4 local.get $j i32.const 1 i32.sub @@ -6022,7 +6040,7 @@ i32.shl i32.add local.get $min - i32.store $0 offset=4 + i32.store offset=4 local.get $i i32.const 2 i32.add @@ -6049,7 +6067,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $ptr local.get $j i32.const 1 @@ -6058,12 +6076,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -6077,18 +6095,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -6114,7 +6132,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $tmp local.get $ptr local.get $i @@ -6126,8 +6144,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.add @@ -6138,7 +6156,7 @@ i32.shl i32.add local.get $tmp - i32.store $0 + i32.store local.get $k i32.const 1 i32.sub @@ -6157,18 +6175,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -6224,8 +6242,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.sub @@ -6252,8 +6270,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $j i32.const 1 i32.add @@ -6273,22 +6291,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $buffer local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -6298,7 +6316,7 @@ i32.shl i32.add local.get $a - i32.store $0 + i32.store local.get $j i32.const 1 i32.sub @@ -6310,7 +6328,7 @@ i32.shl i32.add local.get $b - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -6393,11 +6411,11 @@ ) (func $std/array/Dim#get:height (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $std/array/Dim#get:width (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $start:std/array~anonymous|48 (param $a i32) (param $b i32) (result i32) local.get $a @@ -6422,7 +6440,7 @@ (func $~lib/array/Array<~lib/array/Array>#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -6431,30 +6449,30 @@ (func $~lib/array/Array<~lib/array/Array>#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array<~lib/array/Array>#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array<~lib/array/Array>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array<~lib/array/Array>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/array/Array>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array>#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -6463,42 +6481,42 @@ (func $~lib/array/Array>#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array>#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $std/array/Proxy#set:x (param $this i32) (param $x i32) local.get $this local.get $x - i32.store $0 + i32.store ) (func $~lib/array/Array>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $std/array/Proxy#get:x (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String|null>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array<~lib/string/String|null>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -6550,9 +6568,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -6585,10 +6603,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -6616,7 +6634,7 @@ (func $~lib/array/Array<~lib/string/String>#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -6625,29 +6643,29 @@ (func $~lib/array/Array<~lib/string/String>#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array<~lib/string/String>#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array<~lib/string/String>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/util/number/itoa_buffered (param $buffer i32) (param $value i32) (result i32) (local $sign i32) @@ -6677,7 +6695,7 @@ drop local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $value i32.sub @@ -6707,7 +6725,7 @@ local.get $value i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 local.get $sign i32.add @@ -6775,7 +6793,7 @@ local.get $value i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end @@ -7052,7 +7070,7 @@ i32.const 65535 i32.and i32.add - i32.store16 $0 + i32.store16 end local.get $kappa i32.const 1 @@ -7087,7 +7105,7 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.get $one_exp i64.extend_i32_s i64.shl @@ -7103,7 +7121,7 @@ i32.add local.set $lastp local.get $lastp - i32.load16_u $0 + i32.load16_u local.set $digit loop $while-continue|3 local.get $rest @@ -7154,7 +7172,7 @@ end local.get $lastp local.get $digit - i32.store16 $0 + i32.store16 local.get $len return end @@ -7200,7 +7218,7 @@ i32.const 65535 i32.and i32.add - i32.store16 $0 + i32.store16 end local.get $p2 local.get $mask @@ -7226,7 +7244,7 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u i64.mul local.set $wp_w_frc local.get $buffer @@ -7250,7 +7268,7 @@ i32.add local.set $lastp|35 local.get $lastp|35 - i32.load16_u $0 + i32.load16_u local.set $digit|36 loop $while-continue|6 local.get $rest|32 @@ -7301,7 +7319,7 @@ end local.get $lastp|35 local.get $digit|36 - i32.store16 $0 + i32.store16 local.get $len return end @@ -7344,7 +7362,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $length i32.const 2 i32.add @@ -7378,7 +7396,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -7396,7 +7414,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $kk i32.const 2 i32.add @@ -7428,14 +7446,14 @@ i32.sub i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $buffer local.get $kk i32.const 1 i32.shl i32.add i32.const 46 - i32.store16 $0 + i32.store16 local.get $length i32.const 1 i32.add @@ -7465,14 +7483,14 @@ local.get $length i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $buffer i32.const 48 i32.const 46 i32.const 16 i32.shl i32.or - i32.store $0 + i32.store i32.const 2 local.set $i|7 loop $for-loop|1 @@ -7486,7 +7504,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $i|7 i32.const 1 i32.add @@ -7505,7 +7523,7 @@ if local.get $buffer i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 block $~lib/util/number/genExponent|inlined.0 (result i32) local.get $buffer i32.const 4 @@ -7550,7 +7568,7 @@ i32.const 43 local.get $sign select - i32.store16 $0 + i32.store16 local.get $decimals br $~lib/util/number/genExponent|inlined.0 end @@ -7573,15 +7591,15 @@ local.get $len i32.const 2 i32.sub - memory.copy $0 $0 + memory.copy local.get $buffer i32.const 46 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $buffer local.get $len i32.add i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $length block $~lib/util/number/genExponent|inlined.1 (result i32) local.get $buffer @@ -7629,7 +7647,7 @@ i32.const 43 local.get $sign|18 select - i32.store16 $0 + i32.store16 local.get $decimals|19 br $~lib/util/number/genExponent|inlined.1 end @@ -7648,26 +7666,30 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (param $buffer i32) (param $value f64) (result i32) + (func $~lib/util/number/dtoa_core (param $buffer i32) (param $value f64) (param $isSingle i32) (result i32) (local $sign i32) - (local $value|3 f64) - (local $buffer|4 i32) - (local $sign|5 i32) - (local $uv i64) - (local $exp i32) - (local $sid i64) + (local $value|4 f64) + (local $buffer|5 i32) + (local $sign|6 i32) + (local $isSingle|7 i32) (local $frc i64) + (local $exp i32) + (local $uv i32) + (local $sid i32) + (local $uv|12 i64) + (local $sid|13 i64) (local $f i64) (local $e i32) - (local $frc|12 i64) - (local $exp|13 i32) + (local $isSingle|16 i32) + (local $frc|17 i64) + (local $exp|18 i32) (local $off i32) (local $m i32) (local $minExp i32) (local $dk f64) (local $k i32) (local $index i32) - (local $off|20 i32) + (local $off|25 i32) (local $frc_pow i64) (local $exp_pow i32) (local $u i64) @@ -7683,28 +7705,28 @@ (local $e1 i32) (local $e2 i32) (local $w_exp i32) - (local $u|36 i64) - (local $v|37 i64) - (local $u0|38 i64) - (local $v0|39 i64) - (local $u1|40 i64) - (local $v1|41 i64) - (local $l|42 i64) - (local $t|43 i64) - (local $w|44 i64) + (local $u|41 i64) + (local $v|42 i64) + (local $u0|43 i64) + (local $v0|44 i64) + (local $u1|45 i64) + (local $v1|46 i64) + (local $l|47 i64) + (local $t|48 i64) + (local $w|49 i64) (local $wp_frc i64) - (local $e1|46 i32) - (local $e2|47 i32) + (local $e1|51 i32) + (local $e2|52 i32) (local $wp_exp i32) - (local $u|49 i64) - (local $v|50 i64) - (local $u0|51 i64) - (local $v0|52 i64) - (local $u1|53 i64) - (local $v1|54 i64) - (local $l|55 i64) - (local $t|56 i64) - (local $w|57 i64) + (local $u|54 i64) + (local $v|55 i64) + (local $u0|56 i64) + (local $v0|57 i64) + (local $u1|58 i64) + (local $v1|59 i64) + (local $l|60 i64) + (local $t|61 i64) + (local $w|62 i64) (local $wm_frc i64) (local $delta i64) (local $len i32) @@ -7719,81 +7741,131 @@ local.set $value local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 end block $~lib/util/number/grisu2|inlined.0 (result i32) local.get $value - local.set $value|3 + local.set $value|4 local.get $buffer - local.set $buffer|4 + local.set $buffer|5 local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp + local.set $sign|6 + local.get $isSingle + local.set $isSingle|7 + local.get $isSingle|7 + if + local.get $value|4 + f32.demote_f64 + i32.reinterpret_f32 + local.set $uv + local.get $uv + i32.const 2139095040 + i32.and + i32.const 23 + i32.shr_u + local.set $exp + local.get $uv + i32.const 8388607 + i32.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 23 + i64.shl + local.get $sid + i64.extend_i32_u + i64.add + local.set $frc + local.get $exp + if (result i32) + local.get $exp + else + i32.const 1 + end + i32.const 127 + i32.const 23 + i32.add + i32.sub + local.set $exp + else + local.get $value|4 + i64.reinterpret_f64 + local.set $uv|12 + local.get $uv|12 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv|12 + i64.const 4503599627370495 + i64.and + local.set $sid|13 + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid|13 + i64.add + local.set $frc + local.get $exp + if (result i32) + local.get $exp + else + i32.const 1 + end + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + end local.get $frc local.set $f local.get $exp local.set $e + local.get $isSingle|7 + local.set $isSingle|16 local.get $f i64.const 1 i64.shl i64.const 1 i64.add - local.set $frc|12 + local.set $frc|17 local.get $e i32.const 1 i32.sub - local.set $exp|13 - local.get $frc|12 + local.set $exp|18 + local.get $frc|17 i64.clz i32.wrap_i64 local.set $off - local.get $frc|12 + local.get $frc|17 local.get $off i64.extend_i32_s i64.shl - local.set $frc|12 - local.get $exp|13 + local.set $frc|17 + local.get $exp|18 local.get $off i32.sub - local.set $exp|13 + local.set $exp|18 i32.const 1 local.get $f - i64.const 4503599627370496 + local.get $isSingle|16 + if (result i64) + i64.const 8388608 + else + i64.const 4503599627370496 + end i64.eq i32.add local.set $m - local.get $frc|12 + local.get $frc|17 global.set $~lib/util/number/_frc_plus local.get $f local.get $m @@ -7804,12 +7876,12 @@ local.get $e local.get $m i32.sub - local.get $exp|13 + local.get $exp|18 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $exp|13 + local.get $exp|18 global.set $~lib/util/number/_exp global.get $~lib/util/number/_exp local.set $minExp @@ -7849,26 +7921,26 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load global.set $~lib/util/number/_frc_pow i32.const 12192 local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $frc i64.clz i32.wrap_i64 - local.set $off|20 + local.set $off|25 local.get $frc - local.get $off|20 + local.get $off|25 i64.extend_i32_s i64.shl local.set $frc local.get $exp - local.get $off|20 + local.get $off|25 i32.sub local.set $exp global.get $~lib/util/number/_frc_pow @@ -7953,63 +8025,63 @@ local.set $w_exp block $~lib/util/number/umul64f|inlined.1 (result i64) global.get $~lib/util/number/_frc_plus - local.set $u|36 + local.set $u|41 local.get $frc_pow - local.set $v|37 - local.get $u|36 + local.set $v|42 + local.get $u|41 i64.const 4294967295 i64.and - local.set $u0|38 - local.get $v|37 + local.set $u0|43 + local.get $v|42 i64.const 4294967295 i64.and - local.set $v0|39 - local.get $u|36 + local.set $v0|44 + local.get $u|41 i64.const 32 i64.shr_u - local.set $u1|40 - local.get $v|37 + local.set $u1|45 + local.get $v|42 i64.const 32 i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 + local.set $v1|46 + local.get $u0|43 + local.get $v0|44 i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 + local.set $l|47 + local.get $u1|45 + local.get $v0|44 i64.mul - local.get $l|42 + local.get $l|47 i64.const 32 i64.shr_u i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 + local.set $t|48 + local.get $u0|43 + local.get $v1|46 i64.mul - local.get $t|43 + local.get $t|48 i64.const 4294967295 i64.and i64.add - local.set $w|44 - local.get $w|44 + local.set $w|49 + local.get $w|49 i64.const 2147483647 i64.add - local.set $w|44 - local.get $t|43 + local.set $w|49 + local.get $t|48 i64.const 32 i64.shr_u - local.set $t|43 - local.get $w|44 + local.set $t|48 + local.get $w|49 i64.const 32 i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 + local.set $w|49 + local.get $u1|45 + local.get $v1|46 i64.mul - local.get $t|43 + local.get $t|48 i64.add - local.get $w|44 + local.get $w|49 i64.add br $~lib/util/number/umul64f|inlined.1 end @@ -8018,11 +8090,11 @@ local.set $wp_frc block $~lib/util/number/umul64e|inlined.1 (result i32) global.get $~lib/util/number/_exp - local.set $e1|46 + local.set $e1|51 local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 + local.set $e2|52 + local.get $e1|51 + local.get $e2|52 i32.add i32.const 64 i32.add @@ -8031,63 +8103,63 @@ local.set $wp_exp block $~lib/util/number/umul64f|inlined.2 (result i64) global.get $~lib/util/number/_frc_minus - local.set $u|49 + local.set $u|54 local.get $frc_pow - local.set $v|50 - local.get $u|49 + local.set $v|55 + local.get $u|54 i64.const 4294967295 i64.and - local.set $u0|51 - local.get $v|50 + local.set $u0|56 + local.get $v|55 i64.const 4294967295 i64.and - local.set $v0|52 - local.get $u|49 + local.set $v0|57 + local.get $u|54 i64.const 32 i64.shr_u - local.set $u1|53 - local.get $v|50 + local.set $u1|58 + local.get $v|55 i64.const 32 i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 + local.set $v1|59 + local.get $u0|56 + local.get $v0|57 i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 + local.set $l|60 + local.get $u1|58 + local.get $v0|57 i64.mul - local.get $l|55 + local.get $l|60 i64.const 32 i64.shr_u i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 + local.set $t|61 + local.get $u0|56 + local.get $v1|59 i64.mul - local.get $t|56 + local.get $t|61 i64.const 4294967295 i64.and i64.add - local.set $w|57 - local.get $w|57 + local.set $w|62 + local.get $w|62 i64.const 2147483647 i64.add - local.set $w|57 - local.get $t|56 + local.set $w|62 + local.get $t|61 i64.const 32 i64.shr_u - local.set $t|56 - local.get $w|57 + local.set $t|61 + local.get $w|62 i64.const 32 i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 + local.set $w|62 + local.get $u1|58 + local.get $v1|59 i64.mul - local.get $t|56 + local.get $t|61 i64.add - local.get $w|57 + local.get $w|62 i64.add br $~lib/util/number/umul64f|inlined.2 end @@ -8098,13 +8170,13 @@ local.get $wm_frc i64.sub local.set $delta - local.get $buffer|4 + local.get $buffer|5 local.get $w_frc local.get $w_exp local.get $wp_frc local.get $wp_exp local.get $delta - local.get $sign|5 + local.get $sign|6 call $~lib/util/number/genDigits br $~lib/util/number/grisu2|inlined.0 end @@ -8125,77 +8197,90 @@ i32.add return ) - (func $~lib/util/number/dtoa_buffered (param $buffer i32) (param $value f64) (result i32) + (func $~lib/util/number/dtoa_buffered (param $buffer i32) (param $value f64) (result i32) + (local $buffer|2 i32) + (local $value|3 f64) + (local $isSingle i32) (local $sign i32) - local.get $value - f64.const 0 - f64.eq - if - local.get $buffer - i32.const 48 - i32.store16 $0 - local.get $buffer - i32.const 46 - i32.store16 $0 offset=2 + block $~lib/util/number/dtoa_buffered_impl|inlined.0 (result i32) local.get $buffer - i32.const 48 - i32.store16 $0 offset=4 - i32.const 3 - return - end - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - local.get $value + local.set $buffer|2 local.get $value - f64.ne + local.set $value|3 + i32.const 0 + local.set $isSingle + local.get $value|3 + f64.const 0 + f64.eq if - local.get $buffer - i32.const 78 - i32.store16 $0 - local.get $buffer - i32.const 97 - i32.store16 $0 offset=2 - local.get $buffer - i32.const 78 - i32.store16 $0 offset=4 + local.get $buffer|2 + i32.const 48 + i32.store16 + local.get $buffer|2 + i32.const 46 + i32.store16 offset=2 + local.get $buffer|2 + i32.const 48 + i32.store16 offset=4 i32.const 3 - return - else - local.get $value - f64.const 0 - f64.lt - local.set $sign - local.get $sign + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + local.get $value|3 + local.get $value|3 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value|3 + local.get $value|3 + f64.ne if - local.get $buffer - i32.const 45 - i32.store16 $0 - local.get $buffer - i32.const 2 + local.get $buffer|2 + i32.const 78 + i32.store16 + local.get $buffer|2 + i32.const 97 + i32.store16 offset=2 + local.get $buffer|2 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + else + local.get $value|3 + f64.const 0 + f64.lt + local.set $sign + local.get $sign + if + local.get $buffer|2 + i32.const 45 + i32.store16 + local.get $buffer|2 + i32.const 2 + i32.add + local.set $buffer|2 + end + local.get $buffer|2 + i64.const 29555310648492105 + i64.store + local.get $buffer|2 + i64.const 34058970405077102 + i64.store offset=8 + i32.const 8 + local.get $sign i32.add - local.set $buffer + br $~lib/util/number/dtoa_buffered_impl|inlined.0 end - local.get $buffer - i64.const 29555310648492105 - i64.store $0 - local.get $buffer - i64.const 34058970405077102 - i64.store $0 offset=8 - i32.const 8 - local.get $sign - i32.add - return + unreachable end - unreachable + local.get $buffer|2 + local.get $value|3 + local.get $isSingle + call $~lib/util/number/dtoa_core + br $~lib/util/number/dtoa_buffered_impl|inlined.0 end - local.get $buffer - local.get $value - call $~lib/util/number/dtoa_core return ) (func $std/array/Ref#toString (param $this i32) (result i32) @@ -8204,11 +8289,11 @@ ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/util/number/itoa_buffered (param $buffer i32) (param $value i32) (result i32) (local $sign i32) @@ -8262,7 +8347,7 @@ i64.const 48 i64.shl i64.or - i64.store $0 + i64.store i32.const 4 return end @@ -8272,7 +8357,7 @@ drop local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $value i32.sub @@ -8304,7 +8389,7 @@ i32.extend8_s i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 local.get $sign i32.add @@ -8377,7 +8462,7 @@ i32.and i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end @@ -8415,11 +8500,11 @@ ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/util/number/itoa_buffered (param $buffer i32) (param $value i32) (result i32) (local $sign i32) @@ -8477,7 +8562,7 @@ i64.const 48 i64.shl i64.or - i64.store $0 + i64.store local.get $buffer i32.const 8 i32.add @@ -8492,13 +8577,13 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store i32.const 6 return end local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $value i32.sub @@ -8530,7 +8615,7 @@ i32.extend16_s i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 local.get $sign i32.add @@ -8569,11 +8654,11 @@ ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/util/number/decimalCount64High (param $value i64) (result i32) local.get $value @@ -8692,14 +8777,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 6700 local.get $c2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -8715,20 +8800,20 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store i32.const 6700 local.get $b1 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 6700 local.get $b2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -8744,7 +8829,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -8791,7 +8876,7 @@ i32.const 48 i64.extend_i32_s i64.or - i64.store16 $0 + i64.store16 i32.const 1 return end @@ -8854,11 +8939,11 @@ ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/util/number/itoa_buffered (param $buffer i32) (param $value i64) (result i32) (local $sign i32) @@ -8892,7 +8977,7 @@ drop local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 i64.const 0 local.get $value i64.sub @@ -8923,7 +9008,7 @@ i32.const 48 i64.extend_i32_s i64.or - i64.store16 $0 + i64.store16 i32.const 1 local.get $sign i32.add @@ -8988,16 +9073,16 @@ ) (func $~lib/array/Array<~lib/array/Array>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/array/Array>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array<~lib/array/Array>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/util/number/itoa_buffered (param $buffer i32) (param $value i32) (result i32) (local $sign i32) @@ -9035,7 +9120,7 @@ i32.and i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end @@ -9073,42 +9158,42 @@ ) (func $~lib/array/Array<~lib/array/Array>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/array/Array>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array<~lib/array/Array>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/__collect i32.const 0 @@ -9214,16 +9299,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9240,7 +9320,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9252,7 +9332,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9264,7 +9344,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9276,7 +9356,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9288,7 +9368,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9300,7 +9380,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9312,7 +9392,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9324,7 +9404,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9336,7 +9416,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9348,7 +9428,7 @@ ) (func $~lib/array/Array<~lib/string/String>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9360,7 +9440,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9372,7 +9452,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9384,7 +9464,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9396,7 +9476,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9408,7 +9488,7 @@ ) (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9420,7 +9500,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9432,7 +9512,7 @@ ) (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9444,7 +9524,7 @@ ) (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9456,7 +9536,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9468,7 +9548,7 @@ ) (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9480,7 +9560,7 @@ ) (func $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9492,7 +9572,7 @@ ) (func $~lib/array/Array<~lib/array/Array>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9504,7 +9584,7 @@ ) (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9516,7 +9596,7 @@ ) (func $~lib/array/Array>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9528,7 +9608,7 @@ ) (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9540,7 +9620,7 @@ ) (func $~lib/array/Array<~lib/string/String|null>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String|null>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9552,7 +9632,7 @@ ) (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9564,7 +9644,7 @@ ) (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9576,7 +9656,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9588,7 +9668,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9600,7 +9680,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9612,7 +9692,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9624,7 +9704,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9636,7 +9716,7 @@ ) (func $~lib/array/Array<~lib/array/Array>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9648,7 +9728,7 @@ ) (func $~lib/array/Array<~lib/array/Array>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/array/Array>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9660,7 +9740,7 @@ ) (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9672,7 +9752,7 @@ ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9684,7 +9764,7 @@ ) (func $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -9746,7 +9826,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $std/array/Ref $~lib/typedarray/Uint8Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void> $~lib/array/Array<~lib/string/String> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32> $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool> $std/array/Dim $~lib/array/Array $~lib/function/Function<%28f32%2Cf32%29=>i32> $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32> $~lib/array/Array<~lib/array/Array> $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32> $std/array/Proxy $~lib/array/Array> $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32> $~lib/array/Array<~lib/string/String|null> $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32> $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array<~lib/array/Array> $~lib/array/Array<~lib/array/Array> $~lib/array/Array<~lib/array/Array<~lib/array/Array>> $~lib/array/Array<~lib/array/Array<~lib/string/String|null>> $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array> $invalid end return @@ -10003,10 +10083,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -10015,13 +10095,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -10029,7 +10109,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -10037,7 +10117,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -10045,7 +10125,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -10078,7 +10158,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10087,20 +10167,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10108,7 +10188,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10116,7 +10196,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10137,7 +10217,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -10146,13 +10226,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $v call $std/array/Ref#set:v @@ -10174,10 +10254,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -10186,13 +10266,13 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer @@ -10200,7 +10280,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -10208,7 +10288,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -10233,7 +10313,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10242,20 +10322,20 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -10263,7 +10343,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -10284,7 +10364,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -10293,20 +10373,20 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -10324,21 +10404,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.get $value @@ -10363,12 +10443,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -10389,13 +10469,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -10411,14 +10491,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -10441,7 +10521,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $len i32.eqz if @@ -10449,7 +10529,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length local.set $len @@ -10458,7 +10538,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length i32.ne @@ -10499,7 +10579,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/array/Array#__get @@ -10507,7 +10587,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/array/Array#__get @@ -10547,7 +10627,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -10569,7 +10649,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $value local.get $start @@ -10591,21 +10671,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.get $value @@ -10630,12 +10710,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -10656,13 +10736,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -10678,14 +10758,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -10708,7 +10788,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $len i32.eqz if @@ -10716,7 +10796,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length local.set $len @@ -10725,7 +10805,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length i32.ne @@ -10766,7 +10846,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/array/Array#__get @@ -10774,7 +10854,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/array/Array#__get @@ -10814,7 +10894,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -10836,7 +10916,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $value local.get $start @@ -10858,21 +10938,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.get $value @@ -10897,12 +10977,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -10924,13 +11004,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -10946,14 +11026,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -10980,7 +11060,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $len i32.eqz if @@ -10988,7 +11068,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length local.set $len @@ -10997,7 +11077,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length i32.ne @@ -11039,7 +11119,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -11051,7 +11131,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -11069,7 +11149,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -11090,7 +11170,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -11121,7 +11201,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -11129,7 +11209,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -11170,7 +11250,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -11192,7 +11272,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $value local.get $start @@ -11214,12 +11294,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -11240,22 +11320,22 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.tee $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $buffer local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 2 @@ -11287,12 +11367,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -11319,7 +11399,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -11369,10 +11449,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -11380,7 +11460,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -11398,12 +11478,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $oldLen @@ -11422,7 +11502,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.get $oldLen @@ -11430,12 +11510,12 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $len call $~lib/array/Array#set:length_ @@ -11458,13 +11538,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -11480,14 +11560,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -11511,12 +11591,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ local.set $len @@ -11535,7 +11615,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $len @@ -11545,13 +11625,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $val local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $len call $~lib/array/Array#set:length_ @@ -11573,13 +11653,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -11606,7 +11686,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -11617,7 +11697,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -11625,7 +11705,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -11646,7 +11726,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 2 @@ -11656,7 +11736,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -11674,12 +11754,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -11701,12 +11781,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -11734,14 +11814,14 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -11769,12 +11849,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length_ local.set $thisLen @@ -11782,7 +11862,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length_ local.set $otherLen @@ -11810,12 +11890,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:dataStart local.set $outStart @@ -11830,11 +11910,11 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:dataStart local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $outStart local.get $thisSize i32.add @@ -11842,13 +11922,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:dataStart local.get $otherLen i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $out local.set $8 global.get $~lib/memory/__stack_pointer @@ -11889,12 +11969,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 + i32.store local.get $26 call $~lib/array/Array#get:dataStart local.set $ptr @@ -11902,7 +11982,7 @@ local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 + i32.store local.get $26 call $~lib/array/Array#get:length_ local.set $len @@ -12016,7 +12096,7 @@ local.get $count i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $this local.set $26 global.get $~lib/memory/__stack_pointer @@ -12035,7 +12115,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -12053,7 +12133,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $target local.get $start @@ -12076,7 +12156,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $len i32.eqz if @@ -12084,7 +12164,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length local.set $len @@ -12093,7 +12173,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length i32.ne @@ -12134,7 +12214,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/array/Array#__get @@ -12142,7 +12222,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/array/Array#__get @@ -12184,12 +12264,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ i32.const 1 @@ -12204,7 +12284,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -12217,17 +12297,17 @@ i32.sub i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $ptr local.get $value - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $len call $~lib/array/Array#set:length_ @@ -12253,12 +12333,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ local.set $len @@ -12277,12 +12357,12 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $base local.get $base - i32.load $0 + i32.load local.set $element local.get $len i32.const 1 @@ -12295,7 +12375,7 @@ local.get $lastIndex i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy i32.const 0 drop local.get $base @@ -12304,12 +12384,12 @@ i32.shl i32.add i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $lastIndex call $~lib/array/Array#set:length_ @@ -12345,12 +12425,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:length_ local.set $len @@ -12422,12 +12502,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $slice - i32.store $0 offset=4 + i32.store offset=4 local.get $slice local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:dataStart local.set $sliceBase @@ -12435,7 +12515,7 @@ local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:dataStart local.get $start @@ -12450,7 +12530,7 @@ local.get $len i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $slice local.set $17 global.get $~lib/memory/__stack_pointer @@ -12469,7 +12549,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -12489,7 +12569,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $start local.get $end @@ -12510,19 +12590,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ call $~lib/util/bytes/REVERSE @@ -12544,19 +12624,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ call $~lib/util/bytes/REVERSE @@ -12578,19 +12658,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ call $~lib/util/bytes/REVERSE @@ -12612,12 +12692,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -12638,13 +12718,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -12660,14 +12740,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $value i32.const 0 drop @@ -12693,12 +12773,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/array/Array#get:length_ local.set $len @@ -12742,7 +12822,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/array/Array#get:dataStart local.set $ptr @@ -12756,7 +12836,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $value i32.eq if @@ -12798,12 +12878,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/array/Array#get:length_ local.set $len @@ -12847,7 +12927,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/array/Array#get:dataStart local.set $ptr @@ -12861,7 +12941,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $value f32.eq if @@ -12903,12 +12983,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/array/Array#get:length_ local.set $len @@ -12952,7 +13032,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/array/Array#get:dataStart local.set $ptr @@ -12966,7 +13046,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $value f64.eq if @@ -13006,12 +13086,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ local.set $len @@ -13051,7 +13131,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $ptr @@ -13065,7 +13145,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $value i32.eq if @@ -13103,7 +13183,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -13118,7 +13198,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ local.set $fromIndex @@ -13127,7 +13207,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $value local.get $fromIndex @@ -13148,14 +13228,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $value local.get $fromIndex @@ -13184,14 +13264,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length_ local.set $len @@ -13235,7 +13315,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:dataStart local.set $ptr @@ -13249,7 +13329,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $elem local.get $elem local.get $value @@ -13305,14 +13385,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length_ local.set $len @@ -13356,7 +13436,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:dataStart local.set $ptr @@ -13370,7 +13450,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $elem local.get $elem local.get $value @@ -13435,12 +13515,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:length_ local.set $len @@ -13494,12 +13574,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $result - i32.store $0 offset=4 + i32.store offset=4 local.get $result local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:dataStart local.set $resultStart @@ -13507,7 +13587,7 @@ local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:dataStart local.set $thisStart @@ -13522,7 +13602,7 @@ local.get $deleteCount i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $start local.get $deleteCount i32.add @@ -13542,13 +13622,13 @@ i32.sub i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy end local.get $this local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 local.get $len local.get $deleteCount @@ -13572,7 +13652,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -13590,7 +13670,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $start local.get $deleteCount @@ -13625,12 +13705,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:length_ local.set $len @@ -13684,12 +13764,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $result - i32.store $0 offset=4 + i32.store offset=4 local.get $result local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:dataStart local.set $resultStart @@ -13697,7 +13777,7 @@ local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:dataStart local.set $thisStart @@ -13712,7 +13792,7 @@ local.get $deleteCount i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $start local.get $deleteCount i32.add @@ -13732,13 +13812,13 @@ i32.sub i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy end local.get $this local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 local.get $len local.get $deleteCount @@ -13763,13 +13843,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -13786,16 +13866,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -13829,13 +13909,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -13862,7 +13942,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -13873,7 +13953,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -13881,7 +13961,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -13916,12 +13996,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:length_ local.set $len @@ -13975,12 +14055,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $result - i32.store $0 offset=4 + i32.store offset=4 local.get $result local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:dataStart local.set $resultStart @@ -13988,7 +14068,7 @@ local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 call $~lib/array/Array#get:dataStart local.set $thisStart @@ -14003,7 +14083,7 @@ local.get $deleteCount i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $start local.get $deleteCount i32.add @@ -14023,13 +14103,13 @@ i32.sub i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy end local.get $this local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 + i32.store local.get $17 local.get $len local.get $deleteCount @@ -14053,12 +14133,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -14079,13 +14159,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -14102,16 +14182,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 1 @@ -14135,13 +14215,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -14168,7 +14248,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -14179,7 +14259,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -14187,7 +14267,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -14202,23 +14282,20 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store i32.const 0 local.set $i local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length_ local.set $len @@ -14230,7 +14307,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length_ local.tee $5 @@ -14244,31 +14321,31 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) if local.get $i local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $6 @@ -14284,7 +14361,7 @@ i32.const -1 local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $6 @@ -14299,12 +14376,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 100 call $~lib/array/Array#push @@ -14329,12 +14406,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#pop drop @@ -14353,21 +14430,18 @@ (local $i i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.const 1 @@ -14382,31 +14456,31 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=4 local.get $3 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store local.get $3 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) if local.get $i local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $3 @@ -14422,7 +14496,7 @@ i32.const -1 local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $3 @@ -14437,12 +14511,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#pop drop @@ -14464,23 +14538,20 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store i32.const 0 local.set $i local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length_ local.set $len @@ -14492,7 +14563,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length_ local.tee $5 @@ -14506,32 +14577,32 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) i32.eqz if i32.const 0 local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $6 @@ -14547,7 +14618,7 @@ i32.const 1 local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $6 @@ -14562,12 +14633,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 100 call $~lib/array/Array#push @@ -14592,12 +14663,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#pop drop @@ -14619,23 +14690,20 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store i32.const 0 local.set $i local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length_ local.set $len @@ -14647,7 +14715,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length_ local.tee $5 @@ -14661,31 +14729,31 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) if i32.const 1 local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $6 @@ -14701,7 +14769,7 @@ i32.const 0 local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $6 @@ -14716,12 +14784,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 100 call $~lib/array/Array#push @@ -14746,12 +14814,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#pop drop @@ -14773,23 +14841,20 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store i32.const 0 local.set $i local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length_ local.set $len @@ -14801,7 +14866,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length_ local.tee $5 @@ -14815,26 +14880,26 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.load + call_indirect (type $5) local.get $i i32.const 1 i32.add @@ -14843,7 +14908,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -14856,12 +14921,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 100 call $~lib/array/Array#push @@ -14884,12 +14949,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#pop drop @@ -14915,7 +14980,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index i32.const 0 i32.eq @@ -14931,7 +14996,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/array/Array#pop drop @@ -14953,7 +15018,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 i32.const 100 local.get $i|4 @@ -14978,7 +15043,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/array/Array#pop drop @@ -15000,7 +15065,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $i|6 i32.const 200 @@ -15047,19 +15112,21 @@ (local $result i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 local.get $this local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array#get:length_ local.set $len @@ -15070,12 +15137,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $outStart @@ -15089,7 +15156,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array#get:length_ local.tee $7 @@ -15104,35 +15171,35 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store local.get $9 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) local.tee $result - i32.store $0 offset=16 + i32.store offset=12 local.get $outStart local.get $i i32.const 2 i32.shl i32.add local.get $result - i32.store $0 + i32.store i32.const 1 drop local.get $out @@ -15149,7 +15216,7 @@ local.get $out local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -15165,21 +15232,21 @@ (local $result f32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 local.get $this local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array#get:length_ local.set $len @@ -15190,12 +15257,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array#get:dataStart local.set $outStart @@ -15209,7 +15276,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array#get:length_ local.tee $7 @@ -15223,26 +15290,26 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store local.get $9 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_f32) + i32.load + call_indirect (type $18) local.set $result local.get $outStart local.get $i @@ -15250,7 +15317,7 @@ i32.shl i32.add local.get $result - f32.store $0 + f32.store i32.const 0 drop local.get $i @@ -15263,7 +15330,7 @@ local.get $out local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -15278,12 +15345,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 100 call $~lib/array/Array#push @@ -15311,21 +15378,21 @@ (local $result i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 local.get $this local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array#get:length_ local.set $len @@ -15336,12 +15403,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array#get:dataStart local.set $outStart @@ -15355,7 +15422,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array#get:length_ local.tee $7 @@ -15369,26 +15436,26 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store local.get $9 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) local.set $result local.get $outStart local.get $i @@ -15396,7 +15463,7 @@ i32.shl i32.add local.get $result - i32.store $0 + i32.store i32.const 0 drop local.get $i @@ -15409,7 +15476,7 @@ local.get $out local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -15424,12 +15491,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#pop drop @@ -15455,16 +15522,13 @@ (local $value i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 @@ -15472,14 +15536,14 @@ i32.const 0 call $~lib/rt/__newArray local.tee $result - i32.store $0 + i32.store i32.const 0 local.set $i local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length_ local.set $len @@ -15491,7 +15555,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length_ local.tee $6 @@ -15505,14 +15569,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value local.get $value local.get $i @@ -15520,19 +15584,19 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=4 local.get $8 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) if local.get $result local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value call $~lib/array/Array#push @@ -15548,7 +15612,7 @@ local.get $result local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -15563,12 +15627,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 100 call $~lib/array/Array#push @@ -15597,12 +15661,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#pop drop @@ -15629,16 +15693,13 @@ (local $7 i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $initialValue local.set $acc i32.const 0 @@ -15647,7 +15708,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length_ local.set $len @@ -15659,7 +15720,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length_ local.tee $7 @@ -15674,26 +15735,26 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $4) local.set $acc local.get $i i32.const 1 @@ -15705,7 +15766,7 @@ local.get $acc local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -15719,16 +15780,13 @@ (local $7 i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $initialValue local.set $acc i32.const 0 @@ -15737,7 +15795,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length_ local.set $len @@ -15749,7 +15807,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length_ local.tee $7 @@ -15764,26 +15822,26 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $4) local.set $acc local.get $i i32.const 1 @@ -15795,7 +15853,7 @@ local.get $acc local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -15810,12 +15868,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 1 call $~lib/array/Array#push @@ -15840,12 +15898,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#pop drop @@ -15865,23 +15923,20 @@ (local $i i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $initialValue local.set $acc local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 1 @@ -15897,26 +15952,26 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 4 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $4) local.set $acc local.get $i i32.const 1 @@ -15928,7 +15983,7 @@ local.get $acc local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $5 @@ -15939,23 +15994,20 @@ (local $i i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $initialValue local.set $acc local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 1 @@ -15971,26 +16023,26 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 4 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $4) local.set $acc local.get $i i32.const 1 @@ -16002,7 +16054,7 @@ local.get $acc local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $5 @@ -16017,12 +16069,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 1 call $~lib/array/Array#push @@ -16047,12 +16099,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#pop drop @@ -16076,7 +16128,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -16085,23 +16137,23 @@ i32.const 22 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $std/array/Dim#set:height @@ -16109,7 +16161,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $std/array/Dim#set:width @@ -16130,13 +16182,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -16163,7 +16215,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -16174,7 +16226,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -16182,7 +16234,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -16228,16 +16280,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -16247,7 +16296,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -16272,18 +16321,18 @@ br $break|0 end local.get $ptr - f32.load $0 + f32.load local.set $a local.get $ptr - f32.load $0 offset=4 + f32.load offset=4 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s local.set $c @@ -16292,22 +16341,22 @@ local.get $a local.get $c select - f32.store $0 + f32.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - f32.load $0 offset=8 + f32.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s local.set $c @@ -16316,27 +16365,27 @@ local.get $a local.get $c select - f32.store $0 offset=4 + f32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - f32.store $0 offset=8 + f32.store offset=8 end local.get $ptr - f32.load $0 + f32.load local.set $a|7 local.get $ptr - f32.load $0 offset=4 + f32.load offset=4 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s local.set $c|9 @@ -16345,15 +16394,15 @@ local.get $a|7 local.get $c|9 select - f32.store $0 + f32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - f32.store $0 offset=4 + f32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -16368,11 +16417,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -16415,7 +16464,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -16439,7 +16488,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -16470,7 +16519,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -16494,7 +16543,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -16529,7 +16578,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -16552,7 +16601,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -16565,7 +16614,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -16574,7 +16623,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -16585,7 +16634,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -16600,14 +16649,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -16629,7 +16678,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -16642,7 +16691,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -16651,7 +16700,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -16667,7 +16716,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -16680,26 +16729,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array#get:length_ local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -16720,10 +16769,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -16746,19 +16795,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/array/Array#sort local.set $2 @@ -16802,16 +16851,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -16821,7 +16867,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -16846,18 +16892,18 @@ br $break|0 end local.get $ptr - f64.load $0 + f64.load local.set $a local.get $ptr - f64.load $0 offset=8 + f64.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s local.set $c @@ -16866,22 +16912,22 @@ local.get $a local.get $c select - f64.store $0 + f64.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - f64.load $0 offset=16 + f64.load offset=16 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s local.set $c @@ -16890,27 +16936,27 @@ local.get $a local.get $c select - f64.store $0 offset=8 + f64.store offset=8 local.get $ptr local.get $a local.get $b local.get $c select - f64.store $0 offset=16 + f64.store offset=16 end local.get $ptr - f64.load $0 + f64.load local.set $a|7 local.get $ptr - f64.load $0 offset=8 + f64.load offset=8 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s local.set $c|9 @@ -16919,15 +16965,15 @@ local.get $a|7 local.get $c|9 select - f64.store $0 + f64.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - f64.store $0 offset=8 + f64.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -16942,11 +16988,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -16989,7 +17035,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -17013,7 +17059,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -17044,7 +17090,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -17068,7 +17114,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -17103,7 +17149,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -17126,7 +17172,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -17139,7 +17185,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -17148,7 +17194,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -17159,7 +17205,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -17174,14 +17220,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -17203,7 +17249,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -17216,7 +17262,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -17225,7 +17271,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -17241,7 +17287,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -17254,26 +17300,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array#get:length_ local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -17294,10 +17340,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -17320,19 +17366,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/array/Array#sort local.set $2 @@ -17351,12 +17397,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -17378,13 +17424,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -17400,14 +17446,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -17434,7 +17480,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $len i32.eqz if @@ -17442,7 +17488,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length local.set $len @@ -17451,7 +17497,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/array/Array#get:length i32.ne @@ -17493,7 +17539,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -17505,7 +17551,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -17523,7 +17569,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -17543,7 +17589,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -17573,7 +17619,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -17581,7 +17627,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $i call $~lib/array/Array#__get @@ -17647,16 +17693,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -17666,7 +17709,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -17691,18 +17734,18 @@ br $break|0 end local.get $ptr - i32.load $0 + i32.load local.set $a local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -17711,22 +17754,22 @@ local.get $a local.get $c select - i32.store $0 + i32.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i32.load $0 offset=8 + i32.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -17735,27 +17778,27 @@ local.get $a local.get $c select - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - i32.store $0 offset=8 + i32.store offset=8 end local.get $ptr - i32.load $0 + i32.load local.set $a|7 local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -17764,15 +17807,15 @@ local.get $a|7 local.get $c|9 select - i32.store $0 + i32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -17787,11 +17830,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -17834,7 +17877,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -17858,7 +17901,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -17889,7 +17932,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -17913,7 +17956,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -17948,7 +17991,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -17971,7 +18014,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -17984,7 +18027,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -17993,7 +18036,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -18004,7 +18047,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -18019,14 +18062,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -18048,7 +18091,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -18061,7 +18104,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -18070,7 +18113,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -18086,7 +18129,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -18099,26 +18142,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array#get:length_ local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -18139,10 +18182,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -18163,19 +18206,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/array/Array#sort local.set $2 @@ -18219,16 +18262,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -18238,7 +18278,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -18263,18 +18303,18 @@ br $break|0 end local.get $ptr - i32.load $0 + i32.load local.set $a local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -18283,22 +18323,22 @@ local.get $a local.get $c select - i32.store $0 + i32.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i32.load $0 offset=8 + i32.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -18307,27 +18347,27 @@ local.get $a local.get $c select - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - i32.store $0 offset=8 + i32.store offset=8 end local.get $ptr - i32.load $0 + i32.load local.set $a|7 local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -18336,15 +18376,15 @@ local.get $a|7 local.get $c|9 select - i32.store $0 + i32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -18359,11 +18399,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -18406,7 +18446,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -18430,7 +18470,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -18461,7 +18501,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -18485,7 +18525,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -18520,7 +18560,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -18543,7 +18583,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -18556,7 +18596,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -18565,7 +18605,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -18576,7 +18616,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -18591,14 +18631,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -18620,7 +18660,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -18633,7 +18673,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -18642,7 +18682,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -18658,7 +18698,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -18671,26 +18711,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array#get:length_ local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -18711,10 +18751,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -18733,19 +18773,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/array/Array#sort local.set $2 @@ -18766,13 +18806,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $arr - i32.store $0 + i32.store i32.const 0 local.set $i loop $for-loop|0 @@ -18784,7 +18824,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $i local.get $size @@ -18820,13 +18860,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $arr - i32.store $0 + i32.store i32.const 0 local.set $i loop $for-loop|0 @@ -18838,7 +18878,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $i call $~lib/math/NativeMath.random @@ -18874,14 +18914,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 local.set $i local.get $data local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length local.set $len @@ -18894,7 +18934,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i i32.const 1 @@ -18904,15 +18944,15 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/array/Array#__get i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -18950,33 +18990,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $arr local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/array/Array#sort local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $std/array/isSorted i32.eqz @@ -19002,12 +19042,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $arr local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 block $~lib/util/sort/COMPARATOR|inlined.1 (result i32) i32.const 1 @@ -19022,7 +19062,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer @@ -19056,12 +19096,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 + i32.store local.get $20 call $~lib/array/Array#get:length_ local.set $len @@ -19133,12 +19173,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $slice - i32.store $0 offset=4 + i32.store offset=4 local.get $slice local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 + i32.store local.get $20 call $~lib/array/Array#get:dataStart local.set $sliceBase @@ -19146,7 +19186,7 @@ local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 + i32.store local.get $20 call $~lib/array/Array#get:dataStart local.get $start @@ -19170,13 +19210,13 @@ local.get $thisBase local.get $off i32.add - i32.load $0 + i32.load local.set $ref local.get $sliceBase local.get $off i32.add local.get $ref - i32.store $0 + i32.store local.get $slice local.get $ref i32.const 1 @@ -19206,7 +19246,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -19226,7 +19266,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $start local.get $end @@ -19247,19 +19287,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/array/Dim#get:height local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/array/Dim#get:height i32.sub @@ -19287,7 +19327,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill i32.const 0 i32.const 1 i32.ge_s @@ -19326,54 +19366,54 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $b local.tee $min - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $a local.tee $max - i32.store $0 offset=12 + i32.store offset=12 local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $b local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if global.get $~lib/memory/__stack_pointer local.get $a local.tee $min - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $b local.tee $max - i32.store $0 offset=12 + i32.store offset=12 end local.get $i i32.const 1 @@ -19391,26 +19431,26 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $max local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -19420,7 +19460,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=8 + i32.store offset=8 local.get $j i32.const 1 i32.sub @@ -19438,7 +19478,7 @@ i32.shl i32.add local.get $max - i32.store $0 offset=8 + i32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -19451,26 +19491,26 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $min local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -19480,7 +19520,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=4 + i32.store offset=4 local.get $j i32.const 1 i32.sub @@ -19498,7 +19538,7 @@ i32.shl i32.add local.get $min - i32.store $0 offset=4 + i32.store offset=4 local.get $i i32.const 2 i32.add @@ -19523,10 +19563,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $i local.get $right i32.eq @@ -19547,11 +19587,11 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j @@ -19561,17 +19601,17 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -19585,28 +19625,28 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -19633,9 +19673,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $tmp - i32.store $0 offset=8 + i32.store offset=8 local.get $ptr local.get $i i32.const 2 @@ -19646,8 +19686,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.add @@ -19658,7 +19698,7 @@ i32.shl i32.add local.get $tmp - i32.store $0 + i32.store local.get $k i32.const 1 i32.sub @@ -19677,28 +19717,28 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -19737,10 +19777,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $m i32.const 1 i32.sub @@ -19772,8 +19812,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.sub @@ -19800,8 +19840,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $j i32.const 1 i32.add @@ -19822,35 +19862,35 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $buffer local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 local.get $b local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=12 + i32.store offset=12 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -19860,7 +19900,7 @@ i32.shl i32.add local.get $a - i32.store $0 + i32.store local.get $j i32.const 1 i32.sub @@ -19872,7 +19912,7 @@ i32.shl i32.add local.get $b - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -19924,14 +19964,14 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 - memory.fill $0 + i32.const 24 + memory.fill local.get $len i32.const 48 i32.le_s @@ -19941,7 +19981,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -19967,31 +20007,31 @@ end global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -20000,36 +20040,36 @@ local.get $a local.get $c select - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $a local.get $b local.get $c select local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=8 + i32.load offset=8 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -20038,41 +20078,41 @@ local.get $a local.get $c select - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 + i32.load local.tee $a|7 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.tee $b|8 - i32.store $0 offset=20 + i32.store offset=20 local.get $a|7 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b|8 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -20081,15 +20121,15 @@ local.get $a|7 local.get $c|9 select - i32.store $0 + i32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -20104,11 +20144,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -20151,7 +20191,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -20175,7 +20215,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=28 + i32.store offset=8 local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -20206,7 +20246,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort end @@ -20230,7 +20270,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=28 + i32.store offset=8 local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -20265,7 +20305,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort end @@ -20288,7 +20328,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -20301,7 +20341,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -20310,7 +20350,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=32 + i32.store offset=8 local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -20321,7 +20361,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -20336,14 +20376,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -20365,7 +20405,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -20378,7 +20418,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -20387,7 +20427,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=32 + i32.store offset=8 local.get $34 call $~lib/util/sort/mergeRuns end @@ -20403,7 +20443,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) @@ -20416,26 +20456,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array#get:length_ local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -20456,12 +20496,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -20482,13 +20522,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -20505,16 +20545,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -20555,13 +20595,13 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 i32.const 0 i32.const 1 @@ -20571,17 +20611,17 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 10192 local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/array/Array#sort local.tee $sorted - i32.store $0 offset=12 + i32.store offset=12 i32.const 1 local.set $check i32.const 0 @@ -20590,7 +20630,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length local.set $len @@ -20605,35 +20645,35 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__get local.tee $input - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $std/array/outputStabArr local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__get local.tee $target - i32.store $0 offset=20 + i32.store offset=20 local.get $input local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $std/array/Dim#get:height local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $std/array/Dim#get:height i32.ne @@ -20644,14 +20684,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $std/array/Dim#get:width local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $std/array/Dim#get:width i32.ne @@ -20697,10 +20737,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -20709,13 +20749,13 @@ i32.const 29 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/array/Array>#set:buffer @@ -20723,7 +20763,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/array/Array>#set:dataStart @@ -20731,7 +20771,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/array/Array>#set:byteLength @@ -20739,7 +20779,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/array/Array>#set:length_ @@ -20772,7 +20812,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -20781,20 +20821,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array<~lib/array/Array>#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array<~lib/array/Array>#set:dataStart @@ -20802,7 +20842,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/array/Array>#set:byteLength @@ -20810,7 +20850,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array<~lib/array/Array>#set:length_ @@ -20831,13 +20871,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.ge_u @@ -20864,7 +20904,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -20875,7 +20915,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $index @@ -20883,7 +20923,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -20907,16 +20947,16 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array<~lib/array/Array>#constructor local.tee $arr - i32.store $0 + i32.store i32.const 0 local.set $i loop $for-loop|0 @@ -20929,12 +20969,12 @@ i32.const 1 call $~lib/array/Array#constructor local.tee $inner - i32.store $0 offset=4 + i32.store offset=4 local.get $inner local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 i32.const 0 local.get $size @@ -20947,14 +20987,14 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i local.get $inner local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $4 call $~lib/array/Array<~lib/array/Array>#__set local.get $i @@ -20982,12 +21022,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 0 call $~lib/array/Array#__get @@ -20995,7 +21035,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 0 call $~lib/array/Array#__get @@ -21024,7 +21064,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill i32.const 0 i32.const 1 i32.ge_s @@ -21063,54 +21103,54 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $b local.tee $min - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $a local.tee $max - i32.store $0 offset=12 + i32.store offset=12 local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $b local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if global.get $~lib/memory/__stack_pointer local.get $a local.tee $min - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $b local.tee $max - i32.store $0 offset=12 + i32.store offset=12 end local.get $i i32.const 1 @@ -21128,26 +21168,26 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $max local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -21157,7 +21197,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=8 + i32.store offset=8 local.get $j i32.const 1 i32.sub @@ -21175,7 +21215,7 @@ i32.shl i32.add local.get $max - i32.store $0 offset=8 + i32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -21188,26 +21228,26 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $min local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -21217,7 +21257,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=4 + i32.store offset=4 local.get $j i32.const 1 i32.sub @@ -21235,7 +21275,7 @@ i32.shl i32.add local.get $min - i32.store $0 offset=4 + i32.store offset=4 local.get $i i32.const 2 i32.add @@ -21260,10 +21300,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $i local.get $right i32.eq @@ -21284,11 +21324,11 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j @@ -21298,17 +21338,17 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -21322,28 +21362,28 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -21370,9 +21410,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $tmp - i32.store $0 offset=8 + i32.store offset=8 local.get $ptr local.get $i i32.const 2 @@ -21383,8 +21423,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.add @@ -21395,7 +21435,7 @@ i32.shl i32.add local.get $tmp - i32.store $0 + i32.store local.get $k i32.const 1 i32.sub @@ -21414,28 +21454,28 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -21474,10 +21514,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $m i32.const 1 i32.sub @@ -21509,8 +21549,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.sub @@ -21537,8 +21577,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $j i32.const 1 i32.add @@ -21559,35 +21599,35 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $buffer local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 local.get $b local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=12 + i32.store offset=12 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -21597,7 +21637,7 @@ i32.shl i32.add local.get $a - i32.store $0 + i32.store local.get $j i32.const 1 i32.sub @@ -21609,7 +21649,7 @@ i32.shl i32.add local.get $b - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -21661,14 +21701,14 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 - memory.fill $0 + i32.const 24 + memory.fill local.get $len i32.const 48 i32.le_s @@ -21678,7 +21718,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -21704,31 +21744,31 @@ end global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -21737,36 +21777,36 @@ local.get $a local.get $c select - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $a local.get $b local.get $c select local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=8 + i32.load offset=8 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -21775,41 +21815,41 @@ local.get $a local.get $c select - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 + i32.load local.tee $a|7 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.tee $b|8 - i32.store $0 offset=20 + i32.store offset=20 local.get $a|7 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b|8 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -21818,15 +21858,15 @@ local.get $a|7 local.get $c|9 select - i32.store $0 + i32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -21841,11 +21881,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort<~lib/array/Array> global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -21888,7 +21928,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -21912,7 +21952,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=28 + i32.store offset=8 local.get $34 call $~lib/util/sort/extendRunRight<~lib/array/Array> local.set $endA @@ -21943,7 +21983,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort<~lib/array/Array> end @@ -21967,7 +22007,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=28 + i32.store offset=8 local.get $34 call $~lib/util/sort/extendRunRight<~lib/array/Array> local.set $endB @@ -22002,7 +22042,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort<~lib/array/Array> end @@ -22025,7 +22065,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -22038,7 +22078,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -22047,7 +22087,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=32 + i32.store offset=8 local.get $34 call $~lib/util/sort/mergeRuns<~lib/array/Array> local.get $start @@ -22058,7 +22098,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -22073,14 +22113,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -22102,7 +22142,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -22115,7 +22155,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -22124,7 +22164,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=32 + i32.store offset=8 local.get $34 call $~lib/util/sort/mergeRuns<~lib/array/Array> end @@ -22140,7 +22180,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) @@ -22153,26 +22193,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array<~lib/array/Array>#get:length_ local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT<~lib/array/Array> local.get $this @@ -22193,12 +22233,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array<~lib/array/Array>#get:length_ local.set $1 @@ -22219,13 +22259,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.ge_u @@ -22242,16 +22282,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -22287,17 +22327,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 local.set $i local.get $data local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/array/Array>#get:length local.set $len @@ -22310,7 +22350,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i i32.const 1 @@ -22319,26 +22359,26 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $data local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i call $~lib/array/Array<~lib/array/Array>#__get local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -22376,33 +22416,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $arr local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/array/Array<~lib/array/Array>#sort local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $std/array/isSorted<~lib/array/Array> i32.eqz @@ -22432,10 +22472,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -22444,13 +22484,13 @@ i32.const 32 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array>#set:buffer @@ -22458,7 +22498,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array>#set:dataStart @@ -22466,7 +22506,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array>#set:byteLength @@ -22474,7 +22514,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array>#set:length_ @@ -22507,7 +22547,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -22516,20 +22556,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array>#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array>#set:dataStart @@ -22537,7 +22577,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array>#set:byteLength @@ -22545,7 +22585,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array>#set:length_ @@ -22566,7 +22606,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -22575,13 +22615,13 @@ i32.const 31 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $x call $std/array/Proxy#set:x @@ -22602,13 +22642,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array>#get:length_ i32.ge_u @@ -22635,7 +22675,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -22646,7 +22686,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array>#get:dataStart local.get $index @@ -22654,7 +22694,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -22677,16 +22717,16 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array>#constructor local.tee $arr - i32.store $0 + i32.store i32.const 0 local.set $i loop $for-loop|0 @@ -22698,7 +22738,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $i i32.const 0 @@ -22711,7 +22751,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/array/Array>#__set local.get $i @@ -22739,19 +22779,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/array/Proxy#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/array/Proxy#get:x i32.sub @@ -22779,7 +22819,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill i32.const 0 i32.const 1 i32.ge_s @@ -22818,54 +22858,54 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $b local.tee $min - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $a local.tee $max - i32.store $0 offset=12 + i32.store offset=12 local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $b local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if global.get $~lib/memory/__stack_pointer local.get $a local.tee $min - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $b local.tee $max - i32.store $0 offset=12 + i32.store offset=12 end local.get $i i32.const 1 @@ -22883,26 +22923,26 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $max local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -22912,7 +22952,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=8 + i32.store offset=8 local.get $j i32.const 1 i32.sub @@ -22930,7 +22970,7 @@ i32.shl i32.add local.get $max - i32.store $0 offset=8 + i32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -22943,26 +22983,26 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $min local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -22972,7 +23012,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=4 + i32.store offset=4 local.get $j i32.const 1 i32.sub @@ -22990,7 +23030,7 @@ i32.shl i32.add local.get $min - i32.store $0 offset=4 + i32.store offset=4 local.get $i i32.const 2 i32.add @@ -23015,10 +23055,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $i local.get $right i32.eq @@ -23039,11 +23079,11 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j @@ -23053,17 +23093,17 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -23077,28 +23117,28 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -23125,9 +23165,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $tmp - i32.store $0 offset=8 + i32.store offset=8 local.get $ptr local.get $i i32.const 2 @@ -23138,8 +23178,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.add @@ -23150,7 +23190,7 @@ i32.shl i32.add local.get $tmp - i32.store $0 + i32.store local.get $k i32.const 1 i32.sub @@ -23169,28 +23209,28 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -23229,10 +23269,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $m i32.const 1 i32.sub @@ -23264,8 +23304,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.sub @@ -23292,8 +23332,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $j i32.const 1 i32.add @@ -23314,35 +23354,35 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $buffer local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 local.get $b local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=12 + i32.store offset=12 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -23352,7 +23392,7 @@ i32.shl i32.add local.get $a - i32.store $0 + i32.store local.get $j i32.const 1 i32.sub @@ -23364,7 +23404,7 @@ i32.shl i32.add local.get $b - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -23416,14 +23456,14 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 - memory.fill $0 + i32.const 24 + memory.fill local.get $len i32.const 48 i32.le_s @@ -23433,7 +23473,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -23459,31 +23499,31 @@ end global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -23492,36 +23532,36 @@ local.get $a local.get $c select - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $a local.get $b local.get $c select local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=8 + i32.load offset=8 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -23530,41 +23570,41 @@ local.get $a local.get $c select - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 + i32.load local.tee $a|7 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.tee $b|8 - i32.store $0 offset=20 + i32.store offset=20 local.get $a|7 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b|8 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -23573,15 +23613,15 @@ local.get $a|7 local.get $c|9 select - i32.store $0 + i32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -23596,11 +23636,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort> global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -23643,7 +23683,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -23667,7 +23707,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=28 + i32.store offset=8 local.get $34 call $~lib/util/sort/extendRunRight> local.set $endA @@ -23698,7 +23738,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort> end @@ -23722,7 +23762,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=28 + i32.store offset=8 local.get $34 call $~lib/util/sort/extendRunRight> local.set $endB @@ -23757,7 +23797,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort> end @@ -23780,7 +23820,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -23793,7 +23833,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -23802,7 +23842,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=32 + i32.store offset=8 local.get $34 call $~lib/util/sort/mergeRuns> local.get $start @@ -23813,7 +23853,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -23828,14 +23868,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -23857,7 +23897,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -23870,7 +23910,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -23879,7 +23919,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=32 + i32.store offset=8 local.get $34 call $~lib/util/sort/mergeRuns> end @@ -23895,7 +23935,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) @@ -23908,26 +23948,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array>#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array>#get:length_ local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT> local.get $this @@ -23948,12 +23988,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array>#get:length_ local.set $1 @@ -23974,13 +24014,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array>#get:length_ i32.ge_u @@ -23997,16 +24037,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -24042,17 +24082,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 local.set $i local.get $data local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array>#get:length local.set $len @@ -24065,7 +24105,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i i32.const 1 @@ -24074,26 +24114,26 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $data local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i call $~lib/array/Array>#__get local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -24131,33 +24171,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $arr local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/array/Array>#sort local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $std/array/isSorted> i32.eqz @@ -24191,7 +24231,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill i32.const 0 i32.const 1 i32.ge_s @@ -24230,54 +24270,54 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $b local.tee $min - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $a local.tee $max - i32.store $0 offset=12 + i32.store offset=12 local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $b local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if global.get $~lib/memory/__stack_pointer local.get $a local.tee $min - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $b local.tee $max - i32.store $0 offset=12 + i32.store offset=12 end local.get $i i32.const 1 @@ -24295,26 +24335,26 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $max local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -24324,7 +24364,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=8 + i32.store offset=8 local.get $j i32.const 1 i32.sub @@ -24342,7 +24382,7 @@ i32.shl i32.add local.get $max - i32.store $0 offset=8 + i32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -24355,26 +24395,26 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $min local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -24384,7 +24424,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=4 + i32.store offset=4 local.get $j i32.const 1 i32.sub @@ -24402,7 +24442,7 @@ i32.shl i32.add local.get $min - i32.store $0 offset=4 + i32.store offset=4 local.get $i i32.const 2 i32.add @@ -24427,10 +24467,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $i local.get $right i32.eq @@ -24451,11 +24491,11 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j @@ -24465,17 +24505,17 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -24489,28 +24529,28 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -24537,9 +24577,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $tmp - i32.store $0 offset=8 + i32.store offset=8 local.get $ptr local.get $i i32.const 2 @@ -24550,8 +24590,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.add @@ -24562,7 +24602,7 @@ i32.shl i32.add local.get $tmp - i32.store $0 + i32.store local.get $k i32.const 1 i32.sub @@ -24581,28 +24621,28 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -24641,10 +24681,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $m i32.const 1 i32.sub @@ -24676,8 +24716,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.sub @@ -24704,8 +24744,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $j i32.const 1 i32.add @@ -24726,35 +24766,35 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $buffer local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 local.get $b local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=12 + i32.store offset=12 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -24764,7 +24804,7 @@ i32.shl i32.add local.get $a - i32.store $0 + i32.store local.get $j i32.const 1 i32.sub @@ -24776,7 +24816,7 @@ i32.shl i32.add local.get $b - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -24828,14 +24868,14 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 - memory.fill $0 + i32.const 24 + memory.fill local.get $len i32.const 48 i32.le_s @@ -24845,7 +24885,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -24871,31 +24911,31 @@ end global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -24904,36 +24944,36 @@ local.get $a local.get $c select - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $a local.get $b local.get $c select local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=8 + i32.load offset=8 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -24942,41 +24982,41 @@ local.get $a local.get $c select - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 + i32.load local.tee $a|7 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.tee $b|8 - i32.store $0 offset=20 + i32.store offset=20 local.get $a|7 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b|8 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -24985,15 +25025,15 @@ local.get $a|7 local.get $c|9 select - i32.store $0 + i32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -25008,11 +25048,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort<~lib/string/String|null> global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -25055,7 +25095,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -25079,7 +25119,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=28 + i32.store offset=8 local.get $34 call $~lib/util/sort/extendRunRight<~lib/string/String|null> local.set $endA @@ -25110,7 +25150,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort<~lib/string/String|null> end @@ -25134,7 +25174,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=28 + i32.store offset=8 local.get $34 call $~lib/util/sort/extendRunRight<~lib/string/String|null> local.set $endB @@ -25169,7 +25209,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort<~lib/string/String|null> end @@ -25192,7 +25232,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -25205,7 +25245,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -25214,7 +25254,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=32 + i32.store offset=8 local.get $34 call $~lib/util/sort/mergeRuns<~lib/string/String|null> local.get $start @@ -25225,7 +25265,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -25240,14 +25280,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -25269,7 +25309,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -25282,7 +25322,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -25291,7 +25331,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=32 + i32.store offset=8 local.get $34 call $~lib/util/sort/mergeRuns<~lib/string/String|null> end @@ -25307,7 +25347,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) @@ -25320,26 +25360,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array<~lib/string/String|null>#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array<~lib/string/String|null>#get:length_ local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT<~lib/string/String|null> local.get $this @@ -25360,12 +25400,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array<~lib/string/String|null>#get:length_ local.set $1 @@ -25386,13 +25426,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String|null>#get:length_ i32.ge_u @@ -25409,16 +25449,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String|null>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 1 @@ -25444,17 +25484,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 local.set $i local.get $data local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/string/String|null>#get:length local.set $len @@ -25467,7 +25507,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i i32.const 1 @@ -25476,26 +25516,26 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $data local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i call $~lib/array/Array<~lib/string/String|null>#__get local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -25533,33 +25573,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $arr local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/array/Array<~lib/string/String|null>#sort local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $std/array/isSorted<~lib/string/String|null> i32.eqz @@ -25590,7 +25630,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $a local.get $b i32.eq @@ -25622,7 +25662,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/string/String#get:length local.set $alen @@ -25630,7 +25670,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/string/String#get:length local.set $blen @@ -25676,14 +25716,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 i32.const 0 local.get $b local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 local.get $alen @@ -25721,10 +25761,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -25747,19 +25787,19 @@ br $~lib/util/sort/COMPARATOR<~lib/string/String|null>|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $arr local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $std/array/assertSorted<~lib/string/String|null> global.get $~lib/memory/__stack_pointer @@ -25777,7 +25817,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -25815,7 +25855,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -25824,7 +25864,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -25842,14 +25882,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -25872,18 +25912,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String.__eq i32.eqz @@ -25905,10 +25945,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $len i32.eqz if @@ -25916,7 +25956,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/string/String|null>#get:length local.set $len @@ -25925,7 +25965,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/string/String|null>#get:length i32.ne @@ -25966,27 +26006,27 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i call $~lib/array/Array<~lib/string/String|null>#__get local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $b local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i call $~lib/array/Array<~lib/string/String|null>#__get local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 call $~lib/string/String.__ne if @@ -26028,10 +26068,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -26040,13 +26080,13 @@ i32.const 16 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:buffer @@ -26054,7 +26094,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -26062,7 +26102,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -26070,7 +26110,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array<~lib/string/String>#set:length_ @@ -26103,7 +26143,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -26112,20 +26152,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array<~lib/string/String>#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array<~lib/string/String>#set:dataStart @@ -26133,7 +26173,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array<~lib/string/String>#set:byteLength @@ -26141,7 +26181,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array<~lib/string/String>#set:length_ @@ -26163,13 +26203,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $pos local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ge_u @@ -26188,15 +26228,15 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $pos i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $out local.set $3 global.get $~lib/memory/__stack_pointer @@ -26219,12 +26259,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -26234,7 +26274,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -26262,17 +26302,17 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $out local.get $thisSize i32.add local.get $other local.get $otherSize - memory.copy $0 $0 + memory.copy local.get $out local.set $6 global.get $~lib/memory/__stack_pointer @@ -26291,18 +26331,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String#concat local.set $2 @@ -26319,18 +26359,20 @@ (local $x f64) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 10544 local.tee $result - i32.store $0 + i32.store i32.const 0 local.set $i loop $for-loop|0 @@ -26343,22 +26385,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 global.get $std/array/charset - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 block $~lib/math/NativeMath.floor|inlined.0 (result f64) call $~lib/math/NativeMath.random global.get $std/array/charset - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=16 - local.get $4 call $~lib/string/String#get:length f64.convert_i32_s f64.mul @@ -26372,11 +26404,11 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 call $~lib/string/String.__concat local.tee $result - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -26387,7 +26419,7 @@ local.get $result local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -26402,13 +26434,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u @@ -26435,7 +26467,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -26446,7 +26478,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index @@ -26454,7 +26486,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -26477,16 +26509,16 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array<~lib/string/String>#constructor local.tee $arr - i32.store $0 + i32.store i32.const 0 local.set $i loop $for-loop|0 @@ -26498,7 +26530,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $i call $~lib/math/NativeMath.random @@ -26509,7 +26541,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/array/Array<~lib/string/String>#__set local.get $i @@ -26545,7 +26577,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill i32.const 0 i32.const 1 i32.ge_s @@ -26584,54 +26616,54 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $b local.tee $min - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $a local.tee $max - i32.store $0 offset=12 + i32.store offset=12 local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $b local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if global.get $~lib/memory/__stack_pointer local.get $a local.tee $min - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $b local.tee $max - i32.store $0 offset=12 + i32.store offset=12 end local.get $i i32.const 1 @@ -26649,26 +26681,26 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $max local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -26678,7 +26710,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=8 + i32.store offset=8 local.get $j i32.const 1 i32.sub @@ -26696,7 +26728,7 @@ i32.shl i32.add local.get $max - i32.store $0 offset=8 + i32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -26709,26 +26741,26 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=16 + i32.store offset=16 local.get $12 local.get $min local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=20 + i32.store offset=20 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -26738,7 +26770,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=4 + i32.store offset=4 local.get $j i32.const 1 i32.sub @@ -26756,7 +26788,7 @@ i32.shl i32.add local.get $min - i32.store $0 offset=4 + i32.store offset=4 local.get $i i32.const 2 i32.add @@ -26781,10 +26813,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $i local.get $right i32.eq @@ -26805,11 +26837,11 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j @@ -26819,17 +26851,17 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -26843,28 +26875,28 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -26891,9 +26923,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $tmp - i32.store $0 offset=8 + i32.store offset=8 local.get $ptr local.get $i i32.const 2 @@ -26904,8 +26936,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.add @@ -26916,7 +26948,7 @@ i32.shl i32.add local.get $tmp - i32.store $0 + i32.store local.get $k i32.const 1 i32.sub @@ -26935,28 +26967,28 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -26995,10 +27027,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $m i32.const 1 i32.sub @@ -27030,8 +27062,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.sub @@ -27058,8 +27090,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $j i32.const 1 i32.add @@ -27080,35 +27112,35 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $buffer local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 local.get $b local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=12 + i32.store offset=12 local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -27118,7 +27150,7 @@ i32.shl i32.add local.get $a - i32.store $0 + i32.store local.get $j i32.const 1 i32.sub @@ -27130,7 +27162,7 @@ i32.shl i32.add local.get $b - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -27182,14 +27214,14 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 - memory.fill $0 + i32.const 24 + memory.fill local.get $len i32.const 48 i32.le_s @@ -27199,7 +27231,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -27225,31 +27257,31 @@ end global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 + i32.load local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -27258,36 +27290,36 @@ local.get $a local.get $c select - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $a local.get $b local.get $c select local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=8 + i32.load offset=8 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -27296,41 +27328,41 @@ local.get $a local.get $c select - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 + i32.load local.tee $a|7 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.tee $b|8 - i32.store $0 offset=20 + i32.store offset=20 local.get $a|7 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store offset=8 local.get $34 local.get $b|8 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=12 + i32.store offset=12 local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -27339,15 +27371,15 @@ local.get $a|7 local.get $c|9 select - i32.store $0 + i32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -27362,11 +27394,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort<~lib/string/String> global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -27409,7 +27441,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -27433,7 +27465,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=28 + i32.store offset=8 local.get $34 call $~lib/util/sort/extendRunRight<~lib/string/String> local.set $endA @@ -27464,7 +27496,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort<~lib/string/String> end @@ -27488,7 +27520,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=28 + i32.store offset=8 local.get $34 call $~lib/util/sort/extendRunRight<~lib/string/String> local.set $endB @@ -27523,7 +27555,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=24 + i32.store offset=8 local.get $34 call $~lib/util/sort/insertionSort<~lib/string/String> end @@ -27546,7 +27578,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -27559,7 +27591,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -27568,7 +27600,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=32 + i32.store offset=8 local.get $34 call $~lib/util/sort/mergeRuns<~lib/string/String> local.get $start @@ -27579,7 +27611,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -27594,14 +27626,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -27623,7 +27655,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -27636,7 +27668,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -27645,7 +27677,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=32 + i32.store offset=8 local.get $34 call $~lib/util/sort/mergeRuns<~lib/string/String> end @@ -27661,7 +27693,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) @@ -27674,26 +27706,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/array/Array<~lib/string/String>#get:length_ local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT<~lib/string/String> local.get $this @@ -27714,12 +27746,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array<~lib/string/String>#get:length_ local.set $1 @@ -27740,13 +27772,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u @@ -27763,16 +27795,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -27808,17 +27840,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 local.set $i local.get $data local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/string/String>#get:length local.set $len @@ -27831,7 +27863,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i i32.const 1 @@ -27840,26 +27872,26 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $data local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $i call $~lib/array/Array<~lib/string/String>#__get local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -27897,33 +27929,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $arr local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/array/Array<~lib/string/String>#sort local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $std/array/isSorted<~lib/string/String> i32.eqz @@ -27954,7 +27986,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $a local.get $b i32.eq @@ -27986,7 +28018,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/string/String#get:length local.set $alen @@ -27994,7 +28026,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/string/String#get:length local.set $blen @@ -28040,14 +28072,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 i32.const 0 local.get $b local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 local.get $alen @@ -28085,10 +28117,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -28111,19 +28143,19 @@ br $~lib/util/sort/COMPARATOR<~lib/string/String>|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $arr local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $std/array/assertSorted<~lib/string/String> global.get $~lib/memory/__stack_pointer @@ -28159,12 +28191,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $22 global.get $~lib/memory/__stack_pointer local.get $22 - i32.store $0 + i32.store local.get $22 call $~lib/string/String#get:length local.set $len @@ -28264,13 +28296,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $fromPos i32.add local.get $size - memory.copy $0 $0 + memory.copy local.get $out local.set $22 global.get $~lib/memory/__stack_pointer @@ -28297,7 +28329,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -28321,7 +28353,7 @@ i32.const 10768 i32.const 10800 local.get $dataStart - i32.load8_u $0 + i32.load8_u select local.set $11 global.get $~lib/memory/__stack_pointer @@ -28335,7 +28367,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -28356,7 +28388,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -28369,7 +28401,7 @@ local.get $dataStart local.get $i i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 4 local.get $value @@ -28388,7 +28420,7 @@ local.get $valueLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $valueLen i32.add @@ -28404,7 +28436,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -28420,7 +28452,7 @@ local.get $dataStart local.get $lastIndex i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 4 local.get $value @@ -28439,7 +28471,7 @@ local.get $valueLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $valueLen i32.add @@ -28452,7 +28484,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -28479,18 +28511,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -28498,7 +28530,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -28510,12 +28542,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinBooleanArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -28538,7 +28570,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -28560,7 +28592,7 @@ i32.eqz if local.get $dataStart - i32.load $0 + i32.load local.set $value i32.const 1 drop @@ -28583,7 +28615,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -28602,7 +28634,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -28617,7 +28649,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value|9 local.get $offset local.get $result @@ -28640,7 +28672,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -28658,7 +28690,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value|9 local.get $offset local.get $result @@ -28678,7 +28710,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -28705,18 +28737,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -28724,7 +28756,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -28738,12 +28770,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinIntegerArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -28766,7 +28798,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -28788,7 +28820,7 @@ i32.eqz if local.get $dataStart - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -28811,7 +28843,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -28830,7 +28862,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -28845,7 +28877,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value|9 local.get $offset local.get $result @@ -28868,7 +28900,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -28886,7 +28918,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value|9 local.get $offset local.get $result @@ -28906,7 +28938,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -28933,18 +28965,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -28952,7 +28984,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -28966,12 +28998,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinIntegerArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -28993,7 +29025,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -29015,8 +29047,8 @@ i32.eqz if local.get $dataStart - f64.load $0 - call $~lib/util/number/dtoa + f64.load + call $~lib/util/number/dtoa local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -29029,7 +29061,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $sepLen @@ -29048,7 +29080,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -29063,7 +29095,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value local.get $offset local.get $result @@ -29072,7 +29104,7 @@ i32.shl i32.add local.get $value - call $~lib/util/number/dtoa_buffered + call $~lib/util/number/dtoa_buffered i32.add local.set $offset local.get $sepLen @@ -29086,7 +29118,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -29104,7 +29136,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value local.get $offset local.get $result @@ -29113,7 +29145,7 @@ i32.shl i32.add local.get $value - call $~lib/util/number/dtoa_buffered + call $~lib/util/number/dtoa_buffered i32.add local.set $offset local.get $estLen @@ -29124,7 +29156,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 0 local.get $offset @@ -29151,18 +29183,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -29170,7 +29202,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -29186,12 +29218,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinFloatArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -29216,10 +29248,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $length i32.const 1 i32.sub @@ -29242,9 +29274,9 @@ if global.get $~lib/memory/__stack_pointer local.get $dataStart - i32.load $0 + i32.load local.tee $4 - i32.store $0 + i32.store local.get $4 if (result i32) local.get $4 @@ -29274,9 +29306,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -29286,7 +29318,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length i32.add @@ -29305,7 +29337,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length local.set $sepLen @@ -29320,7 +29352,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i|11 loop $for-loop|1 @@ -29334,9 +29366,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -29345,7 +29377,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length local.set $valueLen @@ -29358,7 +29390,7 @@ local.get $valueLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $valueLen i32.add @@ -29375,7 +29407,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -29394,9 +29426,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -29411,12 +29443,12 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy end local.get $result local.set $13 @@ -29432,18 +29464,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/string/String|null>#get:dataStart local.set $ptr @@ -29451,7 +29483,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/string/String|null>#get:length_ local.set $len @@ -29473,12 +29505,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinStringArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -29499,7 +29531,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill local.get $length i32.const 1 i32.sub @@ -29522,9 +29554,9 @@ if global.get $~lib/memory/__stack_pointer local.get $dataStart - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -29533,7 +29565,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $std/array/Ref#toString else @@ -29550,12 +29582,12 @@ global.get $~lib/memory/__stack_pointer i32.const 10544 local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $separator local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/string/String#get:length local.set $sepLen @@ -29572,9 +29604,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -29584,23 +29616,23 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $std/array/Ref#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $sepLen if @@ -29609,17 +29641,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $separator local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $i i32.const 1 @@ -29634,9 +29666,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -29646,23 +29678,23 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $std/array/Ref#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $result local.set $8 @@ -29678,18 +29710,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -29697,7 +29729,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -29721,12 +29753,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinReferenceArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -29747,7 +29779,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill local.get $length i32.const 1 i32.sub @@ -29770,9 +29802,9 @@ if global.get $~lib/memory/__stack_pointer local.get $dataStart - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -29781,7 +29813,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $std/array/Ref#toString else @@ -29798,12 +29830,12 @@ global.get $~lib/memory/__stack_pointer i32.const 10544 local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $separator local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/string/String#get:length local.set $sepLen @@ -29820,9 +29852,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -29832,23 +29864,23 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $std/array/Ref#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $sepLen if @@ -29857,17 +29889,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $separator local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $i i32.const 1 @@ -29882,9 +29914,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -29894,23 +29926,23 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $std/array/Ref#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $result local.set $8 @@ -29926,18 +29958,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -29945,7 +29977,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -29969,12 +30001,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinReferenceArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -29983,29 +30015,24 @@ (func $~lib/array/Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -30028,7 +30055,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -30050,7 +30077,7 @@ i32.eqz if local.get $dataStart - i32.load8_s $0 + i32.load8_s local.set $value i32.const 1 drop @@ -30073,7 +30100,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -30092,7 +30119,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -30107,7 +30134,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value|9 local.get $offset local.get $result @@ -30130,7 +30157,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -30148,7 +30175,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value|9 local.get $offset local.get $result @@ -30168,7 +30195,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -30195,18 +30222,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -30214,7 +30241,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -30228,12 +30255,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinIntegerArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -30242,29 +30269,24 @@ (func $~lib/array/Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -30287,7 +30309,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -30309,7 +30331,7 @@ i32.eqz if local.get $dataStart - i32.load16_u $0 + i32.load16_u local.set $value i32.const 0 drop @@ -30332,7 +30354,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -30351,7 +30373,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -30366,7 +30388,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $value|9 local.get $offset local.get $result @@ -30389,7 +30411,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -30407,7 +30429,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $value|9 local.get $offset local.get $result @@ -30427,7 +30449,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -30454,18 +30476,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -30473,7 +30495,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -30487,12 +30509,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinIntegerArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -30501,29 +30523,24 @@ (func $~lib/array/Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -30546,7 +30563,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -30568,7 +30585,7 @@ i32.eqz if local.get $dataStart - i32.load16_s $0 + i32.load16_s local.set $value i32.const 1 drop @@ -30591,7 +30608,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -30610,7 +30627,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -30625,7 +30642,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value|9 local.get $offset local.get $result @@ -30648,7 +30665,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -30666,7 +30683,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value|9 local.get $offset local.get $result @@ -30686,7 +30703,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -30713,18 +30730,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -30732,7 +30749,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -30746,12 +30763,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinIntegerArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -30760,29 +30777,24 @@ (func $~lib/array/Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -30805,7 +30817,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -30827,7 +30839,7 @@ i32.eqz if local.get $dataStart - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -30850,7 +30862,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -30869,7 +30881,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -30884,7 +30896,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value|9 local.get $offset local.get $result @@ -30907,7 +30919,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -30925,7 +30937,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value|9 local.get $offset local.get $result @@ -30945,7 +30957,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -30972,18 +30984,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -30991,7 +31003,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -31005,12 +31017,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinIntegerArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -31019,29 +31031,24 @@ (func $~lib/array/Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -31064,7 +31071,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -31086,7 +31093,7 @@ i32.eqz if local.get $dataStart - i64.load $0 + i64.load local.set $value i32.const 1 drop @@ -31111,7 +31118,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -31130,7 +31137,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -31145,7 +31152,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value|9 local.get $offset local.get $result @@ -31168,7 +31175,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -31186,7 +31193,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value|9 local.get $offset local.get $result @@ -31206,7 +31213,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -31233,18 +31240,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -31252,7 +31259,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -31266,12 +31273,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinIntegerArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -31280,29 +31287,24 @@ (func $~lib/array/Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -31311,29 +31313,24 @@ (func $~lib/array/Array<~lib/string/String|null>#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array<~lib/string/String|null>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -31354,7 +31351,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill local.get $length i32.const 1 i32.sub @@ -31377,9 +31374,9 @@ if global.get $~lib/memory/__stack_pointer local.get $dataStart - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -31388,7 +31385,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#toString else @@ -31405,12 +31402,12 @@ global.get $~lib/memory/__stack_pointer i32.const 10544 local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $separator local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/string/String#get:length local.set $sepLen @@ -31427,9 +31424,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -31439,23 +31436,23 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $sepLen if @@ -31464,17 +31461,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $separator local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $i i32.const 1 @@ -31489,9 +31486,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -31501,23 +31498,23 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $result local.set $8 @@ -31533,18 +31530,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.set $ptr @@ -31552,7 +31549,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/array/Array>#get:length_ local.set $len @@ -31576,12 +31573,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinReferenceArray<~lib/array/Array> local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -31590,29 +31587,24 @@ (func $~lib/array/Array<~lib/array/Array>#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array<~lib/array/Array>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -31627,13 +31619,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.ge_u @@ -31660,7 +31652,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -31671,7 +31663,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $index @@ -31679,7 +31671,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -31708,7 +31700,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -31730,7 +31722,7 @@ i32.eqz if local.get $dataStart - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -31753,7 +31745,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -31772,7 +31764,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -31787,7 +31779,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value|9 local.get $offset local.get $result @@ -31810,7 +31802,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -31828,7 +31820,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value|9 local.get $offset local.get $result @@ -31848,7 +31840,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -31875,18 +31867,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.set $ptr @@ -31894,7 +31886,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $len @@ -31908,12 +31900,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinIntegerArray local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -31922,29 +31914,24 @@ (func $~lib/array/Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -31965,7 +31952,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill local.get $length i32.const 1 i32.sub @@ -31988,9 +31975,9 @@ if global.get $~lib/memory/__stack_pointer local.get $dataStart - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -31999,7 +31986,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#toString else @@ -32016,12 +32003,12 @@ global.get $~lib/memory/__stack_pointer i32.const 10544 local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $separator local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/string/String#get:length local.set $sepLen @@ -32038,9 +32025,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -32050,23 +32037,23 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $sepLen if @@ -32075,17 +32062,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $separator local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $i i32.const 1 @@ -32100,9 +32087,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -32112,23 +32099,23 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $result local.set $8 @@ -32144,18 +32131,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.set $ptr @@ -32163,7 +32150,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/array/Array>#get:length_ local.set $len @@ -32187,12 +32174,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinReferenceArray<~lib/array/Array> local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -32201,29 +32188,24 @@ (func $~lib/array/Array<~lib/array/Array>#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array<~lib/array/Array>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -32238,13 +32220,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.ge_u @@ -32271,7 +32253,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -32282,7 +32264,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $index @@ -32290,7 +32272,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -32311,13 +32293,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ i32.ge_u @@ -32344,7 +32326,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -32355,7 +32337,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart local.get $index @@ -32363,7 +32345,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -32378,35 +32360,304 @@ (func $~lib/array/Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 + call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + return + ) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $result i32) + (local $sepLen i32) + (local $i i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 20 + memory.fill + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 10544 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + end + local.get $lastIndex + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + i32.load + local.tee $value + i32.store + local.get $value + i32.const 0 + i32.ne + if (result i32) + local.get $value + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $~lib/array/Array#toString + else + i32.const 10544 + end + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 10544 + local.tee $result + i32.store offset=8 + local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $value + i32.store + local.get $value + i32.const 0 + i32.ne + if + global.get $~lib/memory/__stack_pointer + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $value + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=16 + local.get $8 + call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $8 + call $~lib/string/String.__concat + local.tee $result + i32.store offset=8 + end + local.get $sepLen + if + global.get $~lib/memory/__stack_pointer + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $8 + call $~lib/string/String.__concat + local.tee $result + i32.store offset=8 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $value + i32.store + local.get $value + i32.const 0 + i32.ne + if + global.get $~lib/memory/__stack_pointer + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $value + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=16 + local.get $8 + call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 + local.get $8 + call $~lib/string/String.__concat + local.tee $result + i32.store offset=8 + end + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array<~lib/array/Array>#join (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array<~lib/array/Array>#get:length_ + local.set $len + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 0 + drop + i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/util/string/joinReferenceArray<~lib/array/Array> + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/array/Array<~lib/array/Array>#toString (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/array/Array#join + i32.store + local.get $1 + i32.const 10832 + call $~lib/array/Array<~lib/array/Array>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) (local $value i32) (local $result i32) @@ -32421,7 +32672,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill local.get $length i32.const 1 i32.sub @@ -32444,9 +32695,9 @@ if global.get $~lib/memory/__stack_pointer local.get $dataStart - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -32455,286 +32706,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/array/Array#toString - else - i32.const 10544 - end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 10544 - local.tee $result - i32.store $0 offset=8 - local.get $separator - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/string/String#get:length - local.set $sepLen - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - local.get $value - i32.const 0 - i32.ne - if - global.get $~lib/memory/__stack_pointer - local.get $result - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $value - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=16 - local.get $8 - call $~lib/array/Array#toString - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=12 - local.get $8 - call $~lib/string/String.__concat - local.tee $result - i32.store $0 offset=8 - end - local.get $sepLen - if - global.get $~lib/memory/__stack_pointer - local.get $result - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $separator - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=12 - local.get $8 - call $~lib/string/String.__concat - local.tee $result - i32.store $0 offset=8 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $lastIndex - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - local.get $value - i32.const 0 - i32.ne - if - global.get $~lib/memory/__stack_pointer - local.get $result - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $value - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=16 - local.get $8 - call $~lib/array/Array#toString - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=12 - local.get $8 - call $~lib/string/String.__concat - local.tee $result - i32.store $0 offset=8 - end - local.get $result - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - ) - (func $~lib/array/Array<~lib/array/Array>#join (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.set $ptr - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - call $~lib/array/Array<~lib/array/Array>#get:length_ - local.set $len - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 0 - drop - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 - call $~lib/util/string/joinReferenceArray<~lib/array/Array> - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - ) - (func $~lib/array/Array<~lib/array/Array>#toString (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#join - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $result i32) - (local $sepLen i32) - (local $i i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 10544 - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - local.get $lastIndex - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - i32.load $0 - local.tee $value - i32.store $0 - local.get $value - i32.const 0 - i32.ne - if (result i32) - local.get $value - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array<~lib/array/Array>#toString else @@ -32751,12 +32723,12 @@ global.get $~lib/memory/__stack_pointer i32.const 10544 local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $separator local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/string/String#get:length local.set $sepLen @@ -32773,9 +32745,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -32785,23 +32757,23 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $~lib/array/Array<~lib/array/Array>#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $sepLen if @@ -32810,17 +32782,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $separator local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $i i32.const 1 @@ -32835,9 +32807,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 + i32.store local.get $value i32.const 0 i32.ne @@ -32847,23 +32819,23 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $value local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $~lib/array/Array<~lib/array/Array>#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=8 + i32.store offset=8 end local.get $result local.set $8 @@ -32879,18 +32851,18 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart local.set $ptr @@ -32898,7 +32870,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ local.set $len @@ -32922,12 +32894,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 call $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -32936,29 +32908,24 @@ (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -32985,10 +32952,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 i32.eqz drop @@ -32996,7 +32963,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 + i32.store local.get $13 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.set $ptr @@ -33004,7 +32971,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 + i32.store local.get $13 call $~lib/array/Array<~lib/array/Array>#get:length_ local.set $len @@ -33022,7 +32989,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $child local.get $size local.get $child @@ -33032,7 +32999,7 @@ i32.const 0 else local.get $child - i32.load $0 offset=12 + i32.load offset=12 end i32.add local.set $size @@ -33052,25 +33019,25 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $outBuffer - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 4 call $~lib/rt/itcms/__new local.tee $outArray - i32.store $0 offset=8 + i32.store offset=8 local.get $outArray local.get $size - i32.store $0 offset=12 + i32.store offset=12 local.get $outArray local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $outArray local.get $outBuffer - i32.store $0 offset=4 + i32.store offset=4 local.get $outArray local.get $outBuffer - i32.store $0 + i32.store local.get $outArray local.get $outBuffer i32.const 0 @@ -33090,7 +33057,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $child|11 local.get $child|11 i32.eqz @@ -33098,7 +33065,7 @@ br $for-continue|1 end local.get $child|11 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl local.set $childDataLength @@ -33106,9 +33073,9 @@ local.get $resultOffset i32.add local.get $child|11 - i32.load $0 offset=4 + i32.load offset=4 local.get $childDataLength - memory.copy $0 $0 + memory.copy local.get $resultOffset local.get $childDataLength i32.add @@ -33141,13 +33108,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ i32.ge_u @@ -33174,7 +33141,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -33185,7 +33152,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart local.get $index @@ -33193,7 +33160,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -33228,10 +33195,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 i32.eqz drop @@ -33239,7 +33206,7 @@ local.set $15 global.get $~lib/memory/__stack_pointer local.get $15 - i32.store $0 + i32.store local.get $15 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart local.set $ptr @@ -33247,7 +33214,7 @@ local.set $15 global.get $~lib/memory/__stack_pointer local.get $15 - i32.store $0 + i32.store local.get $15 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ local.set $len @@ -33265,7 +33232,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $child local.get $size local.get $child @@ -33275,7 +33242,7 @@ i32.const 0 else local.get $child - i32.load $0 offset=12 + i32.load offset=12 end i32.add local.set $size @@ -33295,25 +33262,25 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $outBuffer - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 34 call $~lib/rt/itcms/__new local.tee $outArray - i32.store $0 offset=8 + i32.store offset=8 local.get $outArray local.get $size - i32.store $0 offset=12 + i32.store offset=12 local.get $outArray local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $outArray local.get $outBuffer - i32.store $0 offset=4 + i32.store offset=4 local.get $outArray local.get $outBuffer - i32.store $0 + i32.store local.get $outArray local.get $outBuffer i32.const 0 @@ -33333,7 +33300,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $child|11 local.get $child|11 i32.eqz @@ -33341,7 +33308,7 @@ br $for-continue|1 end local.get $child|11 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl local.set $childDataLength @@ -33349,9 +33316,9 @@ local.get $resultOffset i32.add local.get $child|11 - i32.load $0 offset=4 + i32.load offset=4 local.get $childDataLength - memory.copy $0 $0 + memory.copy local.get $resultOffset local.get $childDataLength i32.add @@ -33378,7 +33345,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $ref local.get $outBuffer local.get $ref @@ -33409,12 +33376,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $nestedArray local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length i32.const 1 @@ -33432,7 +33399,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 3 call $~lib/array/Array#push @@ -33441,7 +33408,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length i32.const 2 @@ -33474,21 +33441,19 @@ (local $result i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.const 20 + memory.fill local.get $this local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array<~lib/array/Array>#get:length_ local.set $len @@ -33499,12 +33464,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.set $outStart @@ -33518,7 +33483,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/array/Array<~lib/array/Array>#get:length_ local.tee $7 @@ -33533,40 +33498,40 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=12 local.get $9 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 local.get $i local.get $this local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) local.tee $result - i32.store $0 offset=12 + i32.store offset=16 local.get $outStart local.get $i i32.const 2 i32.shl i32.add local.get $result - i32.store $0 + i32.store i32.const 1 drop local.get $out @@ -33583,7 +33548,7 @@ local.get $out local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -33887,197 +33852,15 @@ (local $294 i32) (local $295 i32) (local $296 i32) - (local $297 i32) - (local $298 i32) - (local $299 i32) - (local $300 i32) - (local $301 i32) - (local $302 i32) - (local $303 i32) - (local $304 i32) - (local $305 i32) - (local $306 i32) - (local $307 i32) - (local $308 i32) - (local $309 i32) - (local $310 i32) - (local $311 i32) - (local $312 i32) - (local $313 i32) - (local $314 i32) - (local $315 i32) - (local $316 i32) - (local $317 i32) - (local $318 i32) - (local $319 i32) - (local $320 i32) - (local $321 i32) - (local $322 i32) - (local $323 i32) - (local $324 i32) - (local $325 i32) - (local $326 i32) - (local $327 i32) - (local $328 i32) - (local $329 i32) - (local $330 i32) - (local $331 i32) - (local $332 i32) - (local $333 i32) - (local $334 i32) - (local $335 i32) - (local $336 i32) - (local $337 i32) - (local $338 i32) - (local $339 i32) - (local $340 i32) - (local $341 i32) - (local $342 i32) - (local $343 i32) - (local $344 i32) - (local $345 i32) - (local $346 i32) - (local $347 i32) - (local $348 i32) - (local $349 i32) - (local $350 i32) - (local $351 i32) - (local $352 i32) - (local $353 i32) - (local $354 i32) - (local $355 i32) - (local $356 i32) - (local $357 i32) - (local $358 i32) - (local $359 i32) - (local $360 i32) - (local $361 i32) - (local $362 i32) - (local $363 i32) - (local $364 i32) - (local $365 i32) - (local $366 i32) - (local $367 i32) - (local $368 i32) - (local $369 i32) - (local $370 i32) - (local $371 i32) - (local $372 i32) - (local $373 i32) - (local $374 i32) - (local $375 i32) - (local $376 i32) - (local $377 i32) - (local $378 i32) - (local $379 i32) - (local $380 i32) - (local $381 i32) - (local $382 i32) - (local $383 i32) - (local $384 i32) - (local $385 i32) - (local $386 i32) - (local $387 i32) - (local $388 i32) - (local $389 i32) - (local $390 i32) - (local $391 i32) - (local $392 i32) - (local $393 i32) - (local $394 i32) - (local $395 i32) - (local $396 i32) - (local $397 i32) - (local $398 i32) - (local $399 i32) - (local $400 i32) - (local $401 i32) - (local $402 i32) - (local $403 i32) - (local $404 i32) - (local $405 i32) - (local $406 i32) - (local $407 i32) - (local $408 i32) - (local $409 i32) - (local $410 i32) - (local $411 i32) - (local $412 i32) - (local $413 i32) - (local $414 i32) - (local $415 i32) - (local $416 i32) - (local $417 i32) - (local $418 i32) - (local $419 i32) - (local $420 i32) - (local $421 i32) - (local $422 i32) - (local $423 i32) - (local $424 i32) - (local $425 i32) - (local $426 i32) - (local $427 i32) - (local $428 i32) - (local $429 i32) - (local $430 i32) - (local $431 i32) - (local $432 i32) - (local $433 i32) - (local $434 i32) - (local $435 i32) - (local $436 i32) - (local $437 i32) - (local $438 i32) - (local $439 i32) - (local $440 i32) - (local $441 i32) - (local $442 i32) - (local $443 i32) - (local $444 i32) - (local $445 i32) - (local $446 i32) - (local $447 i32) - (local $448 i32) - (local $449 i32) - (local $450 i32) - (local $451 i32) - (local $452 i32) - (local $453 i32) - (local $454 i32) - (local $455 i32) - (local $456 i32) - (local $457 i32) - (local $458 i32) - (local $459 i32) - (local $460 i32) - (local $461 i32) - (local $462 i32) - (local $463 i32) - (local $464 i32) - (local $465 i32) - (local $466 i32) - (local $467 i32) - (local $468 i32) - (local $469 i32) - (local $470 i32) - (local $471 i32) - (local $472 i32) - (local $473 i32) - (local $474 i32) - (local $475 i32) - (local $476 i32) - (local $477 i32) - (local $478 i32) - global.get $~lib/memory/__stack_pointer - i32.const 508 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 508 - memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 444 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 444 + memory.fill i32.const 0 i32.const 0 i32.eq @@ -34090,7 +33873,7 @@ i32.const 8 i32.eq drop - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -34126,11 +33909,11 @@ i32.const 0 i32.const 0 call $std/array/Ref#constructor - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array.isArray i32.eqz i32.eqz @@ -34145,11 +33928,11 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#constructor - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array.isArray<~lib/typedarray/Uint8Array> i32.eqz i32.eqz @@ -34174,11 +33957,6 @@ unreachable end i32.const 640 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 call $~lib/array/Array.isArray<~lib/string/String> i32.eqz i32.eqz @@ -34191,11 +33969,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array.isArray<~lib/array/Array> i32.eqz if @@ -34212,35 +33990,35 @@ i32.const 7 i32.const 672 call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=4 - local.get $2 - local.set $478 + local.tee $1 + i32.store offset=4 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill drop - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 0 i32.const 7 i32.const 704 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34252,12 +34030,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 0 i32.const 1 @@ -34265,22 +34043,22 @@ i32.const 0 call $~lib/array/Array#fill@varargs drop - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 0 i32.const 7 i32.const 736 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34292,33 +34070,33 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill drop - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 0 i32.const 7 i32.const 768 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34330,12 +34108,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const -2 i32.const 2 @@ -34343,22 +34121,22 @@ i32.const 0 call $~lib/array/Array#fill@varargs drop - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 0 i32.const 7 i32.const 800 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34370,33 +34148,33 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill drop - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 0 i32.const 7 i32.const 832 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34408,12 +34186,12 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const -1 i32.const 0 i32.const 1 @@ -34421,22 +34199,22 @@ i32.const 0 call $~lib/array/Array#fill@varargs drop - local.get $2 - local.set $478 + local.get $1 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 0 i32.const 7 i32.const 864 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34454,35 +34232,35 @@ i32.const 8 i32.const 896 call $~lib/rt/__newArray - local.tee $17 - i32.store $0 offset=12 - local.get $17 - local.set $478 + local.tee $9 + i32.store offset=12 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill drop - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 8 i32.const 944 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34494,12 +34272,12 @@ call $~lib/builtins/abort unreachable end - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 0 i32.const 1 @@ -34507,22 +34285,22 @@ i32.const 0 call $~lib/array/Array#fill@varargs drop - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 8 i32.const 992 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34534,33 +34312,33 @@ call $~lib/builtins/abort unreachable end - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill drop - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 8 i32.const 1040 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34572,12 +34350,12 @@ call $~lib/builtins/abort unreachable end - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const -2 i32.const 2 @@ -34585,22 +34363,22 @@ i32.const 0 call $~lib/array/Array#fill@varargs drop - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 8 i32.const 1088 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34612,33 +34390,33 @@ call $~lib/builtins/abort unreachable end - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill drop - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 8 i32.const 1136 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34650,12 +34428,12 @@ call $~lib/builtins/abort unreachable end - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const -1 i32.const 0 i32.const 1 @@ -34663,22 +34441,22 @@ i32.const 0 call $~lib/array/Array#fill@varargs drop - local.get $17 - local.set $478 + local.get $9 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 8 i32.const 1184 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34696,35 +34474,35 @@ i32.const 9 i32.const 1232 call $~lib/rt/__newArray - local.tee $32 - i32.store $0 offset=16 - local.get $32 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $17 + i32.store offset=16 + local.get $17 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 f32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill drop - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 9 i32.const 1280 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34736,12 +34514,12 @@ call $~lib/builtins/abort unreachable end - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 f32.const 0 i32.const 0 i32.const 1 @@ -34749,22 +34527,22 @@ i32.const 0 call $~lib/array/Array#fill@varargs drop - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 9 i32.const 1328 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34776,33 +34554,33 @@ call $~lib/builtins/abort unreachable end - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 f32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill drop - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 9 i32.const 1376 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34814,12 +34592,12 @@ call $~lib/builtins/abort unreachable end - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 f32.const 2 i32.const -2 i32.const 2 @@ -34827,22 +34605,22 @@ i32.const 0 call $~lib/array/Array#fill@varargs drop - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 9 i32.const 1424 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34854,33 +34632,33 @@ call $~lib/builtins/abort unreachable end - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 f32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill drop - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 9 i32.const 1472 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34892,12 +34670,12 @@ call $~lib/builtins/abort unreachable end - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 f32.const -1 i32.const 0 i32.const 1 @@ -34905,22 +34683,22 @@ i32.const 0 call $~lib/array/Array#fill@varargs drop - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 9 i32.const 1520 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34932,12 +34710,12 @@ call $~lib/builtins/abort unreachable end - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 f32.const -0 i32.const 0 i32.const 1 @@ -34945,22 +34723,22 @@ i32.const 0 call $~lib/array/Array#fill@varargs drop - local.get $32 - local.set $478 + local.get $17 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 9 i32.const 1568 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -34973,11 +34751,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -34991,11 +34769,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -35009,20 +34787,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 42 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -35037,11 +34815,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 1 i32.eq @@ -35055,11 +34833,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -35073,14 +34851,14 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop - local.set $47 - local.get $47 + local.set $25 + local.get $25 i32.const 42 i32.eq i32.eqz @@ -35093,11 +34871,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -35111,11 +34889,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -35129,20 +34907,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 1 i32.eq @@ -35156,11 +34934,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -35174,11 +34952,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -35193,20 +34971,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 44 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -35220,11 +34998,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -35238,11 +35016,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -35257,11 +35035,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -35276,20 +35054,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 45 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -35303,11 +35081,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -35321,11 +35099,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -35340,11 +35118,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -35359,11 +35137,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -35384,42 +35162,37 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $48 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - local.get $48 - i32.load $0 offset=4 - local.tee $49 - i32.store $0 offset=24 - local.get $48 + local.tee $26 + i32.store offset=20 + local.get $26 i32.const 0 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $48 + local.get $26 i32.const 1 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $48 - local.tee $50 - i32.store $0 offset=28 - local.get $50 - local.set $478 + local.get $26 + local.tee $27 + i32.store offset=24 + local.get $27 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#set:length - local.get $50 - local.set $478 + local.get $27 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -35438,14 +35211,14 @@ i32.const 4 i32.const 1664 call $~lib/rt/__newArray - local.tee $53 - i32.store $0 offset=32 - local.get $53 - local.set $478 + local.tee $29 + i32.store offset=28 + local.get $29 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#at i32.const 1 @@ -35459,12 +35232,12 @@ call $~lib/builtins/abort unreachable end - local.get $53 - local.set $478 + local.get $29 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#at i32.const 4 @@ -35478,12 +35251,12 @@ call $~lib/builtins/abort unreachable end - local.get $53 - local.set $478 + local.get $29 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const -1 call $~lib/array/Array#at i32.const 4 @@ -35497,12 +35270,12 @@ call $~lib/builtins/abort unreachable end - local.get $53 - local.set $478 + local.get $29 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const -4 call $~lib/array/Array#at i32.const 1 @@ -35520,30 +35293,30 @@ i32.const 0 i32.const 0 call $~lib/array/Array#constructor - local.tee $54 - i32.store $0 offset=36 + local.tee $30 + i32.store offset=32 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $54 - local.set $478 + local.get $296 + i32.store + local.get $296 + local.get $30 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#concat - local.tee $55 - i32.store $0 offset=40 + local.tee $31 + i32.store offset=36 global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -35557,11 +35330,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -35574,12 +35347,12 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -35592,30 +35365,30 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 2 i32.const 4 i32.const 1712 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#concat drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -35628,12 +35401,12 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -35647,12 +35420,12 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -35666,12 +35439,12 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -35685,46 +35458,46 @@ call $~lib/builtins/abort unreachable end - local.get $54 - local.set $478 + local.get $30 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 46 call $~lib/array/Array#push drop - local.get $54 - local.set $478 + local.get $30 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 47 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $54 - local.set $478 + local.get $296 + i32.store + local.get $296 + local.get $30 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#concat - local.tee $55 - i32.store $0 offset=40 + local.tee $31 + i32.store offset=36 global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -35737,12 +35510,12 @@ call $~lib/builtins/abort unreachable end - local.get $54 - local.set $478 + local.get $30 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -35755,12 +35528,12 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 5 i32.eq @@ -35773,12 +35546,12 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -35792,12 +35565,12 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -35811,12 +35584,12 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -35830,12 +35603,12 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#__get i32.const 46 @@ -35849,12 +35622,12 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 4 call $~lib/array/Array#__get i32.const 47 @@ -35868,20 +35641,20 @@ call $~lib/builtins/abort unreachable end - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop - local.get $55 - local.set $478 + local.get $31 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -35900,14 +35673,14 @@ i32.const 4 i32.const 1744 call $~lib/rt/__newArray - local.tee $60 - i32.store $0 offset=44 - local.get $60 - local.set $478 + local.tee $34 + i32.store offset=40 + local.get $34 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -35921,27 +35694,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $60 - local.set $478 + local.get $34 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#concat - local.tee $55 - i32.store $0 offset=40 - local.get $55 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $31 + i32.store offset=36 + local.get $31 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -35954,12 +35727,12 @@ call $~lib/builtins/abort unreachable end - local.get $60 - local.set $478 + local.get $34 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -35978,35 +35751,35 @@ i32.const 4 i32.const 1776 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 0 i32.const 3 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#copyWithin@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 1824 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36024,35 +35797,35 @@ i32.const 4 i32.const 1872 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 1 i32.const 3 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#copyWithin@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 1920 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36070,35 +35843,35 @@ i32.const 4 i32.const 1968 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 1 i32.const 2 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#copyWithin@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 2016 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36116,35 +35889,35 @@ i32.const 4 i32.const 2064 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 2 i32.const 2 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#copyWithin@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 2112 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36162,33 +35935,33 @@ i32.const 4 i32.const 2160 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 0 i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 2208 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36206,33 +35979,33 @@ i32.const 4 i32.const 2256 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 1 i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 2304 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36250,33 +36023,33 @@ i32.const 4 i32.const 2352 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 1 i32.const 2 i32.const 4 call $~lib/array/Array#copyWithin - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 2400 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36294,35 +36067,35 @@ i32.const 4 i32.const 2448 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 0 i32.const -2 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#copyWithin@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 2496 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36340,33 +36113,33 @@ i32.const 4 i32.const 2544 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 0 i32.const -2 i32.const -1 call $~lib/array/Array#copyWithin - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 2592 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36384,33 +36157,33 @@ i32.const 4 i32.const 2640 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store offset=48 + local.get $296 i32.const -4 i32.const -3 i32.const -2 call $~lib/array/Array#copyWithin - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 2688 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36428,33 +36201,33 @@ i32.const 4 i32.const 2736 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store offset=48 + local.get $296 i32.const -4 i32.const -3 i32.const -1 call $~lib/array/Array#copyWithin - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 2784 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36472,35 +36245,35 @@ i32.const 4 i32.const 2832 call $~lib/rt/__newArray - local.tee $63 - i32.store $0 offset=48 - local.get $63 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.tee $36 + i32.store offset=44 + local.get $36 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store offset=48 + local.get $296 i32.const -4 i32.const -3 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#copyWithin@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 2880 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -36513,20 +36286,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 42 call $~lib/array/Array#unshift drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -36540,11 +36313,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -36558,11 +36331,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -36577,11 +36350,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -36596,11 +36369,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -36615,11 +36388,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -36634,20 +36407,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 41 call $~lib/array/Array#unshift drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 5 i32.eq @@ -36661,11 +36434,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -36679,11 +36452,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 41 @@ -36698,11 +36471,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 42 @@ -36717,11 +36490,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#__get i32.const 43 @@ -36736,11 +36509,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#__get i32.const 44 @@ -36755,11 +36528,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 4 call $~lib/array/Array#__get i32.const 45 @@ -36774,11 +36547,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#shift global.set $std/array/i global.get $std/array/i @@ -36794,11 +36567,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -36812,11 +36585,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -36830,11 +36603,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -36849,11 +36622,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -36868,11 +36641,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -36887,11 +36660,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -36906,11 +36679,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop global.set $std/array/i global.get $std/array/i @@ -36926,11 +36699,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -36944,11 +36717,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -36962,11 +36735,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -36981,11 +36754,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -37000,11 +36773,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -37024,38 +36797,38 @@ i32.const 4 i32.const 2928 call $~lib/rt/__newArray - local.tee $113 - i32.store $0 offset=56 + local.tee $62 + i32.store offset=52 global.get $~lib/memory/__stack_pointer - local.get $113 - local.set $478 + local.get $62 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#slice@varargs - local.tee $110 - i32.store $0 offset=60 - local.get $110 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $60 + i32.store offset=56 + local.get $60 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 3 i32.const 2 i32.const 4 i32.const 2976 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -37068,33 +36841,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $113 - local.set $478 + local.get $62 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 4 call $~lib/array/Array#slice - local.tee $110 - i32.store $0 offset=60 - local.get $110 - local.set $478 + local.tee $60 + i32.store offset=56 + local.get $60 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 i32.const 4 i32.const 3008 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -37107,33 +36880,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $113 - local.set $478 + local.get $62 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 5 call $~lib/array/Array#slice - local.tee $110 - i32.store $0 offset=60 - local.get $110 - local.set $478 + local.tee $60 + i32.store offset=56 + local.get $60 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 4 i32.const 2 i32.const 4 i32.const 3040 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -37146,31 +36919,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $113 - local.set $478 + local.get $62 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#slice@varargs - local.tee $110 - i32.store $0 offset=60 - local.get $110 - local.set $478 + local.tee $60 + i32.store offset=56 + local.get $60 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $113 - local.set $478 + local.get $296 + i32.store + local.get $296 + local.get $62 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -37183,35 +36956,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $113 - local.set $478 + local.get $62 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const -2 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#slice@varargs - local.tee $110 - i32.store $0 offset=60 - local.get $110 - local.set $478 + local.tee $60 + i32.store offset=56 + local.get $60 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 i32.const 4 i32.const 3088 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -37224,33 +36997,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $113 - local.set $478 + local.get $62 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const -1 call $~lib/array/Array#slice - local.tee $110 - i32.store $0 offset=60 - local.get $110 - local.set $478 + local.tee $60 + i32.store offset=56 + local.get $60 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 i32.const 4 i32.const 3120 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -37263,33 +37036,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $113 - local.set $478 + local.get $62 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const -3 i32.const -1 call $~lib/array/Array#slice - local.tee $110 - i32.store $0 offset=60 - local.get $110 - local.set $478 + local.tee $60 + i32.store offset=56 + local.get $60 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 i32.const 4 i32.const 3152 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -37301,20 +37074,20 @@ call $~lib/builtins/abort unreachable end - local.get $113 - local.set $478 + local.get $62 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const -1 i32.const -3 call $~lib/array/Array#slice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -37327,22 +37100,22 @@ call $~lib/builtins/abort unreachable end - local.get $113 - local.set $478 + local.get $62 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 10 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#slice@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -37356,19 +37129,19 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#reverse drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -37382,11 +37155,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -37400,11 +37173,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 44 @@ -37419,11 +37192,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -37438,11 +37211,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#__get i32.const 42 @@ -37457,20 +37230,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 44 call $~lib/array/Array#push drop @@ -37480,45 +37253,45 @@ i32.const 7 i32.const 3184 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#reverse - local.tee $128 - i32.store $0 offset=64 + local.tee $70 + i32.store offset=60 i32.const 0 - local.set $129 - local.get $128 - local.set $478 + local.set $71 + local.get $70 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.set $130 + local.set $72 loop $for-loop|0 - local.get $129 - local.get $130 + local.get $71 + local.get $72 i32.lt_s if - local.get $128 - local.set $478 + local.get $70 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $129 + local.get $296 + i32.store + local.get $296 + local.get $71 call $~lib/array/Array#__get - local.get $128 - local.set $478 + local.get $70 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.get $129 + local.get $71 i32.sub i32.const 1 i32.sub @@ -37532,10 +37305,10 @@ call $~lib/builtins/abort unreachable end - local.get $129 + local.get $71 i32.const 1 i32.add - local.set $129 + local.set $71 br $for-loop|0 end end @@ -37545,45 +37318,45 @@ i32.const 7 i32.const 3216 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#reverse - local.tee $133 - i32.store $0 offset=68 + local.tee $74 + i32.store offset=64 i32.const 0 - local.set $134 - local.get $133 - local.set $478 + local.set $75 + local.get $74 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.set $135 + local.set $76 loop $for-loop|1 - local.get $134 - local.get $135 + local.get $75 + local.get $76 i32.lt_s if - local.get $133 - local.set $478 + local.get $74 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $134 + local.get $296 + i32.store + local.get $296 + local.get $75 call $~lib/array/Array#__get - local.get $133 - local.set $478 + local.get $74 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.get $134 + local.get $75 i32.sub i32.const 1 i32.sub @@ -37597,10 +37370,10 @@ call $~lib/builtins/abort unreachable end - local.get $134 + local.get $75 i32.const 1 i32.add - local.set $134 + local.set $75 br $for-loop|1 end end @@ -37610,45 +37383,45 @@ i32.const 7 i32.const 3248 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#reverse - local.tee $138 - i32.store $0 offset=72 + local.tee $78 + i32.store offset=68 i32.const 0 - local.set $139 - local.get $138 - local.set $478 + local.set $79 + local.get $78 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.set $140 + local.set $80 loop $for-loop|2 - local.get $139 - local.get $140 + local.get $79 + local.get $80 i32.lt_s if - local.get $138 - local.set $478 + local.get $78 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $139 + local.get $296 + i32.store + local.get $296 + local.get $79 call $~lib/array/Array#__get - local.get $138 - local.set $478 + local.get $78 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.get $139 + local.get $79 i32.sub i32.const 1 i32.sub @@ -37662,10 +37435,10 @@ call $~lib/builtins/abort unreachable end - local.get $139 + local.get $79 i32.const 1 i32.add - local.set $139 + local.set $79 br $for-loop|2 end end @@ -37675,45 +37448,45 @@ i32.const 11 i32.const 3296 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#reverse - local.tee $143 - i32.store $0 offset=76 + local.tee $82 + i32.store offset=72 i32.const 0 - local.set $144 - local.get $143 - local.set $478 + local.set $83 + local.get $82 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.set $145 + local.set $84 loop $for-loop|3 - local.get $144 - local.get $145 + local.get $83 + local.get $84 i32.lt_s if - local.get $143 - local.set $478 + local.get $82 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $144 + local.get $296 + i32.store + local.get $296 + local.get $83 call $~lib/array/Array#__get - local.get $143 - local.set $478 + local.get $82 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.get $144 + local.get $83 i32.sub i32.const 1 i32.sub @@ -37727,10 +37500,10 @@ call $~lib/builtins/abort unreachable end - local.get $144 + local.get $83 i32.const 1 i32.add - local.set $144 + local.set $83 br $for-loop|3 end end @@ -37740,45 +37513,45 @@ i32.const 11 i32.const 3344 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#reverse - local.tee $148 - i32.store $0 offset=80 + local.tee $86 + i32.store offset=76 i32.const 0 - local.set $149 - local.get $148 - local.set $478 + local.set $87 + local.get $86 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.set $150 + local.set $88 loop $for-loop|4 - local.get $149 - local.get $150 + local.get $87 + local.get $88 i32.lt_s if - local.get $148 - local.set $478 + local.get $86 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $149 + local.get $296 + i32.store + local.get $296 + local.get $87 call $~lib/array/Array#__get - local.get $148 - local.set $478 + local.get $86 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.get $149 + local.get $87 i32.sub i32.const 1 i32.sub @@ -37792,10 +37565,10 @@ call $~lib/builtins/abort unreachable end - local.get $149 + local.get $87 i32.const 1 i32.add - local.set $149 + local.set $87 br $for-loop|4 end end @@ -37805,45 +37578,45 @@ i32.const 11 i32.const 3392 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#reverse - local.tee $153 - i32.store $0 offset=84 + local.tee $90 + i32.store offset=80 i32.const 0 - local.set $154 - local.get $153 - local.set $478 + local.set $91 + local.get $90 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.set $155 + local.set $92 loop $for-loop|5 - local.get $154 - local.get $155 + local.get $91 + local.get $92 i32.lt_s if - local.get $153 - local.set $478 + local.get $90 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $154 + local.get $296 + i32.store + local.get $296 + local.get $91 call $~lib/array/Array#__get - local.get $153 - local.set $478 + local.get $90 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length - local.get $154 + local.get $91 i32.sub i32.const 1 i32.sub @@ -37857,19 +37630,19 @@ call $~lib/builtins/abort unreachable end - local.get $154 + local.get $91 i32.const 1 i32.add - local.set $154 + local.set $91 br $for-loop|5 end end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 44 i32.const 0 call $~lib/array/Array#indexOf @@ -37887,11 +37660,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 42 i32.const 0 call $~lib/array/Array#indexOf @@ -37909,11 +37682,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 45 i32.const 0 call $~lib/array/Array#indexOf @@ -37931,11 +37704,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const 100 call $~lib/array/Array#indexOf @@ -37953,11 +37726,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const -100 call $~lib/array/Array#indexOf @@ -37975,11 +37748,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const -2 call $~lib/array/Array#indexOf @@ -37997,11 +37770,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const -4 call $~lib/array/Array#indexOf @@ -38019,11 +37792,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const 0 call $~lib/array/Array#indexOf @@ -38041,11 +37814,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const 1 call $~lib/array/Array#indexOf @@ -38063,11 +37836,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const 2 call $~lib/array/Array#indexOf @@ -38089,11 +37862,11 @@ i32.const 9 i32.const 3440 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 f32.const nan:0x400000 i32.const 0 call $~lib/array/Array#indexOf @@ -38113,11 +37886,11 @@ i32.const 12 i32.const 3472 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 f64.const nan:0x8000000000000 i32.const 0 call $~lib/array/Array#indexOf @@ -38138,14 +37911,14 @@ i32.const 4 i32.const 3504 call $~lib/rt/__newArray - local.tee $162 - i32.store $0 offset=88 - local.get $162 - local.set $478 + local.tee $96 + i32.store offset=84 + local.get $96 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 1 global.set $~argumentsLength @@ -38162,12 +37935,12 @@ call $~lib/builtins/abort unreachable end - local.get $162 - local.set $478 + local.get $96 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 7 i32.const 1 global.set $~argumentsLength @@ -38184,12 +37957,12 @@ call $~lib/builtins/abort unreachable end - local.get $162 - local.set $478 + local.get $96 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 3 call $~lib/array/Array#lastIndexOf @@ -38204,12 +37977,12 @@ call $~lib/builtins/abort unreachable end - local.get $162 - local.set $478 + local.get $96 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 call $~lib/array/Array#lastIndexOf @@ -38224,12 +37997,12 @@ call $~lib/builtins/abort unreachable end - local.get $162 - local.set $478 + local.get $96 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const -2 call $~lib/array/Array#lastIndexOf @@ -38244,12 +38017,12 @@ call $~lib/builtins/abort unreachable end - local.get $162 - local.set $478 + local.get $96 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const -1 call $~lib/array/Array#lastIndexOf @@ -38265,16 +38038,16 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 44 i32.const 0 call $~lib/array/Array#includes - local.set $163 - local.get $163 + local.set $97 + local.get $97 i32.const 1 i32.eq i32.eqz @@ -38287,16 +38060,16 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 42 i32.const 0 call $~lib/array/Array#includes - local.set $163 - local.get $163 + local.set $97 + local.get $97 i32.const 1 i32.eq i32.eqz @@ -38309,16 +38082,16 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 45 i32.const 0 call $~lib/array/Array#includes - local.set $163 - local.get $163 + local.set $97 + local.get $97 i32.const 0 i32.eq i32.eqz @@ -38331,16 +38104,16 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const 100 call $~lib/array/Array#includes - local.set $163 - local.get $163 + local.set $97 + local.get $97 i32.const 0 i32.eq i32.eqz @@ -38353,16 +38126,16 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const -100 call $~lib/array/Array#includes - local.set $163 - local.get $163 + local.set $97 + local.get $97 i32.const 1 i32.eq i32.eqz @@ -38375,16 +38148,16 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const -2 call $~lib/array/Array#includes - local.set $163 - local.get $163 + local.set $97 + local.get $97 i32.const 1 i32.eq i32.eqz @@ -38397,16 +38170,16 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const -4 call $~lib/array/Array#includes - local.set $163 - local.get $163 + local.set $97 + local.get $97 i32.const 1 i32.eq i32.eqz @@ -38419,16 +38192,16 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const 0 call $~lib/array/Array#includes - local.set $163 - local.get $163 + local.set $97 + local.get $97 i32.const 1 i32.eq i32.eqz @@ -38441,16 +38214,16 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const 1 call $~lib/array/Array#includes - local.set $163 - local.get $163 + local.set $97 + local.get $97 i32.const 1 i32.eq i32.eqz @@ -38463,16 +38236,16 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 43 i32.const 2 call $~lib/array/Array#includes - local.set $163 - local.get $163 + local.set $97 + local.get $97 i32.const 1 i32.eq i32.eqz @@ -38489,11 +38262,11 @@ i32.const 9 i32.const 3552 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 f32.const nan:0x400000 i32.const 0 call $~lib/array/Array#includes @@ -38511,11 +38284,11 @@ i32.const 12 i32.const 3584 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 f64.const nan:0x8000000000000 i32.const 0 call $~lib/array/Array#includes @@ -38529,21 +38302,21 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 1 call $~lib/array/Array#splice drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -38557,11 +38330,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/internalCapacity i32.const 8 i32.eq @@ -38575,11 +38348,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 44 @@ -38594,11 +38367,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 42 @@ -38618,34 +38391,34 @@ i32.const 4 i32.const 3616 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#splice@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 3664 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -38657,22 +38430,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 2 i32.const 4 i32.const 3712 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -38690,32 +38463,32 @@ i32.const 4 i32.const 3744 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 0 i32.const 0 call $~lib/array/Array#splice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 2 i32.const 4 i32.const 3792 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -38727,22 +38500,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 3824 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -38760,34 +38533,34 @@ i32.const 4 i32.const 3872 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 2 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#splice@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 i32.const 2 i32.const 4 i32.const 3920 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -38799,22 +38572,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 i32.const 4 i32.const 3952 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -38832,32 +38605,32 @@ i32.const 4 i32.const 3984 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 2 i32.const 2 call $~lib/array/Array#splice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 i32.const 4 i32.const 4032 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -38869,22 +38642,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 i32.const 2 i32.const 4 i32.const 4064 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -38902,32 +38675,32 @@ i32.const 4 i32.const 4096 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 0 i32.const 1 call $~lib/array/Array#splice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 2 i32.const 4 i32.const 4144 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -38939,22 +38712,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 4 i32.const 2 i32.const 4 i32.const 4176 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -38972,34 +38745,34 @@ i32.const 4 i32.const 4224 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const -1 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#splice@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 2 i32.const 4 i32.const 4272 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39011,22 +38784,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 4 i32.const 2 i32.const 4 i32.const 4304 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39044,34 +38817,34 @@ i32.const 4 i32.const 4352 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const -2 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#splice@varargs - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 i32.const 4 i32.const 4400 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39083,22 +38856,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 i32.const 2 i32.const 4 i32.const 4432 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39116,32 +38889,32 @@ i32.const 4 i32.const 4464 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const -2 i32.const 1 call $~lib/array/Array#splice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 2 i32.const 4 i32.const 4512 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39153,22 +38926,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 4 i32.const 2 i32.const 4 i32.const 4544 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39186,32 +38959,32 @@ i32.const 4 i32.const 4592 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const -7 i32.const 1 call $~lib/array/Array#splice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 2 i32.const 4 i32.const 4640 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39223,22 +38996,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 4 i32.const 2 i32.const 4 i32.const 4672 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39256,32 +39029,32 @@ i32.const 4 i32.const 4720 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const -2 i32.const -1 call $~lib/array/Array#splice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 2 i32.const 4 i32.const 4768 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39293,22 +39066,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 4800 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39326,32 +39099,32 @@ i32.const 4 i32.const 4848 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 1 i32.const -2 call $~lib/array/Array#splice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 2 i32.const 4 i32.const 4896 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39363,22 +39136,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 4928 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39396,32 +39169,32 @@ i32.const 4 i32.const 4976 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 4 i32.const 0 call $~lib/array/Array#splice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 2 i32.const 4 i32.const 5024 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39433,22 +39206,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 5056 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39466,32 +39239,32 @@ i32.const 4 i32.const 5104 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 7 i32.const 0 call $~lib/array/Array#splice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 2 i32.const 4 i32.const 5152 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39503,22 +39276,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 5184 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39536,32 +39309,32 @@ i32.const 4 i32.const 5232 call $~lib/rt/__newArray - local.tee $170 - i32.store $0 offset=92 - local.get $170 - local.set $478 + local.tee $101 + i32.store offset=88 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 i32.const 7 i32.const 5 call $~lib/array/Array#splice - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 2 i32.const 4 i32.const 5280 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39573,22 +39346,22 @@ call $~lib/builtins/abort unreachable end - local.get $170 - local.set $478 + local.get $101 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 5312 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -39606,26 +39379,26 @@ i32.const 10 i32.const 5360 call $~lib/rt/__newArray - local.tee $255 - i32.store $0 offset=96 + local.tee $144 + i32.store offset=92 global.get $~lib/memory/__stack_pointer - local.get $255 - local.set $478 + local.get $144 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 2 call $~lib/array/Array#splice - local.tee $256 - i32.store $0 offset=100 - local.get $256 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $145 + i32.store offset=96 + local.get $145 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -39638,12 +39411,12 @@ call $~lib/builtins/abort unreachable end - local.get $255 - local.set $478 + local.get $144 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -39663,64 +39436,59 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $257 - i32.store $0 offset=104 - global.get $~lib/memory/__stack_pointer - local.get $257 - i32.load $0 offset=4 - local.tee $258 - i32.store $0 offset=108 - local.get $257 + local.tee $146 + i32.store offset=100 + local.get $146 i32.const 0 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $257 + local.get $146 i32.const 1 i32.const 0 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $257 + local.get $146 i32.const 2 i32.const 0 i32.const 3 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $257 + local.get $146 i32.const 3 i32.const 0 i32.const 4 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $257 + local.get $146 i32.const 4 i32.const 0 i32.const 5 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $257 - local.tee $255 - i32.store $0 offset=96 + local.get $146 + local.tee $144 + i32.store offset=92 global.get $~lib/memory/__stack_pointer - local.get $255 - local.set $478 + local.get $144 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 call $~lib/array/Array#splice - local.tee $256 - i32.store $0 offset=100 - local.get $256 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $145 + i32.store offset=96 + local.get $145 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -39733,19 +39501,19 @@ call $~lib/builtins/abort unreachable end - local.get $256 - local.set $478 + local.get $145 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#__get - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/Ref#get:v i32.const 3 i32.eq @@ -39758,19 +39526,19 @@ call $~lib/builtins/abort unreachable end - local.get $256 - local.set $478 + local.get $145 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 1 call $~lib/array/Array#__get - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/Ref#get:v i32.const 4 i32.eq @@ -39783,12 +39551,12 @@ call $~lib/builtins/abort unreachable end - local.get $255 - local.set $478 + local.get $144 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -39801,19 +39569,19 @@ call $~lib/builtins/abort unreachable end - local.get $255 - local.set $478 + local.get $144 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#__get - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/Ref#get:v i32.const 1 i32.eq @@ -39826,19 +39594,19 @@ call $~lib/builtins/abort unreachable end - local.get $255 - local.set $478 + local.get $144 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 1 call $~lib/array/Array#__get - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/Ref#get:v i32.const 2 i32.eq @@ -39851,19 +39619,19 @@ call $~lib/builtins/abort unreachable end - local.get $255 - local.set $478 + local.get $144 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 2 call $~lib/array/Array#__get - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/Ref#get:v i32.const 5 i32.eq @@ -39883,50 +39651,45 @@ i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $259 - i32.store $0 offset=112 - global.get $~lib/memory/__stack_pointer - local.get $259 - i32.load $0 offset=4 - local.tee $260 - i32.store $0 offset=116 - local.get $259 + local.tee $147 + i32.store offset=104 + local.get $147 i32.const 0 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $259 + local.get $147 i32.const 1 i32.const 0 call $~lib/array/Array#__set - local.get $259 + local.get $147 i32.const 2 i32.const 0 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $259 - local.tee $261 - i32.store $0 offset=120 + local.get $147 + local.tee $148 + i32.store offset=108 global.get $~lib/memory/__stack_pointer - local.get $261 - local.set $478 + local.get $148 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 1 call $~lib/array/Array#splice - local.tee $262 - i32.store $0 offset=124 - local.get $262 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $149 + i32.store offset=112 + local.get $149 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 1 i32.eq @@ -39940,19 +39703,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $262 - local.set $478 + local.get $149 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#__get - local.tee $263 - i32.store $0 offset=128 - local.get $263 + local.tee $150 + i32.store offset=116 + local.get $150 if (result i32) - local.get $263 + local.get $150 else i32.const 5520 i32.const 528 @@ -39961,11 +39724,11 @@ call $~lib/builtins/abort unreachable end - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/Ref#get:v i32.const 1 i32.eq @@ -39978,12 +39741,12 @@ call $~lib/builtins/abort unreachable end - local.get $261 - local.set $478 + local.get $148 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -39996,12 +39759,12 @@ call $~lib/builtins/abort unreachable end - local.get $261 - local.set $478 + local.get $148 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 0 @@ -40016,19 +39779,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $261 - local.set $478 + local.get $148 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 1 call $~lib/array/Array#__get - local.tee $264 - i32.store $0 offset=132 - local.get $264 + local.tee $151 + i32.store offset=120 + local.get $151 if (result i32) - local.get $264 + local.get $151 else i32.const 5520 i32.const 528 @@ -40037,11 +39800,11 @@ call $~lib/builtins/abort unreachable end - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/Ref#get:v i32.const 2 i32.eq @@ -40055,53 +39818,53 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 i32.const 0 call $~lib/array/Array#__set global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 1 call $~lib/array/Array#__set global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 call $~lib/array/Array#__set global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 i32.const 3 call $~lib/array/Array#__set global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5648 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -40117,17 +39880,17 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5680 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -40143,17 +39906,17 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5712 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -40169,17 +39932,17 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5744 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -40195,11 +39958,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -40213,17 +39976,17 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5776 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -40239,49 +40002,49 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5808 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i @@ -40297,11 +40060,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -40315,20 +40078,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#push drop @@ -40338,20 +40101,20 @@ i32.const 4 i32.const 5840 call $~lib/rt/__newArray - local.tee $267 - i32.store $0 offset=136 - local.get $267 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $153 + i32.store offset=124 + local.get $153 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 5888 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#findLastIndex global.set $std/array/i global.get $std/array/i @@ -40366,18 +40129,18 @@ call $~lib/builtins/abort unreachable end - local.get $267 - local.set $478 + local.get $153 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5920 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#findLastIndex global.set $std/array/i global.get $std/array/i @@ -40392,18 +40155,18 @@ call $~lib/builtins/abort unreachable end - local.get $267 - local.set $478 + local.get $153 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5952 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#findLastIndex global.set $std/array/i global.get $std/array/i @@ -40418,18 +40181,18 @@ call $~lib/builtins/abort unreachable end - local.get $267 - local.set $478 + local.get $153 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5984 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#findLastIndex global.set $std/array/i global.get $std/array/i @@ -40445,20 +40208,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6016 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#every - local.set $268 - local.get $268 + local.set $154 + local.get $154 i32.const 1 i32.eq i32.eqz @@ -40471,20 +40234,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6048 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#every - local.set $268 - local.get $268 + local.set $154 + local.get $154 i32.const 0 i32.eq i32.eqz @@ -40497,20 +40260,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6080 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#every - local.set $268 - local.get $268 + local.set $154 + local.get $154 i32.const 1 i32.eq i32.eqz @@ -40523,11 +40286,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -40541,20 +40304,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6112 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#every - local.set $268 - local.get $268 + local.set $154 + local.get $154 i32.const 0 i32.eq i32.eqz @@ -40567,52 +40330,52 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6144 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#every - local.set $268 - local.get $268 + local.set $154 + local.get $154 i32.const 1 i32.eq i32.eqz @@ -40625,11 +40388,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -40643,38 +40406,38 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6176 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#some - local.set $269 - local.get $269 + local.set $155 + local.get $155 i32.const 1 i32.eq i32.eqz @@ -40687,20 +40450,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6208 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#some - local.set $269 - local.get $269 + local.set $155 + local.get $155 i32.const 0 i32.eq i32.eqz @@ -40713,20 +40476,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6240 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#some - local.set $269 - local.get $269 + local.set $155 + local.get $155 i32.const 0 i32.eq i32.eqz @@ -40739,11 +40502,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -40757,20 +40520,20 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6272 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#some - local.set $269 - local.get $269 + local.set $155 + local.get $155 i32.const 1 i32.eq i32.eqz @@ -40783,52 +40546,52 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6304 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#some - local.set $269 - local.get $269 + local.set $155 + local.get $155 i32.const 0 i32.eq i32.eqz @@ -40841,11 +40604,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -40859,37 +40622,37 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#push drop i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6336 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#forEach global.get $std/array/i i32.const 6 @@ -40906,17 +40669,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6368 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#forEach global.get $std/array/i i32.const 6 @@ -40931,11 +40694,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -40951,17 +40714,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6400 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#forEach global.get $std/array/i i32.const 406 @@ -40976,51 +40739,51 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6432 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#forEach global.get $std/array/i i32.const 1 @@ -41035,11 +40798,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -41053,42 +40816,42 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 6464 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#forEach global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 100 i32.eq @@ -41102,101 +40865,101 @@ unreachable end i32.const 0 - local.set $270 + local.set $156 loop $for-loop|6 - local.get $270 + local.get $156 i32.const 100 i32.lt_s if global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop - local.get $270 + local.get $156 i32.const 1 i32.add - local.set $270 + local.set $156 br $for-loop|6 end end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8272 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#map<~lib/string/String> - local.tee $271 - i32.store $0 offset=140 + local.tee $157 + i32.store offset=128 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8304 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#map - local.tee $272 - i32.store $0 offset=144 - local.get $272 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $158 + i32.store offset=132 + local.get $158 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -41209,20 +40972,20 @@ call $~lib/builtins/abort unreachable end - local.get $272 - local.set $478 + local.get $158 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get f32.convert_i32_s @@ -41239,17 +41002,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8336 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#map drop global.get $std/array/i @@ -41265,11 +41028,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -41285,17 +41048,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8368 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#map drop global.get $std/array/i @@ -41311,51 +41074,51 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8400 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#map drop global.get $std/array/i @@ -41371,11 +41134,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -41389,45 +41152,45 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#push drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8432 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#filter - local.tee $273 - i32.store $0 offset=148 - local.get $273 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $159 + i32.store offset=136 + local.get $159 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -41443,17 +41206,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8464 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#filter drop global.get $std/array/i @@ -41469,11 +41232,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -41489,17 +41252,17 @@ i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8496 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#filter drop global.get $std/array/i @@ -41515,51 +41278,51 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop i32.const 0 global.set $std/array/i global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8528 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#filter drop global.get $std/array/i @@ -41575,11 +41338,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -41593,35 +41356,35 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8560 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -41638,17 +41401,17 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8592 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 4 call $~lib/array/Array#reduce global.set $std/array/i @@ -41665,21 +41428,21 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8624 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduce - local.set $274 - local.get $274 + local.set $160 + local.get $160 i32.const 0 i32.ne i32.const 1 @@ -41694,21 +41457,21 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8656 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduce - local.set $274 - local.get $274 + local.set $160 + local.get $160 i32.const 0 i32.ne i32.const 0 @@ -41723,17 +41486,17 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8688 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -41750,11 +41513,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -41768,17 +41531,17 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8720 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -41795,49 +41558,49 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8752 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduce global.set $std/array/i @@ -41854,11 +41617,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -41872,35 +41635,35 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8784 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -41917,17 +41680,17 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8816 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 4 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -41944,21 +41707,21 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8848 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduceRight - local.set $275 - local.get $275 + local.set $161 + local.get $161 i32.const 0 i32.ne i32.const 1 @@ -41973,21 +41736,21 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8880 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduceRight - local.set $275 - local.get $275 + local.set $161 + local.get $161 i32.const 0 i32.ne i32.const 0 @@ -42002,17 +41765,17 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8912 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -42029,11 +41792,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 8 i32.eq @@ -42047,17 +41810,17 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8944 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -42074,49 +41837,49 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#pop drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8976 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $~lib/array/Array#reduceRight global.set $std/array/i @@ -42133,11 +41896,11 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -42151,38 +41914,38 @@ unreachable end global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#push drop global.get $std/array/arr - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#push drop @@ -42195,314 +41958,309 @@ i32.const 23 i32.const 0 call $~lib/rt/__newArray - local.tee $276 - i32.store $0 offset=152 - global.get $~lib/memory/__stack_pointer - local.get $276 - i32.load $0 offset=4 - local.tee $277 - i32.store $0 offset=156 - local.get $276 + local.tee $162 + i32.store offset=140 + local.get $162 i32.const 0 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $278 - i32.store $0 offset=160 - local.get $278 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $163 + i32.store offset=144 + local.get $163 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 100 call $std/array/Dim#set:height - local.get $278 - local.set $478 + local.get $163 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 80 call $std/array/Dim#set:width - local.get $278 + local.get $163 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 1 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $279 - i32.store $0 offset=164 - local.get $279 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $164 + i32.store offset=148 + local.get $164 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 90 call $std/array/Dim#set:height - local.get $279 - local.set $478 + local.get $164 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 90 call $std/array/Dim#set:width - local.get $279 + local.get $164 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 2 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $280 - i32.store $0 offset=168 - local.get $280 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $165 + i32.store offset=152 + local.get $165 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 70 call $std/array/Dim#set:height - local.get $280 - local.set $478 + local.get $165 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 95 call $std/array/Dim#set:width - local.get $280 + local.get $165 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 3 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $281 - i32.store $0 offset=172 - local.get $281 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $166 + i32.store offset=156 + local.get $166 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 100 call $std/array/Dim#set:height - local.get $281 - local.set $478 + local.get $166 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 100 call $std/array/Dim#set:width - local.get $281 + local.get $166 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 4 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $282 - i32.store $0 offset=176 - local.get $282 - local.set $478 + local.tee $167 + i32.store offset=160 + local.get $167 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 80 call $std/array/Dim#set:height - local.get $282 - local.set $478 + local.get $167 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 110 call $std/array/Dim#set:width - local.get $282 + local.get $167 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 5 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $283 - i32.store $0 offset=180 - local.get $283 - local.set $478 + local.tee $168 + i32.store offset=164 + local.get $168 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 110 call $std/array/Dim#set:height - local.get $283 - local.set $478 + local.get $168 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 115 call $std/array/Dim#set:width - local.get $283 + local.get $168 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 6 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $284 - i32.store $0 offset=184 - local.get $284 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $169 + i32.store offset=168 + local.get $169 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 100 call $std/array/Dim#set:height - local.get $284 - local.set $478 + local.get $169 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 120 call $std/array/Dim#set:width - local.get $284 + local.get $169 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 7 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $285 - i32.store $0 offset=188 - local.get $285 - local.set $478 + local.tee $170 + i32.store offset=172 + local.get $170 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 70 call $std/array/Dim#set:height - local.get $285 - local.set $478 + local.get $170 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 125 call $std/array/Dim#set:width - local.get $285 + local.get $170 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 8 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $286 - i32.store $0 offset=192 - local.get $286 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $171 + i32.store offset=176 + local.get $171 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 70 call $std/array/Dim#set:height - local.get $286 - local.set $478 + local.get $171 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 130 call $std/array/Dim#set:width - local.get $286 + local.get $171 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 9 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $287 - i32.store $0 offset=196 - local.get $287 - local.set $478 + local.tee $172 + i32.store offset=180 + local.get $172 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 100 call $std/array/Dim#set:height - local.get $287 - local.set $478 + local.get $172 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 135 call $std/array/Dim#set:width - local.get $287 + local.get $172 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 10 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $288 - i32.store $0 offset=200 - local.get $288 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $173 + i32.store offset=184 + local.get $173 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 75 call $std/array/Dim#set:height - local.get $288 - local.set $478 + local.get $173 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 140 call $std/array/Dim#set:width - local.get $288 + local.get $173 call $~lib/array/Array#__set - local.get $276 + local.get $162 i32.const 11 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $289 - i32.store $0 offset=204 - local.get $289 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $174 + i32.store offset=188 + local.get $174 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 70 call $std/array/Dim#set:height - local.get $289 - local.set $478 + local.get $174 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 140 call $std/array/Dim#set:width - local.get $289 + local.get $174 call $~lib/array/Array#__set - local.get $276 + local.get $162 global.set $std/array/inputStabArr global.get $~lib/memory/__stack_pointer i32.const 12 @@ -42510,314 +42268,309 @@ i32.const 23 i32.const 0 call $~lib/rt/__newArray - local.tee $290 - i32.store $0 offset=208 - global.get $~lib/memory/__stack_pointer - local.get $290 - i32.load $0 offset=4 - local.tee $291 - i32.store $0 offset=212 - local.get $290 + local.tee $175 + i32.store offset=192 + local.get $175 i32.const 0 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $292 - i32.store $0 offset=216 - local.get $292 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $176 + i32.store offset=196 + local.get $176 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 70 call $std/array/Dim#set:height - local.get $292 - local.set $478 + local.get $176 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 95 call $std/array/Dim#set:width - local.get $292 + local.get $176 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 1 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $293 - i32.store $0 offset=220 - local.get $293 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $177 + i32.store offset=200 + local.get $177 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 70 call $std/array/Dim#set:height - local.get $293 - local.set $478 + local.get $177 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 125 call $std/array/Dim#set:width - local.get $293 + local.get $177 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 2 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $294 - i32.store $0 offset=224 - local.get $294 - local.set $478 + local.tee $178 + i32.store offset=204 + local.get $178 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 70 call $std/array/Dim#set:height - local.get $294 - local.set $478 + local.get $178 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 130 call $std/array/Dim#set:width - local.get $294 + local.get $178 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 3 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $295 - i32.store $0 offset=228 - local.get $295 - local.set $478 + local.tee $179 + i32.store offset=208 + local.get $179 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 70 call $std/array/Dim#set:height - local.get $295 - local.set $478 + local.get $179 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 140 call $std/array/Dim#set:width - local.get $295 + local.get $179 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 4 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $296 - i32.store $0 offset=232 - local.get $296 - local.set $478 + local.tee $180 + i32.store offset=212 + local.get $180 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 75 call $std/array/Dim#set:height - local.get $296 - local.set $478 + local.get $180 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 140 call $std/array/Dim#set:width - local.get $296 + local.get $180 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 5 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $297 - i32.store $0 offset=236 - local.get $297 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $181 + i32.store offset=216 + local.get $181 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 80 call $std/array/Dim#set:height - local.get $297 - local.set $478 + local.get $181 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 110 call $std/array/Dim#set:width - local.get $297 + local.get $181 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 6 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $298 - i32.store $0 offset=240 - local.get $298 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $182 + i32.store offset=220 + local.get $182 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 90 call $std/array/Dim#set:height - local.get $298 - local.set $478 + local.get $182 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 90 call $std/array/Dim#set:width - local.get $298 + local.get $182 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 7 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $299 - i32.store $0 offset=244 - local.get $299 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $183 + i32.store offset=224 + local.get $183 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 100 call $std/array/Dim#set:height - local.get $299 - local.set $478 + local.get $183 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 80 call $std/array/Dim#set:width - local.get $299 + local.get $183 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 8 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $300 - i32.store $0 offset=248 - local.get $300 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $184 + i32.store offset=228 + local.get $184 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 100 call $std/array/Dim#set:height - local.get $300 - local.set $478 + local.get $184 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 100 call $std/array/Dim#set:width - local.get $300 + local.get $184 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 9 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $301 - i32.store $0 offset=252 - local.get $301 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $185 + i32.store offset=232 + local.get $185 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 100 call $std/array/Dim#set:height - local.get $301 - local.set $478 + local.get $185 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 120 call $std/array/Dim#set:width - local.get $301 + local.get $185 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 10 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $302 - i32.store $0 offset=256 - local.get $302 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $186 + i32.store offset=236 + local.get $186 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 100 call $std/array/Dim#set:height - local.get $302 - local.set $478 + local.get $186 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 135 call $std/array/Dim#set:width - local.get $302 + local.get $186 call $~lib/array/Array#__set - local.get $290 + local.get $175 i32.const 11 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor - local.tee $303 - i32.store $0 offset=260 - local.get $303 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $187 + i32.store offset=240 + local.get $187 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 110 call $std/array/Dim#set:height - local.get $303 - local.set $478 + local.get $187 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 115 call $std/array/Dim#set:width - local.get $303 + local.get $187 call $~lib/array/Array#__set - local.get $290 + local.get $175 global.set $std/array/outputStabArr global.get $~lib/memory/__stack_pointer i32.const 3 @@ -42825,35 +42578,35 @@ i32.const 9 i32.const 9200 call $~lib/rt/__newArray - local.tee $306 - i32.store $0 offset=264 - local.get $306 - local.set $478 + local.tee $189 + i32.store offset=244 + local.get $189 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop - local.get $306 - local.set $478 + local.get $189 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 i32.const 2 i32.const 9 i32.const 9264 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -42871,35 +42624,35 @@ i32.const 9 i32.const 9296 call $~lib/rt/__newArray - local.tee $311 - i32.store $0 offset=268 - local.get $311 - local.set $478 + local.tee $192 + i32.store offset=248 + local.get $192 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop - local.get $311 - local.set $478 + local.get $192 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8 i32.const 2 i32.const 9 i32.const 9360 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -42917,35 +42670,35 @@ i32.const 12 i32.const 9424 call $~lib/rt/__newArray - local.tee $316 - i32.store $0 offset=272 - local.get $316 - local.set $478 + local.tee $195 + i32.store offset=252 + local.get $195 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop - local.get $316 - local.set $478 + local.get $195 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 8 i32.const 3 i32.const 12 i32.const 9552 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -42963,35 +42716,35 @@ i32.const 4 i32.const 9648 call $~lib/rt/__newArray - local.tee $321 - i32.store $0 offset=276 - local.get $321 - local.set $478 + local.tee $198 + i32.store offset=256 + local.get $198 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop - local.get $321 - local.set $478 + local.get $198 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 4 i32.const 9728 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -43009,35 +42762,35 @@ i32.const 8 i32.const 9776 call $~lib/rt/__newArray - local.tee $326 - i32.store $0 offset=280 - local.get $326 - local.set $478 + local.tee $201 + i32.store offset=260 + local.get $201 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#sort@varargs drop - local.get $326 - local.set $478 + local.get $201 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 5 i32.const 2 i32.const 8 i32.const 9856 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -43055,95 +42808,95 @@ i32.const 4 i32.const 9904 call $~lib/rt/__newArray - local.tee $331 - i32.store $0 offset=284 + local.tee $204 + i32.store offset=264 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 i32.const 4 i32.const 9936 call $~lib/rt/__newArray - local.tee $334 - i32.store $0 offset=288 + local.tee $206 + i32.store offset=268 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 4 i32.const 9968 call $~lib/rt/__newArray - local.tee $337 - i32.store $0 offset=292 + local.tee $208 + i32.store offset=272 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 i32.const 4 i32.const 10000 call $~lib/rt/__newArray - local.tee $340 - i32.store $0 offset=296 + local.tee $210 + i32.store offset=276 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 i32.const 4 i32.const 10048 call $~lib/rt/__newArray - local.tee $343 - i32.store $0 offset=300 + local.tee $212 + i32.store offset=280 global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createReverseOrderedArray - local.tee $344 - i32.store $0 offset=304 + local.tee $213 + i32.store offset=284 global.get $~lib/memory/__stack_pointer i32.const 128 call $std/array/createReverseOrderedArray - local.tee $345 - i32.store $0 offset=308 + local.tee $214 + i32.store offset=288 global.get $~lib/memory/__stack_pointer i32.const 1024 call $std/array/createReverseOrderedArray - local.tee $346 - i32.store $0 offset=312 + local.tee $215 + i32.store offset=292 global.get $~lib/memory/__stack_pointer i32.const 10000 call $std/array/createReverseOrderedArray - local.tee $347 - i32.store $0 offset=316 + local.tee $216 + i32.store offset=296 global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createRandomOrderedArray - local.tee $348 - i32.store $0 offset=320 - local.get $331 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $217 + i32.store offset=300 + local.get $204 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 call $std/array/assertSortedDefault - local.get $334 - local.set $478 + local.get $206 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/assertSortedDefault - local.get $334 - local.set $478 + local.get $206 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 i32.const 2 i32.const 4 i32.const 10128 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -43155,29 +42908,29 @@ call $~lib/builtins/abort unreachable end - local.get $337 - local.set $478 + local.get $208 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/assertSortedDefault - local.get $337 - local.set $478 + local.get $208 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 i32.const 2 i32.const 4 i32.const 10160 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -43189,25 +42942,25 @@ call $~lib/builtins/abort unreachable end - local.get $340 - local.set $478 + local.get $210 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/assertSortedDefault - local.get $340 - local.set $478 + local.get $210 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $343 - local.set $478 + local.get $296 + i32.store + local.get $296 + local.get $212 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -43219,25 +42972,25 @@ call $~lib/builtins/abort unreachable end - local.get $344 - local.set $478 + local.get $213 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/assertSortedDefault - local.get $344 - local.set $478 + local.get $213 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $343 - local.set $478 + local.get $296 + i32.store + local.get $296 + local.get $212 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -43249,25 +43002,25 @@ call $~lib/builtins/abort unreachable end - local.get $345 - local.set $478 + local.get $214 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/assertSortedDefault - local.get $345 - local.set $478 + local.get $214 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $343 - local.set $478 + local.get $296 + i32.store + local.get $296 + local.get $212 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -43279,25 +43032,25 @@ call $~lib/builtins/abort unreachable end - local.get $346 - local.set $478 + local.get $215 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/assertSortedDefault - local.get $346 - local.set $478 + local.get $215 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $343 - local.set $478 + local.get $296 + i32.store + local.get $296 + local.get $212 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -43309,25 +43062,25 @@ call $~lib/builtins/abort unreachable end - local.get $347 - local.set $478 + local.get $216 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/assertSortedDefault - local.get $347 - local.set $478 + local.get $216 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $343 - local.set $478 + local.get $296 + i32.store + local.get $296 + local.get $212 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -43339,111 +43092,111 @@ call $~lib/builtins/abort unreachable end - local.get $348 - local.set $478 + local.get $217 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $std/array/assertSortedDefault call $std/array/assertStableSortedForComplexObjects global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createRandomOrderedArray - local.tee $353 - i32.store $0 offset=324 + local.tee $220 + i32.store offset=304 global.get $~lib/memory/__stack_pointer i32.const 257 call $std/array/createRandomOrderedArray - local.tee $354 - i32.store $0 offset=328 - local.get $353 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $221 + i32.store offset=308 + local.get $220 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 10224 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $std/array/assertSorted - local.get $353 - local.set $478 + local.get $220 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 10256 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $std/array/assertSorted - local.get $354 - local.set $478 + local.get $221 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 10288 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $std/array/assertSorted - local.get $354 - local.set $478 + local.get $221 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 10320 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer i32.const 2 call $std/array/createReverseOrderedNestedArray - local.tee $355 - i32.store $0 offset=332 - local.get $355 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $222 + i32.store offset=312 + local.get $222 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 10352 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createReverseOrderedElementsArray - local.tee $356 - i32.store $0 offset=336 - local.get $356 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $223 + i32.store offset=316 + local.get $223 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 i32.const 10384 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $std/array/assertSorted> global.get $~lib/memory/__stack_pointer i32.const 7 @@ -43451,38 +43204,38 @@ i32.const 34 i32.const 10576 call $~lib/rt/__newArray - local.tee $359 - i32.store $0 offset=340 + local.tee $225 + i32.store offset=320 global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 2 i32.const 34 i32.const 10624 call $~lib/rt/__newArray - local.tee $362 - i32.store $0 offset=344 - local.get $359 - local.set $478 + local.tee $227 + i32.store offset=324 + local.get $225 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 global.set $~argumentsLength i32.const 0 call $std/array/assertSorted<~lib/string/String|null>@varargs - local.get $359 - local.set $478 + local.get $225 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $362 - local.set $478 + local.get $296 + i32.store + local.get $296 + local.get $227 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 0 call $std/array/isArraysEqual<~lib/string/String|null> i32.eqz @@ -43497,14 +43250,14 @@ global.get $~lib/memory/__stack_pointer i32.const 400 call $std/array/createRandomStringArray - local.tee $363 - i32.store $0 offset=348 - local.get $363 - local.set $478 + local.tee $228 + i32.store offset=328 + local.get $228 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 global.set $~argumentsLength i32.const 0 @@ -43514,29 +43267,19 @@ i32.const 37 i32.const 10736 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 10832 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=352 - local.get $478 call $~lib/array/Array#join - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 10864 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43552,29 +43295,19 @@ i32.const 4 i32.const 10912 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 10544 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=352 - local.get $478 call $~lib/array/Array#join - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 10944 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43590,29 +43323,19 @@ i32.const 8 i32.const 10976 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 11008 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=352 - local.get $478 call $~lib/array/Array#join - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 10944 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43628,29 +43351,19 @@ i32.const 4 i32.const 11040 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 11072 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=352 - local.get $478 call $~lib/array/Array#join - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 11104 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43666,29 +43379,19 @@ i32.const 12 i32.const 11184 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 11264 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=352 - local.get $478 call $~lib/array/Array#join - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 12432 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43704,29 +43407,19 @@ i32.const 34 i32.const 12576 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 10544 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=352 - local.get $478 call $~lib/array/Array<~lib/string/String|null>#join - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 12544 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43744,56 +43437,41 @@ i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $376 - i32.store $0 offset=356 - global.get $~lib/memory/__stack_pointer - local.get $376 - i32.load $0 offset=4 - local.tee $377 - i32.store $0 offset=360 - local.get $376 + local.tee $235 + i32.store offset=332 + local.get $235 i32.const 0 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $376 + local.get $235 i32.const 1 i32.const 0 call $~lib/array/Array#__set - local.get $376 + local.get $235 i32.const 2 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $376 - local.tee $378 - i32.store $0 offset=364 - local.get $378 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 - i32.const 10832 - local.set $478 + local.get $235 + local.tee $236 + i32.store offset=336 + local.get $236 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=352 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 + i32.const 10832 call $~lib/array/Array#join - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 12672 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43811,52 +43489,37 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $379 - i32.store $0 offset=368 - global.get $~lib/memory/__stack_pointer - local.get $379 - i32.load $0 offset=4 - local.tee $380 - i32.store $0 offset=372 - local.get $379 + local.tee $237 + i32.store offset=340 + local.get $237 i32.const 0 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $379 + local.get $237 i32.const 1 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $379 - local.tee $381 - i32.store $0 offset=376 - local.get $381 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 - i32.const 10832 - local.set $478 + local.get $237 + local.tee $238 + i32.store offset=344 + local.get $238 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=352 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 + i32.const 10832 call $~lib/array/Array#join - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 12768 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43873,50 +43536,45 @@ i32.const 4 i32.const 12864 call $~lib/rt/__newArray - local.tee $384 - i32.store $0 offset=380 + local.tee $240 + i32.store offset=348 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 i32.const 4 i32.const 12896 call $~lib/rt/__newArray - local.tee $387 - i32.store $0 offset=384 + local.tee $242 + i32.store offset=352 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 4 i32.const 12928 call $~lib/rt/__newArray - local.tee $390 - i32.store $0 offset=388 + local.tee $244 + i32.store offset=356 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 i32.const 4 i32.const 12960 call $~lib/rt/__newArray - local.tee $393 - i32.store $0 offset=392 - local.get $384 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.tee $246 + i32.store offset=360 + local.get $240 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 10544 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43927,24 +43585,19 @@ call $~lib/builtins/abort unreachable end - local.get $387 - local.set $478 + local.get $242 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 12544 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43955,24 +43608,19 @@ call $~lib/builtins/abort unreachable end - local.get $390 - local.set $478 + local.get $244 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 13008 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -43983,24 +43631,19 @@ call $~lib/builtins/abort unreachable end - local.get $393 - local.set $478 + local.get $246 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 13040 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44016,23 +43659,18 @@ i32.const 38 i32.const 13088 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 13120 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44048,23 +43686,18 @@ i32.const 38 i32.const 13152 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 13184 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44080,23 +43713,18 @@ i32.const 11 i32.const 13232 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 13264 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44112,23 +43740,18 @@ i32.const 39 i32.const 13312 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 13344 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44144,23 +43767,18 @@ i32.const 4 i32.const 13392 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 13424 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44176,23 +43794,18 @@ i32.const 40 i32.const 13488 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 13536 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44208,23 +43821,18 @@ i32.const 41 i32.const 13616 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 13680 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44241,26 +43849,21 @@ i32.const 34 i32.const 13840 call $~lib/rt/__newArray - local.tee $410 - i32.store $0 offset=396 - local.get $410 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.tee $255 + i32.store offset=364 + local.get $255 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array<~lib/string/String|null>#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 13888 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44276,23 +43879,18 @@ i32.const 34 i32.const 14000 call $~lib/rt/__newArray - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array<~lib/string/String|null>#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 14048 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44310,14 +43908,9 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $413 - i32.store $0 offset=400 - global.get $~lib/memory/__stack_pointer - local.get $413 - i32.load $0 offset=4 - local.tee $414 - i32.store $0 offset=404 - local.get $413 + local.tee $257 + i32.store offset=368 + local.get $257 i32.const 0 i32.const 2 i32.const 2 @@ -44325,7 +43918,7 @@ i32.const 14080 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $413 + local.get $257 i32.const 1 i32.const 2 i32.const 2 @@ -44333,27 +43926,22 @@ i32.const 14112 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $413 - local.tee $419 - i32.store $0 offset=408 - local.get $419 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $257 + local.tee $260 + i32.store offset=372 + local.get $260 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array<~lib/array/Array>#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 14144 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44371,14 +43959,9 @@ i32.const 42 i32.const 0 call $~lib/rt/__newArray - local.tee $420 - i32.store $0 offset=412 - global.get $~lib/memory/__stack_pointer - local.get $420 - i32.load $0 offset=4 - local.tee $421 - i32.store $0 offset=416 - local.get $420 + local.tee $261 + i32.store offset=376 + local.get $261 i32.const 0 i32.const 2 i32.const 0 @@ -44386,7 +43969,7 @@ i32.const 14192 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $420 + local.get $261 i32.const 1 i32.const 2 i32.const 0 @@ -44394,27 +43977,22 @@ i32.const 14224 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $420 - local.tee $426 - i32.store $0 offset=420 - local.get $426 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $261 + local.tee $264 + i32.store offset=380 + local.get $264 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array<~lib/array/Array>#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 14144 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44432,14 +44010,9 @@ i32.const 44 i32.const 0 call $~lib/rt/__newArray - local.tee $427 - i32.store $0 offset=424 - global.get $~lib/memory/__stack_pointer - local.get $427 - i32.load $0 offset=4 - local.tee $428 - i32.store $0 offset=428 - local.get $427 + local.tee $265 + i32.store offset=384 + local.get $265 i32.const 0 global.get $~lib/memory/__stack_pointer i32.const 1 @@ -44447,14 +44020,9 @@ i32.const 43 i32.const 0 call $~lib/rt/__newArray - local.tee $429 - i32.store $0 offset=432 - global.get $~lib/memory/__stack_pointer - local.get $429 - i32.load $0 offset=4 - local.tee $430 - i32.store $0 offset=436 - local.get $429 + local.tee $266 + i32.store offset=388 + local.get $266 i32.const 0 i32.const 1 i32.const 2 @@ -44462,29 +44030,24 @@ i32.const 14256 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $429 + local.get $266 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__set - local.get $427 - local.tee $433 - i32.store $0 offset=440 - local.get $433 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $265 + local.tee $268 + i32.store offset=392 + local.get $268 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 12544 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 call $~lib/string/String.__eq i32.eqz if @@ -44502,14 +44065,9 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $434 - i32.store $0 offset=444 - global.get $~lib/memory/__stack_pointer - local.get $434 - i32.load $0 offset=4 - local.tee $435 - i32.store $0 offset=448 - local.get $434 + local.tee $269 + i32.store offset=396 + local.get $269 i32.const 0 i32.const 1 i32.const 2 @@ -44517,7 +44075,7 @@ i32.const 14288 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $434 + local.get $269 i32.const 1 i32.const 3 i32.const 2 @@ -44525,7 +44083,7 @@ i32.const 14320 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $434 + local.get $269 i32.const 2 i32.const 3 i32.const 2 @@ -44533,7 +44091,7 @@ i32.const 14352 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $434 + local.get $269 i32.const 3 i32.const 3 i32.const 2 @@ -44541,25 +44099,25 @@ i32.const 14384 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $434 - local.tee $444 - i32.store $0 offset=452 + local.get $269 + local.tee $274 + i32.store offset=400 global.get $~lib/memory/__stack_pointer - local.get $444 - local.set $478 + local.get $274 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array<~lib/array/Array>#flat - local.tee $445 - i32.store $0 offset=456 - local.get $445 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $275 + i32.store offset=404 + local.get $275 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 10 i32.eq @@ -44573,21 +44131,21 @@ unreachable end i32.const 0 - local.set $446 + local.set $276 loop $for-loop|7 - local.get $446 + local.get $276 i32.const 10 i32.lt_s if - local.get $445 - local.set $478 + local.get $275 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $446 + local.get $296 + i32.store + local.get $296 + local.get $276 call $~lib/array/Array#__get - local.get $446 + local.get $276 i32.eq i32.eqz if @@ -44598,10 +44156,10 @@ call $~lib/builtins/abort unreachable end - local.get $446 + local.get $276 i32.const 1 i32.add - local.set $446 + local.set $276 br $for-loop|7 end end @@ -44612,14 +44170,9 @@ i32.const 45 i32.const 0 call $~lib/rt/__newArray - local.tee $447 - i32.store $0 offset=460 - global.get $~lib/memory/__stack_pointer - local.get $447 - i32.load $0 offset=4 - local.tee $448 - i32.store $0 offset=464 - local.get $447 + local.tee $277 + i32.store offset=408 + local.get $277 i32.const 0 i32.const 1 i32.const 2 @@ -44627,7 +44180,7 @@ i32.const 14448 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set - local.get $447 + local.get $277 i32.const 1 i32.const 3 i32.const 2 @@ -44635,7 +44188,7 @@ i32.const 14544 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set - local.get $447 + local.get $277 i32.const 2 i32.const 3 i32.const 2 @@ -44643,7 +44196,7 @@ i32.const 14672 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set - local.get $447 + local.get $277 i32.const 3 i32.const 1 i32.const 2 @@ -44651,33 +44204,33 @@ i32.const 14736 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set - local.get $447 - local.tee $457 - i32.store $0 offset=468 + local.get $277 + local.tee $282 + i32.store offset=412 global.get $~lib/memory/__stack_pointer - local.get $457 - local.set $478 + local.get $282 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat - local.tee $458 - i32.store $0 offset=472 + local.tee $283 + i32.store offset=416 global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 2 i32.const 34 i32.const 14768 call $~lib/rt/__newArray - local.tee $461 - i32.store $0 offset=476 - local.get $458 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $285 + i32.store offset=420 + local.get $283 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 call $~lib/array/Array<~lib/string/String|null>#get:length i32.const 8 i32.eq @@ -44691,44 +44244,44 @@ unreachable end i32.const 0 - local.set $462 + local.set $286 loop $for-loop|8 - local.get $462 - local.get $461 - local.set $478 + local.get $286 + local.get $285 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array<~lib/string/String|null>#get:length i32.lt_s if - local.get $458 - local.set $478 + local.get $283 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 - local.get $462 + local.get $296 + i32.store offset=48 + local.get $296 + local.get $286 call $~lib/array/Array<~lib/string/String|null>#__get - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $461 - local.set $478 + local.get $296 + i32.store + local.get $296 + local.get $285 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 - local.get $462 + local.get $296 + i32.store offset=48 + local.get $296 + local.get $286 call $~lib/array/Array<~lib/string/String|null>#__get - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/string/String.__eq i32.eqz if @@ -44739,10 +44292,10 @@ call $~lib/builtins/abort unreachable end - local.get $462 + local.get $286 i32.const 1 i32.add - local.set $462 + local.set $286 br $for-loop|8 end end @@ -44753,14 +44306,9 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $463 - i32.store $0 offset=480 - global.get $~lib/memory/__stack_pointer - local.get $463 - i32.load $0 offset=4 - local.tee $464 - i32.store $0 offset=484 - local.get $463 + local.tee $287 + i32.store offset=424 + local.get $287 i32.const 0 i32.const 0 i32.const 2 @@ -44768,7 +44316,7 @@ i32.const 14832 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $463 + local.get $287 i32.const 1 i32.const 0 i32.const 2 @@ -44776,21 +44324,21 @@ i32.const 14864 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $463 - local.tee $469 - i32.store $0 offset=488 - local.get $469 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $287 + local.tee $290 + i32.store offset=428 + local.get $290 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store offset=8 + local.get $296 call $~lib/array/Array<~lib/array/Array>#flat - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -44810,14 +44358,9 @@ i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $470 - i32.store $0 offset=492 - global.get $~lib/memory/__stack_pointer - local.get $470 - i32.load $0 offset=4 - local.tee $471 - i32.store $0 offset=496 - local.get $470 + local.tee $291 + i32.store offset=432 + local.get $291 i32.const 0 i32.const 1 i32.const 2 @@ -44825,7 +44368,7 @@ i32.const 14896 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $470 + local.get $291 i32.const 1 i32.const 1 i32.const 2 @@ -44833,37 +44376,37 @@ i32.const 14928 call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set - local.get $470 - local.tee $476 - i32.store $0 offset=500 + local.get $291 + local.tee $294 + i32.store offset=436 global.get $~lib/memory/__stack_pointer - local.get $476 - local.set $478 + local.get $294 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 + local.get $296 + i32.store offset=8 + local.get $296 i32.const 14960 - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=52 - local.get $478 + local.get $296 + i32.store offset=48 + local.get $296 call $~lib/array/Array<~lib/array/Array>#map<~lib/array/Array> - local.set $478 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 call $~lib/array/Array<~lib/array/Array>#flat - local.tee $477 - i32.store $0 offset=504 - local.get $477 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.tee $295 + i32.store offset=440 + local.get $295 + local.set $296 + global.get $~lib/memory/__stack_pointer + local.get $296 + i32.store + local.get $296 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -44876,12 +44419,12 @@ call $~lib/builtins/abort unreachable end - local.get $477 - local.set $478 + local.get $295 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 0 call $~lib/array/Array#__get i32.const 1 @@ -44895,12 +44438,12 @@ call $~lib/builtins/abort unreachable end - local.get $477 - local.set $478 + local.get $295 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -44914,12 +44457,12 @@ call $~lib/builtins/abort unreachable end - local.get $477 - local.set $478 + local.get $295 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 2 call $~lib/array/Array#__get i32.const 2 @@ -44933,12 +44476,12 @@ call $~lib/builtins/abort unreachable end - local.get $477 - local.set $478 + local.get $295 + local.set $296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 + local.get $296 + i32.store + local.get $296 i32.const 3 call $~lib/array/Array#__get i32.const 3 @@ -44962,7 +44505,7 @@ global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 508 + i32.const 444 i32.add global.set $~lib/memory/__stack_pointer ) @@ -44975,14 +44518,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -45001,14 +44544,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -45027,14 +44570,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -45053,14 +44596,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -45082,14 +44625,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $cur @@ -45098,7 +44641,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 2 @@ -45111,7 +44654,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -45130,7 +44673,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:buffer local.get $cookie @@ -45149,14 +44692,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -45175,14 +44718,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -45204,14 +44747,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $cur @@ -45220,7 +44763,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 2 @@ -45233,7 +44776,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -45252,7 +44795,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:buffer local.get $cookie @@ -45271,12 +44814,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env local.get $cookie @@ -45295,12 +44838,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#get:_env local.get $cookie @@ -45322,14 +44865,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $cur @@ -45338,7 +44881,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length_ i32.const 2 @@ -45351,7 +44894,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -45370,7 +44913,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:buffer local.get $cookie @@ -45389,12 +44932,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#get:_env local.get $cookie @@ -45413,12 +44956,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#get:_env local.get $cookie @@ -45437,12 +44980,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#get:_env local.get $cookie @@ -45461,12 +45004,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#get:_env local.get $cookie @@ -45485,12 +45028,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env local.get $cookie @@ -45512,14 +45055,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $cur @@ -45528,7 +45071,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length_ i32.const 2 @@ -45541,7 +45084,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -45560,7 +45103,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:buffer local.get $cookie @@ -45579,12 +45122,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env local.get $cookie @@ -45603,12 +45146,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f64%2Cf64%29=>i32>#get:_env local.get $cookie @@ -45627,12 +45170,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env local.get $cookie @@ -45651,12 +45194,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env local.get $cookie @@ -45675,12 +45218,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#get:_env local.get $cookie @@ -45702,14 +45245,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.set $cur @@ -45718,7 +45261,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.const 2 @@ -45731,7 +45274,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -45750,7 +45293,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:buffer local.get $cookie @@ -45769,12 +45312,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#get:_env local.get $cookie @@ -45796,14 +45339,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array>#get:dataStart local.set $cur @@ -45812,7 +45355,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array>#get:length_ i32.const 2 @@ -45825,7 +45368,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -45844,7 +45387,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array>#get:buffer local.get $cookie @@ -45863,12 +45406,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#get:_env local.get $cookie @@ -45890,14 +45433,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String|null>#get:dataStart local.set $cur @@ -45906,7 +45449,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String|null>#get:length_ i32.const 2 @@ -45919,7 +45462,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -45938,7 +45481,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String|null>#get:buffer local.get $cookie @@ -45957,12 +45500,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#get:_env local.get $cookie @@ -45981,12 +45524,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#get:_env local.get $cookie @@ -46005,14 +45548,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -46031,14 +45574,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -46057,14 +45600,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -46083,14 +45626,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -46109,14 +45652,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -46138,14 +45681,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.set $cur @@ -46154,7 +45697,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.const 2 @@ -46167,7 +45710,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -46186,7 +45729,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:buffer local.get $cookie @@ -46208,14 +45751,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.set $cur @@ -46224,7 +45767,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.const 2 @@ -46237,7 +45780,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -46256,7 +45799,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array>#get:buffer local.get $cookie @@ -46278,14 +45821,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart local.set $cur @@ -46294,7 +45837,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ i32.const 2 @@ -46307,7 +45850,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -46326,7 +45869,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:buffer local.get $cookie @@ -46348,14 +45891,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart local.set $cur @@ -46364,7 +45907,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ i32.const 2 @@ -46377,7 +45920,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -46396,7 +45939,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:buffer local.get $cookie @@ -46415,12 +45958,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#get:_env local.get $cookie @@ -46442,7 +45985,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -46453,27 +45996,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer @@ -46504,7 +46047,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -46564,7 +46107,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -46604,7 +46147,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -46639,7 +46182,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -46654,7 +46197,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $14 @@ -46674,7 +46217,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -46683,7 +46226,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -46712,7 +46255,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -46757,7 +46300,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer local.get $value @@ -46793,7 +46336,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|8 local.get $value @@ -46822,7 +46365,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $value i64.extend_i32_u @@ -46840,10 +46383,12 @@ local.get $12 return ) - (func $~lib/util/number/dtoa (param $value f64) (result i32) + (func $~lib/util/number/dtoa (param $value f64) (result i32) + (local $value|1 f64) + (local $isSingle i32) (local $size i32) (local $result i32) - (local $3 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -46851,77 +46396,67 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $value - f64.const 0 - f64.eq - if - i32.const 11296 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - local.get $value + i32.store + block $~lib/util/number/dtoa_impl|inlined.0 (result i32) local.get $value - f64.ne + local.set $value|1 + i32.const 0 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq if - i32.const 11328 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 11296 + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 11360 - i32.const 11408 - local.get $value + local.get $value|1 + local.get $value|1 + f64.sub f64.const 0 - f64.lt - select - local.set $3 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 11328 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 11360 + i32.const 11408 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 11440 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 11440 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 11440 - local.get $value - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $size - global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 - local.get $result - i32.const 11440 - local.get $size - memory.copy $0 $0 - local.get $result - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 return ) (func $~lib/util/number/utoa64 (param $value i64) (param $radix i32) (result i32) @@ -46948,7 +46483,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -47003,7 +46538,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer local.get $val32 @@ -47029,7 +46564,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|9 local.get $value @@ -47067,7 +46602,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|13 local.get $value @@ -47094,7 +46629,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $value local.get $decimals|16 @@ -47136,7 +46671,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -47207,7 +46742,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -47237,7 +46772,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -47279,7 +46814,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -47310,7 +46845,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -47324,7 +46859,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $18 diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index 2e9e595614..45106a414b 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -1,28 +1,29 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) - (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32))) - (type $i32_i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32 i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $none_=>_f64 (func (result f64))) - (type $i32_i32_i32_=>_f32 (func (param i32 i32 i32) (result f32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) - (type $i32_i64_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i64 i32 i64 i32) (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i32_f32_i32_i32_=>_none (func (param i32 f32 i32 i32))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $i32_f32_i32_=>_none (func (param i32 f32 i32))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func (param i32 i32 i32))) + (type $4 (func (param i32 i32 i32 i32) (result i32))) + (type $5 (func (param f32 f32) (result i32))) + (type $6 (func (param f64 f64) (result i32))) + (type $7 (func (param i32 i32))) + (type $8 (func (param i32))) + (type $9 (func (param i32 i32 i32 i32))) + (type $10 (func (param i32 i32 i32 i32 i32))) + (type $11 (func)) + (type $12 (func (result f64))) + (type $13 (func (param i32 i32 i32 i32 i32 i32))) + (type $14 (func (result i32))) + (type $15 (func (param i32 i32 i32) (result f32))) + (type $16 (func (param i32 f64) (result i32))) + (type $17 (func (param i32 i64) (result i32))) + (type $18 (func (param i32 i32 i64))) + (type $19 (func (param i32 i64 i64 i32 i64 i32) (result i32))) + (type $20 (func (param i32 i64 i32))) + (type $21 (func (param i32 f32 i32 i32))) + (type $22 (func (param i32 i32) (result f32))) + (type $23 (func (param i32 f32 i32))) + (type $24 (func (param i32 i32) (result f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "env" "Math.random" (func $~lib/bindings/dom/Math.random (result f64))) (import "env" "seed" (func $~lib/builtins/seed (result f64))) @@ -53,608 +54,608 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 48960)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1084) ",") - (data (i32.const 1096) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1132) "<") - (data (i32.const 1144) "\02\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 1196) "<") - (data (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1324) "<") - (data (i32.const 1336) "\02\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 1388) ",") - (data (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1468) "<") - (data (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1532) ",") - (data (i32.const 1544) "\02\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1580) "<") - (data (i32.const 1592) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1644) "\1c") - (data (i32.const 1656) "\02\00\00\00\06\00\00\00a\00b\00c") - (data (i32.const 1676) "\1c") - (data (i32.const 1688) "\01\00\00\00\05\00\00\00\01\02\03\04\05") - (data (i32.const 1708) "\1c") - (data (i32.const 1720) "\01\00\00\00\05\00\00\00\01\01\01\04\05") - (data (i32.const 1740) "\1c") - (data (i32.const 1752) "\01\00\00\00\05") - (data (i32.const 1772) "\1c") - (data (i32.const 1784) "\01\00\00\00\05\00\00\00\01\01") - (data (i32.const 1804) "\1c") - (data (i32.const 1816) "\01\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 1836) "\1c") - (data (i32.const 1848) "\01\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 1868) "\1c") - (data (i32.const 1880) "\01\00\00\00\05\00\00\00\ff\ff\ff\ff\ff") - (data (i32.const 1900) ",") - (data (i32.const 1912) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 1948) ",") - (data (i32.const 1960) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") - (data (i32.const 1996) ",") - (data (i32.const 2008) "\01\00\00\00\14") - (data (i32.const 2044) ",") - (data (i32.const 2056) "\01\00\00\00\14\00\00\00\01\00\00\00\01") - (data (i32.const 2092) ",") - (data (i32.const 2104) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 2140) ",") - (data (i32.const 2152) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 2188) ",") - (data (i32.const 2200) "\01\00\00\00\14\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 2236) ",") - (data (i32.const 2248) "\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\c0?\00\00 @\00\00@@") - (data (i32.const 2284) ",") - (data (i32.const 2296) "\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\80?\00\00 @\00\00@@") - (data (i32.const 2332) ",") - (data (i32.const 2344) "\01\00\00\00\14") - (data (i32.const 2380) ",") - (data (i32.const 2392) "\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?") - (data (i32.const 2428) ",") - (data (i32.const 2440) "\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@") - (data (i32.const 2476) ",") - (data (i32.const 2488) "\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@") - (data (i32.const 2524) ",") - (data (i32.const 2536) "\01\00\00\00\14\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf") - (data (i32.const 2572) ",") - (data (i32.const 2584) "\01\00\00\00\14\00\00\00\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80") - (data (i32.const 2620) ",") - (data (i32.const 2632) "\02\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y") - (data (i32.const 2668) ",") - (data (i32.const 2680) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") - (data (i32.const 2716) "\1c") - (data (i32.const 2728) "\01") - (data (i32.const 2748) "\1c") - (data (i32.const 2760) "\01") - (data (i32.const 2780) ",") - (data (i32.const 2792) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2828) ",") - (data (i32.const 2840) "\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2876) ",") - (data (i32.const 2888) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2924) ",") - (data (i32.const 2936) "\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") - (data (i32.const 2972) ",") - (data (i32.const 2984) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3020) ",") - (data (i32.const 3032) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 3068) ",") - (data (i32.const 3080) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3116) ",") - (data (i32.const 3128) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3164) ",") - (data (i32.const 3176) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3212) ",") - (data (i32.const 3224) "\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3260) ",") - (data (i32.const 3272) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3308) ",") - (data (i32.const 3320) "\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3356) ",") - (data (i32.const 3368) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3404) ",") - (data (i32.const 3416) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 3452) ",") - (data (i32.const 3464) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3500) ",") - (data (i32.const 3512) "\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3548) ",") - (data (i32.const 3560) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3596) ",") - (data (i32.const 3608) "\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3644) ",") - (data (i32.const 3656) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3692) ",") - (data (i32.const 3704) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3740) ",") - (data (i32.const 3752) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3788) ",") - (data (i32.const 3800) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 3836) ",") - (data (i32.const 3848) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3884) ",") - (data (i32.const 3896) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 3932) ",") - (data (i32.const 3944) "\01\00\00\00\14\00\00\00\03\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b") - (data (i32.const 3980) "\1c") - (data (i32.const 3992) "\01\00\00\00\0c\00\00\00\07\00\00\00\t\00\00\00\0b") - (data (i32.const 4012) "\1c") - (data (i32.const 4024) "\01\00\00\00\08\00\00\00\07\00\00\00\t") - (data (i32.const 4044) ",") - (data (i32.const 4056) "\01\00\00\00\10\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b") - (data (i32.const 4092) "\1c") - (data (i32.const 4104) "\01\00\00\00\08\00\00\00\t\00\00\00\0b") - (data (i32.const 4124) "\1c") - (data (i32.const 4136) "\01\00\00\00\08\00\00\00\07\00\00\00\t") - (data (i32.const 4156) "\1c") - (data (i32.const 4168) "\01\00\00\00\08\00\00\00\07\00\00\00\t") - (data (i32.const 4188) "\1c") - (data (i32.const 4200) "\01\00\00\00\04\00\00\00\00\01\02\03") - (data (i32.const 4220) "\1c") - (data (i32.const 4232) "\01\00\00\00\08\00\00\00\00\01\02\03\04\05\06\07") - (data (i32.const 4252) ",") - (data (i32.const 4264) "\01\00\00\00\11\00\00\00\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10") - (data (i32.const 4300) ",") - (data (i32.const 4312) "\01\00\00\00\0e\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06") - (data (i32.const 4348) ",") - (data (i32.const 4360) "\01\00\00\00\10\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07") - (data (i32.const 4396) ",") - (data (i32.const 4408) "\01\00\00\00\12\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08") - (data (i32.const 4444) "\1c") - (data (i32.const 4456) "\01\00\00\00\04\00\00\00\00\00\c0\7f") - (data (i32.const 4476) "\1c") - (data (i32.const 4488) "\01\00\00\00\08") - (data (i32.const 4502) "\f8\7f") - (data (i32.const 4508) ",") - (data (i32.const 4520) "\01\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02") - (data (i32.const 4556) "\1c") - (data (i32.const 4568) "\01\00\00\00\04\00\00\00\00\00\c0\7f") - (data (i32.const 4588) "\1c") - (data (i32.const 4600) "\01\00\00\00\08") - (data (i32.const 4614) "\f8\7f") - (data (i32.const 4620) ",") - (data (i32.const 4632) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 4668) ",") - (data (i32.const 4680) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 4716) "\1c") - (data (i32.const 4728) "\01") - (data (i32.const 4748) ",") - (data (i32.const 4760) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 4796) "\1c") - (data (i32.const 4808) "\01") - (data (i32.const 4828) ",") - (data (i32.const 4840) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 4876) ",") - (data (i32.const 4888) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 4924) "\1c") - (data (i32.const 4936) "\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 4956) "\1c") - (data (i32.const 4968) "\01\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 4988) ",") - (data (i32.const 5000) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5036) "\1c") - (data (i32.const 5048) "\01\00\00\00\08\00\00\00\03\00\00\00\04") - (data (i32.const 5068) "\1c") - (data (i32.const 5080) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05") - (data (i32.const 5100) ",") - (data (i32.const 5112) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5148) "\1c") - (data (i32.const 5160) "\01\00\00\00\04\00\00\00\01") - (data (i32.const 5180) ",") - (data (i32.const 5192) "\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5228) ",") - (data (i32.const 5240) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5276) "\1c") - (data (i32.const 5288) "\01\00\00\00\04\00\00\00\05") - (data (i32.const 5308) ",") - (data (i32.const 5320) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") - (data (i32.const 5356) ",") - (data (i32.const 5368) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5404) "\1c") - (data (i32.const 5416) "\01\00\00\00\08\00\00\00\04\00\00\00\05") - (data (i32.const 5436) "\1c") - (data (i32.const 5448) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 5468) ",") - (data (i32.const 5480) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5516) "\1c") - (data (i32.const 5528) "\01\00\00\00\04\00\00\00\04") - (data (i32.const 5548) ",") - (data (i32.const 5560) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") - (data (i32.const 5596) ",") - (data (i32.const 5608) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5644) "\1c") - (data (i32.const 5656) "\01\00\00\00\04\00\00\00\01") - (data (i32.const 5676) ",") - (data (i32.const 5688) "\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5724) ",") - (data (i32.const 5736) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5772) "\1c") - (data (i32.const 5784) "\01") - (data (i32.const 5804) ",") - (data (i32.const 5816) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5852) ",") - (data (i32.const 5864) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5900) "\1c") - (data (i32.const 5912) "\01") - (data (i32.const 5932) ",") - (data (i32.const 5944) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 5980) ",") - (data (i32.const 5992) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 6028) "\1c") - (data (i32.const 6040) "\01") - (data (i32.const 6060) ",") - (data (i32.const 6072) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 6108) ",") - (data (i32.const 6120) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 6156) "\1c") - (data (i32.const 6168) "\01") - (data (i32.const 6188) ",") - (data (i32.const 6200) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 6236) ",") - (data (i32.const 6248) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 6284) "\1c") - (data (i32.const 6296) "\01") - (data (i32.const 6316) ",") - (data (i32.const 6328) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 6364) "\1c") - (data (i32.const 6376) "\01") - (data (i32.const 6396) "|") - (data (i32.const 6408) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 6524) "|") - (data (i32.const 6536) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") - (data (i32.const 6652) "\1c") - (data (i32.const 6664) "\0e\00\00\00\08\00\00\00\01") - (data (i32.const 6684) "\1c") - (data (i32.const 6696) "\0e\00\00\00\08\00\00\00\02") - (data (i32.const 6716) "\1c") - (data (i32.const 6728) "\0e\00\00\00\08\00\00\00\03") - (data (i32.const 6748) "\1c") - (data (i32.const 6760) "\0e\00\00\00\08\00\00\00\04") - (data (i32.const 6780) "\1c") - (data (i32.const 6792) "\0e\00\00\00\08\00\00\00\05") - (data (i32.const 6812) "\1c") - (data (i32.const 6824) "\0e\00\00\00\08\00\00\00\06") - (data (i32.const 6844) ",") - (data (i32.const 6856) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 6892) "\1c") - (data (i32.const 6904) "\0e\00\00\00\08\00\00\00\07") - (data (i32.const 6924) "\1c") - (data (i32.const 6936) "\0e\00\00\00\08\00\00\00\08") - (data (i32.const 6956) "\1c") - (data (i32.const 6968) "\0e\00\00\00\08\00\00\00\t") - (data (i32.const 6988) "\1c") - (data (i32.const 7000) "\0e\00\00\00\08\00\00\00\n") - (data (i32.const 7020) "\1c") - (data (i32.const 7032) "\0e\00\00\00\08\00\00\00\0b") - (data (i32.const 7052) "\1c") - (data (i32.const 7064) "\0e\00\00\00\08\00\00\00\0c") - (data (i32.const 7084) "\1c") - (data (i32.const 7096) "\0e\00\00\00\08\00\00\00\r") - (data (i32.const 7116) "\1c") - (data (i32.const 7128) "\0e\00\00\00\08\00\00\00\0e") - (data (i32.const 7148) "\1c") - (data (i32.const 7160) "\0e\00\00\00\08\00\00\00\0f") - (data (i32.const 7180) "\1c") - (data (i32.const 7192) "\0e\00\00\00\08\00\00\00\10") - (data (i32.const 7212) "\1c") - (data (i32.const 7224) "\0e\00\00\00\08\00\00\00\11") - (data (i32.const 7244) "\1c") - (data (i32.const 7256) "\0e\00\00\00\08\00\00\00\12") - (data (i32.const 7276) "\1c") - (data (i32.const 7288) "\0e\00\00\00\08\00\00\00\13") - (data (i32.const 7308) "\1c") - (data (i32.const 7320) "\0e\00\00\00\08\00\00\00\14") - (data (i32.const 7340) "\1c") - (data (i32.const 7352) "\0f\00\00\00\08\00\00\00\15") - (data (i32.const 7372) "\1c") - (data (i32.const 7384) "\0f\00\00\00\08\00\00\00\16") - (data (i32.const 7404) "\1c") - (data (i32.const 7416) "\0f\00\00\00\08\00\00\00\17") - (data (i32.const 7436) "\1c") - (data (i32.const 7448) "\0f\00\00\00\08\00\00\00\18") - (data (i32.const 7468) "\1c") - (data (i32.const 7480) "\0f\00\00\00\08\00\00\00\19") - (data (i32.const 7500) "|") - (data (i32.const 7512) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 7628) "<") - (data (i32.const 7640) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 7692) "\1c") - (data (i32.const 7704) "\02\00\00\00\02\00\00\000") - (data (i32.const 7724) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 8124) "\1c\04") - (data (i32.const 8136) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 9180) "\\") - (data (i32.const 9192) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 9276) "\1c") - (data (i32.const 9288) "\11\00\00\00\08\00\00\00\1a") - (data (i32.const 9308) "\1c") - (data (i32.const 9320) "\12\00\00\00\08\00\00\00\1b") - (data (i32.const 9340) "\1c") - (data (i32.const 9352) "\13\00\00\00\08\00\00\00\1c") - (data (i32.const 9372) "\1c") - (data (i32.const 9384) "\13\00\00\00\08\00\00\00\1d") - (data (i32.const 9404) "\1c") - (data (i32.const 9416) "\13\00\00\00\08\00\00\00\1e") - (data (i32.const 9436) "\1c") - (data (i32.const 9448) "\0e\00\00\00\08\00\00\00\1f") - (data (i32.const 9468) "\1c") - (data (i32.const 9480) "\0e\00\00\00\08\00\00\00 ") - (data (i32.const 9500) "\1c") - (data (i32.const 9512) "\0e\00\00\00\08\00\00\00!") - (data (i32.const 9532) "\1c") - (data (i32.const 9544) "\0e\00\00\00\08\00\00\00\"") - (data (i32.const 9564) "\1c") - (data (i32.const 9576) "\14\00\00\00\08\00\00\00#") - (data (i32.const 9596) "\1c") - (data (i32.const 9608) "\14\00\00\00\08\00\00\00$") - (data (i32.const 9628) "\1c") - (data (i32.const 9640) "\15\00\00\00\08\00\00\00%") - (data (i32.const 9660) "\1c") - (data (i32.const 9672) "\15\00\00\00\08\00\00\00&") - (data (i32.const 9692) "\1c") - (data (i32.const 9704) "\14\00\00\00\08\00\00\00\'") - (data (i32.const 9724) "\1c") - (data (i32.const 9736) "\14\00\00\00\08\00\00\00(") - (data (i32.const 9756) "\1c") - (data (i32.const 9768) "\14\00\00\00\08\00\00\00)") - (data (i32.const 9788) "\1c") - (data (i32.const 9800) "\14\00\00\00\08\00\00\00*") - (data (i32.const 9820) "\1c") - (data (i32.const 9832) "\14\00\00\00\08\00\00\00+") - (data (i32.const 9852) "\1c") - (data (i32.const 9864) "\15\00\00\00\08\00\00\00,") - (data (i32.const 9884) "\1c") - (data (i32.const 9896) "\15\00\00\00\08\00\00\00-") - (data (i32.const 9916) "\1c") - (data (i32.const 9928) "\14\00\00\00\08\00\00\00.") - (data (i32.const 9948) "\1c") - (data (i32.const 9960) "\14\00\00\00\08\00\00\00/") - (data (i32.const 9980) "\1c") - (data (i32.const 9992) "\14\00\00\00\08\00\00\000") - (data (i32.const 10012) "\bc") - (data (i32.const 10024) "\02\00\00\00\ac\00\00\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\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\000\001\002\003\004\005\006\007\008\009\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 10204) "\1c") - (data (i32.const 10216) "\01\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf") - (data (i32.const 10236) "\1c") - (data (i32.const 10248) "\18\00\00\00\08\00\00\001") - (data (i32.const 10268) "\1c") - (data (i32.const 10280) "\01\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") - (data (i32.const 10300) "<") - (data (i32.const 10312) "\01\00\00\00 \00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") - (data (i32.const 10364) "<") - (data (i32.const 10376) "\01\00\00\00 \00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") - (data (i32.const 10428) "\\") - (data (i32.const 10440) "\01\00\00\00@") - (data (i32.const 10454) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") - (data (i32.const 10494) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") - (data (i32.const 10524) "\1c") - (data (i32.const 10536) "\19\00\00\00\08\00\00\002") - (data (i32.const 10556) "\\") - (data (i32.const 10568) "\01\00\00\00@") - (data (i32.const 10582) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") - (data (i32.const 10614) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") - (data (i32.const 10652) ",") - (data (i32.const 10664) "\01\00\00\00\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") - (data (i32.const 10700) "\1c") - (data (i32.const 10712) "\1a\00\00\00\08\00\00\003") - (data (i32.const 10732) ",") - (data (i32.const 10744) "\01\00\00\00\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") - (data (i32.const 10780) ",") - (data (i32.const 10792) "\01\00\00\00\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") - (data (i32.const 10828) "\1c") - (data (i32.const 10840) "\1b\00\00\00\08\00\00\004") - (data (i32.const 10860) ",") - (data (i32.const 10872) "\01\00\00\00\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 10908) "\1c") - (data (i32.const 10920) "\01") - (data (i32.const 10940) "\1c") - (data (i32.const 10952) "\01\00\00\00\04\00\00\00\01") - (data (i32.const 10972) "\1c") - (data (i32.const 10984) "\01\00\00\00\08\00\00\00\02\00\00\00\01") - (data (i32.const 11004) ",") - (data (i32.const 11016) "\01\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 11052) ",") - (data (i32.const 11064) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 11100) "\1c") - (data (i32.const 11112) "\1a\00\00\00\08\00\00\005") - (data (i32.const 11132) "\1c") - (data (i32.const 11144) "\01\00\00\00\04\00\00\00\01") - (data (i32.const 11164) "\1c") - (data (i32.const 11176) "\01\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 11196) "\1c") - (data (i32.const 11208) "\1c\00\00\00\08\00\00\006") - (data (i32.const 11228) "\1c") - (data (i32.const 11240) "\1a\00\00\00\08\00\00\007") - (data (i32.const 11260) "\1c") - (data (i32.const 11272) "\1a\00\00\00\08\00\00\008") - (data (i32.const 11292) "\1c") - (data (i32.const 11304) "\1a\00\00\00\08\00\00\009") - (data (i32.const 11324) "\1c") - (data (i32.const 11336) "\1a\00\00\00\08\00\00\00:") - (data (i32.const 11356) "\1c") - (data (i32.const 11368) "\1e\00\00\00\08\00\00\00;") - (data (i32.const 11388) "\1c") - (data (i32.const 11400) "!\00\00\00\08\00\00\00<") - (data (i32.const 11420) "\1c") - (data (i32.const 11432) "\02\00\00\00\02\00\00\00a") - (data (i32.const 11452) "\1c") - (data (i32.const 11464) "\02\00\00\00\02\00\00\00b") - (data (i32.const 11484) "\1c") - (data (i32.const 11496) "\02\00\00\00\04\00\00\00a\00b") - (data (i32.const 11516) "\1c") - (data (i32.const 11528) "\02\00\00\00\04\00\00\00b\00a") - (data (i32.const 11548) "\1c") - (data (i32.const 11560) "\02") - (data (i32.const 11580) ",") - (data (i32.const 11592) "\01\00\00\00\1c\00\00\00\b0,\00\00\d0,\00\00\b0,\00\00\f0,\00\00\10-\00\000-") - (data (i32.const 11628) ",") - (data (i32.const 11640) "\01\00\00\00\1c\00\00\000-\00\00\b0,\00\00\b0,\00\00\f0,\00\00\d0,\00\00\10-") - (data (i32.const 11676) "\1c") - (data (i32.const 11688) "#\00\00\00\08\00\00\00=") - (data (i32.const 11708) "\1c") - (data (i32.const 11720) "$\00\00\00\08\00\00\00>") - (data (i32.const 11740) "\1c") - (data (i32.const 11752) "\01\00\00\00\02\00\00\00\01") - (data (i32.const 11772) "\1c") - (data (i32.const 11784) "\02\00\00\00\08\00\00\00t\00r\00u\00e") - (data (i32.const 11804) "\1c") - (data (i32.const 11816) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") - (data (i32.const 11836) "\1c") - (data (i32.const 11848) "\02\00\00\00\02\00\00\00,") - (data (i32.const 11868) ",") - (data (i32.const 11880) "\02\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") - (data (i32.const 11916) "\1c") - (data (i32.const 11928) "\01\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") - (data (i32.const 11948) "\1c") - (data (i32.const 11960) "\02\00\00\00\n\00\00\001\00-\002\00-\003") - (data (i32.const 11980) "\1c") - (data (i32.const 11992) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 12012) "\1c") - (data (i32.const 12024) "\02\00\00\00\02\00\00\00-") - (data (i32.const 12044) "\1c") - (data (i32.const 12056) "\01\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") - (data (i32.const 12076) "\1c") - (data (i32.const 12088) "\02\00\00\00\04\00\00\00_\00_") - (data (i32.const 12108) "L") - (data (i32.const 12120) "\02\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 12188) "L") - (data (i32.const 12200) "\01\00\00\000") - (data (i32.const 12222) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") - (data (i32.const 12268) "\1c") - (data (i32.const 12280) "\02\00\00\00\04\00\00\00,\00 ") - (data (i32.const 12300) "\1c") - (data (i32.const 12312) "\02\00\00\00\06\00\00\000\00.\000") - (data (i32.const 12332) "\1c") - (data (i32.const 12344) "\02\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 12364) ",") - (data (i32.const 12376) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 12412) ",") - (data (i32.const 12424) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 12520) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]") - (data (i32.const 13868) "\1c") - (data (i32.const 13880) "\01") - (data (i32.const 13900) "\1c") - (data (i32.const 13912) "\01\00\00\00\04\00\00\00\01") - (data (i32.const 13932) "\1c") - (data (i32.const 13944) "\01\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 13964) ",") - (data (i32.const 13976) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 14012) "\1c") - (data (i32.const 14024) "\02\00\00\00\06\00\00\001\00,\002") - (data (i32.const 14044) ",") - (data (i32.const 14056) "\02\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003") - (data (i32.const 14092) "\1c") - (data (i32.const 14104) "\01\00\00\00\03\00\00\00\01\ff") - (data (i32.const 14124) "\1c") - (data (i32.const 14136) "\02\00\00\00\0c\00\00\001\00,\00-\001\00,\000") - (data (i32.const 14156) "\1c") - (data (i32.const 14168) "\01\00\00\00\03\00\00\00\80\81\80") - (data (i32.const 14188) ",") - (data (i32.const 14200) "\02\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008") - (data (i32.const 14236) "\1c") - (data (i32.const 14248) "\01\00\00\00\06\00\00\00\01\00\ff\ff") - (data (i32.const 14268) ",") - (data (i32.const 14280) "\02\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000") - (data (i32.const 14316) "\1c") - (data (i32.const 14328) "\01\00\00\00\04\00\00\00\00\80\01\ff") - (data (i32.const 14348) ",") - (data (i32.const 14360) "\02\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005") - (data (i32.const 14396) "\1c") - (data (i32.const 14408) "\01\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff") - (data (i32.const 14428) "<") - (data (i32.const 14440) "\02\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008") - (data (i32.const 14492) ",") - (data (i32.const 14504) "\01\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 14540) "L") - (data (i32.const 14552) "\02\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000") - (data (i32.const 14620) "<") - (data (i32.const 14632) "\01\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f") - (data (i32.const 14684) "\9c") - (data (i32.const 14696) "\02\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 14844) ",") - (data (i32.const 14856) "\01\00\00\00\1c\00\00\000-\00\00\b0,\00\00\b0,\00\00\f0,\00\00\d0,\00\00\10-") - (data (i32.const 14892) ",") - (data (i32.const 14904) "\02\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,") - (data (i32.const 14940) "\1c") - (data (i32.const 14952) "\02\00\00\00\02\00\00\002") - (data (i32.const 14972) "\1c") - (data (i32.const 14984) "\02\00\00\00\02\00\00\004") - (data (i32.const 15004) ",") - (data (i32.const 15016) "\01\00\00\00\10\00\00\00\005\00\00p:\00\00\00\00\00\00\90:") - (data (i32.const 15052) "\1c") - (data (i32.const 15064) "\02\00\00\00\0c\00\00\001\00,\002\00,\00,\004") - (data (i32.const 15084) "\1c") - (data (i32.const 15096) "\01\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 15116) "\1c") - (data (i32.const 15128) "\01\00\00\00\08\00\00\00\03\00\00\00\04") - (data (i32.const 15148) ",") - (data (i32.const 15160) "\02\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004") - (data (i32.const 15196) "\1c") - (data (i32.const 15208) "\01\00\00\00\02\00\00\00\01\02") - (data (i32.const 15228) "\1c") - (data (i32.const 15240) "\01\00\00\00\02\00\00\00\03\04") - (data (i32.const 15260) "\1c") - (data (i32.const 15272) "\01\00\00\00\04\00\00\00\01") - (data (i32.const 15292) "\1c") - (data (i32.const 15304) "\01\00\00\00\04") - (data (i32.const 15324) "\1c") - (data (i32.const 15336) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 15356) "\1c") - (data (i32.const 15368) "\01\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06") - (data (i32.const 15388) "\1c") - (data (i32.const 15400) "\01\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t") - (data (i32.const 15420) "\1c") - (data (i32.const 15432) "\02\00\00\00\06\00\00\00o\00n\00e") - (data (i32.const 15452) "\1c") - (data (i32.const 15464) "\01\00\00\00\04\00\00\00P<") - (data (i32.const 15484) "\1c") - (data (i32.const 15496) "\02\00\00\00\06\00\00\00t\00w\00o") - (data (i32.const 15516) "\1c") - (data (i32.const 15528) "\02\00\00\00\n\00\00\00t\00h\00r\00e\00e") - (data (i32.const 15548) "\1c") - (data (i32.const 15560) "\01\00\00\00\0c\00\00\00\90<\00\00\00\00\00\00\b0<") - (data (i32.const 15580) "\1c") - (data (i32.const 15592) "\02\00\00\00\08\00\00\00f\00o\00u\00r") - (data (i32.const 15612) "\1c") - (data (i32.const 15624) "\02\00\00\00\08\00\00\00f\00i\00v\00e") - (data (i32.const 15644) "\1c") - (data (i32.const 15656) "\02\00\00\00\06\00\00\00s\00i\00x") - (data (i32.const 15676) "\1c") - (data (i32.const 15688) "\01\00\00\00\0c\00\00\00\f0<\00\00\10=\00\000=") - (data (i32.const 15708) "\1c") - (data (i32.const 15720) "\02\00\00\00\n\00\00\00s\00e\00v\00e\00n") - (data (i32.const 15740) "\1c") - (data (i32.const 15752) "\01\00\00\00\04\00\00\00p=") - (data (i32.const 15772) "<") - (data (i32.const 15784) "\01\00\00\00 \00\00\00P<\00\00\90<\00\00\00\00\00\00\b0<\00\00\f0<\00\00\10=\00\000=\00\00p=") - (data (i32.const 15836) "\1c") - (data (i32.const 15848) "\01") - (data (i32.const 15868) "\1c") - (data (i32.const 15880) "\01") - (data (i32.const 15900) "\1c") - (data (i32.const 15912) "\01\00\00\00\04\00\00\00\01") - (data (i32.const 15932) "\1c") - (data (i32.const 15944) "\01\00\00\00\04\00\00\00\02") - (data (i32.const 15964) "\1c") - (data (i32.const 15976) ".\00\00\00\08\00\00\00?") - (data (i32.const 16000) "/\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a") - (data (i32.const 16068) "\02A") - (data (i32.const 16092) " \00\00\00\02A") - (data (i32.const 16120) "\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a") - (data (i32.const 16152) "B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $1 (i32.const 1084) ",") + (data $1.1 (i32.const 1096) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\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 $3 (i32.const 1196) "<") + (data $3.1 (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1324) "<") + (data $6.1 (i32.const 1336) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1388) ",") + (data $7.1 (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1468) "<") + (data $9.1 (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1532) ",") + (data $10.1 (i32.const 1544) "\02\00\00\00\18\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $11 (i32.const 1580) "<") + (data $11.1 (i32.const 1592) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $12 (i32.const 1644) "\1c") + (data $12.1 (i32.const 1656) "\02\00\00\00\06\00\00\00a\00b\00c") + (data $13 (i32.const 1676) "\1c") + (data $13.1 (i32.const 1688) "\01\00\00\00\05\00\00\00\01\02\03\04\05") + (data $14 (i32.const 1708) "\1c") + (data $14.1 (i32.const 1720) "\01\00\00\00\05\00\00\00\01\01\01\04\05") + (data $15 (i32.const 1740) "\1c") + (data $15.1 (i32.const 1752) "\01\00\00\00\05") + (data $16 (i32.const 1772) "\1c") + (data $16.1 (i32.const 1784) "\01\00\00\00\05\00\00\00\01\01") + (data $17 (i32.const 1804) "\1c") + (data $17.1 (i32.const 1816) "\01\00\00\00\05\00\00\00\01\01\00\02\02") + (data $18 (i32.const 1836) "\1c") + (data $18.1 (i32.const 1848) "\01\00\00\00\05\00\00\00\01\01\00\02\02") + (data $19 (i32.const 1868) "\1c") + (data $19.1 (i32.const 1880) "\01\00\00\00\05\00\00\00\ff\ff\ff\ff\ff") + (data $20 (i32.const 1900) ",") + (data $20.1 (i32.const 1912) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $21 (i32.const 1948) ",") + (data $21.1 (i32.const 1960) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") + (data $22 (i32.const 1996) ",") + (data $22.1 (i32.const 2008) "\01\00\00\00\14") + (data $23 (i32.const 2044) ",") + (data $23.1 (i32.const 2056) "\01\00\00\00\14\00\00\00\01\00\00\00\01") + (data $24 (i32.const 2092) ",") + (data $24.1 (i32.const 2104) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data $25 (i32.const 2140) ",") + (data $25.1 (i32.const 2152) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data $26 (i32.const 2188) ",") + (data $26.1 (i32.const 2200) "\01\00\00\00\14\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff") + (data $27 (i32.const 2236) ",") + (data $27.1 (i32.const 2248) "\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\c0?\00\00 @\00\00@@") + (data $28 (i32.const 2284) ",") + (data $28.1 (i32.const 2296) "\01\00\00\00\14\00\00\00\00\00\00?\00\00\80?\00\00\80?\00\00 @\00\00@@") + (data $29 (i32.const 2332) ",") + (data $29.1 (i32.const 2344) "\01\00\00\00\14") + (data $30 (i32.const 2380) ",") + (data $30.1 (i32.const 2392) "\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?") + (data $31 (i32.const 2428) ",") + (data $31.1 (i32.const 2440) "\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@") + (data $32 (i32.const 2476) ",") + (data $32.1 (i32.const 2488) "\01\00\00\00\14\00\00\00\00\00\80?\00\00\80?\00\00\00\00\00\00\00@\00\00\00@") + (data $33 (i32.const 2524) ",") + (data $33.1 (i32.const 2536) "\01\00\00\00\14\00\00\00\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf\00\00\80\bf") + (data $34 (i32.const 2572) ",") + (data $34.1 (i32.const 2584) "\01\00\00\00\14\00\00\00\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80\00\00\00\80") + (data $35 (i32.const 2620) ",") + (data $35.1 (i32.const 2632) "\02\00\00\00\1c\00\00\00A\00r\00r\00a\00y\00 \00i\00s\00 \00e\00m\00p\00t\00y") + (data $36 (i32.const 2668) ",") + (data $36.1 (i32.const 2680) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data $37 (i32.const 2716) "\1c") + (data $37.1 (i32.const 2728) "\01") + (data $38 (i32.const 2748) "\1c") + (data $38.1 (i32.const 2760) "\01") + (data $39 (i32.const 2780) ",") + (data $39.1 (i32.const 2792) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $40 (i32.const 2828) ",") + (data $40.1 (i32.const 2840) "\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data $41 (i32.const 2876) ",") + (data $41.1 (i32.const 2888) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $42 (i32.const 2924) ",") + (data $42.1 (i32.const 2936) "\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") + (data $43 (i32.const 2972) ",") + (data $43.1 (i32.const 2984) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $44 (i32.const 3020) ",") + (data $44.1 (i32.const 3032) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data $45 (i32.const 3068) ",") + (data $45.1 (i32.const 3080) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $46 (i32.const 3116) ",") + (data $46.1 (i32.const 3128) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $47 (i32.const 3164) ",") + (data $47.1 (i32.const 3176) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $48 (i32.const 3212) ",") + (data $48.1 (i32.const 3224) "\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $49 (i32.const 3260) ",") + (data $49.1 (i32.const 3272) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $50 (i32.const 3308) ",") + (data $50.1 (i32.const 3320) "\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") + (data $51 (i32.const 3356) ",") + (data $51.1 (i32.const 3368) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $52 (i32.const 3404) ",") + (data $52.1 (i32.const 3416) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data $53 (i32.const 3452) ",") + (data $53.1 (i32.const 3464) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $54 (i32.const 3500) ",") + (data $54.1 (i32.const 3512) "\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data $55 (i32.const 3548) ",") + (data $55.1 (i32.const 3560) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $56 (i32.const 3596) ",") + (data $56.1 (i32.const 3608) "\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $57 (i32.const 3644) ",") + (data $57.1 (i32.const 3656) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $58 (i32.const 3692) ",") + (data $58.1 (i32.const 3704) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") + (data $59 (i32.const 3740) ",") + (data $59.1 (i32.const 3752) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $60 (i32.const 3788) ",") + (data $60.1 (i32.const 3800) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data $61 (i32.const 3836) ",") + (data $61.1 (i32.const 3848) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $62 (i32.const 3884) ",") + (data $62.1 (i32.const 3896) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data $63 (i32.const 3932) ",") + (data $63.1 (i32.const 3944) "\01\00\00\00\14\00\00\00\03\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b") + (data $64 (i32.const 3980) "\1c") + (data $64.1 (i32.const 3992) "\01\00\00\00\0c\00\00\00\07\00\00\00\t\00\00\00\0b") + (data $65 (i32.const 4012) "\1c") + (data $65.1 (i32.const 4024) "\01\00\00\00\08\00\00\00\07\00\00\00\t") + (data $66 (i32.const 4044) ",") + (data $66.1 (i32.const 4056) "\01\00\00\00\10\00\00\00\05\00\00\00\07\00\00\00\t\00\00\00\0b") + (data $67 (i32.const 4092) "\1c") + (data $67.1 (i32.const 4104) "\01\00\00\00\08\00\00\00\t\00\00\00\0b") + (data $68 (i32.const 4124) "\1c") + (data $68.1 (i32.const 4136) "\01\00\00\00\08\00\00\00\07\00\00\00\t") + (data $69 (i32.const 4156) "\1c") + (data $69.1 (i32.const 4168) "\01\00\00\00\08\00\00\00\07\00\00\00\t") + (data $70 (i32.const 4188) "\1c") + (data $70.1 (i32.const 4200) "\01\00\00\00\04\00\00\00\00\01\02\03") + (data $71 (i32.const 4220) "\1c") + (data $71.1 (i32.const 4232) "\01\00\00\00\08\00\00\00\00\01\02\03\04\05\06\07") + (data $72 (i32.const 4252) ",") + (data $72.1 (i32.const 4264) "\01\00\00\00\11\00\00\00\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10") + (data $73 (i32.const 4300) ",") + (data $73.1 (i32.const 4312) "\01\00\00\00\0e\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06") + (data $74 (i32.const 4348) ",") + (data $74.1 (i32.const 4360) "\01\00\00\00\10\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07") + (data $75 (i32.const 4396) ",") + (data $75.1 (i32.const 4408) "\01\00\00\00\12\00\00\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08") + (data $76 (i32.const 4444) "\1c") + (data $76.1 (i32.const 4456) "\01\00\00\00\04\00\00\00\00\00\c0\7f") + (data $77 (i32.const 4476) "\1c") + (data $77.1 (i32.const 4488) "\01\00\00\00\08") + (data $77.2 (i32.const 4502) "\f8\7f") + (data $78 (i32.const 4508) ",") + (data $78.1 (i32.const 4520) "\01\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02") + (data $79 (i32.const 4556) "\1c") + (data $79.1 (i32.const 4568) "\01\00\00\00\04\00\00\00\00\00\c0\7f") + (data $80 (i32.const 4588) "\1c") + (data $80.1 (i32.const 4600) "\01\00\00\00\08") + (data $80.2 (i32.const 4614) "\f8\7f") + (data $81 (i32.const 4620) ",") + (data $81.1 (i32.const 4632) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $82 (i32.const 4668) ",") + (data $82.1 (i32.const 4680) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $83 (i32.const 4716) "\1c") + (data $83.1 (i32.const 4728) "\01") + (data $84 (i32.const 4748) ",") + (data $84.1 (i32.const 4760) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $85 (i32.const 4796) "\1c") + (data $85.1 (i32.const 4808) "\01") + (data $86 (i32.const 4828) ",") + (data $86.1 (i32.const 4840) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $87 (i32.const 4876) ",") + (data $87.1 (i32.const 4888) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $88 (i32.const 4924) "\1c") + (data $88.1 (i32.const 4936) "\01\00\00\00\0c\00\00\00\03\00\00\00\04\00\00\00\05") + (data $89 (i32.const 4956) "\1c") + (data $89.1 (i32.const 4968) "\01\00\00\00\08\00\00\00\01\00\00\00\02") + (data $90 (i32.const 4988) ",") + (data $90.1 (i32.const 5000) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $91 (i32.const 5036) "\1c") + (data $91.1 (i32.const 5048) "\01\00\00\00\08\00\00\00\03\00\00\00\04") + (data $92 (i32.const 5068) "\1c") + (data $92.1 (i32.const 5080) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\05") + (data $93 (i32.const 5100) ",") + (data $93.1 (i32.const 5112) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $94 (i32.const 5148) "\1c") + (data $94.1 (i32.const 5160) "\01\00\00\00\04\00\00\00\01") + (data $95 (i32.const 5180) ",") + (data $95.1 (i32.const 5192) "\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $96 (i32.const 5228) ",") + (data $96.1 (i32.const 5240) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $97 (i32.const 5276) "\1c") + (data $97.1 (i32.const 5288) "\01\00\00\00\04\00\00\00\05") + (data $98 (i32.const 5308) ",") + (data $98.1 (i32.const 5320) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04") + (data $99 (i32.const 5356) ",") + (data $99.1 (i32.const 5368) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $100 (i32.const 5404) "\1c") + (data $100.1 (i32.const 5416) "\01\00\00\00\08\00\00\00\04\00\00\00\05") + (data $101 (i32.const 5436) "\1c") + (data $101.1 (i32.const 5448) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $102 (i32.const 5468) ",") + (data $102.1 (i32.const 5480) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $103 (i32.const 5516) "\1c") + (data $103.1 (i32.const 5528) "\01\00\00\00\04\00\00\00\04") + (data $104 (i32.const 5548) ",") + (data $104.1 (i32.const 5560) "\01\00\00\00\10\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") + (data $105 (i32.const 5596) ",") + (data $105.1 (i32.const 5608) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $106 (i32.const 5644) "\1c") + (data $106.1 (i32.const 5656) "\01\00\00\00\04\00\00\00\01") + (data $107 (i32.const 5676) ",") + (data $107.1 (i32.const 5688) "\01\00\00\00\10\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $108 (i32.const 5724) ",") + (data $108.1 (i32.const 5736) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $109 (i32.const 5772) "\1c") + (data $109.1 (i32.const 5784) "\01") + (data $110 (i32.const 5804) ",") + (data $110.1 (i32.const 5816) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $111 (i32.const 5852) ",") + (data $111.1 (i32.const 5864) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $112 (i32.const 5900) "\1c") + (data $112.1 (i32.const 5912) "\01") + (data $113 (i32.const 5932) ",") + (data $113.1 (i32.const 5944) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $114 (i32.const 5980) ",") + (data $114.1 (i32.const 5992) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $115 (i32.const 6028) "\1c") + (data $115.1 (i32.const 6040) "\01") + (data $116 (i32.const 6060) ",") + (data $116.1 (i32.const 6072) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $117 (i32.const 6108) ",") + (data $117.1 (i32.const 6120) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $118 (i32.const 6156) "\1c") + (data $118.1 (i32.const 6168) "\01") + (data $119 (i32.const 6188) ",") + (data $119.1 (i32.const 6200) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $120 (i32.const 6236) ",") + (data $120.1 (i32.const 6248) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $121 (i32.const 6284) "\1c") + (data $121.1 (i32.const 6296) "\01") + (data $122 (i32.const 6316) ",") + (data $122.1 (i32.const 6328) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $123 (i32.const 6364) "\1c") + (data $123.1 (i32.const 6376) "\01") + (data $124 (i32.const 6396) "|") + (data $124.1 (i32.const 6408) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data $125 (i32.const 6524) "|") + (data $125.1 (i32.const 6536) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") + (data $126 (i32.const 6652) "\1c") + (data $126.1 (i32.const 6664) "\0e\00\00\00\08\00\00\00\01") + (data $127 (i32.const 6684) "\1c") + (data $127.1 (i32.const 6696) "\0e\00\00\00\08\00\00\00\02") + (data $128 (i32.const 6716) "\1c") + (data $128.1 (i32.const 6728) "\0e\00\00\00\08\00\00\00\03") + (data $129 (i32.const 6748) "\1c") + (data $129.1 (i32.const 6760) "\0e\00\00\00\08\00\00\00\04") + (data $130 (i32.const 6780) "\1c") + (data $130.1 (i32.const 6792) "\0e\00\00\00\08\00\00\00\05") + (data $131 (i32.const 6812) "\1c") + (data $131.1 (i32.const 6824) "\0e\00\00\00\08\00\00\00\06") + (data $132 (i32.const 6844) ",") + (data $132.1 (i32.const 6856) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data $133 (i32.const 6892) "\1c") + (data $133.1 (i32.const 6904) "\0e\00\00\00\08\00\00\00\07") + (data $134 (i32.const 6924) "\1c") + (data $134.1 (i32.const 6936) "\0e\00\00\00\08\00\00\00\08") + (data $135 (i32.const 6956) "\1c") + (data $135.1 (i32.const 6968) "\0e\00\00\00\08\00\00\00\t") + (data $136 (i32.const 6988) "\1c") + (data $136.1 (i32.const 7000) "\0e\00\00\00\08\00\00\00\n") + (data $137 (i32.const 7020) "\1c") + (data $137.1 (i32.const 7032) "\0e\00\00\00\08\00\00\00\0b") + (data $138 (i32.const 7052) "\1c") + (data $138.1 (i32.const 7064) "\0e\00\00\00\08\00\00\00\0c") + (data $139 (i32.const 7084) "\1c") + (data $139.1 (i32.const 7096) "\0e\00\00\00\08\00\00\00\r") + (data $140 (i32.const 7116) "\1c") + (data $140.1 (i32.const 7128) "\0e\00\00\00\08\00\00\00\0e") + (data $141 (i32.const 7148) "\1c") + (data $141.1 (i32.const 7160) "\0e\00\00\00\08\00\00\00\0f") + (data $142 (i32.const 7180) "\1c") + (data $142.1 (i32.const 7192) "\0e\00\00\00\08\00\00\00\10") + (data $143 (i32.const 7212) "\1c") + (data $143.1 (i32.const 7224) "\0e\00\00\00\08\00\00\00\11") + (data $144 (i32.const 7244) "\1c") + (data $144.1 (i32.const 7256) "\0e\00\00\00\08\00\00\00\12") + (data $145 (i32.const 7276) "\1c") + (data $145.1 (i32.const 7288) "\0e\00\00\00\08\00\00\00\13") + (data $146 (i32.const 7308) "\1c") + (data $146.1 (i32.const 7320) "\0e\00\00\00\08\00\00\00\14") + (data $147 (i32.const 7340) "\1c") + (data $147.1 (i32.const 7352) "\0f\00\00\00\08\00\00\00\15") + (data $148 (i32.const 7372) "\1c") + (data $148.1 (i32.const 7384) "\0f\00\00\00\08\00\00\00\16") + (data $149 (i32.const 7404) "\1c") + (data $149.1 (i32.const 7416) "\0f\00\00\00\08\00\00\00\17") + (data $150 (i32.const 7436) "\1c") + (data $150.1 (i32.const 7448) "\0f\00\00\00\08\00\00\00\18") + (data $151 (i32.const 7468) "\1c") + (data $151.1 (i32.const 7480) "\0f\00\00\00\08\00\00\00\19") + (data $152 (i32.const 7500) "|") + (data $152.1 (i32.const 7512) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data $153 (i32.const 7628) "<") + (data $153.1 (i32.const 7640) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data $154 (i32.const 7692) "\1c") + (data $154.1 (i32.const 7704) "\02\00\00\00\02\00\00\000") + (data $155 (i32.const 7724) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data $156 (i32.const 8124) "\1c\04") + (data $156.1 (i32.const 8136) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data $157 (i32.const 9180) "\\") + (data $157.1 (i32.const 9192) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data $158 (i32.const 9276) "\1c") + (data $158.1 (i32.const 9288) "\11\00\00\00\08\00\00\00\1a") + (data $159 (i32.const 9308) "\1c") + (data $159.1 (i32.const 9320) "\12\00\00\00\08\00\00\00\1b") + (data $160 (i32.const 9340) "\1c") + (data $160.1 (i32.const 9352) "\13\00\00\00\08\00\00\00\1c") + (data $161 (i32.const 9372) "\1c") + (data $161.1 (i32.const 9384) "\13\00\00\00\08\00\00\00\1d") + (data $162 (i32.const 9404) "\1c") + (data $162.1 (i32.const 9416) "\13\00\00\00\08\00\00\00\1e") + (data $163 (i32.const 9436) "\1c") + (data $163.1 (i32.const 9448) "\0e\00\00\00\08\00\00\00\1f") + (data $164 (i32.const 9468) "\1c") + (data $164.1 (i32.const 9480) "\0e\00\00\00\08\00\00\00 ") + (data $165 (i32.const 9500) "\1c") + (data $165.1 (i32.const 9512) "\0e\00\00\00\08\00\00\00!") + (data $166 (i32.const 9532) "\1c") + (data $166.1 (i32.const 9544) "\0e\00\00\00\08\00\00\00\"") + (data $167 (i32.const 9564) "\1c") + (data $167.1 (i32.const 9576) "\14\00\00\00\08\00\00\00#") + (data $168 (i32.const 9596) "\1c") + (data $168.1 (i32.const 9608) "\14\00\00\00\08\00\00\00$") + (data $169 (i32.const 9628) "\1c") + (data $169.1 (i32.const 9640) "\15\00\00\00\08\00\00\00%") + (data $170 (i32.const 9660) "\1c") + (data $170.1 (i32.const 9672) "\15\00\00\00\08\00\00\00&") + (data $171 (i32.const 9692) "\1c") + (data $171.1 (i32.const 9704) "\14\00\00\00\08\00\00\00\'") + (data $172 (i32.const 9724) "\1c") + (data $172.1 (i32.const 9736) "\14\00\00\00\08\00\00\00(") + (data $173 (i32.const 9756) "\1c") + (data $173.1 (i32.const 9768) "\14\00\00\00\08\00\00\00)") + (data $174 (i32.const 9788) "\1c") + (data $174.1 (i32.const 9800) "\14\00\00\00\08\00\00\00*") + (data $175 (i32.const 9820) "\1c") + (data $175.1 (i32.const 9832) "\14\00\00\00\08\00\00\00+") + (data $176 (i32.const 9852) "\1c") + (data $176.1 (i32.const 9864) "\15\00\00\00\08\00\00\00,") + (data $177 (i32.const 9884) "\1c") + (data $177.1 (i32.const 9896) "\15\00\00\00\08\00\00\00-") + (data $178 (i32.const 9916) "\1c") + (data $178.1 (i32.const 9928) "\14\00\00\00\08\00\00\00.") + (data $179 (i32.const 9948) "\1c") + (data $179.1 (i32.const 9960) "\14\00\00\00\08\00\00\00/") + (data $180 (i32.const 9980) "\1c") + (data $180.1 (i32.const 9992) "\14\00\00\00\08\00\00\000") + (data $181 (i32.const 10012) "\bc") + (data $181.1 (i32.const 10024) "\02\00\00\00\ac\00\00\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\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\000\001\002\003\004\005\006\007\008\009\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 $182 (i32.const 10204) "\1c") + (data $182.1 (i32.const 10216) "\01\00\00\00\0c\00\00\00\00\00\00@\00\00\80\bf") + (data $183 (i32.const 10236) "\1c") + (data $183.1 (i32.const 10248) "\18\00\00\00\08\00\00\001") + (data $184 (i32.const 10268) "\1c") + (data $184.1 (i32.const 10280) "\01\00\00\00\0c\00\00\00\00\00\80\bf\00\00\00\00\00\00\00@") + (data $185 (i32.const 10300) "<") + (data $185.1 (i32.const 10312) "\01\00\00\00 \00\00\00\00\00\80?\00\00\c0\7f\00\00\80\ff\00\00\80?\00\00\00\00\00\00\80\bf\00\00\00\c0\00\00\80\7f") + (data $186 (i32.const 10364) "<") + (data $186.1 (i32.const 10376) "\01\00\00\00 \00\00\00\00\00\80\ff\00\00\00\c0\00\00\80\bf\00\00\00\00\00\00\80?\00\00\80?\00\00\80\7f\00\00\c0\7f") + (data $187 (i32.const 10428) "\\") + (data $187.1 (i32.const 10440) "\01\00\00\00@") + (data $187.2 (i32.const 10454) "\f0?\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\05\00\00\00\00\00\f0?") + (data $187.3 (i32.const 10494) "\f0\bf\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\7f") + (data $188 (i32.const 10524) "\1c") + (data $188.1 (i32.const 10536) "\19\00\00\00\08\00\00\002") + (data $189 (i32.const 10556) "\\") + (data $189.1 (i32.const 10568) "\01\00\00\00@") + (data $189.2 (i32.const 10582) "\f0\ff\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f0\bf") + (data $189.3 (i32.const 10614) "\f0?\05\00\00\00\00\00\f0?\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f") + (data $190 (i32.const 10652) ",") + (data $190.1 (i32.const 10664) "\01\00\00\00\14\00\00\00\01\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\02") + (data $191 (i32.const 10700) "\1c") + (data $191.1 (i32.const 10712) "\1a\00\00\00\08\00\00\003") + (data $192 (i32.const 10732) ",") + (data $192.1 (i32.const 10744) "\01\00\00\00\14\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\01\00\00\00\02") + (data $193 (i32.const 10780) ",") + (data $193.1 (i32.const 10792) "\01\00\00\00\14\00\00\00\01\00\00\00\ff\ff\ff\ff\fe\ff\ff\ff\00\00\00\00\02") + (data $194 (i32.const 10828) "\1c") + (data $194.1 (i32.const 10840) "\1b\00\00\00\08\00\00\004") + (data $195 (i32.const 10860) ",") + (data $195.1 (i32.const 10872) "\01\00\00\00\14\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\fe\ff\ff\ff\ff\ff\ff\ff") + (data $196 (i32.const 10908) "\1c") + (data $196.1 (i32.const 10920) "\01") + (data $197 (i32.const 10940) "\1c") + (data $197.1 (i32.const 10952) "\01\00\00\00\04\00\00\00\01") + (data $198 (i32.const 10972) "\1c") + (data $198.1 (i32.const 10984) "\01\00\00\00\08\00\00\00\02\00\00\00\01") + (data $199 (i32.const 11004) ",") + (data $199.1 (i32.const 11016) "\01\00\00\00\10\00\00\00\03\00\00\00\02\00\00\00\01") + (data $200 (i32.const 11052) ",") + (data $200.1 (i32.const 11064) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data $201 (i32.const 11100) "\1c") + (data $201.1 (i32.const 11112) "\1a\00\00\00\08\00\00\005") + (data $202 (i32.const 11132) "\1c") + (data $202.1 (i32.const 11144) "\01\00\00\00\04\00\00\00\01") + (data $203 (i32.const 11164) "\1c") + (data $203.1 (i32.const 11176) "\01\00\00\00\08\00\00\00\01\00\00\00\02") + (data $204 (i32.const 11196) "\1c") + (data $204.1 (i32.const 11208) "\1c\00\00\00\08\00\00\006") + (data $205 (i32.const 11228) "\1c") + (data $205.1 (i32.const 11240) "\1a\00\00\00\08\00\00\007") + (data $206 (i32.const 11260) "\1c") + (data $206.1 (i32.const 11272) "\1a\00\00\00\08\00\00\008") + (data $207 (i32.const 11292) "\1c") + (data $207.1 (i32.const 11304) "\1a\00\00\00\08\00\00\009") + (data $208 (i32.const 11324) "\1c") + (data $208.1 (i32.const 11336) "\1a\00\00\00\08\00\00\00:") + (data $209 (i32.const 11356) "\1c") + (data $209.1 (i32.const 11368) "\1e\00\00\00\08\00\00\00;") + (data $210 (i32.const 11388) "\1c") + (data $210.1 (i32.const 11400) "!\00\00\00\08\00\00\00<") + (data $211 (i32.const 11420) "\1c") + (data $211.1 (i32.const 11432) "\02\00\00\00\02\00\00\00a") + (data $212 (i32.const 11452) "\1c") + (data $212.1 (i32.const 11464) "\02\00\00\00\02\00\00\00b") + (data $213 (i32.const 11484) "\1c") + (data $213.1 (i32.const 11496) "\02\00\00\00\04\00\00\00a\00b") + (data $214 (i32.const 11516) "\1c") + (data $214.1 (i32.const 11528) "\02\00\00\00\04\00\00\00b\00a") + (data $215 (i32.const 11548) "\1c") + (data $215.1 (i32.const 11560) "\02") + (data $216 (i32.const 11580) ",") + (data $216.1 (i32.const 11592) "\01\00\00\00\1c\00\00\00\b0,\00\00\d0,\00\00\b0,\00\00\f0,\00\00\10-\00\000-") + (data $217 (i32.const 11628) ",") + (data $217.1 (i32.const 11640) "\01\00\00\00\1c\00\00\000-\00\00\b0,\00\00\b0,\00\00\f0,\00\00\d0,\00\00\10-") + (data $218 (i32.const 11676) "\1c") + (data $218.1 (i32.const 11688) "#\00\00\00\08\00\00\00=") + (data $219 (i32.const 11708) "\1c") + (data $219.1 (i32.const 11720) "$\00\00\00\08\00\00\00>") + (data $220 (i32.const 11740) "\1c") + (data $220.1 (i32.const 11752) "\01\00\00\00\02\00\00\00\01") + (data $221 (i32.const 11772) "\1c") + (data $221.1 (i32.const 11784) "\02\00\00\00\08\00\00\00t\00r\00u\00e") + (data $222 (i32.const 11804) "\1c") + (data $222.1 (i32.const 11816) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") + (data $223 (i32.const 11836) "\1c") + (data $223.1 (i32.const 11848) "\02\00\00\00\02\00\00\00,") + (data $224 (i32.const 11868) ",") + (data $224.1 (i32.const 11880) "\02\00\00\00\14\00\00\00t\00r\00u\00e\00,\00f\00a\00l\00s\00e") + (data $225 (i32.const 11916) "\1c") + (data $225.1 (i32.const 11928) "\01\00\00\00\0c\00\00\00\01\00\00\00\fe\ff\ff\ff\fd\ff\ff\ff") + (data $226 (i32.const 11948) "\1c") + (data $226.1 (i32.const 11960) "\02\00\00\00\n\00\00\001\00-\002\00-\003") + (data $227 (i32.const 11980) "\1c") + (data $227.1 (i32.const 11992) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $228 (i32.const 12012) "\1c") + (data $228.1 (i32.const 12024) "\02\00\00\00\02\00\00\00-") + (data $229 (i32.const 12044) "\1c") + (data $229.1 (i32.const 12056) "\01\00\00\00\08\00\00\00\00\00\00\80\00\00\00\80") + (data $230 (i32.const 12076) "\1c") + (data $230.1 (i32.const 12088) "\02\00\00\00\04\00\00\00_\00_") + (data $231 (i32.const 12108) "L") + (data $231.1 (i32.const 12120) "\02\00\00\000\00\00\00-\002\001\004\007\004\008\003\006\004\008\00_\00_\00-\002\001\004\007\004\008\003\006\004\008") + (data $232 (i32.const 12188) "L") + (data $232.1 (i32.const 12200) "\01\00\00\000") + (data $232.2 (i32.const 12222) "\f0?\00\00\00\00\00\00\00\c0\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00\00\00\f0\7f") + (data $233 (i32.const 12268) "\1c") + (data $233.1 (i32.const 12280) "\02\00\00\00\04\00\00\00,\00 ") + (data $234 (i32.const 12300) "\1c") + (data $234.1 (i32.const 12312) "\02\00\00\00\06\00\00\000\00.\000") + (data $235 (i32.const 12332) "\1c") + (data $235.1 (i32.const 12344) "\02\00\00\00\06\00\00\00N\00a\00N") + (data $236 (i32.const 12364) ",") + (data $236.1 (i32.const 12376) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data $237 (i32.const 12412) ",") + (data $237.1 (i32.const 12424) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data $239 (i32.const 12520) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]\00,\00[\00o\00b\00j\00e\00c\00t\00 \00O\00b\00j\00e\00c\00t\00]") + (data $248 (i32.const 13868) "\1c") + (data $248.1 (i32.const 13880) "\01") + (data $249 (i32.const 13900) "\1c") + (data $249.1 (i32.const 13912) "\01\00\00\00\04\00\00\00\01") + (data $250 (i32.const 13932) "\1c") + (data $250.1 (i32.const 13944) "\01\00\00\00\08\00\00\00\01\00\00\00\02") + (data $251 (i32.const 13964) ",") + (data $251.1 (i32.const 13976) "\01\00\00\00\10\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03") + (data $252 (i32.const 14012) "\1c") + (data $252.1 (i32.const 14024) "\02\00\00\00\06\00\00\001\00,\002") + (data $253 (i32.const 14044) ",") + (data $253.1 (i32.const 14056) "\02\00\00\00\0e\00\00\000\00,\001\00,\002\00,\003") + (data $254 (i32.const 14092) "\1c") + (data $254.1 (i32.const 14104) "\01\00\00\00\03\00\00\00\01\ff") + (data $255 (i32.const 14124) "\1c") + (data $255.1 (i32.const 14136) "\02\00\00\00\0c\00\00\001\00,\00-\001\00,\000") + (data $256 (i32.const 14156) "\1c") + (data $256.1 (i32.const 14168) "\01\00\00\00\03\00\00\00\80\81\80") + (data $257 (i32.const 14188) ",") + (data $257.1 (i32.const 14200) "\02\00\00\00\1c\00\00\00-\001\002\008\00,\00-\001\002\007\00,\00-\001\002\008") + (data $258 (i32.const 14236) "\1c") + (data $258.1 (i32.const 14248) "\01\00\00\00\06\00\00\00\01\00\ff\ff") + (data $259 (i32.const 14268) ",") + (data $259.1 (i32.const 14280) "\02\00\00\00\12\00\00\001\00,\006\005\005\003\005\00,\000") + (data $260 (i32.const 14316) "\1c") + (data $260.1 (i32.const 14328) "\01\00\00\00\04\00\00\00\00\80\01\ff") + (data $261 (i32.const 14348) ",") + (data $261.1 (i32.const 14360) "\02\00\00\00\16\00\00\00-\003\002\007\006\008\00,\00-\002\005\005") + (data $262 (i32.const 14396) "\1c") + (data $262.1 (i32.const 14408) "\01\00\00\00\08\00\00\00\00\00\00\80\80\ff\ff\ff") + (data $263 (i32.const 14428) "<") + (data $263.1 (i32.const 14440) "\02\00\00\00 \00\00\00-\002\001\004\007\004\008\003\006\004\008\00,\00-\001\002\008") + (data $264 (i32.const 14492) ",") + (data $264.1 (i32.const 14504) "\01\00\00\00\18\00\00\00\01\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff") + (data $265 (i32.const 14540) "L") + (data $265.1 (i32.const 14552) "\02\00\00\000\00\00\001\00,\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00,\000") + (data $266 (i32.const 14620) "<") + (data $266.1 (i32.const 14632) "\01\00\00\00(\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff@Eu\c3*\9d\fb\ff\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\7f") + (data $267 (i32.const 14684) "\9c") + (data $267.1 (i32.const 14696) "\02\00\00\00~\00\00\00-\001\00,\00-\001\002\003\004\005\006\007\008\009\000\001\002\003\004\005\006\00,\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00,\000\00,\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") + (data $268 (i32.const 14844) ",") + (data $268.1 (i32.const 14856) "\01\00\00\00\1c\00\00\000-\00\00\b0,\00\00\b0,\00\00\f0,\00\00\d0,\00\00\10-") + (data $269 (i32.const 14892) ",") + (data $269.1 (i32.const 14904) "\02\00\00\00\1a\00\00\00,\00a\00,\00a\00,\00a\00b\00,\00b\00,\00b\00a\00,") + (data $270 (i32.const 14940) "\1c") + (data $270.1 (i32.const 14952) "\02\00\00\00\02\00\00\002") + (data $271 (i32.const 14972) "\1c") + (data $271.1 (i32.const 14984) "\02\00\00\00\02\00\00\004") + (data $272 (i32.const 15004) ",") + (data $272.1 (i32.const 15016) "\01\00\00\00\10\00\00\00\005\00\00p:\00\00\00\00\00\00\90:") + (data $273 (i32.const 15052) "\1c") + (data $273.1 (i32.const 15064) "\02\00\00\00\0c\00\00\001\00,\002\00,\00,\004") + (data $274 (i32.const 15084) "\1c") + (data $274.1 (i32.const 15096) "\01\00\00\00\08\00\00\00\01\00\00\00\02") + (data $275 (i32.const 15116) "\1c") + (data $275.1 (i32.const 15128) "\01\00\00\00\08\00\00\00\03\00\00\00\04") + (data $276 (i32.const 15148) ",") + (data $276.1 (i32.const 15160) "\02\00\00\00\0e\00\00\001\00,\002\00,\003\00,\004") + (data $277 (i32.const 15196) "\1c") + (data $277.1 (i32.const 15208) "\01\00\00\00\02\00\00\00\01\02") + (data $278 (i32.const 15228) "\1c") + (data $278.1 (i32.const 15240) "\01\00\00\00\02\00\00\00\03\04") + (data $279 (i32.const 15260) "\1c") + (data $279.1 (i32.const 15272) "\01\00\00\00\04\00\00\00\01") + (data $280 (i32.const 15292) "\1c") + (data $280.1 (i32.const 15304) "\01\00\00\00\04") + (data $281 (i32.const 15324) "\1c") + (data $281.1 (i32.const 15336) "\01\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $282 (i32.const 15356) "\1c") + (data $282.1 (i32.const 15368) "\01\00\00\00\0c\00\00\00\04\00\00\00\05\00\00\00\06") + (data $283 (i32.const 15388) "\1c") + (data $283.1 (i32.const 15400) "\01\00\00\00\0c\00\00\00\07\00\00\00\08\00\00\00\t") + (data $284 (i32.const 15420) "\1c") + (data $284.1 (i32.const 15432) "\02\00\00\00\06\00\00\00o\00n\00e") + (data $285 (i32.const 15452) "\1c") + (data $285.1 (i32.const 15464) "\01\00\00\00\04\00\00\00P<") + (data $286 (i32.const 15484) "\1c") + (data $286.1 (i32.const 15496) "\02\00\00\00\06\00\00\00t\00w\00o") + (data $287 (i32.const 15516) "\1c") + (data $287.1 (i32.const 15528) "\02\00\00\00\n\00\00\00t\00h\00r\00e\00e") + (data $288 (i32.const 15548) "\1c") + (data $288.1 (i32.const 15560) "\01\00\00\00\0c\00\00\00\90<\00\00\00\00\00\00\b0<") + (data $289 (i32.const 15580) "\1c") + (data $289.1 (i32.const 15592) "\02\00\00\00\08\00\00\00f\00o\00u\00r") + (data $290 (i32.const 15612) "\1c") + (data $290.1 (i32.const 15624) "\02\00\00\00\08\00\00\00f\00i\00v\00e") + (data $291 (i32.const 15644) "\1c") + (data $291.1 (i32.const 15656) "\02\00\00\00\06\00\00\00s\00i\00x") + (data $292 (i32.const 15676) "\1c") + (data $292.1 (i32.const 15688) "\01\00\00\00\0c\00\00\00\f0<\00\00\10=\00\000=") + (data $293 (i32.const 15708) "\1c") + (data $293.1 (i32.const 15720) "\02\00\00\00\n\00\00\00s\00e\00v\00e\00n") + (data $294 (i32.const 15740) "\1c") + (data $294.1 (i32.const 15752) "\01\00\00\00\04\00\00\00p=") + (data $295 (i32.const 15772) "<") + (data $295.1 (i32.const 15784) "\01\00\00\00 \00\00\00P<\00\00\90<\00\00\00\00\00\00\b0<\00\00\f0<\00\00\10=\00\000=\00\00p=") + (data $296 (i32.const 15836) "\1c") + (data $296.1 (i32.const 15848) "\01") + (data $297 (i32.const 15868) "\1c") + (data $297.1 (i32.const 15880) "\01") + (data $298 (i32.const 15900) "\1c") + (data $298.1 (i32.const 15912) "\01\00\00\00\04\00\00\00\01") + (data $299 (i32.const 15932) "\1c") + (data $299.1 (i32.const 15944) "\01\00\00\00\04\00\00\00\02") + (data $300 (i32.const 15964) "\1c") + (data $300.1 (i32.const 15976) ".\00\00\00\08\00\00\00?") + (data $301 (i32.const 16000) "/\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00 \00\00\00A\00\00\00B\00\00\00\02\01\00\00\02\19\00\00\02A\00\00\82\00\00\00\02\1a\00\00\02a") + (data $301.1 (i32.const 16068) "\02A") + (data $301.2 (i32.const 16092) " \00\00\00\02A") + (data $301.3 (i32.const 16120) "\02A\00\00\00\00\00\00 \00\00\00\02A\00\00\00\00\00\00\02a") + (data $301.4 (i32.const 16152) "B\00\00\00B\08\00\00\82\08\00\00\02\02\00\00\02\n\00\00\02A\00\00\02A\00\00\02A\00\00\02A") (table $0 64 64 funcref) (elem $0 (i32.const 1) $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|3 $start:std/array~anonymous|2 $start:std/array~anonymous|5 $start:std/array~anonymous|0 $start:std/array~anonymous|1 $start:std/array~anonymous|2 $start:std/array~anonymous|5 $start:std/array~anonymous|10 $start:std/array~anonymous|11 $start:std/array~anonymous|12 $start:std/array~anonymous|13 $start:std/array~anonymous|14 $start:std/array~anonymous|15 $start:std/array~anonymous|16 $start:std/array~anonymous|17 $start:std/array~anonymous|18 $start:std/array~anonymous|19 $start:std/array~anonymous|20 $start:std/array~anonymous|21 $start:std/array~anonymous|20 $start:std/array~anonymous|23 $start:std/array~anonymous|24 $start:std/array~anonymous|25 $start:std/array~anonymous|26 $start:std/array~anonymous|27 $start:std/array~anonymous|28 $start:std/array~anonymous|29 $start:std/array~anonymous|30 $start:std/array~anonymous|31 $start:std/array~anonymous|32 $start:std/array~anonymous|33 $start:std/array~anonymous|34 $start:std/array~anonymous|34 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|34 $start:std/array~anonymous|40 $start:std/array~anonymous|34 $start:std/array~anonymous|34 $start:std/array~anonymous|36 $start:std/array~anonymous|37 $start:std/array~anonymous|38 $start:std/array~anonymous|34 $start:std/array~anonymous|40 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/array/assertStableSortedForComplexObjects~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|49 $~lib/util/sort/COMPARATOR~anonymous|0 $start:std/array~anonymous|49 $start:std/array~anonymous|52 $std/array/assertStableSortedForComplexObjects~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 $start:std/array~anonymous|54) (export "memory" (memory $0)) @@ -666,39 +667,39 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 10032 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $std/array/inputStabArr local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/array/outputStabArr local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1344 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2640 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 6416 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1152 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 8144 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 9200 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -708,7 +709,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -726,7 +727,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -743,7 +744,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -757,16 +758,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$731 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 48960 @@ -781,10 +782,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$731 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -797,20 +798,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -819,7 +820,7 @@ else local.get $1 i32.const 16000 - i32.load $0 + i32.load i32.gt_u if i32.const 1344 @@ -834,13 +835,13 @@ i32.shl i32.const 16004 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -850,21 +851,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -872,8 +897,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -885,10 +910,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -899,29 +924,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -929,10 +954,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -946,75 +971,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -1036,7 +1054,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -1053,12 +1071,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -1075,17 +1093,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -1095,9 +1113,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -1122,13 +1140,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -1162,7 +1180,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -1218,19 +1236,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -1242,15 +1260,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -1258,23 +1276,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1488 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1288,10 +1308,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -1299,23 +1319,22 @@ if i32.const 0 i32.const 1488 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -1327,52 +1346,53 @@ if i32.const 0 i32.const 1488 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -1380,7 +1400,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -1388,7 +1408,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1399,10 +1419,10 @@ end i32.const 48960 i32.const 0 - i32.store $0 + i32.store i32.const 50528 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -1414,7 +1434,7 @@ i32.const 48960 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -1432,7 +1452,7 @@ i32.const 48960 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -1449,9 +1469,10 @@ end i32.const 48960 i32.const 50532 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 48960 global.set $~lib/rt/tlsf/ROOT @@ -1471,7 +1492,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $2 local.get $0 i32.const 4 i32.sub @@ -1486,25 +1506,24 @@ i32.const 1 else local.get $1 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1488 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $1 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $2 + i32.store local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -1533,7 +1552,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1546,19 +1565,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -1569,7 +1588,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1581,7 +1600,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -1594,12 +1613,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -1608,7 +1623,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1619,26 +1634,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1654,7 +1669,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1670,7 +1685,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1695,14 +1710,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1718,12 +1733,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1731,47 +1745,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1782,7 +1798,7 @@ if i32.const 0 i32.const 1488 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1792,7 +1808,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1809,10 +1825,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1828,13 +1844,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1488 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1849,7 +1865,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1865,34 +1881,60 @@ if i32.const 1152 i32.const 1488 - i32.const 458 + i32.const 461 i32.const 29 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 + if (result i32) + i32.const 12 + else + local.get $1 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $3 call $~lib/rt/tlsf/searchBlock local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 + local.get $3 + i32.const 256 + i32.ge_u + if (result i32) + local.get $3 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $3 + i32.const 1 + i32.const 27 + local.get $3 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $3 + end + else + local.get $3 + end i32.const 4 local.get $0 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1900,21 +1942,6 @@ i32.sub i32.ne i32.shl - local.get $3 - i32.const 1 - i32.const 27 - local.get $3 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $3 - local.get $3 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1927,12 +1954,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1943,9 +1970,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $0 local.get $3 @@ -1955,7 +1983,7 @@ if i32.const 0 i32.const 1488 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1963,14 +1991,14 @@ end local.get $3 local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1488 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1979,7 +2007,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.set $4 local.get $3 i32.const 4 @@ -1989,7 +2017,7 @@ if i32.const 0 i32.const 1488 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2009,7 +2037,7 @@ i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add @@ -2021,7 +2049,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $0 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -2030,21 +2058,21 @@ local.get $4 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $0 local.get $0 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 ) @@ -2066,7 +2094,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$68 i32.const 2048 local.set $2 loop $do-loop|0 @@ -2078,16 +2106,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$68 end local.get $2 i32.const 0 @@ -2095,14 +2119,13 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $2 i32.add global.set $~lib/rt/itcms/threshold end @@ -2119,36 +2142,36 @@ call $~lib/rt/tlsf/allocateBlock local.tee $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -2161,23 +2184,82 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $start:std/array~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + local.get $1 i32.eqz - ) - (func $start:std/array~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 1 - i32.eq - ) - (func $start:std/array~anonymous|2 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + if + return + end local.get $0 - i32.const 100 - i32.eq - ) + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $start:std/array~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.eqz + ) + (func $start:std/array~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 1 + i32.eq + ) + (func $start:std/array~anonymous|2 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 100 + i32.eq + ) (func $start:std/array~anonymous|10 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 0 @@ -2244,7 +2326,7 @@ i32.shl i32.const 7724 i32.add - i64.load32_u $0 + i64.load32_u local.get $3 i32.const 100 i32.rem_u @@ -2252,11 +2334,11 @@ i32.shl i32.const 7724 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -2279,8 +2361,8 @@ i32.shl i32.const 7724 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $1 i32.const 100 i32.div_u @@ -2302,8 +2384,8 @@ i32.shl i32.const 7724 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store else local.get $0 local.get $2 @@ -2315,7 +2397,7 @@ local.get $1 i32.const 48 i32.add - i32.store16 $0 + i32.store16 end ) (func $start:std/array~anonymous|25 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -2373,6 +2455,7 @@ (local $6 f32) (local $7 i32) (local $8 f32) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -2404,19 +2487,19 @@ i32.shl i32.add local.tee $3 - f32.load $0 offset=4 + f32.load offset=4 local.tee $8 local.set $6 local.get $3 - f32.load $0 + f32.load local.set $5 i32.const 2 global.set $~argumentsLength local.get $5 local.get $8 local.get $4 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $5) i32.const 0 i32.le_s if @@ -2440,25 +2523,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + local.tee $9 + f32.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $5) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add + local.get $9 local.get $8 - f32.store $0 offset=8 + f32.store offset=8 local.get $3 i32.const 1 i32.sub @@ -2473,7 +2553,7 @@ i32.shl i32.add local.get $5 - f32.store $0 offset=8 + f32.store offset=8 loop $while-continue|2 local.get $1 local.get $3 @@ -2485,25 +2565,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + local.tee $9 + f32.load local.set $5 i32.const 2 global.set $~argumentsLength local.get $5 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $5) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add + local.get $9 local.get $5 - f32.store $0 offset=4 + f32.store offset=4 local.get $3 i32.const 1 i32.sub @@ -2518,7 +2595,7 @@ i32.shl i32.add local.get $6 - f32.store $0 offset=4 + f32.store offset=4 local.get $7 i32.const 2 i32.add @@ -2544,8 +2621,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 - local.set $5 + f32.load local.get $0 local.get $1 i32.const 1 @@ -2554,15 +2630,12 @@ i32.const 2 i32.shl i32.add - f32.load $0 - local.set $7 + f32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $5) i32.const 0 i32.gt_s if @@ -2577,18 +2650,14 @@ i32.shl i32.add local.tee $6 - f32.load $0 offset=4 - local.set $5 + f32.load offset=4 local.get $6 - f32.load $0 - local.set $7 + f32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $5) i32.const 31 i32.shr_u else @@ -2615,7 +2684,7 @@ i32.shl i32.add local.tee $3 - f32.load $0 + f32.load local.set $5 local.get $3 local.get $0 @@ -2624,15 +2693,15 @@ i32.shl i32.add local.tee $3 - f32.load $0 - f32.store $0 + f32.load + f32.store local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - f32.store $0 + f32.store local.get $2 i32.const 1 i32.sub @@ -2652,18 +2721,14 @@ i32.shl i32.add local.tee $1 - f32.load $0 offset=4 - local.set $5 + f32.load offset=4 local.get $1 - f32.load $0 - local.set $7 + f32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $5) i32.const 0 i32.ge_s else @@ -2714,8 +2779,8 @@ local.get $0 local.get $10 i32.add - f32.load $0 - f32.store $0 + f32.load + f32.store br $for-loop|0 end end @@ -2736,8 +2801,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 - f32.store $0 + f32.load offset=4 + f32.store local.get $6 i32.const 1 i32.add @@ -2755,22 +2820,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $7 local.get $4 local.get $2 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $7 local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $5) i32.const 0 i32.lt_s if @@ -2780,7 +2845,7 @@ i32.shl i32.add local.get $7 - f32.store $0 + f32.store local.get $6 i32.const 1 i32.sub @@ -2792,7 +2857,7 @@ i32.shl i32.add local.get $8 - f32.store $0 + f32.store local.get $2 i32.const 1 i32.add @@ -2835,11 +2900,12 @@ i32.lt_s i32.sub ) - (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 f64) (local $5 f64) - (local $6 f64) - (local $7 i32) - (local $8 f64) + (local $6 i32) + (local $7 f64) + (local $8 i32) local.get $1 local.get $3 local.get $2 @@ -2847,52 +2913,52 @@ i32.sub i32.const 1 i32.add - local.tee $7 + local.tee $6 local.get $3 i32.sub i32.const 1 i32.and i32.sub - local.get $7 + local.get $6 i32.const 1 i32.and local.get $3 select i32.add - local.set $7 + local.set $6 loop $for-loop|0 local.get $2 - local.get $7 + local.get $6 i32.ge_s if local.get $0 - local.get $7 + local.get $6 i32.const 3 i32.shl i32.add local.tee $3 - f64.load $0 offset=8 - local.tee $8 - local.set $6 - local.get $3 - f64.load $0 + f64.load offset=8 + local.tee $7 local.set $5 + local.get $3 + f64.load + local.set $4 i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $8 local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + local.get $7 + i32.const 10544 + i32.load + call_indirect (type $6) i32.const 0 i32.le_s if - local.get $5 - local.set $6 - local.get $8 + local.get $4 local.set $5 + local.get $7 + local.set $4 end - local.get $7 + local.get $6 i32.const 1 i32.sub local.set $3 @@ -2907,25 +2973,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 - local.set $8 + local.tee $8 + f64.load + local.set $7 i32.const 2 global.set $~argumentsLength - local.get $8 - local.get $5 + local.get $7 local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.const 10544 + i32.load + call_indirect (type $6) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add local.get $8 - f64.store $0 offset=16 + local.get $7 + f64.store offset=16 local.get $3 i32.const 1 i32.sub @@ -2939,8 +3002,8 @@ i32.const 3 i32.shl i32.add - local.get $5 - f64.store $0 offset=16 + local.get $4 + f64.store offset=16 loop $while-continue|2 local.get $1 local.get $3 @@ -2952,25 +3015,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 - local.set $5 + local.tee $8 + f64.load + local.set $4 i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + local.get $5 + i32.const 10544 + i32.load + call_indirect (type $6) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $5 - f64.store $0 offset=8 + local.get $8 + local.get $4 + f64.store offset=8 local.get $3 i32.const 1 i32.sub @@ -2984,21 +3044,21 @@ i32.const 3 i32.shl i32.add + local.get $5 + f64.store offset=8 local.get $6 - f64.store $0 offset=8 - local.get $7 i32.const 2 i32.add - local.set $7 + local.set $6 br $for-loop|0 end end ) - (func $~lib/util/sort/extendRunRight (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) + (func $~lib/util/sort/extendRunRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 f64) (local $5 f64) (local $6 i32) - (local $7 f64) local.get $1 local.get $2 i32.eq @@ -3011,65 +3071,57 @@ i32.const 3 i32.shl i32.add - f64.load $0 - local.set $5 + f64.load local.get $0 local.get $1 i32.const 1 i32.add - local.tee $4 + local.tee $3 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $7 + f64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.const 10544 + i32.load + call_indirect (type $6) i32.const 0 i32.gt_s if loop $while-continue|0 local.get $2 - local.get $4 + local.get $3 i32.gt_s if (result i32) local.get $0 - local.get $4 + local.get $3 i32.const 3 i32.shl i32.add local.tee $6 - f64.load $0 offset=8 - local.set $5 + f64.load offset=8 local.get $6 - f64.load $0 - local.set $7 + f64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.const 10544 + i32.load + call_indirect (type $6) i32.const 31 i32.shr_u else i32.const 0 end if - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $while-continue|0 end end - local.get $4 + local.get $3 local.set $2 loop $while-continue|1 local.get $1 @@ -3081,25 +3133,25 @@ i32.const 3 i32.shl i32.add - local.tee $3 - f64.load $0 - local.set $5 - local.get $3 + local.tee $6 + f64.load + local.set $4 + local.get $6 local.get $0 local.get $2 i32.const 3 i32.shl i32.add - local.tee $3 - f64.load $0 - f64.store $0 + local.tee $6 + f64.load + f64.store local.get $1 i32.const 1 i32.add local.set $1 - local.get $3 - local.get $5 - f64.store $0 + local.get $6 + local.get $4 + f64.store local.get $2 i32.const 1 i32.sub @@ -3110,57 +3162,53 @@ else loop $while-continue|2 local.get $2 - local.get $4 + local.get $3 i32.gt_s if (result i32) local.get $0 - local.get $4 + local.get $3 i32.const 3 i32.shl i32.add local.tee $1 - f64.load $0 offset=8 - local.set $5 + f64.load offset=8 local.get $1 - f64.load $0 - local.set $7 + f64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.const 10544 + i32.load + call_indirect (type $6) i32.const 0 i32.ge_s else i32.const 0 end if - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $while-continue|2 end end end - local.get $4 + local.get $3 ) - (func $~lib/util/sort/mergeRuns (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) + (func $~lib/util/sort/mergeRuns (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) + (local $6 f64) (local $7 f64) - (local $8 f64) + (local $8 i32) (local $9 i32) - (local $10 i32) local.get $2 i32.const 1 i32.sub - local.tee $6 + local.tee $5 local.get $3 i32.add - local.set $9 - local.get $6 + local.set $8 + local.get $5 i32.const 1 i32.add local.set $2 @@ -3175,40 +3223,40 @@ local.tee $2 i32.const 3 i32.shl - local.tee $10 + local.tee $9 local.get $4 i32.add local.get $0 - local.get $10 + local.get $9 i32.add - f64.load $0 - f64.store $0 + f64.load + f64.store br $for-loop|0 end end loop $for-loop|1 local.get $3 - local.get $6 + local.get $5 i32.gt_s if local.get $4 - local.get $9 - local.get $6 + local.get $8 + local.get $5 i32.sub i32.const 3 i32.shl i32.add local.get $0 - local.get $6 + local.get $5 i32.const 3 i32.shl i32.add - f64.load $0 offset=8 - f64.store $0 - local.get $6 + f64.load offset=8 + f64.store + local.get $5 i32.const 1 i32.add - local.set $6 + local.set $5 br $for-loop|1 end end @@ -3218,26 +3266,26 @@ i32.le_s if local.get $4 - local.get $6 + local.get $5 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $7 + f64.load + local.set $6 local.get $4 local.get $2 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $8 + f64.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $6 local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.const 10544 + i32.load + call_indirect (type $6) i32.const 0 i32.lt_s if @@ -3246,20 +3294,20 @@ i32.const 3 i32.shl i32.add - local.get $7 - f64.store $0 local.get $6 + f64.store + local.get $5 i32.const 1 i32.sub - local.set $6 + local.set $5 else local.get $0 local.get $1 i32.const 3 i32.shl i32.add - local.get $8 - f64.store $0 + local.get $7 + f64.store local.get $2 i32.const 1 i32.add @@ -3307,6 +3355,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -3338,19 +3387,19 @@ i32.shl i32.add local.tee $3 - i32.load $0 offset=4 + i32.load offset=4 local.tee $6 local.set $5 local.get $3 - i32.load $0 + i32.load local.set $3 i32.const 2 global.set $~argumentsLength local.get $3 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -3374,25 +3423,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $8 + local.tee $8 + i32.load + local.set $9 i32.const 2 global.set $~argumentsLength - local.get $8 + local.get $9 local.get $3 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add local.get $8 - i32.store $0 offset=8 + local.get $9 + i32.store offset=8 local.get $6 i32.const 1 i32.sub @@ -3407,7 +3453,7 @@ i32.shl i32.add local.get $3 - i32.store $0 offset=8 + i32.store offset=8 loop $while-continue|2 local.get $1 local.get $6 @@ -3419,25 +3465,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $3 + local.tee $3 + i32.load + local.set $8 i32.const 2 global.set $~argumentsLength - local.get $3 + local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add local.get $3 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 local.get $6 i32.const 1 i32.sub @@ -3452,7 +3495,7 @@ i32.shl i32.add local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 i32.add @@ -3477,8 +3520,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 + i32.load local.get $0 local.get $1 i32.const 1 @@ -3487,15 +3529,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $6 + i32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -3510,18 +3549,14 @@ i32.shl i32.add local.tee $5 - i32.load $0 offset=4 - local.set $6 + i32.load offset=4 local.get $5 - i32.load $0 - local.set $5 + i32.load i32.const 2 global.set $~argumentsLength - local.get $6 - local.get $5 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -3548,7 +3583,7 @@ i32.shl i32.add local.tee $3 - i32.load $0 + i32.load local.set $5 local.get $3 local.get $0 @@ -3557,15 +3592,15 @@ i32.shl i32.add local.tee $3 - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.sub @@ -3585,18 +3620,14 @@ i32.shl i32.add local.tee $1 - i32.load $0 offset=4 - local.set $5 + i32.load offset=4 local.get $1 - i32.load $0 - local.set $1 + i32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $1 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -3645,8 +3676,8 @@ local.get $0 local.get $8 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store br $for-loop|0 end end @@ -3667,8 +3698,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $6 i32.const 1 i32.add @@ -3686,22 +3717,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 local.get $4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $7 local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -3711,7 +3742,7 @@ i32.shl i32.add local.get $7 - i32.store $0 + i32.store local.get $6 i32.const 1 i32.sub @@ -3723,7 +3754,7 @@ i32.shl i32.add local.get $8 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.add @@ -3742,7 +3773,8 @@ local.get $1 i32.sub ) - (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -3754,157 +3786,151 @@ i32.sub i32.const 1 i32.add - local.tee $5 + local.tee $4 local.get $3 i32.sub i32.const 1 i32.and i32.sub - local.get $5 + local.get $4 i32.const 1 i32.and local.get $3 select i32.add - local.set $7 + local.set $6 loop $for-loop|0 local.get $2 - local.get $7 + local.get $6 i32.ge_s if local.get $0 - local.get $7 + local.get $6 i32.const 2 i32.shl i32.add local.tee $3 - i32.load $0 offset=4 - local.tee $6 - local.set $5 + i32.load offset=4 + local.tee $5 + local.set $4 local.get $3 - i32.load $0 + i32.load local.set $3 i32.const 2 global.set $~argumentsLength local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.get $5 + i32.const 10848 + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if local.get $3 - local.set $5 - local.get $6 + local.set $4 + local.get $5 local.set $3 end - local.get $7 + local.get $6 i32.const 1 i32.sub - local.set $6 + local.set $5 loop $while-continue|1 local.get $1 - local.get $6 + local.get $5 i32.le_s if block $while-break|1 local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $8 + local.tee $8 + i32.load + local.set $7 i32.const 2 global.set $~argumentsLength - local.get $8 + local.get $7 local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 10848 + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add local.get $8 - i32.store $0 offset=8 - local.get $6 + local.get $7 + i32.store offset=8 + local.get $5 i32.const 1 i32.sub - local.set $6 + local.set $5 br $while-continue|1 end end end local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add local.get $3 - i32.store $0 offset=8 + i32.store offset=8 loop $while-continue|2 local.get $1 - local.get $6 + local.get $5 i32.le_s if block $while-break|2 local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $3 + local.tee $3 + i32.load + local.set $7 i32.const 2 global.set $~argumentsLength - local.get $3 - local.get $5 + local.get $7 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 10848 + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add local.get $3 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $5 i32.const 1 i32.sub - local.set $6 + local.set $5 br $while-continue|2 end end end local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - local.get $5 - i32.store $0 offset=4 - local.get $7 + local.get $4 + i32.store offset=4 + local.get $6 i32.const 2 i32.add - local.set $7 + local.set $6 br $for-loop|0 end end ) - (func $~lib/util/sort/extendRunRight (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/sort/extendRunRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) local.get $1 local.get $2 i32.eq @@ -3917,65 +3943,57 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 + i32.load local.get $0 local.get $1 i32.const 1 i32.add - local.tee $4 + local.tee $3 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $6 + i32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 10848 + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if loop $while-continue|0 local.get $2 - local.get $4 + local.get $3 i32.gt_s if (result i32) local.get $0 - local.get $4 + local.get $3 i32.const 2 i32.shl i32.add - local.tee $5 - i32.load $0 offset=4 - local.set $6 - local.get $5 - i32.load $0 - local.set $5 + local.tee $4 + i32.load offset=4 + local.get $4 + i32.load i32.const 2 global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 10848 + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else i32.const 0 end if - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $while-continue|0 end end - local.get $4 + local.get $3 local.set $2 loop $while-continue|1 local.get $1 @@ -3987,25 +4005,25 @@ i32.const 2 i32.shl i32.add - local.tee $3 - i32.load $0 + local.tee $4 + i32.load local.set $5 - local.get $3 + local.get $4 local.get $0 local.get $2 i32.const 2 i32.shl i32.add - local.tee $3 - i32.load $0 - i32.store $0 + local.tee $4 + i32.load + i32.store local.get $1 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $4 local.get $5 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.sub @@ -4016,55 +4034,51 @@ else loop $while-continue|2 local.get $2 - local.get $4 + local.get $3 i32.gt_s if (result i32) local.get $0 - local.get $4 + local.get $3 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 - local.set $5 + i32.load offset=4 local.get $1 - i32.load $0 - local.set $1 + i32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 10848 + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else i32.const 0 end if - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $while-continue|2 end end end - local.get $4 + local.get $3 ) - (func $~lib/util/sort/mergeRuns (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (func $~lib/util/sort/mergeRuns (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) local.get $2 i32.const 1 i32.sub - local.tee $6 + local.tee $5 local.get $3 i32.add - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 1 i32.add local.set $2 @@ -4079,40 +4093,40 @@ local.tee $2 i32.const 2 i32.shl - local.tee $8 + local.tee $7 local.get $4 i32.add local.get $0 - local.get $8 + local.get $7 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store br $for-loop|0 end end loop $for-loop|1 local.get $3 - local.get $6 + local.get $5 i32.gt_s if local.get $4 - local.get $7 local.get $6 + local.get $5 i32.sub i32.const 2 i32.shl i32.add local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $6 + i32.load offset=4 + i32.store + local.get $5 i32.const 1 i32.add - local.set $6 + local.set $5 br $for-loop|1 end end @@ -4122,26 +4136,26 @@ i32.le_s if local.get $4 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $7 + i32.load + local.set $6 local.get $4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $8 + i32.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $6 local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 10848 + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -4150,20 +4164,20 @@ i32.const 2 i32.shl i32.add - local.get $7 - i32.store $0 local.get $6 + i32.store + local.get $5 i32.const 1 i32.sub - local.set $6 + local.set $5 else local.get $0 local.get $1 i32.const 2 i32.shl i32.add - local.get $8 - i32.store $0 + local.get $7 + i32.store local.get $2 i32.const 1 i32.add @@ -4290,7 +4304,7 @@ if local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $1 i32.sub @@ -4310,7 +4324,7 @@ local.get $1 i32.const 48 i32.or - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -4379,7 +4393,7 @@ local.get $1 i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end @@ -4648,7 +4662,7 @@ i32.and i32.const 48 i32.add - i32.store16 $0 + i32.store16 local.get $5 i32.const 1 i32.add @@ -4663,6 +4677,7 @@ i64.extend_i32_u local.get $10 i64.extend_i32_s + local.tee $2 i64.shl local.get $8 i64.add @@ -4678,9 +4693,8 @@ i32.shl i32.const 13392 i32.add - i64.load32_u $0 - local.get $10 - i64.extend_i32_s + i64.load32_u + local.get $2 i64.shl local.set $2 local.get $0 @@ -4691,7 +4705,7 @@ i32.shl i32.add local.tee $0 - i32.load16_u $0 + i32.load16_u local.set $7 loop $while-continue|3 local.get $1 @@ -4735,7 +4749,7 @@ end local.get $0 local.get $7 - i32.store16 $0 + i32.store16 local.get $5 return end @@ -4772,7 +4786,7 @@ i32.and i32.const 48 i32.add - i32.store16 $0 + i32.store16 local.get $5 i32.const 1 i32.add @@ -4802,7 +4816,7 @@ i32.shl i32.const 13392 i32.add - i64.load32_u $0 + i64.load32_u i64.mul local.set $1 local.get $0 @@ -4813,7 +4827,7 @@ i32.shl i32.add local.tee $0 - i32.load16_u $0 + i32.load16_u local.set $7 loop $while-continue|6 local.get $1 @@ -4857,7 +4871,7 @@ end local.get $0 local.get $7 - i32.store16 $0 + i32.store16 local.get $5 ) (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -4872,7 +4886,7 @@ i32.shl i32.add i32.const 3145774 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.add @@ -4900,7 +4914,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $1 i32.const 1 i32.add @@ -4914,7 +4928,7 @@ i32.shl i32.add i32.const 3145774 - i32.store $0 + i32.store local.get $3 i32.const 2 i32.add @@ -4941,10 +4955,10 @@ i32.sub i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $0 i32.const 46 - i32.store16 $0 + i32.store16 local.get $1 i32.const 1 i32.add @@ -4969,10 +4983,10 @@ local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $0 i32.const 3014704 - i32.store $0 + i32.store i32.const 2 local.set $2 loop $for-loop|1 @@ -4986,7 +5000,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -5004,7 +5018,7 @@ if local.get $0 i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 i32.const 4 i32.add @@ -5078,7 +5092,7 @@ i32.const 43 local.get $3 select - i32.store16 $0 + i32.store16 else local.get $0 i32.const 4 @@ -5092,16 +5106,16 @@ local.tee $2 i32.const 2 i32.sub - memory.copy $0 $0 + memory.copy local.get $0 i32.const 46 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 local.get $2 i32.add local.tee $0 i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 i32.const 4 i32.add @@ -5175,7 +5189,7 @@ i32.const 43 local.get $2 select - i32.store16 $0 + i32.store16 local.get $0 local.get $1 i32.add @@ -5192,12 +5206,12 @@ (local $2 i64) (local $3 i32) (local $4 i64) - (local $5 i64) + (local $5 i32) (local $6 i64) - (local $7 i32) - (local $8 i32) + (local $7 i64) + (local $8 i64) (local $9 i32) - (local $10 i64) + (local $10 i32) (local $11 i64) (local $12 i64) (local $13 i64) @@ -5210,7 +5224,7 @@ if (result f64) local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 local.get $1 f64.neg else @@ -5223,19 +5237,19 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $7 + local.tee $5 i32.const 1 - local.get $7 + local.get $5 select i32.const 1075 i32.sub - local.tee $8 + local.tee $9 i32.const 1 i32.sub local.get $2 i64.const 4503599627370495 i64.and - local.get $7 + local.get $5 i32.const 0 i32.ne i64.extend_i32_u @@ -5250,11 +5264,11 @@ local.tee $4 i64.clz i32.wrap_i64 - local.tee $7 + local.tee $10 i32.sub - local.set $9 + local.set $5 local.get $4 - local.get $7 + local.get $10 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus @@ -5264,25 +5278,24 @@ i64.eq i32.const 1 i32.add - local.tee $7 + local.tee $10 i64.extend_i32_s i64.shl i64.const 1 i64.sub - local.get $8 - local.get $7 - i32.sub local.get $9 + local.get $10 + i32.sub + local.get $5 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $9 + local.get $5 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $7 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -5291,8 +5304,8 @@ f64.add local.tee $1 i32.trunc_sat_f64_s - local.tee $8 - local.get $8 + local.tee $5 + local.get $5 f64.convert_i32_s local.get $1 f64.ne @@ -5301,7 +5314,7 @@ i32.shr_s i32.const 1 i32.add - local.tee $8 + local.tee $5 i32.const 3 i32.shl local.tee $9 @@ -5310,14 +5323,14 @@ local.get $9 i32.const 12520 i32.add - i64.load $0 + i64.load global.set $~lib/util/number/_frc_pow - local.get $8 + local.get $5 i32.const 1 i32.shl i32.const 13216 i32.add - i32.load16_s $0 + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $2 local.get $2 @@ -5326,74 +5339,80 @@ local.tee $2 i64.const 4294967295 i64.and - local.set $5 - local.get $2 - i64.const 32 - i64.shr_u - local.tee $4 + local.set $6 global.get $~lib/util/number/_frc_pow - local.tee $10 + local.tee $11 i64.const 4294967295 i64.and - local.tee $11 + local.tee $12 + local.get $2 + i64.const 32 + i64.shr_u + local.tee $2 i64.mul - local.get $5 - local.get $11 + local.get $6 + local.get $12 i64.mul i64.const 32 i64.shr_u i64.add - local.set $12 + local.set $7 global.get $~lib/util/number/_frc_plus - local.tee $2 + local.tee $4 i64.const 4294967295 i64.and local.set $13 - local.get $11 - local.get $2 + local.get $4 i64.const 32 i64.shr_u - local.tee $6 + local.tee $4 + local.get $12 i64.mul - local.get $11 + local.get $12 local.get $13 i64.mul i64.const 32 i64.shr_u i64.add - local.set $14 + local.set $8 global.get $~lib/util/number/_frc_minus - local.tee $15 + local.tee $14 i64.const 4294967295 i64.and - local.set $2 - local.get $11 - local.get $15 + local.set $15 + local.get $14 i64.const 32 i64.shr_u - local.tee $15 + local.tee $14 + local.get $12 i64.mul - local.get $2 - local.get $11 + local.get $12 + local.get $15 i64.mul i64.const 32 i64.shr_u i64.add - local.set $11 - local.get $10 + local.set $12 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $2 + local.get $11 i64.const 32 i64.shr_u - local.tee $10 - local.get $6 + local.tee $2 i64.mul - local.get $14 + local.get $7 i64.const 32 i64.shr_u i64.add - local.get $10 - local.get $13 + local.get $2 + local.get $6 i64.mul - local.get $14 + local.get $7 i64.const 4294967295 i64.and i64.add @@ -5402,26 +5421,17 @@ i64.const 32 i64.shr_u i64.add - i64.const 1 - i64.sub - local.set $6 - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $0 + local.get $2 local.get $4 - local.get $10 i64.mul - local.get $12 + local.get $8 i64.const 32 i64.shr_u i64.add - local.get $5 - local.get $10 + local.get $2 + local.get $13 i64.mul - local.get $12 + local.get $8 i64.const 4294967295 i64.and i64.add @@ -5430,24 +5440,26 @@ i64.const 32 i64.shr_u i64.add - local.get $6 - local.get $7 + i64.const 1 + i64.sub + local.tee $4 global.get $~lib/util/number/_exp_pow + global.get $~lib/util/number/_exp i32.add i32.const -64 i32.sub - local.get $6 - local.get $10 - local.get $15 + local.get $4 + local.get $2 + local.get $14 i64.mul - local.get $11 + local.get $12 i64.const 32 i64.shr_u i64.add local.get $2 - local.get $10 + local.get $15 i64.mul - local.get $11 + local.get $12 i64.const 4294967295 i64.and i64.add @@ -5468,100 +5480,101 @@ local.get $3 i32.add ) - (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) + (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) (local $2 i32) - local.get $1 - f64.const 0 - f64.eq - if - local.get $0 - i32.const 48 - i32.store16 $0 - local.get $0 - i32.const 46 - i32.store16 $0 offset=2 - local.get $0 - i32.const 48 - i32.store16 $0 offset=4 - i32.const 3 - return - end - local.get $1 - local.get $1 - f64.sub - f64.const 0 - f64.ne - if + block $~lib/util/number/dtoa_buffered_impl|inlined.0 (result i32) local.get $1 - local.get $1 - f64.ne + f64.const 0 + f64.eq if local.get $0 - i32.const 78 - i32.store16 $0 + i32.const 48 + i32.store16 local.get $0 - i32.const 97 - i32.store16 $0 offset=2 + i32.const 46 + i32.store16 offset=2 local.get $0 - i32.const 78 - i32.store16 $0 offset=4 + i32.const 48 + i32.store16 offset=4 i32.const 3 - return - else + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + local.get $1 + local.get $1 + f64.sub + f64.const 0 + f64.ne + if local.get $1 - f64.const 0 - f64.lt - local.tee $2 + local.get $1 + f64.ne if local.get $0 - i32.const 45 - i32.store16 $0 + i32.const 78 + i32.store16 local.get $0 - i32.const 2 + i32.const 97 + i32.store16 offset=2 + local.get $0 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + else + local.get $1 + f64.const 0 + f64.lt + local.tee $2 + if + local.get $0 + i32.const 45 + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + end + local.get $0 + i64.const 29555310648492105 + i64.store + local.get $0 + i64.const 34058970405077102 + i64.store offset=8 + local.get $2 + i32.const 8 i32.add - local.set $0 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 end - local.get $0 - i64.const 29555310648492105 - i64.store $0 - local.get $0 - i64.const 34058970405077102 - i64.store $0 offset=8 - local.get $2 - i32.const 8 - i32.add - return + unreachable end - unreachable + local.get $0 + local.get $1 + call $~lib/util/number/dtoa_core end - local.get $0 - local.get $1 - call $~lib/util/number/dtoa_core ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 i32.extend8_s + local.tee $3 i32.const 0 i32.lt_s local.tee $2 if - local.get $1 - i32.const 255 - i32.and - i32.const 128 + local.get $3 + i32.const -128 i32.eq if local.get $0 i64.const 15762813447372845 - i64.store $0 + i64.store i32.const 4 return end local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $1 i32.sub @@ -5572,18 +5585,18 @@ i32.const 1 i32.shl i32.add - local.set $3 + local.set $0 local.get $1 i32.extend8_s + local.tee $3 i32.const 10 i32.lt_u if + local.get $0 local.get $3 - local.get $1 - i32.extend8_s i32.const 48 i32.or - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -5637,13 +5650,13 @@ i32.add end end - local.set $0 - local.get $3 - local.get $1 + local.set $3 local.get $0 + local.get $1 + local.get $3 call $~lib/util/number/utoa32_dec_lut - local.get $0 local.get $2 + local.get $3 i32.add ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) @@ -5651,77 +5664,75 @@ local.get $1 i32.const 65535 i32.and + local.tee $2 i32.const 10 i32.lt_u if local.get $0 - local.get $1 - i32.const 65535 - i32.and + local.get $2 i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end local.get $1 i32.const 65535 i32.and - local.set $2 - local.get $2 + local.set $1 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $2 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $2 + local.get $1 i32.const 1000 i32.ge_u i32.add end - local.set $1 + local.set $2 local.get $0 - local.get $2 local.get $1 + local.get $2 call $~lib/util/number/utoa32_dec_lut - local.get $1 + local.get $2 ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 i32.extend16_s + local.tee $3 i32.const 0 i32.lt_s local.tee $2 if - local.get $1 - i32.const 65535 - i32.and - i32.const 32768 + local.get $3 + i32.const -32768 i32.eq if local.get $0 i64.const 15481338470793261 - i64.store $0 + i64.store local.get $0 i32.const 3670070 - i32.store $0 offset=8 + i32.store offset=8 i32.const 6 return end local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $1 i32.sub @@ -5732,18 +5743,18 @@ i32.const 1 i32.shl i32.add - local.set $3 + local.set $0 local.get $1 i32.extend16_s + local.tee $3 i32.const 10 i32.lt_u if + local.get $0 local.get $3 - local.get $1 - i32.extend16_s i32.const 48 i32.or - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -5797,13 +5808,13 @@ i32.add end end - local.set $0 - local.get $3 - local.get $1 + local.set $3 local.get $0 + local.get $1 + local.get $3 call $~lib/util/number/utoa32_dec_lut - local.get $0 local.get $2 + local.get $3 i32.add ) (func $~lib/util/number/utoa64_dec_lut (param $0 i32) (param $1 i64) (param $2 i32) @@ -5841,7 +5852,7 @@ i32.shl i32.const 7724 i32.add - i64.load32_u $0 + i64.load32_u local.get $4 i32.const 100 i32.rem_u @@ -5849,11 +5860,11 @@ i32.shl i32.const 7724 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store local.get $0 local.get $2 i32.const 4 @@ -5872,7 +5883,7 @@ i32.shl i32.const 7724 i32.add - i64.load32_u $0 + i64.load32_u local.get $3 i32.const 100 i32.rem_u @@ -5880,11 +5891,11 @@ i32.shl i32.const 7724 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -5903,11 +5914,11 @@ i64.const 10 i64.lt_u if - local.get $2 + local.get $0 local.get $1 i64.const 48 i64.or - i64.store16 $0 + i64.store16 i32.const 1 return end @@ -6037,7 +6048,7 @@ if local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 i64.const 0 local.get $1 i64.sub @@ -6057,7 +6068,7 @@ local.get $1 i64.const 48 i64.or - i64.store16 $0 + i64.store16 local.get $3 i32.const 1 i32.add @@ -6185,93 +6196,86 @@ local.get $1 i32.const 255 i32.and + local.tee $2 i32.const 10 i32.lt_u if local.get $0 - local.get $1 - i32.const 255 - i32.and + local.get $2 i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end local.get $1 i32.const 255 i32.and - local.set $2 + local.set $1 i32.const 3 - local.get $2 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add - local.get $2 + local.get $1 i32.const 100 i32.ge_u select - local.set $1 + local.set $2 local.get $0 - local.get $2 local.get $1 + local.get $2 call $~lib/util/number/utoa32_dec_lut - local.get $1 + local.get $2 ) (func $~lib/rt/__visit_members (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner5 - block $folding-inner4 - block $folding-inner3 - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 - block $invalid - block $std/array/Proxy - block $std/array/Dim + block $folding-inner4 + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $std/array/Proxy + block $std/array/Dim + block $~lib/typedarray/Uint8Array block $std/array/Ref - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner4 $folding-inner0 $std/array/Ref $folding-inner4 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $std/array/Dim $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner2 $std/array/Proxy $folding-inner1 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $invalid + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $std/array/Ref $~lib/typedarray/Uint8Array $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $std/array/Dim $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner2 $std/array/Proxy $folding-inner1 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $invalid + end + return end return end return end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit return end return end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit return end return end - unreachable + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner3 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.store $0 - br $folding-inner5 + unreachable end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6282,48 +6286,9 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $1 - local.get $2 - local.get $0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $2 - i32.lt_u - if - local.get $1 - i32.load $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - br $folding-inner5 + i32.store + br $folding-inner4 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6334,48 +6299,81 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + i32.store + local.get $1 + local.get $0 + i32.load offset=12 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - return + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load + local.tee $3 + if + local.get $3 + call $~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + br $folding-inner4 end - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.load offset=4 + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return end - return + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.store + local.get $0 + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -6394,7 +6392,6 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -6411,43 +6408,45 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 + i32.store + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 i32.const 0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 268435455 i32.gt_u @@ -6468,55 +6467,50 @@ select i32.const 2 i32.shl - local.tee $1 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.tee $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 - local.get $2 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $2 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $3 - i32.store $0 offset=4 - local.get $4 local.get $2 - i32.store $0 offset=4 + i32.store offset=12 + local.get $1 local.get $2 + i32.store local.get $1 - i32.store $0 offset=8 - local.get $4 local.get $2 - i32.store $0 offset=4 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - i32.store $0 offset=12 - local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 ) (func $std/array/Ref#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -6533,23 +6527,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 5 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -6557,7 +6549,6 @@ ) (func $~lib/array/Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6574,20 +6565,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $4 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $0 local.get $2 i32.add @@ -6625,7 +6615,7 @@ local.get $0 local.get $2 i32.sub - memory.fill $0 + memory.fill end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6633,7 +6623,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6650,23 +6639,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6683,15 +6668,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1344 @@ -6702,20 +6686,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_u $0 - local.set $0 - local.get $2 + i32.load8_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -6737,18 +6718,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store block $folding-inner1 block $folding-inner0 local.get $1 @@ -6767,14 +6747,14 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/array/Array#__get local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/array/Array#__get @@ -6822,7 +6802,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -6842,7 +6822,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 @@ -6855,7 +6835,6 @@ ) (func $~lib/array/Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6872,21 +6851,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $5 - local.get $4 + i32.load offset=4 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $0 i32.add local.get $2 @@ -6914,7 +6892,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL + block $__inlined_func$~lib/util/bytes/FILL$139 local.get $1 i32.eqz local.get $1 @@ -6926,7 +6904,7 @@ local.get $2 i32.gt_s if - local.get $5 + local.get $4 local.get $2 i32.const 2 i32.shl @@ -6937,22 +6915,22 @@ i32.sub i32.const 2 i32.shl - memory.fill $0 + memory.fill end - br $__inlined_func$~lib/util/bytes/FILL + br $__inlined_func$~lib/util/bytes/FILL$139 end loop $for-loop|0 local.get $0 local.get $2 i32.gt_s if - local.get $5 + local.get $4 local.get $2 i32.const 2 i32.shl i32.add local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.add @@ -6967,7 +6945,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6984,15 +6961,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1344 @@ -7003,22 +6979,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -7040,18 +7013,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store block $folding-inner1 block $folding-inner0 local.get $1 @@ -7070,14 +7042,14 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/array/Array#__get local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/array/Array#__get @@ -7125,7 +7097,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -7145,7 +7117,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 @@ -7158,7 +7130,6 @@ ) (func $~lib/array/Array#fill (param $0 i32) (param $1 f32) (param $2 i32) (param $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7175,21 +7146,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $5 - local.get $4 + i32.load offset=4 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $0 i32.add local.get $2 @@ -7217,7 +7187,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL + block $__inlined_func$~lib/util/bytes/FILL$148 local.get $1 i32.reinterpret_f32 i32.eqz @@ -7226,7 +7196,7 @@ local.get $2 i32.gt_s if - local.get $5 + local.get $4 local.get $2 i32.const 2 i32.shl @@ -7237,22 +7207,22 @@ i32.sub i32.const 2 i32.shl - memory.fill $0 + memory.fill end - br $__inlined_func$~lib/util/bytes/FILL + br $__inlined_func$~lib/util/bytes/FILL$148 end loop $for-loop|0 local.get $0 local.get $2 i32.gt_s if - local.get $5 + local.get $4 local.get $2 i32.const 2 i32.shl i32.add local.get $1 - f32.store $0 + f32.store local.get $2 i32.const 1 i32.add @@ -7268,7 +7238,6 @@ ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) (local $2 f32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7285,15 +7254,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1344 @@ -7304,22 +7272,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.set $2 - local.get $3 + f32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -7342,18 +7307,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store block $folding-inner1 block $folding-inner0 local.get $1 @@ -7372,7 +7336,7 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/array/Array#__get @@ -7382,7 +7346,7 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/array/Array#__get @@ -7396,7 +7360,7 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/array/Array#__get @@ -7405,11 +7369,9 @@ i64.const 63 i64.shr_u i32.wrap_i64 - local.set $5 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $5 + i32.store local.get $1 local.get $2 call $~lib/array/Array#__get @@ -7422,14 +7384,14 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/array/Array#__get local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/array/Array#__get @@ -7478,7 +7440,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -7498,7 +7460,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 @@ -7510,7 +7472,6 @@ global.set $~lib/memory/__stack_pointer ) (func $std/array/internalCapacity (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -7527,32 +7488,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_s - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -7573,15 +7531,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $4 i32.const 2 i32.shr_u @@ -7600,9 +7557,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $3 i32.const 8 local.get $1 @@ -7632,12 +7589,12 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew + block $__inlined_func$~lib/rt/itcms/__renew$653 local.get $3 i32.const 20 i32.sub local.tee $4 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -7647,26 +7604,26 @@ if local.get $4 local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $3 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew + br $__inlined_func$~lib/rt/itcms/__renew$653 end local.get $1 local.get $4 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $2 local.get $3 local.get $1 local.get $4 - i32.load $0 offset=16 + i32.load offset=16 local.tee $4 local.get $1 local.get $4 i32.lt_u select - memory.copy $0 $0 + memory.copy end local.get $2 local.get $3 @@ -7674,21 +7631,18 @@ if local.get $0 local.get $2 - i32.store $0 + i32.store local.get $0 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 local.get $2 - if - local.get $0 - local.get $2 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link end local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -7714,15 +7668,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 i32.const 1 i32.add @@ -7731,28 +7684,27 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 2 i32.shl i32.add local.get $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7769,15 +7721,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1344 @@ -7788,27 +7739,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#pop (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7825,15 +7772,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.tee $2 + i32.load offset=12 + local.tee $1 i32.const 0 i32.le_s if @@ -7845,31 +7791,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.get $2 + i32.load offset=4 + local.get $1 i32.const 1 i32.sub - local.tee $2 + local.tee $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $3 - local.get $1 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=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 $3 ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -7889,15 +7832,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -7920,29 +7862,26 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 + i32.store + local.get $0 local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -7966,15 +7905,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 i32.const 0 local.get $1 @@ -7994,22 +7932,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -8032,20 +7967,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 local.get $3 i32.add @@ -8067,36 +8001,36 @@ i32.const 0 call $~lib/rt/__newArray local.tee $4 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 - i32.load $0 offset=4 + i32.load offset=4 local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $5 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $3 i32.const 2 i32.shl local.tee $0 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $0 local.get $5 i32.add local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -8122,21 +8056,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $4 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $5 local.get $3 local.get $5 @@ -8229,7 +8162,7 @@ select i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -8255,7 +8188,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -8271,18 +8204,16 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 local.get $3 call $~lib/array/Array#copyWithin - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/array/isArraysEqual (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -8304,7 +8235,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $folding-inner1 block $folding-inner0 local.get $2 @@ -8312,13 +8243,13 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length local.get $2 @@ -8336,14 +8267,14 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 call $~lib/array/Array#__get local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $3 call $~lib/array/Array#__get @@ -8391,15 +8322,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.add local.tee $2 @@ -8407,9 +8337,9 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $3 i32.const 4 i32.add @@ -8419,16 +8349,16 @@ i32.sub i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $3 local.get $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -8437,7 +8367,6 @@ (func $~lib/array/Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -8454,14 +8383,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $3 local.get $1 i32.const 0 @@ -8515,39 +8443,36 @@ i32.const 0 i32.gt_s select - local.tee $3 + local.tee $2 i32.const 2 i32.const 4 i32.const 0 call $~lib/rt/__newArray - local.tee $4 - i32.store $0 offset=4 + local.tee $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + i32.load offset=4 global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $4 - i32.store $0 - local.get $4 - i32.load $0 offset=4 - local.set $5 - local.get $2 local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - local.get $3 + local.get $2 i32.const 2 i32.shl - memory.copy $0 $0 - local.get $2 + memory.copy + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/array/Array#slice@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -8568,7 +8493,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -8586,17 +8511,15 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/array/Array#slice - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#reverse (param $0 i32) (result i32) (local $1 i32) @@ -8623,29 +8546,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $2 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.tee $4 + i32.load offset=12 + local.tee $5 i32.const 1 i32.gt_u if - local.get $4 + local.get $5 i32.const 1 i32.shr_u - local.set $5 - local.get $4 + local.set $4 + local.get $5 i32.const 8 i32.sub local.set $6 @@ -8653,14 +8575,14 @@ local.get $1 i32.const 7 i32.add - local.get $5 + local.get $4 i32.lt_u if local.get $1 local.get $2 i32.add local.tee $7 - i64.load $0 + i64.load local.tee $3 i64.const 8 i64.shr_u @@ -8680,7 +8602,7 @@ local.get $1 i32.sub local.tee $7 - i64.load $0 + i64.load local.tee $8 i64.const 8 i64.shr_u @@ -8705,7 +8627,7 @@ i64.or i64.const 32 i64.rotr - i64.store $0 + i64.store local.get $7 local.get $3 i64.const 16 @@ -8720,7 +8642,7 @@ i64.or i64.const 32 i64.rotr - i64.store $0 + i64.store local.get $1 i32.const 8 i32.add @@ -8728,33 +8650,33 @@ br $while-continue|0 end end - local.get $4 + local.get $5 i32.const 1 i32.sub - local.set $4 + local.set $5 loop $while-continue|1 local.get $1 - local.get $5 + local.get $4 i32.lt_u if local.get $1 local.get $2 i32.add local.tee $6 - i32.load8_u $0 + i32.load8_u local.set $7 local.get $6 local.get $2 - local.get $4 + local.get $5 local.get $1 i32.sub i32.add local.tee $6 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $6 local.get $7 - i32.store8 $0 + i32.store8 local.get $1 i32.const 1 i32.add @@ -8793,29 +8715,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $2 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.tee $3 + i32.load offset=12 + local.tee $4 i32.const 1 i32.gt_u if - local.get $3 + local.get $4 i32.const 1 i32.shr_u - local.set $4 - local.get $3 + local.set $3 + local.get $4 i32.const 2 i32.sub local.set $5 @@ -8823,7 +8744,7 @@ local.get $1 i32.const 1 i32.add - local.get $4 + local.get $3 i32.lt_u if local.get $2 @@ -8834,7 +8755,7 @@ i32.shl i32.add local.tee $6 - i32.load $0 + i32.load i32.const 16 i32.rotr local.set $7 @@ -8845,13 +8766,13 @@ i32.shl i32.add local.tee $6 - i32.load $0 + i32.load i32.const 16 i32.rotr - i32.store $0 + i32.store local.get $6 local.get $7 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.add @@ -8859,13 +8780,13 @@ br $while-continue|0 end end - local.get $3 + local.get $4 i32.const 1 i32.sub - local.set $3 + local.set $4 loop $while-continue|1 local.get $1 - local.get $4 + local.get $3 i32.lt_u if local.get $2 @@ -8874,22 +8795,22 @@ i32.shl i32.add local.tee $5 - i32.load16_u $0 + i32.load16_u local.set $6 local.get $5 local.get $2 - local.get $3 + local.get $4 local.get $1 i32.sub i32.const 1 i32.shl i32.add local.tee $5 - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $5 local.get $6 - i32.store16 $0 + i32.store16 local.get $1 i32.const 1 i32.add @@ -8905,7 +8826,6 @@ local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8922,15 +8842,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1344 @@ -8941,22 +8860,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $0 - local.get $2 + i32.load16_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -8976,14 +8892,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $3 i32.eqz local.get $2 @@ -9015,9 +8930,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -9029,7 +8944,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $1 i32.eq if @@ -9071,14 +8986,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $3 i32.eqz if @@ -9107,9 +9021,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -9121,7 +9035,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $1 i32.eq if @@ -9164,7 +9078,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -9177,27 +9091,24 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $2 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/array/Array#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#includes (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 @@ -9214,24 +9125,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/array/Array#indexOf i32.const 0 i32.ge_s - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -9254,16 +9162,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $3 local.get $1 i32.const 0 @@ -9286,83 +9193,79 @@ i32.lt_s select end - local.tee $1 - i32.sub local.tee $4 + i32.sub + local.tee $1 + local.get $1 local.get $2 - local.get $4 - i32.lt_s + i32.gt_s select - local.tee $2 + local.tee $1 i32.const 0 - local.get $2 + local.get $1 i32.const 0 i32.gt_s select - local.tee $2 + local.tee $5 i32.const 2 i32.const 4 i32.const 0 call $~lib/rt/__newArray - local.tee $4 - i32.store $0 offset=4 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=4 global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $4 - i32.store $0 - local.get $4 - i32.load $0 offset=4 - local.set $6 - local.get $5 local.get $0 - i32.store $0 - local.get $6 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $5 - local.get $1 + i32.load offset=4 + local.tee $2 + local.get $4 i32.const 2 i32.shl i32.add local.tee $6 - local.get $2 + local.get $5 i32.const 2 i32.shl - memory.copy $0 $0 - local.get $1 - local.get $2 + memory.copy + local.get $4 + local.get $5 i32.add - local.tee $1 + local.tee $4 local.get $3 i32.ne if local.get $6 - local.get $5 - local.get $1 + local.get $2 + local.get $4 i32.const 2 i32.shl i32.add local.get $3 - local.get $1 + local.get $4 i32.sub i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - local.get $2 + local.get $5 i32.sub - i32.store $0 offset=12 - 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 $4 + local.get $1 ) (func $~lib/array/Array#splice@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -9383,7 +9286,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -9399,17 +9302,15 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/array/Array#splice - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#splice (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -9433,16 +9334,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 local.get $1 i32.const 0 @@ -9465,7 +9365,7 @@ i32.lt_s select end - local.tee $3 + local.tee $4 i32.sub local.tee $1 local.get $1 @@ -9483,23 +9383,20 @@ i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $4 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer local.tee $5 - local.get $4 - i32.store $0 - local.get $4 - i32.load $0 offset=4 - local.set $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store local.get $5 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $6 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $5 - local.get $3 + i32.load offset=4 + local.tee $3 + local.get $4 i32.const 2 i32.shl i32.add @@ -9507,44 +9404,42 @@ local.get $1 i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $2 local.get $1 - local.get $3 + local.get $4 i32.add - local.tee $3 + local.tee $4 i32.ne if local.get $6 - local.get $5 local.get $3 + local.get $4 i32.const 2 i32.shl i32.add local.get $2 - local.get $3 + local.get $4 i32.sub i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 local.get $1 i32.sub - i32.store $0 offset=12 - 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 $4 + local.get $5 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9561,15 +9456,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1344 @@ -9580,19 +9474,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -9610,7 +9503,6 @@ local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9627,15 +9519,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1344 @@ -9646,20 +9537,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -9683,15 +9573,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -9714,24 +9603,23 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -9740,9 +9628,8 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -9757,26 +9644,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $3 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $4 local.get $3 local.get $4 @@ -9785,31 +9668,28 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 - local.get $4 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -9823,7 +9703,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const -1 @@ -9845,12 +9725,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 100 call $~lib/array/Array#push @@ -9879,12 +9758,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#pop drop @@ -9899,9 +9777,8 @@ (func $~lib/array/Array#findLastIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -9916,17 +9793,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.sub local.set $2 @@ -9936,31 +9809,28 @@ i32.ge_s if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -9974,7 +9844,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const -1 @@ -9983,9 +9853,8 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10000,26 +9869,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $3 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $4 local.get $3 local.get $4 @@ -10028,32 +9893,29 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 - local.get $4 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 @@ -10067,7 +9929,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 1 @@ -10089,12 +9951,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 100 call $~lib/array/Array#push @@ -10123,12 +9984,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#pop drop @@ -10144,9 +10004,8 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10161,26 +10020,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $3 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $4 local.get $3 local.get $4 @@ -10189,31 +10044,28 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 - local.get $4 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 1 @@ -10227,7 +10079,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 @@ -10249,12 +10101,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 100 call $~lib/array/Array#push @@ -10283,12 +10134,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#pop drop @@ -10304,9 +10154,8 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10321,26 +10170,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $3 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $4 local.get $3 local.get $4 @@ -10349,28 +10194,25 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 - local.get $4 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.load + call_indirect (type $3) local.get $2 i32.const 1 i32.add @@ -10379,7 +10221,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -10400,12 +10242,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 100 call $~lib/array/Array#push @@ -10435,12 +10276,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#pop drop @@ -10472,7 +10312,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $1 i32.eqz if @@ -10483,7 +10323,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#pop drop @@ -10503,7 +10343,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $3 i32.const 100 @@ -10525,7 +10365,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#pop drop @@ -10545,7 +10385,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $3 i32.const 200 @@ -10596,12 +10436,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 100 call $~lib/array/Array#push @@ -10621,9 +10460,8 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10638,74 +10476,72 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 i64.const 0 - i64.store $0 offset=8 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 - local.tee $4 + i32.load offset=12 + local.tee $3 i32.const 2 i32.const 4 i32.const 0 call $~lib/rt/__newArray - local.tee $3 - i32.store $0 offset=4 + local.tee $4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - i32.load $0 offset=4 - local.set $5 + local.get $4 + i32.store + local.get $4 + i32.load offset=4 + local.set $4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 - local.get $4 + local.get $3 local.get $0 - i32.load $0 offset=12 - local.tee $3 + i32.load offset=12 + local.tee $5 local.get $3 - local.get $4 - i32.gt_s + local.get $5 + i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $2 i32.const 2 i32.shl - local.tee $7 + local.tee $5 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load $0 - local.set $3 - local.get $6 + i32.load + local.set $6 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store i32.const 3 global.set $~argumentsLength + local.get $4 local.get $5 - local.get $7 i32.add - local.get $3 + local.get $6 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 + i32.load + call_indirect (type $1) + i32.store local.get $2 i32.const 1 i32.add @@ -10714,7 +10550,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -10735,12 +10571,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#pop drop @@ -10759,9 +10594,8 @@ (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10776,70 +10610,65 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 i32.const 4 i32.const 0 call $~lib/rt/__newArray - local.tee $5 - i32.store $0 + local.tee $3 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 - local.set $3 + i32.load offset=12 + local.set $4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 - local.get $3 + local.get $4 local.get $0 - i32.load $0 offset=12 - local.tee $4 - local.get $3 + i32.load offset=12 + local.tee $5 local.get $4 + local.get $5 i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $6 - local.get $4 + i32.load + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 3 global.set $~argumentsLength - local.get $6 + local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $6 call $~lib/array/Array#push end local.get $2 @@ -10850,10 +10679,10 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $3 ) (func $start:std/array~anonymous|31 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $~lib/memory/__stack_pointer @@ -10872,12 +10701,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 100 call $~lib/array/Array#push @@ -10910,12 +10738,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#pop drop @@ -10935,9 +10762,8 @@ (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10952,26 +10778,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 - i32.const 0 - i32.store $0 offset=8 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $4 loop $for-loop|0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $5 local.get $4 local.get $5 @@ -10980,29 +10802,28 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $6 - local.get $5 + i32.load + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 4 global.set $~argumentsLength local.get $2 - local.get $6 + local.get $5 local.get $3 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $4) local.set $2 local.get $3 i32.const 1 @@ -11012,7 +10833,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -11034,12 +10855,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 1 call $~lib/array/Array#push @@ -11068,12 +10888,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#pop drop @@ -11088,9 +10907,8 @@ (func $~lib/array/Array#reduceRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -11105,17 +10923,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.sub local.set $3 @@ -11125,29 +10939,28 @@ i32.ge_s if global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $3 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 - local.get $4 + i32.load + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 4 global.set $~argumentsLength local.get $2 - local.get $5 + local.get $4 local.get $3 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $4) local.set $2 local.get $3 i32.const 1 @@ -11157,7 +10970,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -11175,20 +10988,19 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 22 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -11198,7 +11010,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -11207,27 +11019,26 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -11255,11 +11066,12 @@ (local $12 i32) (local $13 i32) (local $14 i64) - (local $15 f32) - (local $16 f32) - (local $17 i32) + (local $15 i32) + (local $16 i32) + (local $17 f32) + (local $18 f32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -11274,12 +11086,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -11302,87 +11110,87 @@ br $break|0 end local.get $0 - f32.load $0 + f32.load local.set $9 local.get $0 - f32.load $0 offset=4 - local.set $15 + f32.load offset=4 + local.set $17 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $15 + local.get $17 local.get $9 local.get $9 - local.get $15 + local.get $17 local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $5) i32.const 0 i32.gt_s local.tee $1 select - f32.store $0 + f32.store local.get $0 - f32.load $0 offset=8 - local.set $16 + f32.load offset=8 + local.set $18 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $16 + local.get $18 local.get $9 - local.get $15 + local.get $17 local.get $1 select local.tee $9 local.get $9 - local.get $16 + local.get $18 local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $5) i32.const 0 i32.gt_s local.tee $1 select - f32.store $0 offset=4 + f32.store offset=4 local.get $0 local.get $9 - local.get $16 + local.get $18 local.get $1 select - f32.store $0 offset=8 + f32.store offset=8 end local.get $0 - f32.load $0 + f32.load local.set $9 local.get $0 - f32.load $0 offset=4 - local.set $15 + f32.load offset=4 + local.set $17 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $15 + local.get $17 local.get $9 local.get $9 - local.get $15 + local.get $17 local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $5) i32.const 0 i32.gt_s local.tee $1 select - f32.store $0 + f32.store local.get $0 local.get $9 - local.get $15 + local.get $17 local.get $1 select - f32.store $0 offset=4 + f32.store offset=4 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 @@ -11429,7 +11237,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -11452,7 +11260,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 @@ -11470,7 +11278,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 @@ -11495,7 +11303,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 @@ -11515,7 +11323,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 local.get $10 @@ -11563,29 +11371,28 @@ local.get $7 i32.gt_u if - local.get $11 local.get $1 i32.const 2 i32.shl + local.tee $15 + local.get $11 i32.add - i32.load $0 + local.tee $16 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $17 local.get $12 + local.get $15 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 @@ -11593,11 +11400,9 @@ local.get $13 local.get $2 call $~lib/util/sort/mergeRuns - local.get $11 - local.get $17 - i32.add + local.get $16 i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -11615,12 +11420,12 @@ local.get $11 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 local.get $12 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -11633,31 +11438,30 @@ loop $for-loop|4 local.get $1 if - local.get $11 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 + local.get $11 + i32.add + i32.load + local.tee $4 i32.const -1 i32.ne if + local.get $3 local.get $12 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $10 local.get $13 local.get $2 @@ -11675,20 +11479,19 @@ local.get $11 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#sort@varargs (param $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -11699,12 +11502,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -11717,16 +11519,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer i32.const 10256 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -11735,26 +11536,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $2 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $2 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $3 - local.get $0 + i32.store local.get $1 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer @@ -11774,24 +11570,25 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/SORT (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 f64) + (local $8 f64) + (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) - (local $14 i64) - (local $15 f64) + (local $13 i64) + (local $14 i32) + (local $15 i32) (local $16 f64) - (local $17 i32) + (local $17 f64) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -11806,12 +11603,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -11834,94 +11627,94 @@ br $break|0 end local.get $0 - f64.load $0 - local.set $9 + f64.load + local.set $16 local.get $0 - f64.load $0 offset=8 - local.set $15 + f64.load offset=8 + local.set $17 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $15 - local.get $9 - local.get $9 - local.get $15 - local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + local.get $17 + local.get $16 + local.get $16 + local.get $17 + i32.const 10544 + i32.load + call_indirect (type $6) i32.const 0 i32.gt_s local.tee $1 select - f64.store $0 + f64.store local.get $0 - f64.load $0 offset=16 - local.set $16 + f64.load offset=16 + local.set $8 i32.const 2 global.set $~argumentsLength - local.get $0 local.get $16 - local.get $9 - local.get $15 + local.get $17 local.get $1 select - local.tee $9 - local.get $9 - local.get $16 - local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + local.tee $16 + local.get $8 + i32.const 10544 + i32.load + call_indirect (type $6) i32.const 0 i32.gt_s - local.tee $1 + local.set $1 + local.get $0 + local.get $8 + local.get $16 + local.get $1 select - f64.store $0 offset=8 + f64.store offset=8 local.get $0 - local.get $9 local.get $16 + local.get $8 local.get $1 select - f64.store $0 offset=16 + f64.store offset=16 end local.get $0 - f64.load $0 - local.set $9 + f64.load + local.set $8 local.get $0 - f64.load $0 offset=8 - local.set $15 + f64.load offset=8 + local.set $16 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $15 - local.get $9 - local.get $9 - local.get $15 - local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + local.get $16 + local.get $8 + local.get $8 + local.get $16 + i32.const 10544 + i32.load + call_indirect (type $6) i32.const 0 i32.gt_s local.tee $1 select - f64.store $0 + f64.store local.get $0 - local.get $9 - local.get $15 + local.get $8 + local.get $16 local.get $1 select - f64.store $0 offset=8 + f64.store offset=8 br $folding-inner0 end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + i32.const 10544 + i32.store local.get $0 i32.const 0 local.get $1 i32.const 1 i32.sub i32.const 0 - local.get $2 call $~lib/util/sort/insertionSort br $folding-inner0 end @@ -11929,43 +11722,43 @@ local.get $1 i32.clz i32.sub - local.tee $4 + local.tee $3 i32.const 2 i32.shl - local.tee $5 + local.tee $4 i32.const 1 i32.shl - local.set $6 + local.set $5 global.get $~lib/rt/tlsf/ROOT i32.eqz if call $~lib/rt/tlsf/initialize end - local.get $5 + local.get $4 global.get $~lib/rt/tlsf/ROOT - local.get $6 + local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.tee $11 + local.tee $10 i32.add - local.set $12 + local.set $11 loop $for-loop|1 + local.get $2 local.get $3 - local.get $4 i32.lt_u if - local.get $11 - local.get $3 + local.get $10 + local.get $2 i32.const 2 i32.shl i32.add i32.const -1 - i32.store $0 - local.get $3 + i32.store + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|1 end end @@ -11981,19 +11774,18 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.set $13 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + i32.const 10544 + i32.store local.get $0 i32.const 0 local.get $1 i32.const 1 i32.sub - local.tee $10 - local.get $2 + local.tee $9 call $~lib/util/sort/extendRunRight - local.tee $4 + local.tee $3 i32.const 1 i32.add local.tee $1 @@ -12001,137 +11793,130 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + i32.const 10544 + i32.store local.get $0 i32.const 0 i32.const 31 - local.get $10 - local.get $10 + local.get $9 + local.get $9 i32.const 31 i32.ge_s select - local.tee $4 + local.tee $3 local.get $1 - local.get $2 call $~lib/util/sort/insertionSort end i32.const 0 local.set $1 i32.const 0 - local.set $3 + local.set $2 loop $while-continue|2 - local.get $4 - local.get $10 + local.get $3 + local.get $9 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + i32.const 10544 + i32.store local.get $0 - local.get $4 + local.get $3 i32.const 1 i32.add - local.tee $6 - local.get $10 - local.get $2 - call $~lib/util/sort/extendRunRight local.tee $5 - local.get $6 + local.get $9 + call $~lib/util/sort/extendRunRight + local.tee $4 + local.get $5 i32.sub i32.const 1 i32.add - local.tee $7 + local.tee $6 i32.const 32 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + i32.const 10544 + i32.store local.get $0 - local.get $6 - local.get $10 - local.get $6 + local.get $5 + local.get $9 + local.get $5 i32.const 31 i32.add - local.tee $5 - local.get $5 - local.get $10 + local.tee $4 + local.get $4 + local.get $9 i32.gt_s select - local.tee $5 - local.get $7 - local.get $2 + local.tee $4 + local.get $6 call $~lib/util/sort/insertionSort end - local.get $3 - local.get $6 + local.get $2 + local.get $5 i32.add i64.extend_i32_u i64.const 30 i64.shl - local.get $10 + local.get $9 i32.const 1 i32.add i64.extend_i32_u - local.tee $14 + local.tee $13 i64.div_u + local.get $4 local.get $5 - local.get $6 i32.add i32.const 1 i32.add i64.extend_i32_u i64.const 30 i64.shl - local.get $14 + local.get $13 i64.div_u i64.xor i32.wrap_i64 i32.clz - local.set $7 + local.set $6 loop $for-loop|3 local.get $1 - local.get $7 + local.get $6 i32.gt_u if - local.get $11 local.get $1 i32.const 2 i32.shl + local.tee $14 + local.get $10 i32.add - i32.load $0 - local.tee $8 + local.tee $15 + i32.load + local.tee $7 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $17 - local.get $12 + local.get $11 + local.get $14 i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + i32.const 10544 + i32.store local.get $0 - local.get $8 - local.get $3 - local.get $4 - local.get $13 + local.get $7 local.get $2 + local.get $3 + local.get $12 call $~lib/util/sort/mergeRuns - local.get $11 - local.get $17 - i32.add + local.get $15 i32.const -1 - i32.store $0 - local.get $8 - local.set $3 + i32.store + local.get $7 + local.set $2 end local.get $1 i32.const 1 @@ -12140,24 +11925,24 @@ br $for-loop|3 end end - local.get $7 + local.get $6 i32.const 2 i32.shl local.tee $1 - local.get $11 + local.get $10 i32.add - local.get $3 - i32.store $0 + local.get $2 + i32.store local.get $1 - local.get $12 + local.get $11 i32.add + local.get $3 + i32.store + local.get $5 + local.set $2 local.get $4 - i32.store $0 - local.get $6 local.set $3 - local.get $5 - local.set $4 - local.get $7 + local.get $6 local.set $1 br $while-continue|2 end @@ -12165,34 +11950,32 @@ loop $for-loop|4 local.get $1 if - local.get $11 local.get $1 i32.const 2 i32.shl + local.tee $2 + local.get $10 i32.add - i32.load $0 + i32.load local.tee $3 i32.const -1 i32.ne if - local.get $12 - local.get $1 - i32.const 2 - i32.shl + local.get $2 + local.get $11 i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + i32.const 10544 + i32.store local.get $0 local.get $3 - local.get $4 - local.get $10 - local.get $13 local.get $2 + local.get $9 + local.get $12 call $~lib/util/sort/mergeRuns end local.get $1 @@ -12202,24 +11985,23 @@ br $for-loop|4 end end - local.get $13 + 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 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) (local $2 f64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12236,15 +12018,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1344 @@ -12255,22 +12036,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $2 - local.get $3 + f64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -12285,8 +12063,9 @@ (local $12 i32) (local $13 i64) (local $14 i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -12301,12 +12080,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -12329,10 +12104,10 @@ br $break|0 end local.get $0 - i32.load $0 + i32.load local.set $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 i32.const 2 global.set $~argumentsLength @@ -12342,15 +12117,15 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $4 select - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 i32.const 2 global.set $~argumentsLength @@ -12364,25 +12139,25 @@ local.get $1 local.get $5 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $3 select - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 local.get $5 local.get $3 select - i32.store $0 offset=8 + i32.store offset=8 end local.get $0 - i32.load $0 + i32.load local.set $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 i32.const 2 global.set $~argumentsLength @@ -12392,24 +12167,24 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $2 select - i32.store $0 + i32.store local.get $0 local.get $1 local.get $3 local.get $2 select - i32.store $0 offset=4 + i32.store offset=4 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 @@ -12456,7 +12231,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -12479,7 +12254,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 @@ -12497,7 +12272,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 @@ -12522,7 +12297,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 @@ -12542,7 +12317,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 local.get $9 @@ -12590,29 +12365,28 @@ local.get $7 i32.gt_u if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $14 + local.get $10 i32.add - i32.load $0 + local.tee $15 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $14 local.get $11 + local.get $14 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 @@ -12620,11 +12394,9 @@ local.get $12 local.get $2 call $~lib/util/sort/mergeRuns - local.get $10 - local.get $14 - i32.add + local.get $15 i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -12642,12 +12414,12 @@ local.get $10 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 local.get $11 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -12660,31 +12432,30 @@ loop $for-loop|4 local.get $1 if - local.get $10 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 + local.get $10 + i32.add + i32.load + local.tee $4 i32.const -1 i32.ne if + local.get $3 local.get $11 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $9 local.get $12 local.get $2 @@ -12702,20 +12473,19 @@ local.get $10 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -12732,26 +12502,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $2 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 - local.set $4 - local.get $2 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $3 - local.get $4 + i32.store local.get $1 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer @@ -12760,7 +12525,8 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -12770,11 +12536,11 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i64) + (local $12 i64) + (local $13 i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -12789,12 +12555,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -12817,94 +12579,94 @@ br $break|0 end local.get $0 - i32.load $0 + i32.load local.set $1 local.get $0 - i32.load $0 offset=4 - local.set $3 + i32.load offset=4 + local.set $2 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $3 + local.get $2 local.get $1 local.get $1 - local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 10848 + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s - local.tee $4 + local.tee $3 select - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $5 + i32.load offset=8 + local.set $4 i32.const 2 global.set $~argumentsLength - local.get $0 - local.get $5 local.get $1 + local.get $2 local.get $3 - local.get $4 select local.tee $1 - local.get $1 - local.get $5 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.get $4 + i32.const 10848 + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s - local.tee $3 + local.set $2 + local.get $0 + local.get $4 + local.get $1 + local.get $2 select - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - local.get $5 - local.get $3 + local.get $4 + local.get $2 select - i32.store $0 offset=8 + i32.store offset=8 end local.get $0 - i32.load $0 + i32.load local.set $1 local.get $0 - i32.load $0 offset=4 - local.set $3 + i32.load offset=4 + local.set $2 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $3 + local.get $2 local.get $1 local.get $1 - local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 10848 + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s - local.tee $2 + local.tee $3 select - i32.store $0 + i32.store local.get $0 local.get $1 - local.get $3 local.get $2 + local.get $3 select - i32.store $0 offset=4 + i32.store offset=4 br $folding-inner0 end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + i32.const 10848 + i32.store local.get $0 i32.const 0 local.get $1 i32.const 1 i32.sub i32.const 0 - local.get $2 call $~lib/util/sort/insertionSort br $folding-inner0 end @@ -12912,43 +12674,43 @@ local.get $1 i32.clz i32.sub - local.tee $4 + local.tee $3 i32.const 2 i32.shl - local.tee $5 + local.tee $4 i32.const 1 i32.shl - local.set $6 + local.set $5 global.get $~lib/rt/tlsf/ROOT i32.eqz if call $~lib/rt/tlsf/initialize end - local.get $5 + local.get $4 global.get $~lib/rt/tlsf/ROOT - local.get $6 + local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.tee $10 + local.tee $9 i32.add - local.set $11 + local.set $10 loop $for-loop|1 + local.get $2 local.get $3 - local.get $4 i32.lt_u if - local.get $10 - local.get $3 + local.get $9 + local.get $2 i32.const 2 i32.shl i32.add i32.const -1 - i32.store $0 - local.get $3 + i32.store + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|1 end end @@ -12964,17 +12726,16 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + i32.const 10848 + i32.store local.get $0 i32.const 0 local.get $1 i32.const 1 i32.sub - local.tee $9 - local.get $2 + local.tee $8 call $~lib/util/sort/extendRunRight local.tee $4 i32.const 1 @@ -12984,137 +12745,130 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + i32.const 10848 + i32.store local.get $0 i32.const 0 i32.const 31 - local.get $9 - local.get $9 + local.get $8 + local.get $8 i32.const 31 i32.ge_s select local.tee $4 local.get $1 - local.get $2 call $~lib/util/sort/insertionSort end i32.const 0 local.set $1 i32.const 0 - local.set $3 + local.set $2 loop $while-continue|2 local.get $4 - local.get $9 + local.get $8 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + i32.const 10848 + i32.store local.get $0 local.get $4 i32.const 1 i32.add - local.tee $6 - local.get $9 - local.get $2 - call $~lib/util/sort/extendRunRight local.tee $5 - local.get $6 + local.get $8 + call $~lib/util/sort/extendRunRight + local.tee $3 + local.get $5 i32.sub i32.const 1 i32.add - local.tee $7 + local.tee $6 i32.const 32 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + i32.const 10848 + i32.store local.get $0 - local.get $6 - local.get $9 - local.get $6 + local.get $5 + local.get $8 + local.get $5 i32.const 31 i32.add - local.tee $5 - local.get $5 - local.get $9 + local.tee $3 + local.get $3 + local.get $8 i32.gt_s select - local.tee $5 - local.get $7 - local.get $2 + local.tee $3 + local.get $6 call $~lib/util/sort/insertionSort end - local.get $3 - local.get $6 + local.get $2 + local.get $5 i32.add i64.extend_i32_u i64.const 30 i64.shl - local.get $9 + local.get $8 i32.const 1 i32.add i64.extend_i32_u - local.tee $13 + local.tee $12 i64.div_u + local.get $3 local.get $5 - local.get $6 i32.add i32.const 1 i32.add i64.extend_i32_u i64.const 30 i64.shl - local.get $13 + local.get $12 i64.div_u i64.xor i32.wrap_i64 i32.clz - local.set $7 + local.set $6 loop $for-loop|3 local.get $1 - local.get $7 + local.get $6 i32.gt_u if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $13 + local.get $9 i32.add - i32.load $0 - local.tee $8 + local.tee $14 + i32.load + local.tee $7 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $14 - local.get $11 + local.get $10 + local.get $13 i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + i32.const 10848 + i32.store local.get $0 - local.get $8 - local.get $3 - local.get $4 - local.get $12 + local.get $7 local.get $2 + local.get $4 + local.get $11 call $~lib/util/sort/mergeRuns - local.get $10 local.get $14 - i32.add i32.const -1 - i32.store $0 - local.get $8 - local.set $3 + i32.store + local.get $7 + local.set $2 end local.get $1 i32.const 1 @@ -13123,24 +12877,24 @@ br $for-loop|3 end end - local.get $7 + local.get $6 i32.const 2 i32.shl local.tee $1 - local.get $10 + local.get $9 i32.add - local.get $3 - i32.store $0 + local.get $2 + i32.store local.get $1 - local.get $11 + local.get $10 i32.add local.get $4 - i32.store $0 - local.get $6 - local.set $3 + i32.store local.get $5 + local.set $2 + local.get $3 local.set $4 - local.get $7 + local.get $6 local.set $1 br $while-continue|2 end @@ -13148,34 +12902,32 @@ loop $for-loop|4 local.get $1 if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $2 + local.get $9 i32.add - i32.load $0 + i32.load local.tee $3 i32.const -1 i32.ne if - local.get $11 - local.get $1 - i32.const 2 - i32.shl + local.get $2 + local.get $10 i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + i32.const 10848 + i32.store local.get $0 local.get $3 - local.get $4 - local.get $9 - local.get $12 local.get $2 + local.get $8 + local.get $11 call $~lib/util/sort/mergeRuns end local.get $1 @@ -13185,18 +12937,18 @@ br $for-loop|4 end end - local.get $12 + local.get $11 call $~lib/rt/tlsf/__free - local.get $10 + local.get $9 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -13219,14 +12971,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#constructor local.tee $2 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 local.get $1 @@ -13234,7 +12985,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $1 local.get $0 @@ -13275,34 +13026,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/array/Array#constructor - local.tee $2 - i32.store $0 + local.tee $1 + i32.store loop $for-loop|0 local.get $0 - local.get $1 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/math/NativeMath.random local.get $0 f64.convert_i32_s f64.mul i32.trunc_sat_f64_s call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end @@ -13310,7 +13060,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 ) (func $std/array/assertSorted (param $0 i32) (param $1 i32) (local $2 i32) @@ -13327,29 +13077,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - block $__inlined_func$std/array/isSorted (result i32) - local.get $2 + i64.store offset=8 + block $__inlined_func$std/array/isSorted$658 (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $1 call $~lib/array/Array#sort - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 + local.get $2 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13359,45 +13108,40 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 + i32.store i32.const 1 local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store local.get $2 - local.get $3 - i32.store $0 - local.get $3 call $~lib/array/Array#get:length - local.set $4 + local.set $3 loop $for-loop|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $2 + i32.store + local.get $2 local.get $0 i32.const 1 i32.sub call $~lib/array/Array#__get - local.set $5 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $2 + i32.store + local.get $2 local.get $0 call $~lib/array/Array#__get - local.set $2 i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $2 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -13406,7 +13150,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted + br $__inlined_func$std/array/isSorted$658 end local.get $0 i32.const 1 @@ -13444,7 +13188,6 @@ unreachable ) (func $std/array/assertSortedDefault (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -13461,15 +13204,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11120 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 11120 call $std/array/assertSorted @@ -13479,7 +13221,6 @@ global.set $~lib/memory/__stack_pointer ) (func $std/array/assertStableSortedForComplexObjects~anonymous|0 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13496,28 +13237,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 - i32.load $0 + i32.load i32.sub - local.set $0 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (local $5 i32) @@ -13543,7 +13279,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill local.get $1 local.get $3 local.get $2 @@ -13570,54 +13306,52 @@ i32.ge_s if global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $0 local.get $8 i32.const 2 i32.shl i32.add local.tee $5 - i32.load $0 + i32.load local.tee $3 - i32.store $0 - local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer local.get $5 - i32.load $0 offset=4 + i32.load offset=4 local.tee $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.set $6 - local.get $7 + global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 - local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=16 - local.get $7 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=20 + i32.store offset=20 i32.const 2 global.set $~argumentsLength local.get $3 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $3 local.tee $6 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $5 local.tee $3 - i32.store $0 offset=12 + i32.store offset=12 end local.get $8 i32.const 1 @@ -13630,38 +13364,34 @@ if block $while-break|1 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 local.get $9 i32.const 2 i32.shl i32.add - i32.load $0 + local.tee $5 + i32.load local.tee $7 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 - local.get $5 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=20 + i32.store offset=20 i32.const 2 global.set $~argumentsLength local.get $7 local.get $3 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $9 - i32.const 2 - i32.shl - i32.add + local.get $5 local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 i32.const 1 i32.sub @@ -13676,7 +13406,7 @@ i32.shl i32.add local.get $3 - i32.store $0 offset=8 + i32.store offset=8 loop $while-continue|2 local.get $1 local.get $9 @@ -13684,38 +13414,34 @@ if block $while-break|2 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 local.get $9 i32.const 2 i32.shl i32.add - i32.load $0 + local.tee $5 + i32.load local.tee $3 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=16 - local.get $5 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=20 + i32.store offset=20 i32.const 2 global.set $~argumentsLength local.get $3 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $9 - i32.const 2 - i32.shl - i32.add + local.get $5 local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 i32.const 1 i32.sub @@ -13730,7 +13456,7 @@ i32.shl i32.add local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 i32.const 2 i32.add @@ -13747,7 +13473,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -13764,12 +13489,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $2 i32.eq @@ -13782,16 +13506,15 @@ return end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $5 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.const 1 @@ -13800,16 +13523,16 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 2 global.set $~argumentsLength local.get $5 local.get $6 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -13819,28 +13542,27 @@ i32.gt_s if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $0 local.get $4 i32.const 2 i32.shl i32.add - local.tee $7 - i32.load $0 offset=4 local.tee $5 - i32.store $0 - local.get $6 - local.get $7 - i32.load $0 + i32.load offset=4 local.tee $6 - i32.store $0 offset=4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.load + local.tee $5 + i32.store offset=4 i32.const 2 global.set $~argumentsLength - local.get $5 local.get $6 + local.get $5 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -13868,9 +13590,9 @@ i32.shl i32.add local.tee $3 - i32.load $0 + i32.load local.tee $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $0 local.get $2 @@ -13878,15 +13600,15 @@ i32.shl i32.add local.tee $3 - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.sub @@ -13901,28 +13623,27 @@ i32.gt_s if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 local.get $4 i32.const 2 i32.shl i32.add + local.tee $1 + i32.load offset=4 local.tee $5 - i32.load $0 offset=4 - local.tee $6 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $5 - i32.load $0 + i32.load local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 i32.const 2 global.set $~argumentsLength - local.get $6 + local.get $5 local.get $1 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -13947,7 +13668,6 @@ (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -13964,12 +13684,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $3 local.get $2 i32.const 1 @@ -13998,8 +13717,8 @@ local.get $0 local.get $8 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store br $for-loop|0 end end @@ -14020,8 +13739,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $2 i32.const 1 i32.add @@ -14035,37 +13754,36 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $9 - i32.store $0 - local.get $8 + i32.load + local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer local.get $4 local.get $6 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $7 - i32.store $0 offset=4 - local.get $8 - local.get $9 - i32.store $0 offset=8 - local.get $8 + i32.load + local.tee $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=12 i32.const 2 global.set $~argumentsLength - local.get $9 local.get $7 + local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -14074,8 +13792,8 @@ i32.const 2 i32.shl i32.add - local.get $9 - i32.store $0 + local.get $7 + i32.store local.get $2 i32.const 1 i32.sub @@ -14086,8 +13804,8 @@ i32.const 2 i32.shl i32.add - local.get $7 - i32.store $0 + local.get $8 + i32.store local.get $6 i32.const 1 i32.add @@ -14113,13 +13831,14 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) + (local $10 i64) (local $11 i32) (local $12 i32) - (local $13 i64) + (local $13 i32) (local $14 i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -14135,8 +13854,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 - memory.fill $0 + i32.const 24 + memory.fill block $folding-inner0 local.get $1 i32.const 48 @@ -14159,120 +13878,118 @@ br $break|0 end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.load $0 - local.tee $3 - i32.store $0 - local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load local.tee $4 - i32.store $0 offset=4 - local.get $1 - local.get $3 - i32.store $0 offset=8 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.tee $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=12 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $4 - local.get $3 local.get $3 local.get $4 + local.get $4 + local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $1 select - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 local.get $4 + local.get $3 local.get $1 select - local.tee $1 - i32.store $0 + local.tee $4 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 i32.const 2 global.set $~argumentsLength local.get $0 local.get $3 - local.get $1 - local.get $1 + local.get $4 + local.get $4 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s - local.tee $4 + local.tee $1 select - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $1 - local.get $3 local.get $4 + local.get $3 + local.get $1 select - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.load $0 - local.tee $3 - i32.store $0 offset=16 - local.get $1 - local.get $0 - i32.load $0 offset=4 + i32.load local.tee $4 - i32.store $0 offset=20 - local.get $1 - local.get $3 - i32.store $0 offset=8 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.tee $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=12 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $4 - local.get $3 local.get $3 local.get $4 + local.get $4 + local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $1 select - i32.store $0 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $1 select - i32.store $0 offset=4 + i32.store offset=4 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=24 + i32.store offset=8 local.get $0 i32.const 0 local.get $1 @@ -14287,43 +14004,43 @@ local.get $1 i32.clz i32.sub - local.tee $3 + local.tee $5 i32.const 2 i32.shl - local.tee $5 + local.tee $4 i32.const 1 i32.shl - local.set $6 + local.set $3 global.get $~lib/rt/tlsf/ROOT i32.eqz if call $~lib/rt/tlsf/initialize end - local.get $5 + local.get $4 global.get $~lib/rt/tlsf/ROOT - local.get $6 + local.get $3 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.tee $10 + local.tee $13 i32.add - local.set $11 + local.set $12 loop $for-loop|1 - local.get $3 - local.get $4 + local.get $5 + local.get $7 i32.gt_u if - local.get $10 - local.get $4 + local.get $13 + local.get $7 i32.const 2 i32.shl i32.add i32.const -1 - i32.store $0 - local.get $4 + i32.store + local.get $7 i32.const 1 i32.add - local.set $4 + local.set $7 br $for-loop|1 end end @@ -14339,16 +14056,16 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=28 + i32.store offset=8 local.get $0 i32.const 0 local.get $1 i32.const 1 i32.sub - local.tee $9 + local.tee $14 local.get $2 call $~lib/util/sort/extendRunRight local.tee $5 @@ -14360,12 +14077,12 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=24 + i32.store offset=8 local.get $0 i32.const 0 i32.const 31 - local.get $9 - local.get $9 + local.get $14 + local.get $14 i32.const 31 i32.ge_s select @@ -14375,66 +14092,66 @@ call $~lib/util/sort/insertionSort end i32.const 0 - local.set $4 + local.set $7 i32.const 0 local.set $1 loop $while-continue|2 local.get $5 - local.get $9 + local.get $14 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=28 + i32.store offset=8 local.get $0 local.get $5 i32.const 1 i32.add - local.tee $6 - local.get $9 + local.tee $4 + local.get $14 local.get $2 call $~lib/util/sort/extendRunRight - local.tee $3 - local.get $6 + local.tee $6 + local.get $4 i32.sub i32.const 1 i32.add - local.tee $7 + local.tee $8 i32.const 32 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=24 + i32.store offset=8 local.get $0 - local.get $6 - local.get $9 - local.get $6 + local.get $4 + local.get $14 + local.get $4 i32.const 31 i32.add local.tee $3 local.get $3 - local.get $9 + local.get $14 i32.gt_s select - local.tee $3 - local.get $7 + local.tee $6 + local.get $8 local.get $2 call $~lib/util/sort/insertionSort end local.get $1 - local.get $6 + local.get $4 i32.add i64.extend_i32_u i64.const 30 i64.shl - local.get $9 + local.get $14 i32.const 1 i32.add i64.extend_i32_u - local.tee $13 + local.tee $10 i64.div_u - local.get $3 + local.get $4 local.get $6 i32.add i32.const 1 @@ -14442,143 +14159,138 @@ i64.extend_i32_u i64.const 30 i64.shl - local.get $13 + local.get $10 i64.div_u i64.xor i32.wrap_i64 i32.clz - local.set $7 + local.set $3 loop $for-loop|3 - local.get $4 + local.get $3 local.get $7 - i32.gt_u + i32.lt_u if - local.get $10 - local.get $4 + local.get $7 i32.const 2 i32.shl + local.tee $9 + local.get $13 i32.add - i32.load $0 local.tee $8 + i32.load + local.tee $15 i32.const -1 i32.ne if - local.get $4 - i32.const 2 - i32.shl - local.tee $14 - local.get $11 + local.get $9 + local.get $12 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $1 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=32 + i32.store offset=8 local.get $0 - local.get $8 + local.get $15 local.get $1 local.get $5 - local.get $12 + local.get $11 local.get $2 call $~lib/util/sort/mergeRuns - local.get $10 - local.get $14 - i32.add - i32.const -1 - i32.store $0 local.get $8 + i32.const -1 + i32.store + local.get $15 local.set $1 end - local.get $4 + local.get $7 i32.const 1 i32.sub - local.set $4 + local.set $7 br $for-loop|3 end end - local.get $7 + local.get $3 i32.const 2 i32.shl - local.tee $4 - local.get $10 + local.tee $7 + local.get $13 i32.add local.get $1 - i32.store $0 - local.get $4 - local.get $11 + i32.store + local.get $7 + local.get $12 i32.add local.get $5 - i32.store $0 - local.get $6 + i32.store + local.get $4 local.set $1 - local.get $3 + local.get $6 local.set $5 - local.get $7 - local.set $4 + local.get $3 + local.set $7 br $while-continue|2 end end loop $for-loop|4 - local.get $4 + local.get $7 if - local.get $10 - local.get $4 + local.get $7 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $1 + local.get $13 + i32.add + i32.load + local.tee $3 i32.const -1 i32.ne if - local.get $11 - local.get $4 - i32.const 2 - i32.shl + local.get $1 + local.get $12 i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=32 + i32.store offset=8 local.get $0 - local.get $1 local.get $3 - local.get $9 - local.get $12 + local.get $1 + local.get $14 + local.get $11 local.get $2 call $~lib/util/sort/mergeRuns end - local.get $4 + local.get $7 i32.const 1 i32.sub - local.set $4 + local.set $7 br $for-loop|4 end end - local.get $12 + local.get $11 call $~lib/rt/tlsf/__free - local.get $10 + local.get $13 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -14595,26 +14307,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $2 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 - local.set $4 - local.get $2 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $3 - local.get $4 + i32.store local.get $1 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer @@ -14624,7 +14331,6 @@ local.get $0 ) (func $start:std/array~anonymous|52 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14641,30 +14347,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get - local.set $0 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 i32.const 0 call $~lib/array/Array#__get i32.sub - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/array/assertSorted<~lib/array/Array> (param $0 i32) (param $1 i32) (local $2 i32) @@ -14681,29 +14382,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - block $__inlined_func$std/array/isSorted<~lib/array/Array> (result i32) - local.get $2 + i64.store offset=8 + block $__inlined_func$std/array/isSorted<~lib/array/Array>$660 (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $1 call $~lib/array/Array#sort - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 + local.get $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -14715,54 +14415,53 @@ local.get $1 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 local.set $1 - local.get $2 - local.get $3 - i32.store $0 - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $5 call $~lib/array/Array#get:length - local.set $2 + local.set $4 loop $for-loop|0 local.get $1 - local.get $2 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 + local.get $5 + i32.store offset=8 + local.get $5 local.get $1 i32.const 1 i32.sub call $~lib/array/Array#__get - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 + local.get $2 + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 + local.get $5 + i32.store offset=8 + local.get $5 local.get $1 call $~lib/array/Array#__get - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $3 + i32.store offset=4 i32.const 2 global.set $~argumentsLength - local.get $4 - local.get $5 + local.get $2 + local.get $3 local.get $0 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -14771,7 +14470,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted<~lib/array/Array> + br $__inlined_func$std/array/isSorted<~lib/array/Array>$660 end local.get $1 i32.const 1 @@ -14831,7 +14530,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $folding-inner0 local.get $1 i32.eqz @@ -14844,31 +14543,30 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $5 - local.get $2 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $4 - local.get $5 + local.tee $5 + local.get $4 i32.or i32.eqz br_if $folding-inner0 - local.get $5 + local.get $4 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -14878,7 +14576,7 @@ i32.const -1 return end - local.get $4 + local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -14889,37 +14587,39 @@ return end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $5 local.get $4 + local.get $5 local.get $4 local.get $5 - i32.gt_s + i32.lt_s select local.tee $2 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $0 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $0 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $0 @@ -14949,15 +14649,15 @@ local.get $3 if local.get $0 - i32.load16_u $0 - local.tee $6 - local.get $1 - i32.load16_u $0 + i32.load16_u local.tee $3 + local.get $1 + i32.load16_u + local.tee $6 i32.ne if - local.get $6 local.get $3 + local.get $6 i32.sub br $__inlined_func$~lib/util/string/compareImpl end @@ -14980,8 +14680,8 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $5 local.get $4 + local.get $5 i32.sub local.get $0 select @@ -15014,7 +14714,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -15034,70 +14734,69 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $3 + i32.store + local.get $2 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 + i32.store offset=4 + block $__inlined_func$~lib/util/string/compareImpl$1 (result i32) + local.get $2 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $0 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 - local.get $2 - i64.load $0 + local.get $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if - local.get $2 + local.get $0 i32.const 8 i32.add - local.set $2 + local.set $0 local.get $1 i32.const 8 i32.add local.set $1 - local.get $0 + local.get $2 i32.const 4 i32.sub - local.tee $0 + local.tee $2 i32.const 4 i32.ge_u br_if $do-loop|0 @@ -15105,30 +14804,30 @@ end end loop $while-continue|1 - local.get $0 + local.get $2 local.tee $3 i32.const 1 i32.sub - local.set $0 + local.set $2 local.get $3 if - local.get $2 - i32.load16_u $0 + local.get $0 + i32.load16_u local.tee $3 local.get $1 - i32.load16_u $0 + i32.load16_u local.tee $4 i32.ne if local.get $3 local.get $4 i32.sub - br $__inlined_func$~lib/util/string/compareImpl + br $__inlined_func$~lib/util/string/compareImpl$1 end - local.get $2 + local.get $0 i32.const 2 i32.add - local.set $2 + local.set $0 local.get $1 i32.const 2 i32.add @@ -15138,13 +14837,11 @@ end i32.const 0 end - local.set $0 + i32.eqz global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - i32.eqz return end global.get $~lib/memory/__stack_pointer @@ -15167,16 +14864,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -15185,32 +14881,31 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 local.tee $2 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - local.set $4 - local.get $3 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - block $__inlined_func$~lib/string/String#concat + i32.store + block $__inlined_func$~lib/string/String#concat$736 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - local.tee $3 - local.get $4 + local.tee $4 + local.get $3 i32.add local.tee $0 i32.eqz @@ -15221,24 +14916,24 @@ global.set $~lib/memory/__stack_pointer i32.const 11568 local.set $0 - br $__inlined_func$~lib/string/String#concat + br $__inlined_func$~lib/string/String#concat$736 end global.get $~lib/memory/__stack_pointer local.get $0 i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - local.get $4 - memory.copy $0 $0 + local.get $3 + memory.copy local.get $0 - local.get $4 + local.get $3 i32.add local.get $1 - local.get $3 - memory.copy $0 $0 + local.get $4 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -15258,575 +14953,293 @@ call $~lib/builtins/abort unreachable ) - (func $std/array/createRandomStringArray (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s + select + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + i32.const 1 + i32.shl + local.set $3 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.ge_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + i32.sub + local.tee $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + return + end + local.get $3 + i32.eqz + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.eq + i32.and + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=4 + local.get $1 + local.get $0 + local.get $3 + i32.add + local.get $2 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 f64) + (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 16 + i32.store + local.get $0 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=12 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $8 - i32.store $0 offset=4 - local.get $8 - i32.const 0 - i32.store $0 offset=4 - local.get $1 - local.get $8 - i32.store $0 offset=4 - local.get $8 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - local.get $8 - i32.store $0 offset=4 - local.get $8 - i32.const 0 - i32.store $0 offset=12 - local.get $1 - i32.const 1600 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $8 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $8 - local.get $1 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$738 + local.get $0 + i32.const 1 + i32.sub + local.tee $7 i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $8 - i32.store $0 offset=4 - local.get $8 - i32.const 1600 - i32.store $0 offset=8 - local.get $3 - local.get $8 - i32.store $0 offset=4 - local.get $8 - i32.const 400 - i32.store $0 offset=12 - local.get $3 - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $8 - i32.store $0 - loop $for-loop|0 - local.get $2 - i32.const 400 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - call $~lib/math/NativeMath.random - f64.const 32 - f64.mul - i32.trunc_sat_f64_s - local.set $7 - i32.const 0 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub + i32.const 8 + i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 i32.const 11568 local.set $0 - local.get $1 - i32.const 11568 - i32.store $0 - loop $for-loop|01 - local.get $3 - local.get $7 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $0 - i32.store $0 offset=4 - local.get $4 - i32.const 10032 - i32.store $0 offset=12 - call $~lib/math/NativeMath.random - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 10032 - i32.store $0 offset=16 - local.get $6 - i32.const 10028 - i32.load $0 - i32.const 1 - i32.shr_u - f64.convert_i32_s - f64.mul - f64.floor - i32.trunc_sat_f64_s - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 10032 - i32.store $0 - block $__inlined_func$~lib/string/String#charAt - local.get $5 - i32.const 10028 - i32.load $0 - i32.const 1 - i32.shr_u - i32.ge_u - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - local.set $1 - br $__inlined_func$~lib/string/String#charAt - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - local.get $1 - local.get $5 - i32.const 1 - i32.shl - i32.const 10032 - i32.add - i32.load16_u $0 - i32.store16 $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $4 - local.get $0 - local.get $1 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|01 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $2 - local.get $0 - call $~lib/array/Array#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + br $__inlined_func$~lib/util/string/joinIntegerArray$738 end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - end - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.get $1 - local.get $2 - i32.gt_s - select - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - i32.const 1 - i32.shl - local.set $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.ge_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $3 - i32.sub - local.tee $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - return - end - local.get $3 - i32.eqz - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.eq - i32.and - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - local.get $1 - local.get $0 - local.get $3 - i32.add - local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/array/Array#join (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $4 - local.get $5 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $5 - local.get $1 - i32.store $0 offset=4 - block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) - local.get $5 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $0 - i32.const 1 - i32.sub - local.tee $6 - i32.const 0 - i32.lt_s + local.get $7 + i32.eqz if + local.get $6 + i32.load + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11568 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$738 end - block $folding-inner0 - local.get $6 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 11 + i32.add + local.get $7 + i32.mul + i32.const 11 + i32.add + local.tee $3 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $4 + local.get $7 + i32.lt_s if - local.get $4 - i32.load $0 - call $~lib/util/number/itoa32 - local.set $1 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $0 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $0 - i32.const 11 - i32.add - local.get $6 - i32.mul - i32.const 11 - i32.add - local.tee $5 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $3 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add local.get $6 - i32.lt_s + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $5 if - local.get $7 + local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $4 - local.get $3 - i32.const 2 + local.get $1 + local.get $5 + i32.const 1 i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered + memory.copy local.get $2 + local.get $5 i32.add local.set $2 - local.get $0 - if - local.get $7 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $0 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $2 - i32.add - local.set $2 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 end - local.get $7 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $4 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $0 - call $~lib/string/String#substring - local.set $1 - br $folding-inner0 - end + end + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $1 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.get $1 + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$738 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -15847,49 +15260,48 @@ (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $4 - local.get $5 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $0 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) - local.get $5 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$739 local.get $0 i32.const 1 i32.sub - local.tee $6 + local.tee $7 i32.const 0 i32.lt_s if @@ -15898,130 +15310,128 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray$739 end - block $folding-inner0 + local.get $7 + i32.eqz + if local.get $6 - i32.eqz - if - local.get $4 - i32.load $0 - call $~lib/util/number/utoa32 - local.set $1 - br $folding-inner0 - end + i32.load + call $~lib/util/number/utoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $0 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $0 - i32.const 10 - i32.add - local.get $6 - i32.mul - i32.const 10 + i32.const 8 i32.add - local.tee $5 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $3 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$739 + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 10 + i32.add + local.get $7 + i32.mul + i32.const 10 + i32.add + local.tee $3 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $4 + local.get $7 + i32.lt_s + if + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add local.get $6 - i32.lt_s + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $5 if - local.get $7 + local.get $0 local.get $2 i32.const 1 i32.shl i32.add - local.get $4 - local.get $3 - i32.const 2 + local.get $1 + local.get $5 + i32.const 1 i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered + memory.copy local.get $2 + local.get $5 i32.add local.set $2 - local.get $0 - if - local.get $7 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $0 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $2 - i32.add - local.set $2 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|0 end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 end - local.get $7 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $4 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $0 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $0 - call $~lib/string/String#substring - local.set $1 - br $folding-inner0 - end + end + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $7 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $1 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.get $1 + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$739 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -16053,11 +15463,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $1 i32.const 1 i32.sub - local.tee $6 + local.tee $7 i32.const 0 i32.lt_s if @@ -16068,11 +15478,11 @@ i32.const 11568 return end - local.get $6 + local.get $7 i32.eqz if local.get $0 - f64.load $0 + f64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -16084,66 +15494,52 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $3 - f64.const 0 - f64.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 12320 - local.set $0 - br $folding-inner1 - end - local.get $3 - local.get $3 - f64.sub - f64.const 0 - f64.ne - if + i32.store + i32.const 12320 + local.set $0 + block $~lib/util/number/dtoa_impl|inlined.0 + local.get $3 + f64.const 0 + f64.eq + br_if $~lib/util/number/dtoa_impl|inlined.0 local.get $3 local.get $3 + f64.sub + f64.const 0 f64.ne if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 12352 local.set $0 - br $folding-inner1 + local.get $3 + local.get $3 + f64.ne + br_if $~lib/util/number/dtoa_impl|inlined.0 + i32.const 12384 + i32.const 12432 + local.get $3 + f64.const 0 + f64.lt + select + local.set $0 + br $~lib/util/number/dtoa_impl|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 12384 - i32.const 12432 + i32.const 12464 local.get $3 - f64.const 0 - f64.lt - select - local.set $0 - br $folding-inner1 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 12464 + local.get $1 + memory.copy end - i32.const 12464 - local.get $3 - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - i32.const 12464 - local.get $1 - memory.copy $0 $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -16151,34 +15547,33 @@ br $folding-inner1 end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 12288 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12284 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.tee $7 + local.tee $1 i32.const 28 i32.add - local.get $6 + local.get $7 i32.mul i32.const 28 i32.add - local.tee $1 + local.tee $5 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=4 + local.tee $6 + i32.store offset=4 loop $for-loop|0 local.get $4 - local.get $6 + local.get $7 i32.lt_s if - local.get $5 + local.get $6 local.get $2 i32.const 1 i32.shl @@ -16188,25 +15583,25 @@ i32.const 3 i32.shl i32.add - f64.load $0 - call $~lib/util/number/dtoa_buffered + f64.load + call $~lib/util/number/dtoa_buffered local.get $2 i32.add local.set $2 - local.get $7 + local.get $1 if - local.get $5 + local.get $6 local.get $2 i32.const 1 i32.shl i32.add i32.const 12288 - local.get $7 + local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy + local.get $1 local.get $2 - local.get $7 i32.add local.set $2 end @@ -16218,27 +15613,27 @@ end end local.get $5 + local.get $6 local.get $2 i32.const 1 i32.shl i32.add local.get $0 - local.get $6 + local.get $7 i32.const 3 i32.shl i32.add - f64.load $0 - call $~lib/util/number/dtoa_buffered + f64.load + call $~lib/util/number/dtoa_buffered local.get $2 i32.add local.tee $0 - local.get $1 - i32.lt_s + i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $6 + i32.store + local.get $6 local.get $0 call $~lib/string/String#substring local.set $0 @@ -16248,7 +15643,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $6 return end i32.const 48992 @@ -16286,12 +15681,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $1 i32.const 1 i32.sub @@ -16310,12 +15704,11 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.load $0 + i32.load local.tee $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -16336,19 +15729,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 if global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $6 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.add @@ -16364,15 +15757,14 @@ i32.const 0 local.set $4 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $2 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $1 @@ -16384,7 +15776,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $3 loop $for-loop|1 @@ -16398,14 +15790,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 if global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 local.get $4 i32.const 1 @@ -16415,13 +15807,13 @@ local.get $7 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $7 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $4 local.get $7 i32.add @@ -16438,7 +15830,7 @@ local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $1 local.get $4 i32.add @@ -16457,14 +15849,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 local.get $4 i32.const 1 @@ -16474,10 +15866,10 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - memory.copy $0 $0 + memory.copy end global.get $~lib/memory/__stack_pointer i32.const 16 @@ -16487,9 +15879,8 @@ ) (func $~lib/array/Array<~lib/string/String|null>#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16504,34 +15895,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $2 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $2 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 + i32.store local.get $1 call $~lib/util/string/joinStringArray - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#join (param $0 i32) (result i32) (local $1 i32) @@ -16539,9 +15923,8 @@ (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -16550,26 +15933,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $2 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $0 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 - block $__inlined_func$~lib/util/string/joinReferenceArray (result i32) - local.get $2 + i32.store + block $__inlined_func$~lib/util/string/joinReferenceArray$4 (result i32) + global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer @@ -16580,11 +15962,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill local.get $0 i32.const 1 i32.sub - local.tee $4 + local.tee $2 i32.const 0 i32.lt_s if @@ -16593,95 +15975,90 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - br $__inlined_func$~lib/util/string/joinReferenceArray + br $__inlined_func$~lib/util/string/joinReferenceArray$4 end - local.get $4 + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load $0 + local.get $5 + i32.load local.tee $0 - i32.store $0 + i32.store local.get $0 if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 13632 else i32.const 11568 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - br $__inlined_func$~lib/util/string/joinReferenceArray + br $__inlined_func$~lib/util/string/joinReferenceArray$4 end i32.const 11568 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 11568 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 + i32.store offset=4 i32.const 11852 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.set $2 + local.set $4 loop $for-loop|0 local.get $1 - local.get $4 + local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $5 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $6 - i32.store $0 - local.get $6 + i32.load + local.tee $3 + i32.store + local.get $3 if global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 offset=4 - local.get $5 - local.get $6 - i32.store $0 offset=16 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 13632 - i32.store $0 offset=12 - local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 13632 call $~lib/string/String.__concat local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 end - local.get $2 + local.get $4 if global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=12 - local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 11856 call $~lib/string/String.__concat local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 end local.get $1 i32.const 1 @@ -16691,32 +16068,31 @@ end end global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $4 + local.get $5 + local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $1 - i32.store $0 + i32.store local.get $1 if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 - local.get $2 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 13632 - i32.store $0 offset=12 - local.get $2 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 13632 call $~lib/string/String.__concat local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 20 @@ -16724,12 +16100,10 @@ global.set $~lib/memory/__stack_pointer local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 48992 @@ -16740,9 +16114,8 @@ unreachable ) (func $~lib/array/Array#toString (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16757,24 +16130,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 - i32.const 11856 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 11856 call $~lib/array/Array#join - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#toString (param $0 i32) (result i32) (local $1 i32) @@ -16784,67 +16151,62 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 local.get $0 - i32.store $0 - local.get $3 - i32.const 11856 - i32.store $0 offset=4 - local.get $3 - i32.const 8 + i32.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 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $4 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $0 - local.get $4 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 - block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) - local.get $4 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$740 local.get $0 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -16853,128 +16215,126 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray$740 end - block $folding-inner00 + local.get $6 + i32.eqz + if local.get $5 - i32.eqz - if - local.get $3 - i32.load8_s $0 - call $~lib/util/number/itoa32 - local.set $0 - br $folding-inner00 - end + i32.load8_s + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 11856 - i32.store $0 - local.get $0 - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $0 - i32.const 11 - i32.add - local.get $5 - i32.mul - i32.const 11 + i32.const 8 i32.add - local.tee $4 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $2 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$740 + end + global.get $~lib/memory/__stack_pointer + i32.const 11856 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 11852 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 11 + i32.add + local.get $6 + i32.mul + i32.const 11 + i32.add + local.tee $2 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 local.get $5 - i32.lt_s + i32.add + i32.load8_s + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $4 if - local.get $6 + local.get $0 local.get $1 i32.const 1 i32.shl i32.add - local.get $2 - local.get $3 - i32.add - i32.load8_s $0 - call $~lib/util/number/itoa_buffered + i32.const 11856 + local.get $4 + i32.const 1 + i32.shl + memory.copy local.get $1 + local.get $4 i32.add local.set $1 - local.get $0 - if - local.get $6 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 11856 - local.get $0 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $1 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end - local.get $6 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $5 - i32.add - i32.load8_s $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $0 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner00 - end + end + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $6 + i32.add + i32.load8_s + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $1 + local.get $2 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.get $1 + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$740 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -17006,11 +16366,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $1 i32.const 1 i32.sub - local.tee $6 + local.tee $7 i32.const 0 i32.lt_s if @@ -17021,11 +16381,11 @@ i32.const 11568 return end - local.get $6 + local.get $7 i32.eqz if local.get $0 - i64.load $0 + i64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -17037,8 +16397,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/utoa64 + i32.store + block $__inlined_func$~lib/util/number/utoa64$485 local.get $3 i64.eqz if @@ -17048,7 +16408,7 @@ global.set $~lib/memory/__stack_pointer i32.const 7712 local.set $1 - br $__inlined_func$~lib/util/number/utoa64 + br $__inlined_func$~lib/util/number/utoa64$485 end local.get $3 i64.const 4294967295 @@ -17109,7 +16469,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store local.get $1 local.get $0 local.get $2 @@ -17172,7 +16532,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store local.get $1 local.get $3 local.get $0 @@ -17186,34 +16546,33 @@ br $folding-inner1 end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 11856 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11852 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.tee $7 + local.tee $1 i32.const 20 i32.add - local.get $6 + local.get $7 i32.mul i32.const 20 i32.add - local.tee $1 + local.tee $5 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=4 + local.tee $6 + i32.store offset=4 loop $for-loop|0 local.get $4 - local.get $6 + local.get $7 i32.lt_s if - local.get $5 + local.get $6 local.get $2 i32.const 1 i32.shl @@ -17223,25 +16582,25 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load call $~lib/util/number/itoa_buffered local.get $2 i32.add local.set $2 - local.get $7 + local.get $1 if - local.get $5 + local.get $6 local.get $2 i32.const 1 i32.shl i32.add i32.const 11856 - local.get $7 + local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy + local.get $1 local.get $2 - local.get $7 i32.add local.set $2 end @@ -17253,27 +16612,27 @@ end end local.get $5 + local.get $6 local.get $2 i32.const 1 i32.shl i32.add local.get $0 - local.get $6 + local.get $7 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load call $~lib/util/number/itoa_buffered local.get $2 i32.add local.tee $0 - local.get $1 - i32.lt_s + i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $6 + i32.store + local.get $6 local.get $0 call $~lib/string/String#substring local.set $1 @@ -17283,7 +16642,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $6 return end i32.const 48992 @@ -17300,9 +16659,8 @@ local.get $1 ) (func $~lib/array/Array<~lib/string/String|null>#toString (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -17317,24 +16675,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 - i32.const 11856 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 11856 call $~lib/array/Array<~lib/string/String|null>#join - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#toString (param $0 i32) (result i32) (local $1 i32) @@ -17344,67 +16696,62 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 local.get $0 - i32.store $0 - local.get $3 - i32.const 11856 - i32.store $0 offset=4 - local.get $3 - i32.const 8 + i32.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 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $4 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $0 - local.get $4 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 - block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) - local.get $4 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$743 local.get $0 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -17413,128 +16760,126 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray$743 end - block $folding-inner00 + local.get $6 + i32.eqz + if local.get $5 - i32.eqz - if - local.get $3 - i32.load8_u $0 - call $~lib/util/number/utoa32 - local.set $0 - br $folding-inner00 - end + i32.load8_u + call $~lib/util/number/utoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 11856 - i32.store $0 - local.get $0 - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $0 - i32.const 10 - i32.add - local.get $5 - i32.mul - i32.const 10 + i32.const 8 i32.add - local.tee $4 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $2 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$743 + end + global.get $~lib/memory/__stack_pointer + i32.const 11856 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 11852 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 + i32.add + local.get $6 + i32.mul + i32.const 10 + i32.add + local.tee $2 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 local.get $5 - i32.lt_s + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $4 if - local.get $6 + local.get $0 local.get $1 i32.const 1 i32.shl i32.add - local.get $2 - local.get $3 - i32.add - i32.load8_u $0 - call $~lib/util/number/itoa_buffered + i32.const 11856 + local.get $4 + i32.const 1 + i32.shl + memory.copy local.get $1 + local.get $4 i32.add local.set $1 - local.get $0 - if - local.get $6 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 11856 - local.get $0 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $1 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end - local.get $6 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $5 - i32.add - i32.load8_u $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $0 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner00 - end + end + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $6 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $1 + local.get $2 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.get $1 + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$743 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -17548,9 +16893,8 @@ unreachable ) (func $~lib/array/Array#toString (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -17565,24 +16909,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 - i32.const 11856 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 11856 call $~lib/array/Array#join - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array<~lib/array/Array>#toString (param $0 i32) (result i32) (local $1 i32) @@ -17592,7 +16930,7 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -17601,17 +16939,13 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 - i32.const 11856 - i32.store $0 offset=4 - local.get $2 - i32.const 8 + 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 @@ -17619,26 +16953,25 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $0 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> (result i32) - local.get $3 + i32.store + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$5 (result i32) + global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer @@ -17649,7 +16982,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill local.get $0 i32.const 1 i32.sub @@ -17662,99 +16995,94 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$5 end local.get $4 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 + local.get $5 + i32.load local.tee $0 - i32.store $0 + i32.store local.get $0 if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#toString else i32.const 11568 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$5 end i32.const 11568 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 11568 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 + i32.store offset=4 i32.const 11852 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.set $3 + local.set $2 loop $for-loop|0 local.get $1 local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $5 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $5 - i32.store $0 - local.get $5 + i32.load + local.tee $6 + i32.store + local.get $6 if global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=16 local.get $6 - local.get $5 - i32.store $0 offset=16 - local.get $5 call $~lib/array/Array#toString - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=12 local.get $6 + i32.store offset=12 local.get $0 - local.get $5 + local.get $6 call $~lib/string/String.__concat local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 end - local.get $3 + local.get $2 if global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=12 - local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 11856 call $~lib/string/String.__concat local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 end local.get $1 i32.const 1 @@ -17764,35 +17092,34 @@ end end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $5 local.get $4 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $1 - i32.store $0 + i32.store local.get $1 if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 call $~lib/array/Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 - local.get $2 + i32.store offset=12 local.get $0 local.get $1 call $~lib/string/String.__concat local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 20 @@ -17800,16 +17127,14 @@ global.set $~lib/memory/__stack_pointer local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 48992 @@ -17842,121 +17167,119 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $4 - local.get $5 + i32.load offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $5 + i32.load offset=12 + local.set $4 + i32.const 0 + local.set $0 loop $for-loop|0 - local.get $2 - local.get $5 + local.get $0 + local.get $4 i32.lt_s if - local.get $4 - local.get $2 + local.get $3 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $0 + i32.load + local.tee $5 if (result i32) - local.get $0 - i32.load $0 offset=12 + local.get $5 + i32.load offset=12 else i32.const 0 end - local.get $1 - i32.add - local.set $1 local.get $2 - i32.const 1 i32.add local.set $2 + local.get $0 + i32.const 1 + i32.add + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.const 2 i32.shl - local.tee $2 + local.tee $5 i32.const 1 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=12 + local.get $0 + local.get $5 + i32.store offset=8 local.get $0 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $6 - i32.store $0 + i32.store + local.get $0 local.get $6 - if - local.get $0 - local.get $6 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end i32.const 0 - local.set $1 + call $~lib/rt/itcms/__link + i32.const 0 + local.set $2 loop $for-loop|1 - local.get $3 - local.get $5 + local.get $2 + local.get $4 i32.lt_s if - local.get $4 local.get $3 + local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $2 + i32.load + local.tee $5 if local.get $1 local.get $6 i32.add - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=12 + local.get $5 + i32.load offset=4 + local.get $5 + i32.load offset=12 i32.const 2 i32.shl - local.tee $2 - memory.copy $0 $0 + local.tee $5 + memory.copy local.get $1 - local.get $2 + local.get $5 i32.add local.set $1 end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|1 end end @@ -17983,12 +17306,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 1 @@ -18003,13 +17325,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -18033,18 +17355,19 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 f64) - (local $6 f32) - (local $7 i32) + (local $4 i32) + (local $5 i64) + (local $6 f64) + (local $7 f32) (local $8 i32) (local $9 i32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 508 + i32.const 444 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner2 @@ -18054,9 +17377,9 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 508 - memory.fill $0 - memory.size $0 + i32.const 444 + memory.fill + memory.size i32.const 16 i32.shl i32.const 48960 @@ -18066,26 +17389,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1268 i32.const 1264 - i32.store $0 + i32.store i32.const 1272 i32.const 1264 - i32.store $0 + i32.store i32.const 1264 global.set $~lib/rt/itcms/pinSpace i32.const 1300 i32.const 1296 - i32.store $0 + i32.store i32.const 1304 i32.const 1296 - i32.store $0 + i32.store i32.const 1296 global.set $~lib/rt/itcms/toSpace i32.const 1444 i32.const 1440 - i32.store $0 + i32.store i32.const 1448 i32.const 1440 - i32.store $0 + i32.store i32.const 1440 global.set $~lib/rt/itcms/fromSpace i32.const 0 @@ -18093,10 +17416,10 @@ global.set $std/array/arr i32.const 0 call $std/array/Ref#constructor - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -18106,20 +17429,19 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $1 - i32.store $0 offset=4 - local.get $7 i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -18128,99 +17450,92 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $8 i64.const 0 - i64.store $0 - local.get $8 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + local.get $2 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 3 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 + local.tee $2 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 - local.get $8 - local.get $1 - i32.store $0 offset=4 - local.get $1 + i32.store + local.get $2 i32.const 0 - i32.store $0 offset=4 - local.get $8 - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 0 - i32.store $0 offset=8 - local.get $8 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 1 call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 offset=8 + local.tee $9 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=12 - local.get $1 - local.get $8 - i32.store $0 - local.get $8 - if - local.get $1 - local.get $8 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $9 + i32.store offset=12 + local.get $2 + local.get $9 + i32.store + local.get $2 + local.get $9 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $1 - i32.store $0 offset=4 - local.get $1 - local.get $8 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 + local.get $2 local.get $9 - local.get $1 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 - i32.store $0 offset=8 - local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $1 - i32.store $0 + local.get $2 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $1 - i32.store $0 - local.get $7 - i32.const 1664 - i32.store $0 - local.get $7 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.eqz if i32.const 0 @@ -18236,30 +17551,30 @@ i32.const 7 i32.const 1696 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=4 + local.tee $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1728 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18271,28 +17586,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1760 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18304,27 +17619,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1792 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18336,28 +17651,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 2 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1824 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18369,27 +17684,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1856 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18401,28 +17716,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 0 i32.const 7 i32.const 1888 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18439,30 +17754,30 @@ i32.const 8 i32.const 1920 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 1968 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18474,28 +17789,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2016 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18507,27 +17822,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2064 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18539,28 +17854,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 2 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2112 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18572,27 +17887,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2160 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18604,28 +17919,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 2208 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18642,30 +17957,30 @@ i32.const 9 i32.const 2256 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=16 + local.tee $2 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 f32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2304 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18677,28 +17992,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f32.const 0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2352 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18710,27 +18025,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 f32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2400 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18742,28 +18057,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 2 global.set $~argumentsLength - local.get $1 + local.get $2 f32.const 2 i32.const -2 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2448 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18775,27 +18090,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 f32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2496 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18807,28 +18122,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f32.const -1 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2544 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18840,28 +18155,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f32.const -0 i32.const 0 call $~lib/array/Array#fill@varargs global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 9 i32.const 2592 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 call $std/array/isArraysEqual i32.eqz if @@ -18874,9 +18189,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -18888,9 +18203,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18904,16 +18219,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 42 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -18928,9 +18243,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -18944,9 +18259,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -18960,9 +18275,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#pop i32.const 42 i32.ne @@ -18976,9 +18291,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -18990,9 +18305,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19006,16 +18321,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 43 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -19029,9 +18344,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19045,9 +18360,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -19062,16 +18377,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 44 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -19085,9 +18400,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19101,9 +18416,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -19118,9 +18433,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -19135,16 +18450,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 45 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -19158,9 +18473,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19174,9 +18489,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -19191,9 +18506,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -19208,9 +18523,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -19224,34 +18539,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $7 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.load $0 offset=4 - i32.store $0 offset=24 - local.get $7 + local.tee $8 + i32.store offset=20 + local.get $8 i32.const 0 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $7 + local.get $8 i32.const 1 i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 - local.get $7 - i32.store $0 offset=28 + local.get $8 + i32.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $8 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19262,25 +18572,25 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $7 + i32.store + local.get $8 i32.const 0 i32.const 0 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 i32.const 0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length if i32.const 0 @@ -19296,12 +18606,12 @@ i32.const 4 i32.const 2688 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=32 + local.tee $2 + i32.store offset=28 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#at i32.const 1 @@ -19315,9 +18625,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 3 call $~lib/array/Array#at i32.const 4 @@ -19331,9 +18641,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const -1 call $~lib/array/Array#at i32.const 4 @@ -19347,9 +18657,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const -4 call $~lib/array/Array#at i32.const 1 @@ -19365,26 +18675,26 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/array/Array#constructor - local.tee $1 - i32.store $0 offset=36 + local.tee $2 + i32.store offset=32 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 - local.get $1 + local.get $8 + local.get $2 call $~lib/array/Array#concat - local.tee $7 - i32.store $0 offset=40 + local.tee $8 + i32.store offset=36 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 - i32.store $0 - local.get $8 + local.tee $9 + i32.store + local.get $9 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19398,9 +18708,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 - i32.store $0 - local.get $8 + local.tee $9 + i32.store + local.get $9 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -19413,9 +18723,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -19428,26 +18738,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $8 + i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 2736 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 local.get $8 - i32.store $0 offset=8 - local.get $7 - local.get $8 + local.get $9 call $~lib/array/Array#concat drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 - i32.store $0 - local.get $8 + local.tee $9 + i32.store + local.get $9 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19460,9 +18770,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -19476,9 +18786,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -19492,9 +18802,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -19508,35 +18818,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 46 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 47 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 - local.get $1 + local.get $8 + local.get $2 call $~lib/array/Array#concat - local.tee $7 - i32.store $0 offset=40 + local.tee $8 + i32.store offset=36 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $8 - i32.store $0 - local.get $8 + local.tee $9 + i32.store + local.get $9 call $std/array/internalCapacity i32.const 8 i32.ne @@ -19549,9 +18859,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -19564,9 +18874,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 5 i32.ne @@ -19579,9 +18889,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -19595,9 +18905,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -19611,9 +18921,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -19627,9 +18937,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 i32.const 3 call $~lib/array/Array#__get i32.const 46 @@ -19643,9 +18953,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 i32.const 4 call $~lib/array/Array#__get i32.const 47 @@ -19659,15 +18969,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -19685,12 +18995,12 @@ i32.const 4 i32.const 2768 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=44 + local.tee $2 + i32.store offset=40 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -19701,23 +19011,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $1 - i32.store $0 - local.get $7 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $8 - i32.store $0 offset=8 - local.get $7 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 local.get $8 call $~lib/array/Array#concat - local.tee $7 - i32.store $0 offset=40 + local.tee $8 + i32.store offset=36 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -19730,9 +19039,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -19748,32 +19057,32 @@ i32.const 4 i32.const 2800 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 + local.get $2 + i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 i32.const 3 call $~lib/array/Array#copyWithin@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 2848 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19791,32 +19100,32 @@ i32.const 4 i32.const 2896 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 + local.get $2 + i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 1 i32.const 3 call $~lib/array/Array#copyWithin@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 2944 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19834,32 +19143,32 @@ i32.const 4 i32.const 2992 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 + local.get $2 + i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 1 i32.const 2 call $~lib/array/Array#copyWithin@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3040 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19877,32 +19186,32 @@ i32.const 4 i32.const 3088 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 + local.get $2 + i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 2 i32.const 2 call $~lib/array/Array#copyWithin@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3136 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19920,31 +19229,31 @@ i32.const 4 i32.const 3184 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 - local.get $1 + local.get $2 + i32.store offset=48 + local.get $2 i32.const 0 i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3232 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -19962,31 +19271,31 @@ i32.const 4 i32.const 3280 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 - local.get $1 + local.get $2 + i32.store offset=48 + local.get $2 i32.const 1 i32.const 3 i32.const 4 call $~lib/array/Array#copyWithin - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3328 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20004,31 +19313,31 @@ i32.const 4 i32.const 3376 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 - local.get $1 + local.get $2 + i32.store offset=48 + local.get $2 i32.const 1 i32.const 2 i32.const 4 call $~lib/array/Array#copyWithin - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3424 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20046,32 +19355,32 @@ i32.const 4 i32.const 3472 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 + local.get $2 + i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 i32.const -2 call $~lib/array/Array#copyWithin@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3520 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20089,31 +19398,31 @@ i32.const 4 i32.const 3568 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 - local.get $1 + local.get $2 + i32.store offset=48 + local.get $2 i32.const 0 i32.const -2 i32.const -1 call $~lib/array/Array#copyWithin - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3616 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20131,31 +19440,31 @@ i32.const 4 i32.const 3664 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 - local.get $1 + local.get $2 + i32.store offset=48 + local.get $2 i32.const -4 i32.const -3 i32.const -2 call $~lib/array/Array#copyWithin - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3712 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20173,31 +19482,31 @@ i32.const 4 i32.const 3760 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 - local.get $1 + local.get $2 + i32.store offset=48 + local.get $2 i32.const -4 i32.const -3 i32.const -1 call $~lib/array/Array#copyWithin - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3808 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20215,32 +19524,32 @@ i32.const 4 i32.const 3856 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=48 + local.tee $2 + i32.store offset=44 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=52 + local.get $2 + i32.store offset=48 i32.const 2 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const -4 i32.const -3 call $~lib/array/Array#copyWithin@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 3904 call $~lib/rt/__newArray - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $1 - local.get $7 + local.get $8 + i32.store offset=8 + local.get $2 + local.get $8 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20254,16 +19563,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 42 call $~lib/array/Array#unshift global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -20277,9 +19586,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20293,9 +19602,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -20310,9 +19619,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -20327,9 +19636,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -20344,9 +19653,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -20361,16 +19670,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 41 call $~lib/array/Array#unshift global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 5 i32.ne @@ -20384,9 +19693,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20400,9 +19709,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 41 @@ -20417,9 +19726,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 42 @@ -20434,9 +19743,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 43 @@ -20451,9 +19760,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 3 call $~lib/array/Array#__get i32.const 44 @@ -20468,9 +19777,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 4 call $~lib/array/Array#__get i32.const 45 @@ -20484,11 +19793,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $std/array/arr - local.tee $7 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -20497,15 +19805,14 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 - local.get $7 - i32.store $0 - local.get $7 - i32.load $0 offset=12 - local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=12 + local.tee $8 i32.const 0 i32.le_s if @@ -20517,42 +19824,39 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $7 - i32.store $0 - local.get $7 - i32.load $0 offset=4 + local.get $2 + i32.store + local.get $2 + i32.load offset=4 local.tee $9 - i32.load $0 - local.set $10 + i32.load local.get $9 local.get $9 i32.const 4 i32.add - local.get $1 + local.get $8 i32.const 1 i32.sub - local.tee $1 + local.tee $8 i32.const 2 i32.shl local.tee $11 - memory.copy $0 $0 + memory.copy local.get $9 local.get $11 i32.add i32.const 0 - i32.store $0 - local.get $8 - local.get $7 - i32.store $0 - local.get $7 - local.get $1 - i32.store $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 global.set $std/array/i global.get $std/array/i i32.const 41 @@ -20567,9 +19871,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -20583,9 +19887,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20599,9 +19903,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -20616,9 +19920,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -20633,9 +19937,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -20650,9 +19954,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 3 call $~lib/array/Array#__get i32.const 45 @@ -20667,9 +19971,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#pop global.set $std/array/i global.get $std/array/i @@ -20685,9 +19989,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -20701,9 +20005,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -20717,9 +20021,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 42 @@ -20734,9 +20038,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -20751,9 +20055,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 44 @@ -20772,33 +20076,33 @@ i32.const 4 i32.const 3952 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=56 + local.tee $2 + i32.store offset=52 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.const 2 call $~lib/array/Array#slice@varargs - local.tee $7 - i32.store $0 offset=60 + local.tee $8 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $8 + i32.store i32.const 3 i32.const 2 i32.const 4 i32.const 4000 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 local.get $8 - i32.store $0 offset=8 - local.get $7 - local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20811,30 +20115,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $1 - i32.store $0 - local.get $7 - local.get $1 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 2 i32.const 4 call $~lib/array/Array#slice - local.tee $7 - i32.store $0 offset=60 + local.tee $8 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $8 + i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4032 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 local.get $8 - i32.store $0 offset=8 - local.get $7 - local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20847,30 +20150,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $1 - i32.store $0 - local.get $7 - local.get $1 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 1 i32.const 5 call $~lib/array/Array#slice - local.tee $7 - i32.store $0 offset=60 + local.tee $8 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $8 + i32.store i32.const 4 i32.const 2 i32.const 4 i32.const 4064 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 local.get $8 - i32.store $0 offset=8 - local.get $7 - local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20883,25 +20185,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 0 global.set $~argumentsLength - local.get $7 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 0 call $~lib/array/Array#slice@varargs - local.tee $7 - i32.store $0 offset=60 + local.tee $8 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $7 - local.get $1 + local.get $2 + i32.store offset=8 + local.get $8 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20914,31 +20215,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $7 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const -2 call $~lib/array/Array#slice@varargs - local.tee $7 - i32.store $0 offset=60 + local.tee $8 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $8 + i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4112 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 local.get $8 - i32.store $0 offset=8 - local.get $7 - local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20951,30 +20251,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $1 - i32.store $0 - local.get $7 - local.get $1 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 2 i32.const -1 call $~lib/array/Array#slice - local.tee $7 - i32.store $0 offset=60 + local.tee $8 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $8 + i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4144 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 local.get $8 - i32.store $0 offset=8 - local.get $7 - local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -20987,30 +20286,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $1 - i32.store $0 - local.get $7 - local.get $1 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const -3 i32.const -1 call $~lib/array/Array#slice - local.tee $7 - i32.store $0 offset=60 + local.tee $8 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $8 + i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4176 call $~lib/rt/__newArray - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=8 local.get $8 - i32.store $0 offset=8 - local.get $7 - local.get $8 + local.get $9 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -21023,17 +20321,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 i32.const -1 i32.const -3 call $~lib/array/Array#slice - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 call $~lib/array/Array#get:length if i32.const 0 @@ -21044,18 +20342,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 10 call $~lib/array/Array#slice@varargs - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -21066,11 +20364,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $std/array/arr - local.tee $7 - i32.store $0 - local.get $1 + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -21079,63 +20376,62 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 - local.get $7 - i32.store $0 - local.get $7 - i32.load $0 offset=4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=4 local.set $8 - local.get $1 - local.get $7 - i32.store $0 - local.get $7 - i32.load $0 offset=12 - local.tee $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=12 + local.tee $2 i32.const 1 i32.gt_u if - local.get $1 + local.get $2 i32.const 1 i32.shr_u - local.set $7 - local.get $1 + local.set $9 + local.get $2 i32.const 1 i32.sub - local.set $1 + local.set $2 loop $while-continue|0 - local.get $0 - local.get $7 + local.get $4 + local.get $9 i32.lt_u if local.get $8 - local.get $0 + local.get $4 i32.const 2 i32.shl i32.add - local.tee $9 - i32.load $0 - local.set $10 - local.get $9 + local.tee $10 + i32.load + local.set $11 + local.get $10 local.get $8 - local.get $1 - local.get $0 + local.get $2 + local.get $4 i32.sub i32.const 2 i32.shl i32.add - local.tee $9 - i32.load $0 - i32.store $0 - local.get $9 + local.tee $10 + i32.load + i32.store local.get $10 - i32.store $0 - local.get $0 + local.get $11 + i32.store + local.get $4 i32.const 1 i32.add - local.set $0 + local.set $4 br $while-continue|0 end end @@ -21146,9 +20442,9 @@ global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -21162,9 +20458,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + local.tee $2 + i32.store + local.get $2 call $std/array/internalCapacity i32.const 8 i32.ne @@ -21178,9 +20474,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + local.tee $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#__get i32.const 44 @@ -21195,9 +20491,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + local.tee $2 + i32.store + local.get $2 i32.const 1 call $~lib/array/Array#__get i32.const 43 @@ -21212,9 +20508,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + local.tee $2 + i32.store + local.get $2 i32.const 2 call $~lib/array/Array#__get i32.const 42 @@ -21229,59 +20525,53 @@ end global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + local.tee $2 + i32.store + local.get $2 i32.const 43 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + local.tee $2 + i32.store + local.get $2 i32.const 44 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 4 i32.const 0 i32.const 7 i32.const 4208 call $~lib/rt/__newArray - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $4 + i32.store + local.get $4 call $~lib/array/Array#reverse - local.tee $1 - i32.store $0 offset=64 - i32.const 0 - local.set $0 + local.tee $2 + i32.store offset=60 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length - local.set $7 + local.set $4 loop $for-loop|0 local.get $0 - local.get $7 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 local.get $0 call $~lib/array/Array#__get - local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $8 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length local.get $0 i32.sub @@ -21304,46 +20594,42 @@ end end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 8 i32.const 0 i32.const 7 i32.const 4240 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#reverse - local.tee $1 - i32.store $0 offset=68 + local.tee $2 + i32.store offset=64 i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length - local.set $7 + local.set $4 loop $for-loop|1 local.get $0 - local.get $7 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 local.get $0 call $~lib/array/Array#__get - local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $8 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length local.get $0 i32.sub @@ -21366,46 +20652,42 @@ end end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 17 i32.const 0 i32.const 7 i32.const 4272 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#reverse - local.tee $1 - i32.store $0 offset=72 + local.tee $2 + i32.store offset=68 i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length - local.set $7 + local.set $4 loop $for-loop|2 local.get $0 - local.get $7 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 local.get $0 call $~lib/array/Array#__get - local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $8 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length local.get $0 i32.sub @@ -21428,46 +20710,42 @@ end end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 7 i32.const 1 i32.const 11 i32.const 4320 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#reverse - local.tee $1 - i32.store $0 offset=76 + local.tee $2 + i32.store offset=72 i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length - local.set $7 + local.set $4 loop $for-loop|3 local.get $0 - local.get $7 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 local.get $0 call $~lib/array/Array#__get - local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $8 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length local.get $0 i32.sub @@ -21490,46 +20768,42 @@ end end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 8 i32.const 1 i32.const 11 i32.const 4368 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#reverse - local.tee $1 - i32.store $0 offset=80 + local.tee $2 + i32.store offset=76 i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length - local.set $7 + local.set $4 loop $for-loop|4 local.get $0 - local.get $7 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 local.get $0 call $~lib/array/Array#__get - local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $8 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length local.get $0 i32.sub @@ -21552,46 +20826,42 @@ end end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 9 i32.const 1 i32.const 11 i32.const 4416 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#reverse - local.tee $1 - i32.store $0 offset=84 + local.tee $2 + i32.store offset=80 i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length - local.set $7 + local.set $4 loop $for-loop|5 local.get $0 - local.get $7 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 local.get $0 call $~lib/array/Array#__get - local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $8 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length local.get $0 i32.sub @@ -21616,7 +20886,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 44 i32.const 0 @@ -21634,7 +20904,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 42 i32.const 0 @@ -21654,7 +20924,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 45 i32.const 0 @@ -21674,7 +20944,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const 100 @@ -21694,7 +20964,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const -100 @@ -21714,7 +20984,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const -2 @@ -21734,7 +21004,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const -4 @@ -21754,7 +21024,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const 0 @@ -21774,7 +21044,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const 1 @@ -21794,7 +21064,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const 2 @@ -21816,12 +21086,13 @@ i32.const 9 i32.const 4464 call $~lib/rt/__newArray - local.set $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -21830,18 +21101,17 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.store $0 - block $__inlined_func$~lib/array/Array#indexOf - local.get $0 - i32.load $0 offset=12 - local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + block $__inlined_func$~lib/array/Array#indexOf$714 + local.get $2 + i32.load offset=12 + local.tee $4 i32.eqz - local.get $1 + local.get $4 i32.const 0 i32.le_s i32.or @@ -21851,26 +21121,26 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const -1 - local.set $3 - br $__inlined_func$~lib/array/Array#indexOf + local.set $0 + br $__inlined_func$~lib/array/Array#indexOf$714 end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|016 - local.get $1 - local.get $3 - i32.gt_s + local.get $2 + i32.store + local.get $2 + i32.load offset=4 + local.set $2 + loop $while-continue|05 + local.get $0 + local.get $4 + i32.lt_s if + local.get $2 local.get $0 - local.get $3 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load f32.const nan:0x400000 f32.eq if @@ -21878,13 +21148,13 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/array/Array#indexOf + br $__inlined_func$~lib/array/Array#indexOf$714 end - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 - br $while-continue|016 + local.set $0 + br $while-continue|05 end end global.get $~lib/memory/__stack_pointer @@ -21892,9 +21162,9 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const -1 - local.set $3 + local.set $0 end - local.get $3 + local.get $0 i32.const -1 i32.ne if @@ -21910,14 +21180,13 @@ i32.const 12 i32.const 4496 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 + local.get $2 + i32.store i32.const 0 - local.set $3 - local.get $1 + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -21926,18 +21195,17 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.store $0 - block $__inlined_func$~lib/array/Array#indexOf - local.get $0 - i32.load $0 offset=12 - local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + block $__inlined_func$~lib/array/Array#indexOf$715 + local.get $2 + i32.load offset=12 + local.tee $4 i32.eqz - local.get $1 + local.get $4 i32.const 0 i32.le_s i32.or @@ -21947,26 +21215,26 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const -1 - local.set $3 - br $__inlined_func$~lib/array/Array#indexOf + local.set $0 + br $__inlined_func$~lib/array/Array#indexOf$715 end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|021 - local.get $1 - local.get $3 - i32.gt_s + local.get $2 + i32.store + local.get $2 + i32.load offset=4 + local.set $2 + loop $while-continue|07 + local.get $0 + local.get $4 + i32.lt_s if + local.get $2 local.get $0 - local.get $3 i32.const 3 i32.shl i32.add - f64.load $0 + f64.load f64.const nan:0x8000000000000 f64.eq if @@ -21974,13 +21242,13 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/array/Array#indexOf + br $__inlined_func$~lib/array/Array#indexOf$715 end - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 - br $while-continue|021 + local.set $0 + br $while-continue|07 end end global.get $~lib/memory/__stack_pointer @@ -21988,9 +21256,9 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const -1 - local.set $3 + local.set $0 end - local.get $3 + local.get $0 i32.const -1 i32.ne if @@ -22008,10 +21276,10 @@ i32.const 4528 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=88 + i32.store offset=84 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 1 global.set $~argumentsLength local.get $0 @@ -22029,7 +21297,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 1 global.set $~argumentsLength local.get $0 @@ -22047,7 +21315,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2 i32.const 3 @@ -22064,7 +21332,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2 i32.const 2 @@ -22079,7 +21347,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2 i32.const -2 @@ -22094,7 +21362,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2 i32.const -1 @@ -22112,7 +21380,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 44 i32.const 0 @@ -22130,7 +21398,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 42 i32.const 0 @@ -22148,7 +21416,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 45 i32.const 0 @@ -22164,7 +21432,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const 100 @@ -22180,7 +21448,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const -100 @@ -22198,7 +21466,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const -2 @@ -22216,7 +21484,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const -4 @@ -22234,7 +21502,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const 0 @@ -22252,7 +21520,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const 1 @@ -22270,7 +21538,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 43 i32.const 2 @@ -22285,20 +21553,19 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#includes (result i32) + block $__inlined_func$~lib/array/Array#includes$716 (result i32) i32.const 1 i32.const 2 i32.const 9 i32.const 4576 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 + local.get $2 + i32.store i32.const 0 - local.set $3 - local.get $1 + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -22307,17 +21574,16 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=12 + local.tee $4 i32.eqz - local.get $1 + local.get $4 i32.const 0 i32.le_s i32.or @@ -22327,27 +21593,27 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$~lib/array/Array#includes + br $__inlined_func$~lib/array/Array#includes$716 end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|026 - local.get $1 - local.get $3 - i32.gt_s + local.get $2 + i32.store + local.get $2 + i32.load offset=4 + local.set $2 + loop $while-continue|09 + local.get $0 + local.get $4 + i32.lt_s if + local.get $2 local.get $0 - local.get $3 i32.const 2 i32.shl i32.add - f32.load $0 - local.tee $6 - local.get $6 + f32.load + local.tee $7 + local.get $7 f32.ne if global.get $~lib/memory/__stack_pointer @@ -22355,13 +21621,13 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/array/Array#includes + br $__inlined_func$~lib/array/Array#includes$716 end - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 - br $while-continue|026 + local.set $0 + br $while-continue|09 end end global.get $~lib/memory/__stack_pointer @@ -22379,20 +21645,19 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#includes (result i32) + block $__inlined_func$~lib/array/Array#includes$717 (result i32) i32.const 1 i32.const 3 i32.const 12 i32.const 4608 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 + local.get $2 + i32.store i32.const 0 - local.set $3 - local.get $1 + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -22401,17 +21666,16 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=12 + local.tee $4 i32.eqz - local.get $1 + local.get $4 i32.const 0 i32.le_s i32.or @@ -22421,27 +21685,27 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$~lib/array/Array#includes + br $__inlined_func$~lib/array/Array#includes$717 end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|031 - local.get $1 - local.get $3 - i32.gt_s + local.get $2 + i32.store + local.get $2 + i32.load offset=4 + local.set $2 + loop $while-continue|011 + local.get $0 + local.get $4 + i32.lt_s if + local.get $2 local.get $0 - local.get $3 i32.const 3 i32.shl i32.add - f64.load $0 - local.tee $5 - local.get $5 + f64.load + local.tee $6 + local.get $6 f64.ne if global.get $~lib/memory/__stack_pointer @@ -22449,13 +21713,13 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/array/Array#includes + br $__inlined_func$~lib/array/Array#includes$717 end - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 - br $while-continue|031 + local.set $0 + br $while-continue|011 end end global.get $~lib/memory/__stack_pointer @@ -22476,7 +21740,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 1 i32.const 1 @@ -22485,7 +21749,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 4 @@ -22501,7 +21765,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $std/array/internalCapacity i32.const 8 @@ -22517,7 +21781,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -22534,7 +21798,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $~lib/array/Array#__get @@ -22555,30 +21819,30 @@ i32.const 4640 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 i32.const 1 global.set $~argumentsLength local.get $0 i32.const 0 call $~lib/array/Array#splice@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 4688 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22592,18 +21856,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 4736 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22622,29 +21886,29 @@ i32.const 4768 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 local.get $0 i32.const 0 i32.const 0 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 4816 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22658,18 +21922,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 4848 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22688,30 +21952,30 @@ i32.const 4896 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 i32.const 1 global.set $~argumentsLength local.get $0 i32.const 2 call $~lib/array/Array#splice@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 3 i32.const 2 i32.const 4 i32.const 4944 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22725,18 +21989,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 4976 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22755,29 +22019,29 @@ i32.const 5008 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 local.get $0 i32.const 2 i32.const 2 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 5056 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22791,18 +22055,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 3 i32.const 2 i32.const 4 i32.const 5088 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22821,29 +22085,29 @@ i32.const 5120 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 local.get $0 i32.const 0 i32.const 1 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5168 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22857,18 +22121,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 4 i32.const 2 i32.const 4 i32.const 5200 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22887,30 +22151,30 @@ i32.const 5248 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 i32.const 1 global.set $~argumentsLength local.get $0 i32.const -1 call $~lib/array/Array#splice@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5296 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22924,18 +22188,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 4 i32.const 2 i32.const 4 i32.const 5328 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22954,30 +22218,30 @@ i32.const 5376 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 i32.const 1 global.set $~argumentsLength local.get $0 i32.const -2 call $~lib/array/Array#splice@varargs - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 5424 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -22991,18 +22255,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 3 i32.const 2 i32.const 4 i32.const 5456 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23021,29 +22285,29 @@ i32.const 5488 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 local.get $0 i32.const -2 i32.const 1 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5536 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23057,18 +22321,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 4 i32.const 2 i32.const 4 i32.const 5568 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23087,29 +22351,29 @@ i32.const 5616 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 local.get $0 i32.const -7 i32.const 1 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 5664 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23123,18 +22387,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 4 i32.const 2 i32.const 4 i32.const 5696 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23153,29 +22417,29 @@ i32.const 5744 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 local.get $0 i32.const -2 i32.const -1 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 5792 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23189,18 +22453,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 5824 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23219,29 +22483,29 @@ i32.const 5872 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 local.get $0 i32.const 1 i32.const -2 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 5920 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23255,18 +22519,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 5952 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23285,29 +22549,29 @@ i32.const 6000 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 local.get $0 i32.const 4 i32.const 0 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6048 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23321,18 +22585,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 6080 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23351,29 +22615,29 @@ i32.const 6128 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 local.get $0 i32.const 7 i32.const 0 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6176 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23387,18 +22651,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 6208 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23417,29 +22681,29 @@ i32.const 6256 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=48 local.get $0 i32.const 7 i32.const 5 call $~lib/array/Array#splice - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 0 i32.const 2 i32.const 4 i32.const 6304 call $~lib/rt/__newArray - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $1 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $2 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23453,18 +22717,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 6336 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -23483,20 +22747,20 @@ i32.const 6384 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=96 + i32.store offset=92 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 i32.const 1 call $~lib/array/Array#splice - local.tee $1 - i32.store $0 offset=100 + local.tee $2 + i32.store offset=96 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length if i32.const 0 @@ -23508,7 +22772,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length if @@ -23520,58 +22784,53 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 5 i32.const 2 i32.const 10 i32.const 0 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=104 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=108 - local.get $1 + local.tee $2 + i32.store offset=100 + local.get $2 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 1 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 2 i32.const 3 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 3 i32.const 4 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 4 i32.const 5 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $0 - local.get $1 - i32.store $0 offset=96 + local.get $2 + i32.store offset=92 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.const 2 call $~lib/array/Array#splice local.tee $0 - i32.store $0 offset=100 + i32.store offset=96 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -23586,16 +22845,16 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/array/Array#__get - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - i32.load $0 + local.get $4 + i32.store + local.get $4 + i32.load i32.const 3 i32.ne if @@ -23608,16 +22867,16 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1 call $~lib/array/Array#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 4 i32.ne if @@ -23629,9 +22888,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 3 i32.ne @@ -23644,17 +22903,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 i32.const 0 call $~lib/array/Array#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -23666,17 +22925,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 i32.const 1 call $~lib/array/Array#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 2 i32.ne if @@ -23688,17 +22947,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 + local.get $2 + i32.store offset=8 + local.get $2 i32.const 2 call $~lib/array/Array#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 5 i32.ne if @@ -23710,40 +22969,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=112 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=116 - local.get $1 + local.tee $2 + i32.store offset=104 + local.get $2 i32.const 0 i32.const 1 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 1 i32.const 0 call $~lib/array/Array#__set - local.get $1 + local.get $2 i32.const 2 i32.const 2 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $0 - local.get $1 - i32.store $0 offset=120 + local.get $2 + i32.store offset=108 global.get $~lib/memory/__stack_pointer - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $2 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -23753,107 +23006,101 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=12 - local.tee $7 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=12 + local.tee $4 i32.const 0 - local.get $7 + local.get $4 i32.const 0 i32.le_s select local.set $8 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 1 - local.get $7 + local.get $4 local.get $8 i32.sub - local.tee $3 - local.get $3 + local.tee $9 + local.get $9 i32.const 1 i32.gt_s select - local.tee $3 + local.tee $9 i32.const 0 - local.get $3 + local.get $9 i32.const 0 i32.gt_s select - local.tee $3 + local.tee $9 i32.const 2 i32.const 13 i32.const 0 call $~lib/rt/__newArray - local.tee $9 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer local.tee $10 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=4 - local.set $11 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $1 - i32.store $0 - local.get $11 - local.get $1 - i32.load $0 offset=4 - local.tee $10 + i32.store + local.get $10 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.load offset=4 + local.tee $11 local.get $8 i32.const 2 i32.shl i32.add - local.tee $11 - local.get $3 + local.tee $12 + local.get $9 i32.const 2 i32.shl - memory.copy $0 $0 - local.get $3 + memory.copy local.get $8 + local.get $9 i32.add local.tee $8 - local.get $7 + local.get $4 i32.ne if + local.get $12 local.get $11 - local.get $10 local.get $8 i32.const 2 i32.shl i32.add - local.get $7 + local.get $4 local.get $8 i32.sub i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy end global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $1 - i32.store $0 - local.get $1 - local.get $7 - local.get $3 + local.get $2 + i32.store + local.get $2 + local.get $4 + local.get $9 i32.sub - i32.store $0 offset=12 - 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 $0 - local.get $9 - i32.store $0 offset=124 + local.get $10 + i32.store offset=112 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 - local.get $9 + local.get $10 + i32.store + local.get $10 call $~lib/array/Array#get:length i32.const 1 i32.ne @@ -23866,15 +23113,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $9 - i32.store $0 offset=8 - local.get $0 - local.get $9 + local.get $10 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 i32.const 0 call $~lib/array/Array#__get local.tee $0 - i32.store $0 offset=128 + i32.store offset=116 local.get $0 i32.eqz if @@ -23887,9 +23133,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -23901,9 +23147,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length i32.const 2 i32.ne @@ -23916,9 +23162,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 0 call $~lib/array/Array#__get if @@ -23930,15 +23176,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 1 call $~lib/array/Array#__get local.tee $0 - i32.store $0 offset=132 + i32.store offset=120 local.get $0 i32.eqz if @@ -23951,9 +23196,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 2 i32.ne if @@ -23967,7 +23212,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 0 @@ -23975,7 +23220,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 1 i32.const 1 @@ -23983,7 +23228,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 i32.const 2 @@ -23991,7 +23236,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3 i32.const 3 @@ -23999,10 +23244,10 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 6672 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6672 call $~lib/array/Array#findIndex @@ -24017,14 +23262,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 6704 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 6704 call $~lib/array/Array#findIndex global.set $std/array/i @@ -24040,14 +23284,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 6736 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 6736 call $~lib/array/Array#findIndex global.set $std/array/i @@ -24063,14 +23306,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 6768 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 6768 call $~lib/array/Array#findIndex global.set $std/array/i @@ -24088,7 +23330,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 8 @@ -24102,14 +23344,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 6800 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 6800 call $~lib/array/Array#findIndex global.set $std/array/i @@ -24127,38 +23368,38 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 6832 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6832 call $~lib/array/Array#findIndex @@ -24177,7 +23418,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -24193,14 +23434,14 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#push @@ -24211,13 +23452,13 @@ i32.const 6864 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=136 + i32.store offset=124 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 6912 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6912 call $~lib/array/Array#findLastIndex @@ -24232,12 +23473,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 6944 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6944 call $~lib/array/Array#findLastIndex @@ -24254,12 +23494,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 6976 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6976 call $~lib/array/Array#findLastIndex @@ -24276,12 +23515,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7008 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7008 call $~lib/array/Array#findLastIndex @@ -24298,14 +23536,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7040 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 7040 call $~lib/array/Array#every i32.const 1 @@ -24319,14 +23556,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7072 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 7072 call $~lib/array/Array#every if @@ -24338,14 +23574,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7104 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 7104 call $~lib/array/Array#every i32.const 1 @@ -24361,7 +23596,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 8 @@ -24375,14 +23610,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7136 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 7136 call $~lib/array/Array#every if @@ -24396,38 +23630,38 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 7168 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7168 call $~lib/array/Array#every @@ -24444,7 +23678,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -24460,24 +23694,24 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 7200 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7200 call $~lib/array/Array#some @@ -24492,14 +23726,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7232 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 7232 call $~lib/array/Array#some if @@ -24511,14 +23744,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7264 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 7264 call $~lib/array/Array#some if @@ -24532,7 +23764,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 8 @@ -24546,14 +23778,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7296 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 7296 call $~lib/array/Array#some i32.const 1 @@ -24569,38 +23800,38 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 7328 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7328 call $~lib/array/Array#some @@ -24615,7 +23846,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -24631,14 +23862,14 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#push @@ -24647,10 +23878,10 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 7360 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7360 call $~lib/array/Array#forEach @@ -24668,14 +23899,13 @@ i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7392 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 7392 call $~lib/array/Array#forEach global.get $std/array/i @@ -24692,7 +23922,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 8 @@ -24708,14 +23938,13 @@ i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7424 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 7424 call $~lib/array/Array#forEach global.get $std/array/i @@ -24732,28 +23961,28 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop @@ -24762,10 +23991,10 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 7456 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7456 call $~lib/array/Array#forEach @@ -24783,7 +24012,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -24799,31 +24028,31 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 7488 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7488 call $~lib/array/Array#forEach global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 100 @@ -24837,65 +24066,64 @@ unreachable end i32.const 0 - local.set $3 + local.set $0 loop $for-loop|6 - local.get $3 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#pop drop - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|6 end end global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 - i32.store $0 + local.tee $2 + i32.store global.get $~lib/memory/__stack_pointer i32.const 9296 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -24903,110 +24131,105 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - local.get $3 - i32.store $0 - local.get $1 - local.get $3 - i32.load $0 offset=12 - local.tee $7 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=12 + local.tee $8 i32.const 2 i32.const 16 i32.const 0 call $~lib/rt/__newArray - local.tee $8 - i32.store $0 offset=4 + local.tee $9 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=4 - local.set $9 + local.get $9 + i32.store + local.get $9 + i32.load offset=4 + local.set $10 i32.const 0 - local.set $1 - loop $for-loop|039 + local.set $4 + loop $for-loop|012 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $1 - local.get $7 - local.get $3 - i32.load $0 offset=12 - local.tee $10 - local.get $7 - local.get $10 + local.get $2 + i32.store + local.get $4 + local.get $8 + local.get $2 + i32.load offset=12 + local.tee $11 + local.get $8 + local.get $11 i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $10 - local.get $3 - i32.store $0 offset=12 - local.get $1 + local.get $2 + i32.store offset=8 + local.get $4 i32.const 2 i32.shl local.tee $11 - local.get $3 - i32.load $0 offset=4 + local.get $2 + i32.load offset=4 i32.add - i32.load $0 + i32.load local.set $12 - local.get $10 - local.get $3 - i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store i32.const 3 global.set $~argumentsLength - local.get $10 + global.get $~lib/memory/__stack_pointer local.get $12 - local.get $1 - local.get $3 + local.get $4 + local.get $2 i32.const 9296 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - local.tee $10 - i32.store $0 offset=16 - local.get $9 + i32.load + call_indirect (type $1) + local.tee $12 + i32.store offset=12 + local.get $10 local.get $11 i32.add - local.get $10 - i32.store $0 - local.get $10 - if - local.get $8 - local.get $10 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 + local.get $12 + i32.store + local.get $9 + local.get $12 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $4 i32.const 1 i32.add - local.set $1 - br $for-loop|039 + local.set $4 + br $for-loop|012 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $8 - i32.store $0 offset=140 + local.get $9 + i32.store offset=128 global.get $~lib/memory/__stack_pointer - local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $3 - i32.store $0 + local.tee $2 + i32.store global.get $~lib/memory/__stack_pointer i32.const 9328 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -25014,94 +24237,91 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 i64.const 0 - i64.store $0 offset=8 - local.get $1 - local.get $3 - i32.store $0 - local.get $1 - local.get $3 - i32.load $0 offset=12 - local.tee $7 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load offset=12 + local.tee $8 i32.const 2 i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $8 - i32.store $0 offset=4 + local.tee $9 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=4 - local.set $9 + local.get $9 + i32.store + local.get $9 + i32.load offset=4 + local.set $10 i32.const 0 - local.set $1 - loop $for-loop|043 + local.set $4 + loop $for-loop|013 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $1 - local.get $7 - local.get $3 - i32.load $0 offset=12 - local.tee $10 - local.get $7 - local.get $10 + local.get $2 + i32.store + local.get $4 + local.get $8 + local.get $2 + i32.load offset=12 + local.tee $11 + local.get $8 + local.get $11 i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $10 - local.get $3 - i32.store $0 offset=12 - local.get $1 + local.get $2 + i32.store offset=8 + local.get $4 i32.const 2 i32.shl local.tee $11 - local.get $3 - i32.load $0 offset=4 + local.get $2 + i32.load offset=4 i32.add - i32.load $0 + i32.load local.set $12 - local.get $10 - local.get $3 - i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store i32.const 3 global.set $~argumentsLength - local.get $9 + local.get $10 local.get $11 i32.add local.get $12 - local.get $1 - local.get $3 + local.get $4 + local.get $2 i32.const 9328 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_f32) - f32.store $0 - local.get $1 + i32.load + call_indirect (type $15) + f32.store + local.get $4 i32.const 1 i32.add - local.set $1 - br $for-loop|043 + local.set $4 + br $for-loop|013 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $8 - i32.store $0 offset=144 + local.get $9 + i32.store offset=132 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $9 + i32.store + local.get $9 call $~lib/array/Array#get:length i32.const 4 i32.ne @@ -25114,17 +24334,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $9 + i32.store + local.get $9 i32.const 0 call $~lib/array/Array#__get - local.set $6 global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 - local.get $6 + i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -25141,14 +24359,13 @@ i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9360 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9360 call $~lib/array/Array#map global.get $std/array/i @@ -25165,7 +24382,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 8 @@ -25181,14 +24398,13 @@ i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9392 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9392 call $~lib/array/Array#map global.get $std/array/i @@ -25205,28 +24421,28 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop @@ -25235,10 +24451,10 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 9424 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 9424 call $~lib/array/Array#map @@ -25256,7 +24472,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -25272,33 +24488,33 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 9456 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 i32.const 9456 call $~lib/array/Array#filter local.tee $0 - i32.store $0 offset=148 + i32.store offset=136 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -25314,14 +24530,13 @@ i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9488 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9488 call $~lib/array/Array#filter drop @@ -25339,7 +24554,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 8 @@ -25355,14 +24570,13 @@ i32.const 0 global.set $std/array/i global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9520 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9520 call $~lib/array/Array#filter drop @@ -25380,28 +24594,28 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop @@ -25410,10 +24624,10 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 9552 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 9552 call $~lib/array/Array#filter @@ -25432,7 +24646,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -25448,24 +24662,24 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 9584 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 9584 i32.const 0 @@ -25483,14 +24697,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9616 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9616 i32.const 4 call $~lib/array/Array#reduce @@ -25507,14 +24720,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9648 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9648 i32.const 0 call $~lib/array/Array#reduce @@ -25528,14 +24740,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9680 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9680 i32.const 0 call $~lib/array/Array#reduce @@ -25548,14 +24759,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9712 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9712 i32.const 0 call $~lib/array/Array#reduce @@ -25574,7 +24784,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 8 @@ -25588,14 +24798,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9744 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9744 i32.const 0 call $~lib/array/Array#reduce @@ -25614,38 +24823,38 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 9776 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 9776 i32.const 0 @@ -25665,7 +24874,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -25681,24 +24890,24 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 9808 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 9808 i32.const 0 @@ -25716,14 +24925,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9840 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9840 i32.const 4 call $~lib/array/Array#reduceRight @@ -25740,14 +24948,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9872 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9872 i32.const 0 call $~lib/array/Array#reduceRight @@ -25761,14 +24968,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9904 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9904 i32.const 0 call $~lib/array/Array#reduceRight @@ -25781,14 +24987,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9936 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9936 i32.const 0 call $~lib/array/Array#reduceRight @@ -25807,7 +25012,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 8 @@ -25821,14 +25026,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9968 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 9968 i32.const 0 call $~lib/array/Array#reduceRight @@ -25847,38 +25051,38 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#pop drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 10000 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 10000 i32.const 0 @@ -25898,7 +25102,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length if @@ -25912,54 +25116,54 @@ global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#push i64.const -7046029254386353131 call $~lib/bindings/dom/Math.random i64.reinterpret_f64 - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.eqz select - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor i64.const -49064778989728563 i64.mul - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor i64.const -4265267296055464877 i64.mul - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor @@ -25967,22 +25171,22 @@ global.get $~lib/math/random_state0_64 i64.const -1 i64.xor - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor i64.const -49064778989728563 i64.mul - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor i64.const -4265267296055464877 i64.mul - local.tee $4 - local.get $4 + local.tee $5 + local.get $5 i64.const 33 i64.shr_u i64.xor @@ -25996,250 +25200,246 @@ i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=152 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - i32.store $0 offset=156 + i32.store offset=140 global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=160 + local.tee $2 + i32.store offset=144 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 100 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 80 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=164 + local.tee $2 + i32.store offset=148 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 90 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 90 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=168 + local.tee $2 + i32.store offset=152 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 70 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 95 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=172 + local.tee $2 + i32.store offset=156 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 100 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 100 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=176 + local.tee $2 + i32.store offset=160 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 80 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 110 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=180 + local.tee $2 + i32.store offset=164 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 110 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 115 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=184 + local.tee $2 + i32.store offset=168 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 100 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 120 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 6 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=188 + local.tee $2 + i32.store offset=172 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 70 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 125 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 7 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=192 + local.tee $2 + i32.store offset=176 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 70 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 130 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 8 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=196 + local.tee $2 + i32.store offset=180 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 100 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 135 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 9 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=200 + local.tee $2 + i32.store offset=184 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 75 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 140 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=204 + local.tee $2 + i32.store offset=188 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 70 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 140 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 11 - local.get $1 + local.get $2 call $~lib/array/Array#__set local.get $0 global.set $std/array/inputStabArr @@ -26250,250 +25450,246 @@ i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=208 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - i32.store $0 offset=212 + i32.store offset=192 global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=216 + local.tee $2 + i32.store offset=196 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 70 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 95 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=220 + local.tee $2 + i32.store offset=200 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 70 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 125 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=224 + local.tee $2 + i32.store offset=204 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 70 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 130 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=228 + local.tee $2 + i32.store offset=208 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 70 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 140 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=232 + local.tee $2 + i32.store offset=212 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 75 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 140 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=236 + local.tee $2 + i32.store offset=216 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 80 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 110 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=240 + local.tee $2 + i32.store offset=220 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 90 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 90 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 6 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=244 + local.tee $2 + i32.store offset=224 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 100 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 80 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 7 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=248 + local.tee $2 + i32.store offset=228 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 100 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 100 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 8 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=252 + local.tee $2 + i32.store offset=232 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 100 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 120 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 9 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=256 + local.tee $2 + i32.store offset=236 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 100 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 135 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 - local.get $1 + local.get $2 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=260 + local.tee $2 + i32.store offset=240 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 110 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 115 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 11 - local.get $1 + local.get $2 call $~lib/array/Array#__set local.get $0 global.set $std/array/outputStabArr @@ -26504,28 +25700,28 @@ i32.const 10224 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=264 + i32.store offset=244 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 0 global.set $~argumentsLength local.get $0 call $~lib/array/Array#sort@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 3 i32.const 2 i32.const 9 i32.const 10288 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 call $std/array/isArraysEqual i32.eqz if @@ -26543,28 +25739,28 @@ i32.const 10320 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=268 + i32.store offset=248 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 0 global.set $~argumentsLength local.get $0 call $~lib/array/Array#sort@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 8 i32.const 2 i32.const 9 i32.const 10384 call $~lib/rt/__newArray - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 local.get $0 - local.get $1 + local.get $2 call $std/array/isArraysEqual i32.eqz if @@ -26581,15 +25777,13 @@ i32.const 12 i32.const 10448 call $~lib/rt/__newArray - local.tee $3 - i32.store $0 offset=272 + local.tee $2 + i32.store offset=252 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 + local.get $2 + i32.store i32.const 0 global.set $~argumentsLength - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -26599,34 +25793,21 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 10544 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 10544 - i32.store $0 - end + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 10544 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10544 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $3 - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 - local.get $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -26635,27 +25816,21 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 - local.get $3 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $7 - local.get $1 - local.get $3 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=12 - local.set $8 - local.get $1 - local.get $0 - i32.store $0 - local.get $7 - local.get $8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 10544 + i32.store call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 @@ -26666,20 +25841,20 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 + local.get $2 + i32.store i32.const 8 i32.const 3 i32.const 12 i32.const 10576 call $~lib/rt/__newArray - local.set $0 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - block $__inlined_func$std/array/isArraysEqual (result i32) + local.get $4 + i32.store offset=8 + block $__inlined_func$std/array/isArraysEqual$7 (result i32) i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26689,52 +25864,51 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 0 - i32.store $0 - local.get $7 - local.get $3 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + local.get $4 + i32.store block $folding-inner1 block $folding-inner01 - local.get $0 + local.get $4 call $~lib/array/Array#get:length - local.get $7 + local.get $8 i32.ne br_if $folding-inner01 - local.get $0 - local.get $3 + local.get $2 + local.get $4 i32.eq br_if $folding-inner1 loop $for-loop|02 - local.get $1 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - local.get $1 + local.get $2 + i32.store + local.get $2 + local.get $0 call $~lib/array/Array#__get - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 f64.ne if (result i32) global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 local.get $0 - i32.store $0 - local.get $0 - local.get $1 call $~lib/array/Array#__get - local.tee $5 - local.get $5 + local.tee $6 + local.get $6 f64.ne else i32.const 0 @@ -26742,22 +25916,20 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - local.get $1 + local.get $2 + i32.store + local.get $2 + local.get $0 call $~lib/array/Array#__get i64.reinterpret_f64 i64.const 63 i64.shr_u i32.wrap_i64 - local.set $8 global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 local.get $0 - i32.store $0 - local.get $8 - local.get $0 - local.get $1 call $~lib/array/Array#__get i64.reinterpret_f64 i64.const 63 @@ -26766,26 +25938,26 @@ i32.ne br_if $folding-inner01 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - local.get $1 + local.get $2 + i32.store + local.get $2 + local.get $0 call $~lib/array/Array#__get - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 local.get $0 - i32.store $0 - local.get $0 - local.get $1 call $~lib/array/Array#__get - local.get $5 + local.get $6 f64.ne br_if $folding-inner01 end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|02 end end @@ -26796,7 +25968,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isArraysEqual + br $__inlined_func$std/array/isArraysEqual$7 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26819,15 +25991,13 @@ i32.const 4 i32.const 10672 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=276 + local.tee $0 + i32.store offset=256 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $0 + i32.store i32.const 0 global.set $~argumentsLength - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -26837,35 +26007,22 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $1of14 - block $0of15 - block $outOfRange6 - global.get $~argumentsLength - br_table $0of15 $1of14 $outOfRange6 - end - unreachable - end - i32.const 10720 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 10720 - i32.store $0 - end + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 10720 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10720 + i32.store offset=8 local.get $0 + i32.const 10720 call $~lib/array/Array#sort drop global.get $~lib/memory/__stack_pointer @@ -26873,19 +26030,19 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $0 + i32.store i32.const 5 i32.const 2 i32.const 4 i32.const 10752 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 + local.get $2 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26903,15 +26060,13 @@ i32.const 8 i32.const 10800 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=280 + local.tee $0 + i32.store offset=260 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $0 + i32.store i32.const 0 global.set $~argumentsLength - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -26921,34 +26076,21 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $1of19 - block $0of110 - block $outOfRange11 - global.get $~argumentsLength - br_table $0of110 $1of19 $outOfRange11 - end - unreachable - end - i32.const 10848 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 10848 - i32.store $0 - end + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 10848 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10848 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -26957,27 +26099,21 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.load $0 offset=4 - local.set $7 - local.get $3 - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.load $0 offset=12 - local.set $8 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $7 - local.get $8 + i32.store offset=4 + local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 10848 + i32.store call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 @@ -26988,19 +26124,19 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $0 + i32.store i32.const 5 i32.const 2 i32.const 8 i32.const 10880 call $~lib/rt/__newArray - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 + local.get $2 call $std/array/isArraysEqual i32.eqz if @@ -27017,89 +26153,89 @@ i32.const 4 i32.const 10928 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=284 + local.tee $4 + i32.store offset=264 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 i32.const 4 i32.const 10960 call $~lib/rt/__newArray - local.tee $3 - i32.store $0 offset=288 + local.tee $8 + i32.store offset=268 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 4 i32.const 10992 call $~lib/rt/__newArray - local.tee $7 - i32.store $0 offset=292 + local.tee $9 + i32.store offset=272 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 i32.const 4 i32.const 11024 call $~lib/rt/__newArray - local.tee $8 - i32.store $0 offset=296 + local.tee $10 + i32.store offset=276 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 i32.const 4 i32.const 11072 call $~lib/rt/__newArray - local.tee $9 - i32.store $0 offset=300 + local.tee $11 + i32.store offset=280 global.get $~lib/memory/__stack_pointer i32.const 64 call $std/array/createReverseOrderedArray - local.tee $10 - i32.store $0 offset=304 + local.tee $12 + i32.store offset=284 global.get $~lib/memory/__stack_pointer i32.const 128 call $std/array/createReverseOrderedArray - local.tee $11 - i32.store $0 offset=308 + local.tee $13 + i32.store offset=288 global.get $~lib/memory/__stack_pointer i32.const 1024 call $std/array/createReverseOrderedArray - local.tee $12 - i32.store $0 offset=312 + local.tee $14 + i32.store offset=292 global.get $~lib/memory/__stack_pointer i32.const 10000 call $std/array/createReverseOrderedArray local.tee $0 - i32.store $0 offset=316 + i32.store offset=296 global.get $~lib/memory/__stack_pointer i32.const 512 call $std/array/createRandomOrderedArray - local.tee $13 - i32.store $0 offset=320 + local.tee $2 + i32.store offset=300 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $4 + i32.store + local.get $4 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $8 + i32.store + local.get $8 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 + local.get $8 + i32.store i32.const 1 i32.const 2 i32.const 4 i32.const 11152 call $~lib/rt/__newArray - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $3 - local.get $1 + local.get $4 + i32.store offset=8 + local.get $8 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27112,24 +26248,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $9 + i32.store + local.get $9 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $9 + i32.store i32.const 2 i32.const 2 i32.const 4 i32.const 11184 call $~lib/rt/__newArray - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $7 - local.get $1 + local.get $4 + i32.store offset=8 + local.get $9 + local.get $4 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27142,18 +26278,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $10 + i32.store + local.get $10 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 + local.get $10 + i32.store global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=8 - local.get $8 - local.get $9 + local.get $11 + i32.store offset=8 + local.get $10 + local.get $11 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -27166,18 +26302,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 + local.get $12 + i32.store + local.get $12 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 + local.get $12 + i32.store global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=8 - local.get $10 - local.get $9 + local.get $11 + i32.store offset=8 + local.get $12 + local.get $11 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -27190,18 +26326,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 - local.get $11 + local.get $13 + i32.store + local.get $13 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 + local.get $13 + i32.store global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=8 local.get $11 - local.get $9 + i32.store offset=8 + local.get $13 + local.get $11 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -27214,18 +26350,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 - local.get $12 + local.get $14 + i32.store + local.get $14 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 + local.get $14 + i32.store global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=8 - local.get $12 - local.get $9 + local.get $11 + i32.store offset=8 + local.get $14 + local.get $11 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -27239,17 +26375,17 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=8 + local.get $11 + i32.store offset=8 local.get $0 - local.get $9 + local.get $11 i32.const 4 call $std/array/isArraysEqual i32.eqz @@ -27262,9 +26398,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $13 - i32.store $0 - local.get $13 + local.get $2 + i32.store + local.get $2 call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer i32.const 24 @@ -27275,17 +26411,17 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.const 24 - memory.fill $0 - local.get $0 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -27295,23 +26431,11 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange4 - global.get $~argumentsLength - br_table $1of2 $1of2 $2of2 $outOfRange4 - end - unreachable - end - i32.const 2147483647 - local.set $2 - end + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 - local.get $3 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -27320,109 +26444,82 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=12 - local.tee $7 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=12 + local.tee $4 i32.const 0 - local.get $7 + local.get $4 i32.const 0 i32.le_s select local.set $8 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $7 - i32.add - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $7 - local.get $2 - local.get $7 - i32.lt_s - select - end - local.set $7 - i32.const 0 - local.set $2 - local.get $3 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $4 local.get $8 i32.sub - local.tee $3 + local.tee $4 i32.const 0 - local.get $3 + local.get $4 i32.const 0 i32.gt_s select - local.tee $3 + local.tee $4 i32.const 2 i32.const 23 i32.const 0 call $~lib/rt/__newArray - local.tee $7 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer local.tee $9 - local.get $7 - i32.store $0 - local.get $7 - i32.load $0 offset=4 - local.set $10 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $9 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 + i32.store + local.get $9 + i32.load offset=4 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 local.get $8 i32.const 2 i32.shl i32.add - local.set $1 - local.get $3 + local.set $8 + i32.const 0 + local.set $0 + local.get $4 i32.const 2 i32.shl - local.set $3 - loop $while-continue|05 - local.get $2 - local.get $3 + local.set $4 + loop $while-continue|06 + local.get $0 + local.get $4 i32.lt_u if - local.get $2 + local.get $0 local.get $10 i32.add - local.get $1 - local.get $2 - i32.add - i32.load $0 - local.tee $8 - i32.store $0 + local.get $0 local.get $8 - if - local.get $7 - local.get $8 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 + i32.add + i32.load + local.tee $11 + i32.store + local.get $9 + local.get $11 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 i32.const 4 i32.add - local.set $2 - br $while-continue|05 + local.set $0 + br $while-continue|06 end end global.get $~lib/memory/__stack_pointer @@ -27434,100 +26531,90 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $7 - i32.store $0 - local.get $1 + local.get $9 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11216 - i32.store $0 offset=4 - local.get $0 - local.get $7 + i32.store offset=4 + local.get $9 i32.const 11216 call $~lib/array/Array#sort - local.tee $2 - i32.store $0 offset=12 + local.tee $0 + i32.store offset=12 i32.const 1 - local.set $0 - i32.const 0 - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer global.get $std/array/inputStabArr - local.tee $3 - i32.store $0 - local.get $3 + local.tee $2 + i32.store + local.get $2 call $~lib/array/Array#get:length - local.set $3 - loop $for-loop|050 + local.set $2 + loop $for-loop|014 local.get $1 - local.get $3 + local.get $2 i32.lt_s if block $for-break0 global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $2 - i32.store $0 - local.get $7 - local.get $2 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 local.get $1 call $~lib/array/Array#__get - local.tee $7 - i32.store $0 offset=16 + local.tee $8 + i32.store offset=16 global.get $~lib/memory/__stack_pointer global.get $std/array/outputStabArr - local.tee $8 - i32.store $0 + local.tee $9 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $9 local.get $1 call $~lib/array/Array#__get - local.tee $8 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - i32.load $0 - local.set $9 + local.tee $9 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 - local.get $9 + i32.store local.get $8 - i32.load $0 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + i32.load i32.ne if (result i32) i32.const 1 else global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $7 - i32.store $0 - local.get $7 - i32.load $0 offset=4 - local.set $7 - local.get $9 local.get $8 - i32.store $0 - local.get $7 + i32.store local.get $8 - i32.load $0 offset=4 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store + local.get $9 + i32.load offset=4 i32.ne end if i32.const 0 - local.set $0 + local.set $4 br $for-break0 end local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|050 + br $for-loop|014 end end end - local.get $0 + local.get $4 i32.eqz if i32.const 0 @@ -27545,52 +26632,49 @@ i32.const 64 call $std/array/createRandomOrderedArray local.tee $0 - i32.store $0 offset=324 + i32.store offset=304 global.get $~lib/memory/__stack_pointer i32.const 257 call $std/array/createRandomOrderedArray local.tee $1 - i32.store $0 offset=328 + i32.store offset=308 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 11248 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 11248 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 11280 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 11280 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 11312 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 11312 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 11344 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 11344 call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -27600,13 +26684,13 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -27615,148 +26699,142 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 29 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 + local.tee $2 + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store + local.get $2 i32.const 0 - i32.store $0 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=4 - local.get $7 - local.get $3 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=8 - local.get $7 - local.get $3 - i32.store $0 offset=4 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=12 - local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 32 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=8 + local.tee $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $2 + local.get $4 + i32.store + local.get $2 + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $3 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $3 - local.get $7 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $2 + i32.store offset=4 + local.get $2 + local.get $4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $3 - i32.store $0 offset=4 - local.get $3 - local.get $7 - i32.store $0 offset=4 - local.get $8 - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 32 - i32.store $0 offset=8 - local.get $8 - local.get $3 - i32.store $0 offset=4 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 - i32.store $0 offset=12 - local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $3 - i32.store $0 - loop $for-loop|07 - local.get $1 + i32.store + i32.const 0 + local.set $0 + loop $for-loop|015 + 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 $2 - i32.store $0 offset=4 + local.tee $4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $2 + local.get $4 + i32.store offset=8 + local.get $4 i32.const 0 i32.const 1 - local.get $1 + local.get $0 i32.sub call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 - local.get $3 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|07 + local.set $0 + br $for-loop|015 end end global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.store $0 offset=332 + local.get $2 + i32.store offset=312 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $3 - i32.store $0 - local.get $0 i32.const 11376 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + local.get $2 i32.const 11376 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 0 - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -27766,13 +26844,13 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -27781,101 +26859,99 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 32 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 + local.tee $2 + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.store + local.get $2 + i32.const 0 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=4 - local.get $7 - local.get $3 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=8 - local.get $7 - local.get $3 - i32.store $0 offset=4 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 - i32.store $0 offset=12 - local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 2048 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=8 + local.tee $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $3 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $3 - local.get $7 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $4 + i32.store offset=12 + local.get $2 + local.get $4 + i32.store + local.get $2 + local.get $4 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $3 - i32.store $0 offset=4 - local.get $3 - local.get $7 - i32.store $0 offset=4 - local.get $8 - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 + local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2048 - i32.store $0 offset=8 - local.get $8 - local.get $3 - i32.store $0 offset=4 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 i32.const 512 - i32.store $0 offset=12 - local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $2 - local.get $3 - i32.store $0 - loop $for-loop|09 - local.get $1 + i32.store + i32.const 0 + local.set $0 + loop $for-loop|06 + local.get $0 i32.const 512 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $3 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -27884,57 +26960,53 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 31 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $4 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 511 - local.get $1 + local.get $0 i32.sub - i32.store $0 - local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 local.get $2 - i32.store $0 offset=8 - local.get $3 - local.get $1 - local.get $2 + local.get $0 + local.get $4 call $~lib/array/Array#__set - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|09 + local.set $0 + br $for-loop|06 end end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $3 - i32.store $0 offset=336 + local.get $2 + i32.store offset=316 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $3 - i32.store $0 - local.get $0 i32.const 11408 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + local.get $2 i32.const 11408 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer @@ -27943,23 +27015,21 @@ i32.const 34 i32.const 11600 call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=340 + local.tee $0 + i32.store offset=320 global.get $~lib/memory/__stack_pointer i32.const 7 i32.const 2 i32.const 34 i32.const 11648 call $~lib/rt/__newArray - local.tee $3 - i32.store $0 offset=344 + local.tee $2 + i32.store offset=324 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + local.get $0 + i32.store i32.const 1 global.set $~argumentsLength - i32.const 0 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -27969,36 +27039,21 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $1of153 - block $0of154 - block $outOfRange55 - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of154 $1of153 $outOfRange55 - end - unreachable - end - i32.const 11696 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 11696 - i32.store $0 - end + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 11696 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 - local.get $1 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11696 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -28007,29 +27062,28 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - block $__inlined_func$std/array/isSorted<~lib/string/String|null> (result i32) - local.get $1 - local.get $2 - i32.store $0 offset=8 - local.get $1 + i64.store offset=8 + block $__inlined_func$std/array/isSorted<~lib/string/String|null>$662 (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 11696 + i32.store offset=12 local.get $0 + i32.const 11696 call $~lib/array/Array#sort - local.set $7 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $4 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + i32.const 11696 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -28039,29 +27093,28 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $8 i64.const 0 - i64.store $0 - local.get $8 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 local.set $1 - local.get $8 - local.get $7 - i32.store $0 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 call $~lib/array/Array#get:length local.set $8 - loop $for-loop|017 + loop $for-loop|07 local.get $1 local.get $8 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 + local.get $4 + i32.store offset=8 + local.get $4 local.get $1 i32.const 1 i32.sub @@ -28069,24 +27122,24 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 + local.get $4 + i32.store offset=8 + local.get $4 local.get $1 call $~lib/array/Array#__get local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=4 + i32.store offset=4 i32.const 2 global.set $~argumentsLength local.get $9 local.get $10 - local.get $0 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 11696 + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -28095,13 +27148,13 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isSorted<~lib/string/String|null> + br $__inlined_func$std/array/isSorted<~lib/string/String|null>$662 end local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|017 + br $for-loop|07 end end global.get $~lib/memory/__stack_pointer @@ -28127,13 +27180,13 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> (result i32) + block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 (result i32) global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -28143,24 +27196,23 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - local.get $2 - i32.store $0 - local.get $2 call $~lib/array/Array#get:length - local.set $0 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $2 + i32.store + local.get $2 call $~lib/array/Array#get:length - local.get $0 + local.get $4 i32.ne if global.get $~lib/memory/__stack_pointer @@ -28168,10 +27220,10 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 end + local.get $0 local.get $2 - local.get $3 i32.eq if global.get $~lib/memory/__stack_pointer @@ -28179,35 +27231,35 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 end i32.const 0 local.set $1 - loop $for-loop|019 - local.get $0 + loop $for-loop|08 local.get $1 - i32.gt_s + local.get $4 + i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $2 + local.get $0 + i32.store offset=8 + local.get $0 local.get $1 call $~lib/array/Array#__get - local.set $7 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 + local.get $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 + local.get $2 + i32.store offset=8 + local.get $2 local.get $1 call $~lib/array/Array#__get - local.set $8 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $9 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -28217,66 +27269,307 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $9 i64.const 0 - i64.store $0 - local.get $9 - local.get $7 - i32.store $0 - local.get $9 + i64.store + global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 - local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 local.get $8 + local.get $9 call $~lib/string/String.__eq i32.eqz - local.set $7 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 if global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null>$748 end local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|019 + br $for-loop|08 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + end + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1184 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~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 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $9 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 0 + i32.store + local.get $9 + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 1600 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + local.get $9 + local.get $1 + i32.store + local.get $9 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 1600 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + local.get $9 + i32.const 400 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store + i32.const 0 + local.set $4 + loop $for-loop|019 + local.get $4 + i32.const 400 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + call $~lib/math/NativeMath.random + f64.const 32 + f64.mul + i32.trunc_sat_f64_s + 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 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 11568 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 11568 + i32.store + i32.const 0 + local.set $1 + loop $for-loop|00 + local.get $1 + local.get $10 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + call $~lib/math/NativeMath.random + i32.const 10028 + i32.load + i32.const 1 + i32.shr_u + f64.convert_i32_s + f64.mul + f64.floor + i32.trunc_sat_f64_s + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 10032 + i32.store + block $__inlined_func$~lib/string/String#charAt$737 + local.get $12 + i32.const 10028 + i32.load + i32.const 1 + i32.shr_u + i32.ge_u + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + local.set $2 + br $__inlined_func$~lib/string/String#charAt$737 + end + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + local.get $2 + local.get $12 + i32.const 1 + i32.shl + i32.const 10032 + i32.add + i32.load16_u + i32.store16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $0 + local.get $2 + call $~lib/string/String.__concat + local.tee $0 + i32.store + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|00 + end end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $9 + local.get $4 + local.get $0 + call $~lib/array/Array#__set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|019 end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1184 - i32.const 3 - call $~lib/builtins/abort - unreachable end global.get $~lib/memory/__stack_pointer - call $std/array/createRandomStringArray - local.tee $0 - i32.store $0 offset=348 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=328 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + local.get $9 + i32.store i32.const 1 global.set $~argumentsLength - i32.const 0 - local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -28286,37 +27579,22 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $1of157 - block $0of158 - block $outOfRange59 - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of158 $1of157 $outOfRange59 - end - unreachable - end - i32.const 11728 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 11728 - i32.store $0 - end + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - local.get $3 - i32.store $0 offset=8 - local.get $0 - local.get $3 + i32.const 11728 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11728 + i32.store offset=8 + local.get $9 + i32.const 11728 call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer i32.const 12 @@ -28330,12 +27608,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 11856 - i32.store $0 offset=352 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -28343,29 +27618,28 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $3 + i32.load offset=4 + local.set $8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.set $0 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 - i32.const 0 - local.set $2 + i32.store i32.const 0 local.set $1 - local.get $3 + i32.const 0 + local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -28375,8 +27649,8 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $__inlined_func$~lib/util/string/joinBooleanArray + i64.store + block $__inlined_func$~lib/util/string/joinBooleanArray$12 local.get $0 i32.const 1 i32.sub @@ -28389,110 +27663,109 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $3 - br $__inlined_func$~lib/util/string/joinBooleanArray + local.set $2 + br $__inlined_func$~lib/util/string/joinBooleanArray$12 end - block $folding-inner010 + block $folding-inner07 local.get $0 i32.eqz if i32.const 11792 i32.const 11824 - local.get $7 - i32.load8_u $0 + local.get $8 + i32.load8_u select - local.set $3 - br $folding-inner010 + local.set $2 + br $folding-inner07 end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 11856 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11852 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.tee $8 + local.tee $9 i32.const 5 i32.add local.get $0 i32.mul i32.const 5 i32.add - local.tee $9 + local.tee $10 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - loop $for-loop|111 + local.tee $2 + i32.store offset=4 + loop $for-loop|18 local.get $0 - local.get $1 + local.get $4 i32.gt_s if - local.get $1 - local.get $7 + local.get $4 + local.get $8 i32.add - i32.load8_u $0 - local.tee $10 + i32.load8_u + local.tee $11 i32.eqz i32.const 4 i32.add - local.set $11 - local.get $3 + local.set $12 local.get $2 + local.get $1 i32.const 1 i32.shl i32.add i32.const 11792 i32.const 11824 - local.get $10 - select local.get $11 + select + local.get $12 i32.const 1 i32.shl - memory.copy $0 $0 - local.get $2 - local.get $11 + memory.copy + local.get $1 + local.get $12 i32.add - local.set $2 - local.get $8 + local.set $1 + local.get $9 if - local.get $3 local.get $2 + local.get $1 i32.const 1 i32.shl i32.add i32.const 11856 - local.get $8 + local.get $9 i32.const 1 i32.shl - memory.copy $0 $0 - local.get $2 - local.get $8 + memory.copy + local.get $1 + local.get $9 i32.add - local.set $2 + local.set $1 end - local.get $1 + local.get $4 i32.const 1 i32.add - local.set $1 - br $for-loop|111 + local.set $4 + br $for-loop|18 end end local.get $0 - local.get $7 + local.get $8 i32.add - i32.load8_u $0 + i32.load8_u local.tee $0 i32.eqz i32.const 4 i32.add - local.set $1 - local.get $3 + local.set $4 local.get $2 + local.get $1 i32.const 1 i32.shl i32.add @@ -28500,31 +27773,31 @@ i32.const 11824 local.get $0 select - local.get $1 + local.get $4 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $1 - local.get $2 + local.get $4 i32.add local.tee $0 - local.get $9 + local.get $10 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $2 + i32.store + local.get $2 local.get $0 call $~lib/string/String#substring - local.set $3 - br $folding-inner010 + local.set $2 + br $folding-inner07 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinBooleanArray + br $__inlined_func$~lib/util/string/joinBooleanArray$12 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -28532,16 +27805,13 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 11888 - i32.store $0 offset=8 - local.get $3 + local.get $2 + i32.store + local.get $2 i32.const 11888 call $~lib/string/String.__eq i32.eqz @@ -28560,22 +27830,15 @@ call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=52 - local.get $1 - i32.const 11568 - i32.store $0 offset=352 + i32.store offset=8 local.get $0 i32.const 11568 call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 11968 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 11968 call $~lib/string/String.__eq @@ -28595,22 +27858,15 @@ call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=52 - local.get $1 - i32.const 12032 - i32.store $0 offset=352 + i32.store offset=8 local.get $0 i32.const 12032 call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 11968 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 11968 call $~lib/string/String.__eq @@ -28630,22 +27886,15 @@ call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=52 - local.get $1 - i32.const 12096 - i32.store $0 offset=352 + i32.store offset=8 local.get $0 i32.const 12096 call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12128 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 12128 call $~lib/string/String.__eq @@ -28665,14 +27914,10 @@ call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=52 - local.get $1 - i32.const 12288 - i32.store $0 offset=352 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -28680,38 +27925,30 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $1 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 12288 - i32.store $0 offset=4 - local.get $2 - local.get $0 + i32.store call $~lib/util/string/joinFloatArray local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13456 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 13456 call $~lib/string/String.__eq @@ -28731,22 +27968,15 @@ call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=52 - local.get $1 - i32.const 11568 - i32.store $0 offset=352 + i32.store offset=8 local.get $0 i32.const 11568 call $~lib/array/Array<~lib/string/String|null>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13568 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 13568 call $~lib/string/String.__eq @@ -28760,18 +27990,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 3 i32.const 2 i32.const 13 i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=356 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=360 + i32.store offset=332 local.get $1 i32.const 0 i32.const 0 @@ -28786,24 +28012,17 @@ i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $0 local.get $1 - i32.store $0 offset=364 + i32.store offset=336 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=52 - global.get $~lib/memory/__stack_pointer - i32.const 11856 - i32.store $0 offset=352 + i32.store offset=8 local.get $1 call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13696 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 13696 call $~lib/string/String.__eq @@ -28817,18 +28036,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 10 i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=368 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=372 + i32.store offset=340 local.get $1 i32.const 0 i32.const 0 @@ -28839,24 +28054,17 @@ i32.const 0 call $std/array/Ref#constructor call $~lib/array/Array#__set - local.get $0 local.get $1 - i32.store $0 offset=376 + i32.store offset=344 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=52 - global.get $~lib/memory/__stack_pointer - i32.const 11856 - i32.store $0 offset=352 + i32.store offset=8 local.get $1 call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13792 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 13792 call $~lib/string/String.__eq @@ -28876,7 +28084,7 @@ i32.const 13888 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=380 + i32.store offset=348 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 @@ -28884,7 +28092,7 @@ i32.const 13920 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=384 + i32.store offset=352 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 @@ -28892,27 +28100,24 @@ i32.const 13952 call $~lib/rt/__newArray local.tee $2 - i32.store $0 offset=388 + i32.store offset=356 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 i32.const 4 i32.const 13984 call $~lib/rt/__newArray - local.tee $3 - i32.store $0 offset=392 + local.tee $4 + i32.store offset=360 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=8 local.get $0 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 11568 call $~lib/string/String.__eq @@ -28927,16 +28132,13 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=52 + i32.store offset=8 local.get $1 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13568 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 13568 call $~lib/string/String.__eq @@ -28951,16 +28153,13 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=52 + i32.store offset=8 local.get $2 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14032 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 14032 call $~lib/string/String.__eq @@ -28974,17 +28173,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=52 - local.get $3 + local.get $4 + i32.store offset=8 + local.get $4 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14064 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 14064 call $~lib/string/String.__eq @@ -29005,16 +28201,13 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=8 local.get $0 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14144 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 14144 call $~lib/string/String.__eq @@ -29035,16 +28228,13 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=8 local.get $0 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14208 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 14208 call $~lib/string/String.__eq @@ -29062,31 +28252,14 @@ i32.const 11 i32.const 14256 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=52 local.get $1 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner2 + i32.store offset=8 + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 11856 - i32.store $0 offset=4 - local.get $1 - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -29094,29 +28267,38 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $2 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.set $3 - local.get $2 - i32.const 11856 - i32.store $0 offset=4 i32.const 0 - local.set $0 + i32.store + 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 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=4 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=12 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 11856 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -29126,12 +28308,12 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $3 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$741 + local.get $1 i32.const 1 i32.sub - local.tee $2 + local.tee $1 i32.const 0 i32.lt_s if @@ -29140,118 +28322,118 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $3 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $2 + br $__inlined_func$~lib/util/string/joinIntegerArray$741 end - block $folding-inner012 - local.get $2 - i32.eqz - if - local.get $7 - i32.load16_u $0 - call $~lib/util/number/utoa32 - local.set $3 - br $folding-inner012 - end + local.get $1 + i32.eqz + if + local.get $4 + i32.load16_u + call $~lib/util/number/utoa32 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 11856 - i32.store $0 - local.get $3 - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $8 - i32.const 10 - i32.add - local.get $2 - i32.mul - i32.const 10 + i32.const 8 i32.add - local.tee $9 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - loop $for-loop|013 - local.get $1 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$741 + end + global.get $~lib/memory/__stack_pointer + i32.const 11856 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 11852 + i32.load + i32.const 1 + i32.shr_u + local.tee $8 + i32.const 10 + i32.add + local.get $1 + i32.mul + i32.const 10 + i32.add + local.tee $9 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|03 + local.get $1 + local.get $3 + i32.gt_s + if local.get $2 - i32.lt_s + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $4 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $8 if - local.get $3 + local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $7 - local.get $1 + i32.const 11856 + local.get $8 i32.const 1 i32.shl - i32.add - i32.load16_u $0 - call $~lib/util/number/itoa_buffered + memory.copy local.get $0 - i32.add - local.set $0 local.get $8 - if - local.get $3 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.const 11856 - local.get $8 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $8 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 i32.add - local.set $1 - br $for-loop|013 + local.set $0 end - end - local.get $3 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - call $~lib/util/number/itoa_buffered - local.get $0 - i32.add - local.tee $0 - local.get $9 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 local.get $3 - local.get $0 - call $~lib/string/String#substring + i32.const 1 + i32.add local.set $3 - br $folding-inner012 + br $for-loop|03 end + end + local.get $9 + local.get $2 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.tee $0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $0 + call $~lib/string/String#substring + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$741 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -29259,20 +28441,17 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14288 - i32.store $0 offset=8 - local.get $3 + local.get $2 + i32.store + local.get $2 i32.const 14288 call $~lib/string/String.__eq i32.eqz @@ -29289,13 +28468,16 @@ i32.const 39 i32.const 14336 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=52 local.get $1 - i32.const 8 + i32.store offset=8 + i32.const 0 + local.set $0 + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -29303,17 +28485,13 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 11856 - i32.store $0 offset=4 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 8 + 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 @@ -29321,29 +28499,24 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $2 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.set $3 - local.get $2 - i32.const 11856 - i32.store $0 offset=4 - i32.const 0 - local.set $0 i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=4 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=12 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 11856 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -29353,12 +28526,12 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $3 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$742 + local.get $1 i32.const 1 i32.sub - local.tee $2 + local.tee $1 i32.const 0 i32.lt_s if @@ -29367,118 +28540,118 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $3 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $2 + br $__inlined_func$~lib/util/string/joinIntegerArray$742 end - block $folding-inner014 - local.get $2 - i32.eqz - if - local.get $7 - i32.load16_s $0 - call $~lib/util/number/itoa32 - local.set $3 - br $folding-inner014 - end + local.get $1 + i32.eqz + if + local.get $4 + i32.load16_s + call $~lib/util/number/itoa32 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 11856 - i32.store $0 - local.get $3 - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $8 - i32.const 11 - i32.add - local.get $2 - i32.mul - i32.const 11 + i32.const 8 i32.add - local.tee $9 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - loop $for-loop|015 - local.get $1 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$742 + end + global.get $~lib/memory/__stack_pointer + i32.const 11856 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 11852 + i32.load + i32.const 1 + i32.shr_u + local.tee $8 + i32.const 11 + i32.add + local.get $1 + i32.mul + i32.const 11 + i32.add + local.tee $9 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + loop $for-loop|05 + local.get $1 + local.get $3 + i32.gt_s + if local.get $2 - i32.lt_s + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $4 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_s + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $8 if - local.get $3 + local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $7 - local.get $1 + i32.const 11856 + local.get $8 i32.const 1 i32.shl - i32.add - i32.load16_s $0 - call $~lib/util/number/itoa_buffered + memory.copy local.get $0 - i32.add - local.set $0 local.get $8 - if - local.get $3 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.const 11856 - local.get $8 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $8 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 i32.add - local.set $1 - br $for-loop|015 + local.set $0 end - end - local.get $3 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - call $~lib/util/number/itoa_buffered - local.get $0 - i32.add - local.tee $0 - local.get $9 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 - local.get $3 - local.get $0 - call $~lib/string/String#substring + i32.const 1 + i32.add local.set $3 - br $folding-inner014 + br $for-loop|05 end + end + local.get $9 + local.get $2 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.tee $0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $0 + call $~lib/string/String#substring + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$742 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -29486,20 +28659,17 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14368 - i32.store $0 offset=8 - local.get $3 + local.get $2 + i32.store + local.get $2 i32.const 14368 call $~lib/string/String.__eq i32.eqz @@ -29519,16 +28689,13 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=8 local.get $0 call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14448 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 14448 call $~lib/string/String.__eq @@ -29548,11 +28715,10 @@ call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=52 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -29560,17 +28726,13 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 - i32.const 11856 - i32.store $0 offset=4 - local.get $1 - i32.const 8 + 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 @@ -29578,42 +28740,34 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $1 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 - local.get $2 - local.get $0 + i32.store call $~lib/util/string/joinIntegerArray local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14560 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 14560 call $~lib/string/String.__eq @@ -29633,11 +28787,10 @@ call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=52 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -29645,17 +28798,13 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 - i32.const 11856 - i32.store $0 offset=4 - local.get $1 - i32.const 8 + 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 @@ -29663,29 +28812,28 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $2 + i32.load offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $3 - local.get $2 + i32.load offset=12 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 + i32.store i32.const 0 local.set $0 i32.const 0 - local.set $1 - local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -29695,12 +28843,12 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $3 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$13 + local.get $2 i32.const 1 i32.sub - local.tee $2 + local.tee $4 i32.const 0 i32.lt_s if @@ -29709,18 +28857,18 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $3 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $2 + br $__inlined_func$~lib/util/string/joinIntegerArray$13 end - block $folding-inner016 - local.get $2 + block $folding-inner09 + local.get $4 i32.eqz if - block $__inlined_func$~lib/util/number/itoa64 (result i32) - local.get $7 - i64.load $0 + block $__inlined_func$~lib/util/number/itoa64$4 (result i32) + local.get $1 + i64.load i64.extend32_s - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -29731,8 +28879,8 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $4 + i32.store + local.get $5 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -29740,68 +28888,68 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 7712 - br $__inlined_func$~lib/util/number/itoa64 + br $__inlined_func$~lib/util/number/itoa64$4 end i64.const 0 - local.get $4 + local.get $5 i64.sub - local.get $4 - local.get $4 + local.get $5 + local.get $5 i64.const 63 i64.shr_u i32.wrap_i64 i32.const 1 i32.shl - local.tee $1 + local.tee $0 select - local.tee $4 + local.tee $5 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.wrap_i64 - local.tee $2 + local.tee $1 i32.const 100000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $2 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $2 + local.get $1 i32.const 1000 i32.ge_u i32.add end else - local.get $2 + local.get $1 i32.const 10000000 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $2 + local.get $1 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $2 + local.get $1 i32.const 100000000 i32.ge_u i32.add @@ -29810,114 +28958,113 @@ local.tee $3 i32.const 1 i32.shl - local.get $1 + local.get $0 i32.add i32.const 2 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.tee $2 + i32.store local.get $0 - local.get $1 - i32.add local.get $2 + i32.add + local.get $1 local.get $3 call $~lib/util/number/utoa32_dec_lut else global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $4 + local.get $5 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $4 + local.get $5 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $4 + local.get $5 i64.const 10000000000 i64.ge_u i32.add else - local.get $4 + local.get $5 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $4 + local.get $5 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $4 + local.get $5 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $4 + local.get $5 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $4 + local.get $5 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $4 + local.get $5 i64.const 1000000000000000000 i64.ge_u i32.add end end - local.tee $2 + local.tee $1 i32.const 1 i32.shl - local.get $1 + local.get $0 i32.add i32.const 2 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.tee $2 + i32.store local.get $0 - local.get $1 - i32.add - local.get $4 local.get $2 + i32.add + local.get $5 + local.get $1 call $~lib/util/number/utoa64_dec_lut end - local.get $1 + local.get $0 if - local.get $0 + local.get $2 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 end - local.set $3 - br $folding-inner016 + local.set $2 + br $folding-inner09 end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 11856 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11852 - i32.load $0 + i32.load i32.const 1 i32.shr_u local.tee $8 i32.const 21 i32.add - local.get $2 + local.get $4 i32.mul i32.const 21 i32.add @@ -29926,31 +29073,31 @@ i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - loop $for-loop|018 - local.get $1 - local.get $2 + local.tee $2 + i32.store offset=4 + loop $for-loop|010 + local.get $3 + local.get $4 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $7 local.get $1 + local.get $3 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load call $~lib/util/number/itoa_buffered local.get $0 i32.add local.set $0 local.get $8 if - local.get $3 + local.get $2 local.get $0 i32.const 1 i32.shl @@ -29959,51 +29106,51 @@ local.get $8 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $0 local.get $8 i32.add local.set $0 end - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 - br $for-loop|018 + local.set $3 + br $for-loop|010 end end - local.get $3 + local.get $9 + local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $7 - local.get $2 + local.get $1 + local.get $4 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load call $~lib/util/number/itoa_buffered local.get $0 i32.add local.tee $0 - local.get $9 - i32.lt_s + i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $2 + i32.store + local.get $2 local.get $0 call $~lib/string/String#substring - local.set $3 - br $folding-inner016 + local.set $2 + br $folding-inner09 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$13 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -30011,20 +29158,17 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14704 - i32.store $0 offset=8 - local.get $3 + local.get $2 + i32.store + local.get $2 i32.const 14704 call $~lib/string/String.__eq i32.eqz @@ -30043,19 +29187,16 @@ i32.const 14864 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=396 + i32.store offset=364 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=8 local.get $0 call $~lib/array/Array<~lib/string/String|null>#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14912 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 14912 call $~lib/string/String.__eq @@ -30076,16 +29217,13 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=8 local.get $0 call $~lib/array/Array<~lib/string/String|null>#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15072 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 15072 call $~lib/string/String.__eq @@ -30099,18 +29237,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=400 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=404 + i32.store offset=368 local.get $1 i32.const 0 i32.const 2 @@ -30127,14 +29261,13 @@ i32.const 15136 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $0 local.get $1 - i32.store $0 offset=408 + i32.store offset=372 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=52 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -30142,17 +29275,13 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 - i32.const 11856 - i32.store $0 offset=4 - local.get $0 - i32.const 8 + 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 @@ -30160,27 +29289,26 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=4 - local.set $2 - local.get $0 + i32.load offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=12 - local.set $3 - local.get $0 + i32.load offset=12 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 + i32.store i32.const 0 - local.set $1 - local.get $0 + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer @@ -30191,12 +29319,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - local.get $3 + memory.fill + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 + local.get $1 i32.const 1 i32.sub - local.tee $3 + local.tee $1 i32.const 0 i32.lt_s if @@ -30205,137 +29333,133 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + local.set $2 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 end - local.get $3 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 + local.get $3 + i32.load local.tee $0 - i32.store $0 + i32.store local.get $0 if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#toString else i32.const 11568 end - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$14 end i32.const 11568 - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 11568 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 + i32.store offset=4 i32.const 11852 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.set $7 - loop $for-loop|020 + local.set $4 + loop $for-loop|011 + local.get $0 local.get $1 - local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $1 + local.get $3 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $8 - i32.store $0 + i32.store local.get $8 if global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $0 - i32.store $0 offset=4 - local.get $9 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 - local.get $9 - local.get $0 + i32.store offset=12 + local.get $2 local.get $8 call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 end - local.get $7 + local.get $4 if global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $0 - i32.store $0 offset=4 - local.get $8 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=12 - local.get $8 - local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 11856 call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|020 + local.set $0 + br $for-loop|011 end end global.get $~lib/memory/__stack_pointer - local.get $2 local.get $3 + local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 + i32.load + local.tee $0 + i32.store + local.get $0 if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=4 local.get $2 - local.get $1 - i32.store $0 offset=16 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $0 call $~lib/array/Array#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 + local.get $0 + i32.store offset=12 local.get $2 local.get $0 - local.get $1 call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 20 @@ -30343,20 +29467,17 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15168 - i32.store $0 offset=8 - local.get $0 + local.get $2 + i32.store + local.get $2 i32.const 15168 call $~lib/string/String.__eq i32.eqz @@ -30369,18 +29490,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 42 i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=412 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=416 + i32.store offset=376 local.get $1 i32.const 0 i32.const 2 @@ -30397,14 +29514,13 @@ i32.const 15248 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $0 local.get $1 - i32.store $0 offset=420 + i32.store offset=380 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=52 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -30412,17 +29528,13 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 - i32.const 11856 - i32.store $0 offset=4 - local.get $0 - i32.const 8 + 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 @@ -30430,27 +29542,26 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=4 - local.set $2 - local.get $0 + i32.load offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=12 - local.set $3 - local.get $0 + i32.load offset=12 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 + i32.store i32.const 0 - local.set $1 - local.get $0 + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer @@ -30461,12 +29572,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - local.get $3 + memory.fill + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 + local.get $1 i32.const 1 i32.sub - local.tee $3 + local.tee $1 i32.const 0 i32.lt_s if @@ -30475,137 +29586,133 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + local.set $2 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 end - local.get $3 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 + local.get $3 + i32.load local.tee $0 - i32.store $0 + i32.store local.get $0 if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array#toString else i32.const 11568 end - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array>$15 end i32.const 11568 - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 11568 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 + i32.store offset=4 i32.const 11852 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.set $7 - loop $for-loop|021 + local.set $4 + loop $for-loop|016 + local.get $0 local.get $1 - local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $1 + local.get $3 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $8 - i32.store $0 + i32.store local.get $8 if global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $0 - i32.store $0 offset=4 - local.get $9 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 - local.get $9 - local.get $0 + i32.store offset=12 + local.get $2 local.get $8 call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 end - local.get $7 + local.get $4 if global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $0 - i32.store $0 offset=4 - local.get $8 - i32.const 11856 - i32.store $0 offset=12 - local.get $8 - local.get $0 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11856 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 11856 call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|021 + local.set $0 + br $for-loop|016 end end global.get $~lib/memory/__stack_pointer - local.get $2 local.get $3 + local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 + i32.load + local.tee $0 + i32.store + local.get $0 if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=4 local.get $2 - local.get $1 - i32.store $0 offset=16 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $0 call $~lib/array/Array#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 + local.get $0 + i32.store offset=12 local.get $2 local.get $0 - local.get $1 call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 20 @@ -30613,20 +29720,17 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15168 - i32.store $0 offset=8 - local.get $0 + local.get $2 + i32.store + local.get $2 i32.const 15168 call $~lib/string/String.__eq i32.eqz @@ -30639,18 +29743,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 i32.const 44 i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=424 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=428 + i32.store offset=384 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 @@ -30658,11 +29758,7 @@ i32.const 0 call $~lib/rt/__newArray local.tee $2 - i32.store $0 offset=432 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 offset=4 - i32.store $0 offset=436 + i32.store offset=388 local.get $2 i32.const 0 i32.const 1 @@ -30675,14 +29771,13 @@ i32.const 0 local.get $2 call $~lib/array/Array#__set - local.get $0 local.get $1 - i32.store $0 offset=440 + i32.store offset=392 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=52 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -30690,17 +29785,13 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 - i32.const 11856 - i32.store $0 offset=4 - local.get $0 - i32.const 8 + 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 @@ -30708,27 +29799,26 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=4 - local.set $2 - local.get $0 + i32.load offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=12 - local.set $3 - local.get $0 + i32.load offset=12 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 + i32.store i32.const 0 - local.set $1 - local.get $0 + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer @@ -30739,12 +29829,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> - local.get $3 + memory.fill + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 + local.get $1 i32.const 1 i32.sub - local.tee $3 + local.tee $1 i32.const 0 i32.lt_s if @@ -30753,137 +29843,133 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> + local.set $2 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 end - local.get $3 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 + local.get $3 + i32.load local.tee $0 - i32.store $0 + i32.store local.get $0 if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/array/Array<~lib/array/Array>#toString else i32.const 11568 end - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>>$16 end i32.const 11568 - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 11568 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=4 + i32.store offset=4 i32.const 11852 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.set $7 - loop $for-loop|022 + local.set $4 + loop $for-loop|017 + local.get $0 local.get $1 - local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $1 + local.get $3 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $8 - i32.store $0 + i32.store local.get $8 if global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $0 - i32.store $0 offset=4 - local.get $9 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 call $~lib/array/Array<~lib/array/Array>#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 - local.get $9 - local.get $0 + i32.store offset=12 + local.get $2 local.get $8 call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 end - local.get $7 + local.get $4 if global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $0 - i32.store $0 offset=4 - local.get $8 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11856 - i32.store $0 offset=12 - local.get $8 - local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 11856 call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|022 + local.set $0 + br $for-loop|017 end end global.get $~lib/memory/__stack_pointer - local.get $2 local.get $3 + local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 + i32.load + local.tee $0 + i32.store + local.get $0 if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=4 local.get $2 - local.get $1 - i32.store $0 offset=16 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=16 + local.get $0 call $~lib/array/Array<~lib/array/Array>#toString - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 + local.get $0 + i32.store offset=12 local.get $2 local.get $0 - local.get $1 call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 20 @@ -30891,20 +29977,17 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13568 - i32.store $0 offset=8 - local.get $0 + local.get $2 + i32.store + local.get $2 i32.const 13568 call $~lib/string/String.__eq i32.eqz @@ -30917,18 +30000,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=444 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=448 + i32.store offset=396 local.get $1 i32.const 0 i32.const 1 @@ -30961,21 +30040,20 @@ i32.const 15408 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $0 local.get $1 - i32.store $0 offset=452 + i32.store offset=400 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/array/Array<~lib/array/Array>#flat - local.tee $0 - i32.store $0 offset=456 + local.tee $1 + i32.store offset=404 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 + local.get $1 + i32.store + local.get $1 call $~lib/array/Array#get:length i32.const 10 i32.ne @@ -30988,19 +30066,19 @@ unreachable end i32.const 0 - local.set $3 + local.set $0 loop $for-loop|7 - local.get $3 + local.get $0 i32.const 10 i32.lt_s if global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 local.get $0 - i32.store $0 - local.get $0 - local.get $3 call $~lib/array/Array#__get - local.get $3 + local.get $0 i32.ne if i32.const 0 @@ -31010,27 +30088,23 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|7 end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 i32.const 45 i32.const 0 call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=460 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 offset=4 - i32.store $0 offset=464 - local.get $2 + local.tee $1 + i32.store offset=408 + local.get $1 i32.const 0 i32.const 1 i32.const 2 @@ -31038,7 +30112,7 @@ i32.const 15472 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 3 i32.const 2 @@ -31046,7 +30120,7 @@ i32.const 15568 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 2 i32.const 3 i32.const 2 @@ -31054,7 +30128,7 @@ i32.const 15696 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 3 i32.const 1 i32.const 2 @@ -31062,18 +30136,12 @@ i32.const 15760 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $0 - local.get $2 - i32.store $0 offset=468 + local.get $1 + i32.store offset=412 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 global.get $~lib/memory/__stack_pointer - local.set $7 - i32.const 0 - local.set $0 - i32.const 0 - local.set $1 + local.get $1 + i32.store global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -31083,150 +30151,146 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 - local.get $2 - i32.store $0 - local.get $2 - i32.load $0 offset=4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=12 local.set $8 - local.get $3 - local.get $2 - i32.store $0 - local.get $2 - i32.load $0 offset=12 - local.set $9 i32.const 0 - local.set $3 + local.set $1 + i32.const 0 + local.set $0 loop $for-loop|023 - local.get $3 - local.get $9 + local.get $0 + local.get $8 i32.lt_s if - local.get $8 local.get $3 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $2 + i32.load + local.tee $4 if (result i32) - local.get $2 - i32.load $0 offset=12 + local.get $4 + i32.load offset=12 else i32.const 0 end - local.get $0 + local.get $1 i32.add - local.set $0 - local.get $3 + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|023 end end global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 2 i32.shl - local.tee $2 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 + local.tee $9 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 34 call $~lib/rt/itcms/__new local.tee $10 - i32.store $0 offset=8 + i32.store offset=8 + local.get $10 + local.get $1 + i32.store offset=12 local.get $10 local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $10 - local.get $2 - i32.store $0 offset=8 + local.get $9 + i32.store offset=4 local.get $10 - local.get $3 - i32.store $0 offset=4 + local.get $9 + i32.store local.get $10 - local.get $3 - i32.store $0 + local.get $9 i32.const 0 - local.set $2 - local.get $3 - if - local.get $10 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link + i32.const 0 + local.set $0 + i32.const 0 + local.set $4 loop $for-loop|124 - local.get $2 - local.get $9 + local.get $4 + local.get $8 i32.lt_s if - local.get $8 - local.get $2 + local.get $3 + local.get $4 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $11 if - local.get $1 - local.get $3 + local.get $0 + local.get $9 i32.add local.get $11 - i32.load $0 offset=4 + i32.load offset=4 local.get $11 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl local.tee $11 - memory.copy $0 $0 - local.get $1 + memory.copy + local.get $0 local.get $11 i32.add - local.set $1 + local.set $0 end - local.get $2 + local.get $4 i32.const 1 i32.add - local.set $2 + local.set $4 br $for-loop|124 end end i32.const 0 - local.set $2 + local.set $0 loop $for-loop|225 local.get $0 - local.get $2 - i32.gt_s + local.get $1 + i32.lt_s if - local.get $3 - local.get $2 + local.get $9 + local.get $9 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $1 - if - local.get $3 - local.get $1 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 + i32.load + i32.const 1 + call $~lib/rt/itcms/__link + local.get $0 i32.const 1 i32.add - local.set $2 + local.set $0 br $for-loop|225 end end @@ -31234,20 +30298,19 @@ i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 local.get $10 - i32.store $0 offset=472 + i32.store offset=416 global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 2 i32.const 34 i32.const 15792 call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=476 + local.tee $1 + i32.store offset=420 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/array/Array#get:length i32.const 8 @@ -31261,36 +30324,36 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/array/Array#get:length local.get $1 + i32.store + local.get $1 + call $~lib/array/Array#get:length + local.get $0 i32.gt_s if global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=52 + i32.store offset=48 local.get $10 - local.get $1 + local.get $0 call $~lib/array/Array#__get local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=52 - local.get $0 local.get $1 + i32.store offset=48 + local.get $1 + local.get $0 call $~lib/array/Array#__get local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $3 call $~lib/string/String.__eq @@ -31303,26 +30366,22 @@ 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|8 end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 29 i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=480 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=484 + i32.store offset=424 local.get $1 i32.const 0 i32.const 0 @@ -31339,18 +30398,17 @@ i32.const 15888 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $0 local.get $1 - i32.store $0 offset=488 + i32.store offset=428 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/array/Array<~lib/array/Array>#flat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length if @@ -31362,19 +30420,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=492 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 offset=4 - i32.store $0 offset=496 - local.get $2 + local.tee $1 + i32.store offset=432 + local.get $1 i32.const 0 i32.const 1 i32.const 2 @@ -31382,7 +30436,7 @@ i32.const 15920 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $2 + local.get $1 i32.const 1 i32.const 1 i32.const 2 @@ -31390,19 +30444,17 @@ i32.const 15952 call $~lib/rt/__newArray call $~lib/array/Array#__set - local.get $0 - local.get $2 - i32.store $0 offset=500 + local.get $1 + i32.store offset=436 global.get $~lib/memory/__stack_pointer - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + local.get $1 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 15984 - i32.store $0 offset=52 + i32.store offset=48 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -31410,111 +30462,103 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=12 - local.tee $3 + i32.load offset=12 + local.tee $2 i32.const 2 i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $7 - i32.store $0 offset=4 + local.tee $3 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - i32.load $0 offset=4 + local.get $3 + i32.store + local.get $3 + i32.load offset=4 local.set $8 i32.const 0 - local.set $1 - loop $for-loop|069 + local.set $4 + loop $for-loop|026 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 local.get $1 - local.get $3 + i32.store + local.get $4 local.get $2 - i32.load $0 offset=12 + local.get $1 + i32.load offset=12 local.tee $9 - local.get $3 + local.get $2 local.get $9 i32.lt_s select i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $2 - i32.store $0 offset=8 - local.get $9 local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.const 2 i32.shl - local.tee $10 - local.get $2 - i32.load $0 offset=4 + local.tee $9 + local.get $1 + i32.load offset=4 i32.add - i32.load $0 - local.tee $11 - i32.store $0 - local.get $9 - local.get $2 - i32.store $0 offset=8 + i32.load + local.tee $10 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $9 - local.get $11 + global.get $~lib/memory/__stack_pointer + local.get $10 + local.get $4 local.get $1 - local.get $2 i32.const 15984 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - local.tee $9 - i32.store $0 offset=12 + i32.load + call_indirect (type $1) + local.tee $10 + i32.store offset=16 local.get $8 - local.get $10 - i32.add local.get $9 - i32.store $0 - local.get $9 - if - local.get $7 - local.get $9 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 + i32.add + local.get $10 + i32.store + local.get $3 + local.get $10 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $4 i32.const 1 i32.add - local.set $1 - br $for-loop|069 + local.set $4 + br $for-loop|026 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $0 - local.get $7 + local.get $3 + i32.store + local.get $3 call $~lib/array/Array<~lib/array/Array>#flat local.tee $0 - i32.store $0 offset=504 + i32.store offset=440 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 4 @@ -31529,7 +30573,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -31545,7 +30589,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $~lib/array/Array#__get @@ -31561,7 +30605,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2 call $~lib/array/Array#__get @@ -31577,7 +30621,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3 call $~lib/array/Array#__get @@ -31603,12 +30647,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|074 + loop $while-continue|028 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|074 + br $while-continue|028 end end end @@ -31633,7 +30677,7 @@ i32.add global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 508 + i32.const 444 i32.add global.set $~lib/memory/__stack_pointer return @@ -31664,9 +30708,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.shl @@ -31679,33 +30723,29 @@ local.get $1 local.get $3 local.get $5 - memory.copy $0 $0 + memory.copy end - local.get $4 local.get $1 - i32.store $0 + i32.store i32.const 16 local.get $2 call $~lib/rt/itcms/__new local.tee $2 local.get $1 - i32.store $0 + i32.store + local.get $2 local.get $1 - if - local.get $2 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link local.get $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -31733,7 +30773,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -31810,7 +30850,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $0 local.get $3 i32.add @@ -31821,7 +30861,7 @@ if local.get $3 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -31849,7 +30889,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -31913,7 +30953,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store local.get $1 local.get $0 local.get $2 @@ -31924,77 +30964,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (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 $0 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $0 - local.get $1 - local.get $2 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - 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/std/arraybuffer.debug.wat b/tests/compiler/std/arraybuffer.debug.wat index 0818ab8e4c..62e83133db 100644 --- a/tests/compiler/std/arraybuffer.debug.wat +++ b/tests/compiler/std/arraybuffer.debug.wat @@ -1,14 +1,15 @@ (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_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32) (result i32))) + (type $7 (func (param i32 i32 i32 i32) (result i32))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -31,20 +32,20 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33528)) (global $~lib/memory/__heap_base i32 (i32.const 33528)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 688) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $2 (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data $12 (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 688) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -52,12 +53,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -71,7 +72,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -145,7 +146,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -215,11 +216,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -227,7 +228,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 336 @@ -359,7 +360,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -372,7 +373,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -388,34 +389,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -575,7 +576,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -598,7 +599,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -612,7 +613,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -635,7 +636,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -778,7 +779,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -864,7 +865,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -944,7 +945,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -978,7 +979,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1001,7 +1002,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1015,27 +1016,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 480 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1060,9 +1066,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1081,7 +1087,7 @@ if i32.const 0 i32.const 480 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1100,7 +1106,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1114,7 +1119,7 @@ if i32.const 0 i32.const 480 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1170,12 +1175,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1209,7 +1214,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1230,7 +1235,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1250,7 +1255,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1270,7 +1275,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1296,7 +1301,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1319,9 +1324,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1357,7 +1363,7 @@ if i32.const 0 i32.const 480 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1623,14 +1629,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1686,7 +1695,7 @@ if i32.const 144 i32.const 480 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1695,6 +1704,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1724,24 +1753,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1779,7 +1797,7 @@ if i32.const 0 i32.const 480 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1794,7 +1812,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1839,7 +1857,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1850,7 +1868,7 @@ if i32.const 0 i32.const 480 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1872,7 +1890,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1895,7 +1913,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1914,22 +1932,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1942,7 +1952,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1969,27 +1979,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2014,7 +2025,7 @@ if i32.const 0 i32.const 480 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2129,7 +2140,7 @@ if i32.const 0 i32.const 480 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2149,7 +2160,7 @@ if i32.const 0 i32.const 480 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2182,12 +2193,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2238,13 +2249,13 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (param $this i32) (result i32) local.get $this @@ -2470,7 +2481,7 @@ (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2479,12 +2490,12 @@ (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/__newBuffer (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) @@ -2497,7 +2508,7 @@ local.get $buffer local.get $data local.get $size - memory.copy $0 $0 + memory.copy end local.get $buffer return @@ -2563,7 +2574,7 @@ (func $~lib/dataview/DataView#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2572,16 +2583,16 @@ (func $~lib/dataview/DataView#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/dataview/DataView#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (param $value i32) (result i32) i32.const 0 @@ -2677,20 +2688,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2761,13 +2767,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2791,7 +2793,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/typedarray/Int8Array $~lib/typedarray/Uint8Array $~lib/typedarray/Uint8ClampedArray $~lib/typedarray/Int16Array $~lib/typedarray/Uint16Array $~lib/typedarray/Int32Array $~lib/typedarray/Uint32Array $~lib/typedarray/Int64Array $~lib/typedarray/Uint64Array $~lib/typedarray/Float32Array $~lib/typedarray/Float64Array $~lib/dataview/DataView $invalid end return @@ -2910,12 +2912,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store $0 + i32.store local.get $16 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $length @@ -2985,13 +2987,13 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $begin i32.add local.get $outSize - memory.copy $0 $0 + memory.copy local.get $out local.set $16 global.get $~lib/memory/__stack_pointer @@ -3011,10 +3013,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -3023,13 +3025,13 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer @@ -3037,7 +3039,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3045,7 +3047,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3070,7 +3072,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3079,20 +3081,20 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -3100,7 +3102,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -3121,7 +3123,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3130,20 +3132,20 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -3161,7 +3163,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3170,20 +3172,20 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -3202,10 +3204,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -3214,13 +3216,13 @@ i32.const 16 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 call $~lib/dataview/DataView#set:buffer @@ -3228,7 +3230,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 call $~lib/dataview/DataView#set:dataStart @@ -3236,7 +3238,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 call $~lib/dataview/DataView#set:byteLength @@ -3250,7 +3252,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.gt_u @@ -3267,13 +3269,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $buffer local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/dataview/DataView#set:buffer local.get $buffer @@ -3284,7 +3286,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $dataStart call $~lib/dataview/DataView#set:dataStart @@ -3292,7 +3294,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $byteLength call $~lib/dataview/DataView#set:byteLength @@ -3313,7 +3315,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $2of2 block $1of2 block $0of2 @@ -3332,7 +3334,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $byteLength @@ -3341,13 +3343,13 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $byteOffset local.get $byteLength @@ -3365,17 +3367,16 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 - memory.size $0 + i32.const 24 + memory.fill + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3397,13 +3398,13 @@ i32.const 8 call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $0 - i32.store $0 + i32.store local.get $0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 8 i32.eq @@ -3418,22 +3419,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 0 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 8 i32.eq @@ -3460,22 +3461,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 1 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 7 i32.eq @@ -3490,22 +3491,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 i32.const -1 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 1 i32.eq @@ -3520,22 +3521,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 1 i32.const 3 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 2 i32.eq @@ -3550,22 +3551,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 1 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 6 i32.eq @@ -3580,22 +3581,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 i32.const -3 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 2 i32.eq @@ -3610,22 +3611,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 i32.const -4 i32.const 42 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 4 i32.eq @@ -3640,22 +3641,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 42 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 0 i32.eq @@ -3757,17 +3758,17 @@ i32.const 1 call $~lib/typedarray/Uint8Array#constructor local.tee $2 - i32.store $0 offset=12 + i32.store offset=12 i32.const 2 i32.const 2 i32.const 4 i32.const 608 call $~lib/rt/__newArray - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> i32.eqz i32.eqz @@ -3780,11 +3781,11 @@ unreachable end local.get $2 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> i32.eqz if @@ -3798,11 +3799,11 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#constructor - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> i32.eqz if @@ -3815,27 +3816,27 @@ end i32.const 0 local.get $2 - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=16 - local.get $5 + local.get $4 + i32.store offset=20 + local.get $4 call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=16 - local.get $5 + local.get $4 + i32.store offset=16 + local.get $4 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/dataview/DataView#constructor@varargs - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> i32.eqz if @@ -3850,7 +3851,7 @@ global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3863,14 +3864,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -3890,7 +3891,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.gt_u @@ -3907,7 +3908,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -3933,7 +3934,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -3944,27 +3945,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/arraybuffer.release.wat b/tests/compiler/std/arraybuffer.release.wat index 144811d906..334f1c302e 100644 --- a/tests/compiler/std/arraybuffer.release.wat +++ b/tests/compiler/std/arraybuffer.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param 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_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param i32 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)) @@ -18,44 +18,43 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34552)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1148) "<") - (data (i32.const 1160) "\02\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 1212) "<") - (data (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1340) "<") - (data (i32.const 1352) "\02\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 1404) ",") - (data (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1484) "<") - (data (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1548) "<") - (data (i32.const 1560) "\02\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1612) "\1c") - (data (i32.const 1624) "\01\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 1644) "<") - (data (i32.const 1656) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (data (i32.const 1712) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $2 (i32.const 1148) "<") + (data $2.1 (i32.const 1160) "\02\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 $3 (i32.const 1212) "<") + (data $3.1 (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1340) "<") + (data $6.1 (i32.const 1352) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1404) ",") + (data $7.1 (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1484) "<") + (data $9.1 (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1548) "<") + (data $10.1 (i32.const 1560) "\02\00\00\00$\00\00\00s\00t\00d\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $11 (i32.const 1612) "\1c") + (data $11.1 (i32.const 1624) "\01\00\00\00\08\00\00\00\01\00\00\00\02") + (data $12 (i32.const 1644) "<") + (data $12.1 (i32.const 1656) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data $13 (i32.const 1712) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1360 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1168 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -65,7 +64,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -83,7 +82,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -100,7 +99,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -114,16 +113,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$185 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34552 @@ -138,10 +137,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$185 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -154,20 +153,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -176,7 +175,7 @@ else local.get $1 i32.const 1712 - i32.load $0 + i32.load i32.gt_u if i32.const 1360 @@ -191,13 +190,13 @@ i32.shl i32.const 1716 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -207,21 +206,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -229,8 +252,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -242,10 +265,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -256,29 +279,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -286,10 +309,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -303,75 +326,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -393,7 +409,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -410,12 +426,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -432,17 +448,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -452,9 +468,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -479,13 +495,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -519,7 +535,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -575,19 +591,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -599,15 +615,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -615,23 +631,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1504 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -645,10 +663,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -656,23 +674,22 @@ if i32.const 0 i32.const 1504 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -684,52 +701,53 @@ if i32.const 0 i32.const 1504 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -737,7 +755,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -745,7 +763,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -756,10 +774,10 @@ end i32.const 34560 i32.const 0 - i32.store $0 + i32.store i32.const 36128 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -771,7 +789,7 @@ i32.const 34560 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -789,7 +807,7 @@ i32.const 34560 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -806,9 +824,10 @@ end i32.const 34560 i32.const 36132 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34560 global.set $~lib/rt/tlsf/ROOT @@ -838,7 +857,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -851,19 +870,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -874,7 +893,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -886,7 +905,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -899,12 +918,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -913,7 +928,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -924,26 +939,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -959,7 +974,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -975,7 +990,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1000,14 +1015,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1027,7 +1042,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1042,25 +1056,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1504 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1069,12 +1082,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1082,47 +1094,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1133,7 +1147,7 @@ if i32.const 0 i32.const 1504 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1143,7 +1157,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1160,10 +1174,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1179,13 +1193,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1504 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1200,7 +1214,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1227,7 +1241,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1239,16 +1253,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1256,8 +1266,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1284,34 +1293,60 @@ if i32.const 1168 i32.const 1504 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1319,21 +1354,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1346,12 +1366,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1362,9 +1382,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1374,7 +1395,7 @@ if i32.const 0 i32.const 1504 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1382,14 +1403,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1504 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1398,8 +1419,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1408,95 +1429,95 @@ if i32.const 0 i32.const 1504 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1509,66 +1530,64 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) - local.get $0 + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) local.get $1 - i32.store $0 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1232 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load 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 - i32.const 0 - i32.const 1232 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=4 i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz i32.eq + i32.and 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 end ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $folding-inner0 block $invalid block $~lib/array/Array @@ -1578,7 +1597,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/array/Array $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid end return @@ -1603,19 +1622,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1625,12 +1639,8 @@ unreachable end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit ) (func $~start call $start:std/arraybuffer @@ -1653,16 +1663,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 local.set $3 local.get $1 i32.const 0 @@ -1720,13 +1729,13 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $0 local.get $1 i32.add local.get $2 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1751,12 +1760,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $0 i32.eqz if @@ -1765,26 +1773,29 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.store local.get $0 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1073741820 local.get $1 i32.shr_u @@ -1801,32 +1812,35 @@ i32.const 1 local.get $1 i32.shl - local.tee $1 + local.tee $2 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=8 + local.tee $1 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 local.get $0 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $1 + i32.store + local.get $0 + local.get $1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $2 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add @@ -1837,11 +1851,8 @@ (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -1850,11 +1861,10 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.const 20 - memory.fill $0 - memory.size $0 + i32.const 24 + memory.fill + memory.size i32.const 16 i32.shl i32.const 34552 @@ -1864,29 +1874,30 @@ global.set $~lib/rt/itcms/threshold i32.const 1284 i32.const 1280 - i32.store $0 + i32.store i32.const 1288 i32.const 1280 - i32.store $0 + i32.store i32.const 1280 global.set $~lib/rt/itcms/pinSpace i32.const 1316 i32.const 1312 - i32.store $0 + i32.store i32.const 1320 i32.const 1312 - i32.store $0 + i32.store i32.const 1312 global.set $~lib/rt/itcms/toSpace i32.const 1460 i32.const 1456 - i32.store $0 + i32.store i32.const 1464 i32.const 1456 - i32.store $0 + i32.store i32.const 1456 global.set $~lib/rt/itcms/fromSpace - local.get $1 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1895,29 +1906,27 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 8 i32.ne if @@ -1929,23 +1938,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 local.get $1 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.const 0 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 8 i32.ne if @@ -1956,8 +1964,8 @@ call $~lib/builtins/abort unreachable end + local.get $0 local.get $1 - local.get $2 i32.eq if i32.const 0 @@ -1968,23 +1976,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 local.get $1 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.const 1 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 7 i32.ne if @@ -1996,23 +2003,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 local.get $1 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.const -1 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.ne if @@ -2024,23 +2030,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 local.get $1 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.const 1 i32.const 3 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.ne if @@ -2052,23 +2057,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 local.get $1 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.const 1 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 6 i32.ne if @@ -2080,23 +2084,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 local.get $1 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.const -3 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.ne if @@ -2108,23 +2111,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 local.get $1 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.const -4 i32.const 42 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 4 i32.ne if @@ -2136,23 +2138,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 local.get $1 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.const 42 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 if i32.const 0 i32.const 1568 @@ -2161,7 +2162,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.eqz if i32.const 0 @@ -2172,7 +2173,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -2181,32 +2182,29 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $2 - i32.store $0 offset=4 - local.get $3 - local.get $2 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $3 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $3 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2216,94 +2214,46 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 1 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $2 i32.const 1632 - i64.load $0 align=1 - i64.store $0 align=1 - local.get $1 - local.get $4 - i32.store $0 + i64.load align=1 + i64.store align=1 + local.get $2 + i32.store i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $1 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1232 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $4 - i32.const 20 - i32.sub - local.tee $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $5 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $2 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $5 - i32.const 3 - i32.eq - i32.and - if - local.get $2 - call $~lib/rt/itcms/Object#makeGray - end - end - end - end - local.get $1 - local.get $4 - i32.store $0 offset=4 - local.get $1 + local.tee $0 + local.get $2 + i32.store + local.get $0 + local.get $2 + call $~lib/rt/itcms/__link + local.get $0 + local.get $2 + i32.store offset=4 + local.get $0 i32.const 8 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 2 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2313,42 +2263,38 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - local.get $1 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $1 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=16 + local.get $1 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load $0 - local.tee $1 - i32.store $0 offset=16 - i32.const 1 - global.set $~argumentsLength + local.get $1 + i32.load + local.tee $0 + i32.store offset=16 block $__inlined_func$~lib/dataview/DataView#constructor@varargs (result i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2361,34 +2307,22 @@ br_if $folding-inner00 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.set $0 - end + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -2397,46 +2331,48 @@ i32.lt_s br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 16 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + i32.store + local.get $2 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 - local.get $0 + i32.load offset=16 + local.get $1 i32.lt_u - local.get $0 + local.get $1 i32.const 1073741820 i32.gt_u i32.or @@ -2449,27 +2385,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=4 - local.get $3 - local.get $1 - i32.store $0 offset=8 - local.get $2 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:buffer + i32.store offset=4 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 local.get $2 - i32.store $0 offset=4 + local.get $0 + i32.store local.get $2 - local.get $1 - i32.store $0 offset=4 + local.get $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $1 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -2486,7 +2424,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 34552 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state @@ -2523,7 +2461,7 @@ i32.add global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -2535,23 +2473,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/std/console.debug.wat b/tests/compiler/std/console.debug.wat index e2b8470200..2bd7371986 100644 --- a/tests/compiler/std/console.debug.wat +++ b/tests/compiler/std/console.debug.wat @@ -1,8 +1,8 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32))) + (type $1 (func)) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32 i32 i32))) (import "env" "console.assert" (func $~lib/bindings/dom/console.assert (param i32 i32))) (import "env" "console.log" (func $~lib/bindings/dom/console.log (param i32))) (import "env" "console.debug" (func $~lib/bindings/dom/console.debug (param i32))) @@ -17,24 +17,64 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33356)) (global $~lib/memory/__heap_base i32 (i32.const 33356)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00w\00h\00o\00o\00p\00s\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00p\00h\00e\00w\00\00\00\00\00") - (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00h\00e\00l\00l\00o\00 \00l\00o\00g\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00d\00e\00b\00u\00g\00\00\00\00\00\00\00") - (data (i32.const 172) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00i\00n\00f\00o\00\00\00\00\00\00\00\00\00") - (data (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00w\00a\00r\00n\00\00\00\00\00\00\00\00\00") - (data (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00e\00r\00r\00o\00r\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00s\00o\00m\00e\00L\00a\00b\00e\00l\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00w\00r\00o\00n\00g\00L\00a\00b\00e\00l\00\00\00\00\00\00\00\00\00") - (data (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00L\00a\00b\00e\00l\00") - (data (i32.const 460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") - (data (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\002\003\004\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00w\00h\00o\00o\00p\00s\00") + (data $1 (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00p\00h\00e\00w\00\00\00\00\00") + (data $2 (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00h\00e\00l\00l\00o\00 \00l\00o\00g\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00d\00e\00b\00u\00g\00\00\00\00\00\00\00") + (data $4 (i32.const 172) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00i\00n\00f\00o\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00w\00a\00r\00n\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00e\00r\00r\00o\00r\00\00\00\00\00\00\00") + (data $7 (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00s\00o\00m\00e\00L\00a\00b\00e\00l\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00w\00r\00o\00n\00g\00L\00a\00b\00e\00l\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00L\00a\00b\00e\00l\00") + (data $10 (i32.const 460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\002\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") + (data $13 (i32.const 556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\002\003\004\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) + (func $start:std/console + i32.const 0 + i32.const 32 + call $~lib/console/console.assert + i32.const 1 + i32.const 64 + call $~lib/console/console.assert + i32.const 96 + call $~lib/console/console.log + i32.const 144 + call $~lib/console/console.debug + i32.const 192 + call $~lib/console/console.info + i32.const 240 + call $~lib/console/console.warn + i32.const 288 + call $~lib/console/console.error + i32.const 336 + call $~lib/console/console.time + i32.const 336 + call $~lib/console/console.timeLog + i32.const 336 + call $~lib/console/console.timeEnd + i32.const 384 + call $~lib/console/console.timeLog + i32.const 384 + call $~lib/console/console.timeEnd + i32.const 432 + call $~lib/console/console.time + i32.const 432 + call $~lib/console/console.time + i32.const 480 + call $~lib/console/console.log + i32.const 512 + call $~lib/console/console.log + i32.const 544 + call $~lib/console/console.log + i32.const 576 + call $~lib/console/console.log + ) (func $~start call $start:std/console ) @@ -60,7 +100,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $condition i32.eqz i32.eqz @@ -68,7 +108,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/bindings/dom/console.assert global.get $~lib/memory/__stack_pointer @@ -85,12 +125,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $message local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/bindings/dom/console.log global.get $~lib/memory/__stack_pointer @@ -107,12 +147,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $message local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/bindings/dom/console.debug global.get $~lib/memory/__stack_pointer @@ -129,12 +169,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $message local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/bindings/dom/console.info global.get $~lib/memory/__stack_pointer @@ -151,12 +191,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $message local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/bindings/dom/console.warn global.get $~lib/memory/__stack_pointer @@ -173,12 +213,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $message local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/bindings/dom/console.error global.get $~lib/memory/__stack_pointer @@ -195,12 +235,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $label local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/bindings/dom/console.time global.get $~lib/memory/__stack_pointer @@ -217,12 +257,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $label local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/bindings/dom/console.timeLog global.get $~lib/memory/__stack_pointer @@ -239,12 +279,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $label local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/bindings/dom/console.timeEnd global.get $~lib/memory/__stack_pointer @@ -252,147 +292,4 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $start:std/console - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - i32.const 0 - i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/console/console.assert - i32.const 1 - i32.const 64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/console/console.assert - i32.const 96 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.log - i32.const 144 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.debug - i32.const 192 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.info - i32.const 240 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.warn - i32.const 288 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.error - i32.const 336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.time - i32.const 336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.timeLog - i32.const 336 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.timeEnd - i32.const 384 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.timeLog - i32.const 384 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.timeEnd - i32.const 432 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.time - i32.const 432 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.time - i32.const 480 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.log - i32.const 512 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.log - i32.const 544 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.log - i32.const 576 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) ) diff --git a/tests/compiler/std/console.release.wat b/tests/compiler/std/console.release.wat index 0b24dbe8df..a45eaf7c52 100644 --- a/tests/compiler/std/console.release.wat +++ b/tests/compiler/std/console.release.wat @@ -1,8 +1,8 @@ (module - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32 i32 i32 i32))) (import "env" "console.assert" (func $~lib/bindings/dom/console.assert (param i32 i32))) (import "env" "console.log" (func $~lib/bindings/dom/console.log (param i32))) (import "env" "console.debug" (func $~lib/bindings/dom/console.debug (param i32))) @@ -15,40 +15,47 @@ (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34380)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\0c\00\00\00w\00h\00o\00o\00p\00s") - (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\02\00\00\00\08\00\00\00p\00h\00e\00w") - (data (i32.const 1100) ",") - (data (i32.const 1112) "\02\00\00\00\12\00\00\00h\00e\00l\00l\00o\00 \00l\00o\00g") - (data (i32.const 1148) ",") - (data (i32.const 1160) "\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00d\00e\00b\00u\00g") - (data (i32.const 1196) ",") - (data (i32.const 1208) "\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00i\00n\00f\00o") - (data (i32.const 1244) ",") - (data (i32.const 1256) "\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00w\00a\00r\00n") - (data (i32.const 1292) ",") - (data (i32.const 1304) "\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00e\00r\00r\00o\00r") - (data (i32.const 1340) ",") - (data (i32.const 1352) "\02\00\00\00\12\00\00\00s\00o\00m\00e\00L\00a\00b\00e\00l") - (data (i32.const 1388) ",") - (data (i32.const 1400) "\02\00\00\00\14\00\00\00w\00r\00o\00n\00g\00L\00a\00b\00e\00l") - (data (i32.const 1436) ",") - (data (i32.const 1448) "\02\00\00\00\1c\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00L\00a\00b\00e\00l") - (data (i32.const 1484) "\1c") - (data (i32.const 1496) "\02\00\00\00\02\00\00\001") - (data (i32.const 1516) "\1c") - (data (i32.const 1528) "\02\00\00\00\04\00\00\001\002") - (data (i32.const 1548) "\1c") - (data (i32.const 1560) "\02\00\00\00\06\00\00\001\002\003") - (data (i32.const 1580) "\1c") - (data (i32.const 1592) "\02\00\00\00\08\00\00\001\002\003\004") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\0c\00\00\00w\00h\00o\00o\00p\00s") + (data $1 (i32.const 1068) "\1c") + (data $1.1 (i32.const 1080) "\02\00\00\00\08\00\00\00p\00h\00e\00w") + (data $2 (i32.const 1100) ",") + (data $2.1 (i32.const 1112) "\02\00\00\00\12\00\00\00h\00e\00l\00l\00o\00 \00l\00o\00g") + (data $3 (i32.const 1148) ",") + (data $3.1 (i32.const 1160) "\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00d\00e\00b\00u\00g") + (data $4 (i32.const 1196) ",") + (data $4.1 (i32.const 1208) "\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00i\00n\00f\00o") + (data $5 (i32.const 1244) ",") + (data $5.1 (i32.const 1256) "\02\00\00\00\14\00\00\00h\00e\00l\00l\00o\00 \00w\00a\00r\00n") + (data $6 (i32.const 1292) ",") + (data $6.1 (i32.const 1304) "\02\00\00\00\16\00\00\00h\00e\00l\00l\00o\00 \00e\00r\00r\00o\00r") + (data $7 (i32.const 1340) ",") + (data $7.1 (i32.const 1352) "\02\00\00\00\12\00\00\00s\00o\00m\00e\00L\00a\00b\00e\00l") + (data $8 (i32.const 1388) ",") + (data $8.1 (i32.const 1400) "\02\00\00\00\14\00\00\00w\00r\00o\00n\00g\00L\00a\00b\00e\00l") + (data $9 (i32.const 1436) ",") + (data $9.1 (i32.const 1448) "\02\00\00\00\1c\00\00\00d\00u\00p\00l\00i\00c\00a\00t\00e\00L\00a\00b\00e\00l") + (data $10 (i32.const 1484) "\1c") + (data $10.1 (i32.const 1496) "\02\00\00\00\02\00\00\001") + (data $11 (i32.const 1516) "\1c") + (data $11.1 (i32.const 1528) "\02\00\00\00\04\00\00\001\002") + (data $12 (i32.const 1548) "\1c") + (data $12.1 (i32.const 1560) "\02\00\00\00\06\00\00\001\002\003") + (data $13 (i32.const 1580) "\1c") + (data $13.1 (i32.const 1592) "\02\00\00\00\08\00\00\001\002\003\004") (export "memory" (memory $0)) (start $~start) (func $~start - (local $0 i32) + i32.const 0 + i32.const 1056 + call $~lib/console/console.assert + i32.const 1 + i32.const 1088 + call $~lib/console/console.assert + i32.const 1120 + call $~lib/console/console.log global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -57,44 +64,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 1056 - i32.store $0 i32.const 0 - i32.const 1056 - call $~lib/console/console.assert - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store $0 - i32.const 1 - i32.const 1088 - call $~lib/console/console.assert - global.get $~lib/memory/__stack_pointer - i32.const 1120 - i32.store $0 offset=4 - i32.const 1120 - call $~lib/console/console.log + i32.store global.get $~lib/memory/__stack_pointer i32.const 1168 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1612 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 1168 - i32.store $0 + i32.store i32.const 1168 call $~lib/bindings/dom/console.debug global.get $~lib/memory/__stack_pointer @@ -102,9 +76,6 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1216 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -113,12 +84,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1216 - i32.store $0 + i32.store i32.const 1216 call $~lib/bindings/dom/console.info global.get $~lib/memory/__stack_pointer @@ -126,9 +96,6 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1264 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -137,12 +104,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1264 - i32.store $0 + i32.store i32.const 1264 call $~lib/bindings/dom/console.warn global.get $~lib/memory/__stack_pointer @@ -150,9 +116,6 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1312 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -161,77 +124,39 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1312 - i32.store $0 + i32.store i32.const 1312 call $~lib/bindings/dom/console.error global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 offset=4 i32.const 1360 call $~lib/console/console.time - global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 offset=4 i32.const 1360 call $~lib/console/console.timeLog - global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 offset=4 i32.const 1360 call $~lib/console/console.timeEnd - global.get $~lib/memory/__stack_pointer - i32.const 1408 - i32.store $0 offset=4 i32.const 1408 call $~lib/console/console.timeLog - global.get $~lib/memory/__stack_pointer - i32.const 1408 - i32.store $0 offset=4 i32.const 1408 call $~lib/console/console.timeEnd - global.get $~lib/memory/__stack_pointer - i32.const 1456 - i32.store $0 offset=4 i32.const 1456 call $~lib/console/console.time - global.get $~lib/memory/__stack_pointer - i32.const 1456 - i32.store $0 offset=4 i32.const 1456 call $~lib/console/console.time - global.get $~lib/memory/__stack_pointer - i32.const 1504 - i32.store $0 offset=4 i32.const 1504 call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 1536 - i32.store $0 offset=4 i32.const 1536 call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 1568 - i32.store $0 offset=4 i32.const 1568 call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 1600 - i32.store $0 offset=4 i32.const 1600 call $~lib/console/console.log - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer return end i32.const 34400 @@ -242,7 +167,6 @@ unreachable ) (func $~lib/console/console.assert (param $0 i32) (param $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -259,12 +183,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.ne @@ -276,7 +199,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.log (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -293,12 +215,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/bindings/dom/console.log global.get $~lib/memory/__stack_pointer @@ -307,7 +228,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.time (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -324,12 +244,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/bindings/dom/console.time global.get $~lib/memory/__stack_pointer @@ -338,7 +257,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.timeLog (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -355,12 +273,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/bindings/dom/console.timeLog global.get $~lib/memory/__stack_pointer @@ -369,7 +286,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.timeEnd (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -386,12 +302,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/bindings/dom/console.timeEnd global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/dataview.debug.wat b/tests/compiler/std/dataview.debug.wat index 1c45fae5bc..ad44b4a321 100644 --- a/tests/compiler/std/dataview.debug.wat +++ b/tests/compiler/std/dataview.debug.wat @@ -1,20 +1,22 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_none (func)) - (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_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $i32_i32_i32_=>_i64 (func (param i32 i32 i32) (result i64))) - (type $i32_i32_i64_i32_=>_none (func (param i32 i32 i64 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_=>_f32 (func (param i32 i32 i32) (result f32))) - (type $i32_i32_i32_=>_f64 (func (param i32 i32 i32) (result f64))) - (type $i32_i32_f32_i32_=>_none (func (param i32 i32 f32 i32))) - (type $i32_i32_f64_i32_=>_none (func (param i32 i32 f64 i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32 i32))) + (type $4 (func)) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i32) (result i32))) + (type $8 (func (param i32 i32 i32 i32) (result i32))) + (type $9 (func (param i32 i32 i32) (result i64))) + (type $10 (func (param i32 i32 i64 i32))) + (type $11 (func (param i32 i32 i64) (result i32))) + (type $12 (func (result i32))) + (type $13 (func (param i64) (result i64))) + (type $14 (func (param i32 i32 i32) (result f32))) + (type $15 (func (param i32 i32 i32) (result f64))) + (type $16 (func (param i32 i32 f32 i32))) + (type $17 (func (param i32 i32 f64 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -37,20 +39,20 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33516)) (global $~lib/memory/__heap_base i32 (i32.const 33516)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 720) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $2 (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 720) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -58,12 +60,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -77,7 +79,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -151,7 +153,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -221,11 +223,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -233,7 +235,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 336 @@ -365,7 +367,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -378,7 +380,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -394,34 +396,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -581,7 +583,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -604,7 +606,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -618,7 +620,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -641,7 +643,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -784,7 +786,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -870,7 +872,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -950,7 +952,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -984,7 +986,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1007,7 +1009,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1021,27 +1023,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 480 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1066,9 +1073,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1087,7 +1094,7 @@ if i32.const 0 i32.const 480 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1106,7 +1113,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1120,7 +1126,7 @@ if i32.const 0 i32.const 480 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1176,12 +1182,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1215,7 +1221,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1236,7 +1242,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1256,7 +1262,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1276,7 +1282,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1302,7 +1308,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1325,9 +1331,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1363,7 +1370,7 @@ if i32.const 0 i32.const 480 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1629,14 +1636,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1692,7 +1702,7 @@ if i32.const 144 i32.const 480 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1701,6 +1711,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1730,24 +1760,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1785,7 +1804,7 @@ if i32.const 0 i32.const 480 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1800,7 +1819,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1845,7 +1864,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1856,7 +1875,7 @@ if i32.const 0 i32.const 480 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1878,7 +1897,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1901,7 +1920,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1920,22 +1939,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1948,7 +1959,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1975,27 +1986,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2020,7 +2032,7 @@ if i32.const 0 i32.const 480 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2135,7 +2147,7 @@ if i32.const 0 i32.const 480 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2155,7 +2167,7 @@ if i32.const 0 i32.const 480 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2188,12 +2200,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2244,7 +2256,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2319,7 +2331,7 @@ (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2328,24 +2340,24 @@ (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (param $this i32) (result i32) local.get $this @@ -2357,7 +2369,7 @@ (func $~lib/dataview/DataView#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2366,28 +2378,139 @@ (func $~lib/dataview/DataView#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/dataview/DataView#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/dataview/DataView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/dataview/DataView#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 + ) + (func $~lib/polyfills/bswap (param $value i32) (result i32) + i32.const 1 + drop + i32.const 4 + i32.const 1 + i32.eq + drop + i32.const 4 + i32.const 2 + i32.eq + drop + i32.const 4 + i32.const 4 + i32.eq + drop + local.get $value + i32.const -16711936 + i32.and + i32.const 8 + i32.rotl + local.get $value + i32.const 16711935 + i32.and + i32.const 8 + i32.rotr + i32.or + return + ) + (func $~lib/polyfills/bswap (param $value i64) (result i64) + (local $a i64) + (local $b i64) + (local $v i64) + i32.const 1 + drop + i32.const 8 + i32.const 1 + i32.eq + drop + i32.const 8 + i32.const 2 + i32.eq + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $value + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.set $a + local.get $value + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + local.set $b + local.get $a + local.get $b + i64.or + local.set $v + local.get $v + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.set $a + local.get $v + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + local.set $b + local.get $a + local.get $b + i64.or + i64.const 32 + i64.rotr + return + ) + (func $~lib/polyfills/bswap (param $value i32) (result i32) + i32.const 1 + drop + i32.const 2 + i32.const 1 + i32.eq + drop + i32.const 2 + i32.const 2 + i32.eq + drop + local.get $value + i32.const 8 + i32.const 15 + i32.and + i32.shl + local.get $value + i32.const 65535 + i32.and + i32.const 8 + i32.const 15 + i32.and + i32.shr_u + i32.or + return ) (func $~lib/dataview/DataView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/__collect i32.const 0 @@ -2453,16 +2576,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/typedarray/Uint8Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2475,13 +2593,9 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2494,7 +2608,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Uint8Array $~lib/dataview/DataView $invalid end return @@ -2546,10 +2660,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -2558,13 +2672,13 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer @@ -2572,7 +2686,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -2580,7 +2694,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -2605,7 +2719,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -2614,20 +2728,20 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -2635,7 +2749,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -2656,7 +2770,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2665,20 +2779,20 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -2696,13 +2810,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.ge_u @@ -2718,13 +2832,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add local.get $value - i32.store8 $0 + i32.store8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2740,10 +2854,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2752,13 +2866,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 call $~lib/dataview/DataView#set:buffer @@ -2766,7 +2880,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 call $~lib/dataview/DataView#set:dataStart @@ -2774,7 +2888,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 call $~lib/dataview/DataView#set:byteLength @@ -2788,7 +2902,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.gt_u @@ -2805,13 +2919,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $buffer local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/dataview/DataView#set:buffer local.get $buffer @@ -2822,7 +2936,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $dataStart call $~lib/dataview/DataView#set:dataStart @@ -2830,7 +2944,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $byteLength call $~lib/dataview/DataView#set:byteLength @@ -2851,19 +2965,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:buffer i32.sub @@ -2877,8 +2991,7 @@ ) (func $~lib/dataview/DataView#getFloat32 (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result f32) (local $3 i32) - (local $4 i32) - (local $5 f32) + (local $4 f32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2886,7 +2999,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -2894,11 +3007,11 @@ i32.const 4 i32.add local.get $this - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $3 + i32.store + local.get $3 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -2913,52 +3026,40 @@ local.get $littleEndian if (result f32) local.get $this - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $3 + i32.store + local.get $3 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - f32.load $0 + f32.load else local.get $this - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $3 + i32.store + local.get $3 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - i32.load $0 - local.tee $3 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $3 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or + i32.load + call $~lib/polyfills/bswap f32.reinterpret_i32 end - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return ) (func $~lib/dataview/DataView#getFloat64 (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result f64) - (local $3 i64) - (local $4 i64) - (local $5 i32) - (local $6 f64) + (local $3 i32) + (local $4 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2966,7 +3067,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -2974,11 +3075,11 @@ i32.const 8 i32.add local.get $this - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $3 + i32.store + local.get $3 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -2993,58 +3094,35 @@ local.get $littleEndian if (result f64) local.get $this - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $3 + i32.store + local.get $3 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - f64.load $0 + f64.load else local.get $this - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $3 + i32.store + local.get $3 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - i64.load $0 - local.tee $3 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $3 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $4 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $4 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr + i64.load + call $~lib/polyfills/bswap f64.reinterpret_i64 end - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 return ) (func $~lib/dataview/DataView#getInt8 (param $this i32) (param $byteOffset i32) (result i32) @@ -3056,13 +3134,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/dataview/DataView#get:byteLength i32.ge_u @@ -3078,12 +3156,12 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - i32.load8_s $0 + i32.load8_s local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3095,7 +3173,6 @@ (func $~lib/dataview/DataView#getInt16 (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $result i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3103,7 +3180,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3111,11 +3188,11 @@ i32.const 2 i32.add local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3128,43 +3205,34 @@ unreachable end local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - i32.load16_s $0 + i32.load16_s local.set $result local.get $littleEndian if (result i32) local.get $result else local.get $result - i32.const 65535 - i32.and - local.tee $4 - i32.const 8 - i32.shl - local.get $4 - i32.const 8 - i32.shr_u - i32.or + call $~lib/polyfills/bswap end - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return ) (func $~lib/dataview/DataView#getInt32 (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $result i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3172,7 +3240,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3180,11 +3248,11 @@ i32.const 4 i32.add local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3197,47 +3265,35 @@ unreachable end local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - i32.load $0 + i32.load local.set $result local.get $littleEndian if (result i32) local.get $result else local.get $result - local.tee $4 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $4 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or + call $~lib/polyfills/bswap end - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return ) (func $~lib/dataview/DataView#getInt64 (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i64) (local $result i64) - (local $4 i64) + (local $4 i32) (local $5 i64) - (local $6 i32) - (local $7 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3245,7 +3301,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3253,11 +3309,11 @@ i32.const 8 i32.add local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3270,52 +3326,29 @@ unreachable end local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - i64.load $0 + i64.load local.set $result local.get $littleEndian if (result i64) local.get $result else local.get $result - local.tee $4 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $4 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $5 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $5 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - end - local.set $7 + call $~lib/polyfills/bswap + end + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 return ) (func $~lib/dataview/DataView#getUint8 (param $this i32) (param $byteOffset i32) (result i32) @@ -3327,13 +3360,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/dataview/DataView#get:byteLength i32.ge_u @@ -3349,12 +3382,12 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - i32.load8_u $0 + i32.load8_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3366,7 +3399,6 @@ (func $~lib/dataview/DataView#getUint16 (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $result i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3374,7 +3406,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3382,11 +3414,11 @@ i32.const 2 i32.add local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3399,41 +3431,34 @@ unreachable end local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - i32.load16_u $0 + i32.load16_u local.set $result local.get $littleEndian if (result i32) local.get $result else local.get $result - local.tee $4 - i32.const 8 - i32.shl - local.get $4 - i32.const 8 - i32.shr_u - i32.or + call $~lib/polyfills/bswap end - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return ) (func $~lib/dataview/DataView#getUint32 (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $result i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3441,7 +3466,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3449,11 +3474,11 @@ i32.const 4 i32.add local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3466,47 +3491,35 @@ unreachable end local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - i32.load $0 + i32.load local.set $result local.get $littleEndian if (result i32) local.get $result else local.get $result - local.tee $4 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $4 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or + call $~lib/polyfills/bswap end - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $4 return ) (func $~lib/dataview/DataView#getUint64 (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i64) (local $result i64) - (local $4 i64) + (local $4 i32) (local $5 i64) - (local $6 i32) - (local $7 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3514,7 +3527,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3522,11 +3535,11 @@ i32.const 8 i32.add local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3539,57 +3552,33 @@ unreachable end local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add - i64.load $0 + i64.load local.set $result local.get $littleEndian if (result i64) local.get $result else local.get $result - local.tee $4 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $4 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $5 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $5 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - end - local.set $7 + call $~lib/polyfills/bswap + end + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $5 return ) (func $~lib/dataview/DataView#setFloat32 (param $this i32) (param $byteOffset i32) (param $value f32) (param $littleEndian i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3597,7 +3586,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3605,11 +3594,11 @@ i32.const 4 i32.add local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3624,40 +3613,30 @@ local.get $littleEndian if local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add local.get $value - f32.store $0 + f32.store else local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add local.get $value i32.reinterpret_f32 - local.tee $4 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $4 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or - i32.store $0 + call $~lib/polyfills/bswap + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3665,9 +3644,7 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setFloat64 (param $this i32) (param $byteOffset i32) (param $value f64) (param $littleEndian i32) - (local $4 i64) - (local $5 i64) - (local $6 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3675,7 +3652,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3683,11 +3660,11 @@ i32.const 8 i32.add local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3702,53 +3679,30 @@ local.get $littleEndian if local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add local.get $value - f64.store $0 + f64.store else local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add local.get $value i64.reinterpret_f64 - local.tee $4 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $4 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $5 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $5 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - i64.store $0 + call $~lib/polyfills/bswap + i64.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3764,13 +3718,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/dataview/DataView#get:byteLength i32.ge_u @@ -3786,13 +3740,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add local.get $value - i32.store8 $0 + i32.store8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -3800,7 +3754,6 @@ ) (func $~lib/dataview/DataView#setInt16 (param $this i32) (param $byteOffset i32) (param $value i32) (param $littleEndian i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3808,7 +3761,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3816,11 +3769,11 @@ i32.const 2 i32.add local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3833,11 +3786,11 @@ unreachable end local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -3846,17 +3799,9 @@ local.get $value else local.get $value - i32.const 65535 - i32.and - local.tee $4 - i32.const 8 - i32.shl - local.get $4 - i32.const 8 - i32.shr_u - i32.or + call $~lib/polyfills/bswap end - i32.store16 $0 + i32.store16 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -3864,7 +3809,6 @@ ) (func $~lib/dataview/DataView#setInt32 (param $this i32) (param $byteOffset i32) (param $value i32) (param $littleEndian i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3872,7 +3816,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3880,11 +3824,11 @@ i32.const 4 i32.add local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3897,11 +3841,11 @@ unreachable end local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -3910,28 +3854,16 @@ local.get $value else local.get $value - local.tee $4 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $4 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or + call $~lib/polyfills/bswap end - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt64 (param $this i32) (param $byteOffset i32) (param $value i64) (param $littleEndian i32) - (local $4 i64) - (local $5 i64) - (local $6 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3939,7 +3871,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -3947,11 +3879,11 @@ i32.const 8 i32.add local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3964,11 +3896,11 @@ unreachable end local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -3977,32 +3909,9 @@ local.get $value else local.get $value - local.tee $4 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $4 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $5 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $5 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - end - i64.store $0 + call $~lib/polyfills/bswap + end + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4017,13 +3926,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/dataview/DataView#get:byteLength i32.ge_u @@ -4039,13 +3948,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add local.get $value - i32.store8 $0 + i32.store8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4053,7 +3962,6 @@ ) (func $~lib/dataview/DataView#setUint16 (param $this i32) (param $byteOffset i32) (param $value i32) (param $littleEndian i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4061,7 +3969,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -4069,11 +3977,11 @@ i32.const 2 i32.add local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -4086,11 +3994,11 @@ unreachable end local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -4099,17 +4007,9 @@ local.get $value else local.get $value - i32.const 65535 - i32.and - local.tee $4 - i32.const 8 - i32.shl - local.get $4 - i32.const 8 - i32.shr_u - i32.or + call $~lib/polyfills/bswap end - i32.store16 $0 + i32.store16 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4117,7 +4017,6 @@ ) (func $~lib/dataview/DataView#setUint32 (param $this i32) (param $byteOffset i32) (param $value i32) (param $littleEndian i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4125,7 +4024,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -4133,11 +4032,11 @@ i32.const 4 i32.add local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -4150,11 +4049,11 @@ unreachable end local.get $this - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -4163,28 +4062,16 @@ local.get $value else local.get $value - local.tee $4 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $4 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or + call $~lib/polyfills/bswap end - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setUint64 (param $this i32) (param $byteOffset i32) (param $value i64) (param $littleEndian i32) - (local $4 i64) - (local $5 i64) - (local $6 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4192,7 +4079,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $byteOffset i32.const 31 i32.shr_u @@ -4200,11 +4087,11 @@ i32.const 8 i32.add local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -4217,11 +4104,11 @@ unreachable end local.get $this - local.set $6 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $4 + i32.store + local.get $4 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -4230,32 +4117,9 @@ local.get $value else local.get $value - local.tee $4 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $4 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $5 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $5 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - end - i64.store $0 + call $~lib/polyfills/bswap + end + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4270,7 +4134,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $2of2 block $1of2 block $0of2 @@ -4289,7 +4153,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $byteLength @@ -4298,13 +4162,13 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $byteOffset local.get $byteLength @@ -4325,19 +4189,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/dataview/DataView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/dataview/DataView#get:buffer i32.sub @@ -4360,11 +4224,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - memory.size $0 + i64.store offset=8 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -4386,12 +4250,12 @@ i32.const 8 call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.store $0 + i32.store local.get $0 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 246 @@ -4400,7 +4264,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 224 @@ -4409,7 +4273,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 88 @@ -4418,7 +4282,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 159 @@ -4427,7 +4291,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 130 @@ -4436,7 +4300,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 101 @@ -4445,7 +4309,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 6 i32.const 67 @@ -4454,7 +4318,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 7 i32.const 95 @@ -4465,36 +4329,36 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=4 local.get $2 local.get $0 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $0 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength call $~lib/dataview/DataView#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -4514,7 +4378,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 1 @@ -4534,7 +4398,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -4554,7 +4418,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 1 @@ -4574,7 +4438,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 1 @@ -4594,7 +4458,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -4614,7 +4478,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 0 @@ -4634,7 +4498,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 0 @@ -4654,7 +4518,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 0 @@ -4674,7 +4538,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 0 @@ -4694,7 +4558,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -4714,7 +4578,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -4734,7 +4598,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/dataview/DataView#getInt8 @@ -4753,7 +4617,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/dataview/DataView#getInt8 @@ -4772,7 +4636,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/dataview/DataView#getInt8 @@ -4791,7 +4655,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 call $~lib/dataview/DataView#getInt8 @@ -4810,7 +4674,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 call $~lib/dataview/DataView#getInt8 @@ -4829,7 +4693,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 call $~lib/dataview/DataView#getInt8 @@ -4848,7 +4712,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 6 call $~lib/dataview/DataView#getInt8 @@ -4867,7 +4731,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 7 call $~lib/dataview/DataView#getInt8 @@ -4886,7 +4750,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -4907,7 +4771,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 1 @@ -4928,7 +4792,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -4949,7 +4813,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 1 @@ -4970,7 +4834,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 1 @@ -4991,7 +4855,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 1 @@ -5012,7 +4876,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 6 i32.const 1 @@ -5033,7 +4897,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -5054,7 +4918,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 0 @@ -5075,7 +4939,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 0 @@ -5096,7 +4960,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 0 @@ -5117,7 +4981,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 0 @@ -5138,7 +5002,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 0 @@ -5159,7 +5023,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 6 i32.const 0 @@ -5180,7 +5044,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -5200,7 +5064,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 1 @@ -5220,7 +5084,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -5240,7 +5104,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 1 @@ -5260,7 +5124,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 1 @@ -5280,7 +5144,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -5300,7 +5164,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 0 @@ -5320,7 +5184,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 0 @@ -5340,7 +5204,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 0 @@ -5360,7 +5224,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 0 @@ -5380,7 +5244,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -5400,7 +5264,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -5420,7 +5284,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/dataview/DataView#getUint8 @@ -5439,7 +5303,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/dataview/DataView#getUint8 @@ -5458,7 +5322,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/dataview/DataView#getUint8 @@ -5477,7 +5341,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 call $~lib/dataview/DataView#getUint8 @@ -5496,7 +5360,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 call $~lib/dataview/DataView#getUint8 @@ -5515,7 +5379,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 call $~lib/dataview/DataView#getUint8 @@ -5534,7 +5398,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 6 call $~lib/dataview/DataView#getUint8 @@ -5553,7 +5417,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 7 call $~lib/dataview/DataView#getUint8 @@ -5572,7 +5436,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -5594,7 +5458,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 1 @@ -5616,7 +5480,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -5638,7 +5502,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 1 @@ -5660,7 +5524,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 1 @@ -5682,7 +5546,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 1 @@ -5704,7 +5568,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 6 i32.const 1 @@ -5726,7 +5590,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -5748,7 +5612,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 0 @@ -5770,7 +5634,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 0 @@ -5792,7 +5656,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 0 @@ -5814,7 +5678,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 0 @@ -5836,7 +5700,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 0 @@ -5858,7 +5722,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 6 i32.const 0 @@ -5880,7 +5744,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -5900,7 +5764,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 1 @@ -5920,7 +5784,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -5940,7 +5804,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 1 @@ -5960,7 +5824,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 1 @@ -5980,7 +5844,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -6000,7 +5864,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 0 @@ -6020,7 +5884,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 0 @@ -6040,7 +5904,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 0 @@ -6060,7 +5924,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4 i32.const 0 @@ -6080,7 +5944,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6100,7 +5964,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -6120,7 +5984,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f32.const 1.5976661625240943e-18 @@ -6130,7 +5994,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6150,7 +6014,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f32.const 1976281973381696323584 @@ -6160,7 +6024,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -6180,7 +6044,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f64.const -1094252199637739024055454e124 @@ -6190,7 +6054,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6210,7 +6074,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f64.const 6.022586634778589e-103 @@ -6220,7 +6084,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -6240,7 +6104,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 108 @@ -6249,7 +6113,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/dataview/DataView#getInt8 @@ -6268,7 +6132,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const -13360 @@ -6278,7 +6142,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6299,7 +6163,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 14689 @@ -6309,7 +6173,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -6330,7 +6194,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1204680201 @@ -6340,7 +6204,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6360,7 +6224,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 660673230 @@ -6370,7 +6234,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -6390,7 +6254,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const -3290739641816099749 @@ -6400,7 +6264,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6420,7 +6284,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 8178932412950708047 @@ -6430,7 +6294,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -6450,7 +6314,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 238 @@ -6459,7 +6323,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/dataview/DataView#getUint8 @@ -6478,7 +6342,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 58856 @@ -6488,7 +6352,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6510,7 +6374,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 60400 @@ -6520,7 +6384,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -6542,7 +6406,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const -846805744 @@ -6552,7 +6416,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6572,7 +6436,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const -1510791631 @@ -6582,7 +6446,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -6602,7 +6466,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 2334704782995986958 @@ -6612,7 +6476,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6632,7 +6496,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const -7123186897289856329 @@ -6642,7 +6506,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -6664,13 +6528,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -6678,12 +6542,12 @@ i32.const 0 call $~lib/dataview/DataView#constructor@varargs local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/dataview/DataView#get:byteOffset i32.const 0 @@ -6701,7 +6565,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/dataview/DataView#get:byteLength i32.const 8 diff --git a/tests/compiler/std/dataview.release.wat b/tests/compiler/std/dataview.release.wat index 4fb12bf4bd..7a0b6705e9 100644 --- a/tests/compiler/std/dataview.release.wat +++ b/tests/compiler/std/dataview.release.wat @@ -1,19 +1,20 @@ (module - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (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))) - (type $i32_i32_i32_=>_f32 (func (param i32 i32 i32) (result f32))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) - (type $i32_f32_i32_=>_none (func (param i32 f32 i32))) - (type $i32_f64_i32_=>_none (func (param i32 f64 i32))) + (type $0 (func (param i32 i32 i32))) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func)) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32))) + (type $5 (func (param i32 i32))) + (type $6 (func (param i32 i32) (result i64))) + (type $7 (func (param i32 i64 i32))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64))) + (type $10 (func (result i32))) + (type $11 (func (param i32) (result i32))) + (type $12 (func (param i32 i32 i32) (result f32))) + (type $13 (func (param i32 i32) (result f64))) + (type $14 (func (param i32 f32 i32))) + (type $15 (func (param i32 f64 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)) @@ -25,44 +26,43 @@ (global $~lib/rt/itcms/white (mut i32) (i32.const 0)) (global $~lib/rt/itcms/fromSpace (mut i32) (i32.const 0)) (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) - (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34540)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1148) "<") - (data (i32.const 1160) "\02\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 1212) "<") - (data (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1340) "<") - (data (i32.const 1352) "\02\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 1404) ",") - (data (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1484) "<") - (data (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1548) "<") - (data (i32.const 1560) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1612) "<") - (data (i32.const 1624) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (data (i32.const 1676) "<") - (data (i32.const 1688) "\02\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") - (data (i32.const 1744) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $2 (i32.const 1148) "<") + (data $2.1 (i32.const 1160) "\02\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 $3 (i32.const 1212) "<") + (data $3.1 (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1340) "<") + (data $6.1 (i32.const 1352) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1404) ",") + (data $7.1 (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1484) "<") + (data $9.1 (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1548) "<") + (data $10.1 (i32.const 1560) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data $11 (i32.const 1612) "<") + (data $11.1 (i32.const 1624) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data $12 (i32.const 1676) "<") + (data $12.1 (i32.const 1688) "\02\00\00\00\1e\00\00\00s\00t\00d\00/\00d\00a\00t\00a\00v\00i\00e\00w\00.\00t\00s") + (data $13 (i32.const 1744) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1360 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1168 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -72,7 +72,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -90,7 +90,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -107,7 +107,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -121,16 +121,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$221 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34540 @@ -145,10 +145,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$221 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -161,20 +161,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -183,7 +183,7 @@ else local.get $1 i32.const 1744 - i32.load $0 + i32.load i32.gt_u if i32.const 1360 @@ -198,13 +198,13 @@ i32.shl i32.const 1748 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -214,21 +214,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -236,8 +260,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -249,10 +273,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -263,29 +287,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -293,10 +317,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -310,75 +334,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -400,7 +417,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -417,12 +434,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -439,17 +456,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -459,9 +476,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -486,13 +503,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -526,7 +543,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -582,19 +599,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -606,15 +623,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -622,23 +639,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1504 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -652,10 +671,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -663,23 +682,22 @@ if i32.const 0 i32.const 1504 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -691,52 +709,53 @@ if i32.const 0 i32.const 1504 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -744,7 +763,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -752,7 +771,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -763,10 +782,10 @@ end i32.const 34544 i32.const 0 - i32.store $0 + i32.store i32.const 36112 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -778,7 +797,7 @@ i32.const 34544 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -796,7 +815,7 @@ i32.const 34544 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -813,9 +832,10 @@ end i32.const 34544 i32.const 36116 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34544 global.set $~lib/rt/tlsf/ROOT @@ -845,7 +865,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -858,19 +878,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -881,7 +901,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -893,7 +913,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -906,12 +926,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -920,7 +936,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -931,26 +947,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -966,7 +982,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -982,7 +998,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1007,14 +1023,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1034,7 +1050,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1049,25 +1064,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1504 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1076,12 +1090,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1089,47 +1102,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1140,7 +1155,7 @@ if i32.const 0 i32.const 1504 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1150,7 +1165,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1167,10 +1182,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1186,13 +1201,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1504 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1207,7 +1222,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1234,7 +1249,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1246,16 +1261,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1263,8 +1274,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1291,34 +1301,60 @@ if i32.const 1168 i32.const 1504 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1326,21 +1362,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1353,12 +1374,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1369,9 +1390,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1381,7 +1403,7 @@ if i32.const 0 i32.const 1504 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1389,14 +1411,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1504 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1405,8 +1427,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1415,95 +1437,95 @@ if i32.const 0 i32.const 1504 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1516,13 +1538,13 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $0 i32) (param $1 i32) local.get $0 local.get $1 - i32.store $0 + i32.store local.get $1 if local.get $0 @@ -1540,7 +1562,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.eq @@ -1548,7 +1570,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and local.tee $0 @@ -1583,7 +1605,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid end return @@ -1595,18 +1617,13 @@ unreachable end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit ) (func $~start call $start:std/dataview ) (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1623,15 +1640,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.ge_u if i32.const 1360 @@ -1642,23 +1658,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add local.get $2 - i32.store8 $0 - local.get $3 + i32.store8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -1675,43 +1689,42 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 5 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 local.get $1 local.get $2 i32.add @@ -1729,29 +1742,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $3 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $0 call $~lib/arraybuffer/ArrayBufferView#set:buffer global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $0 local.get $1 i32.add - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -1760,7 +1772,6 @@ ) (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1777,32 +1788,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $1 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store local.get $0 - i32.load $0 + i32.load i32.sub - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/dataview/DataView#getFloat32 (param $0 i32) (param $1 i32) (param $2 i32) (result f32) - (local $3 i32) - (local $4 f32) + (local $3 f32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1819,17 +1824,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 i32.const 31 i32.shr_u local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $1 i32.const 4 i32.add @@ -1847,21 +1851,21 @@ if (result f32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - f32.load $0 + f32.load else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load $0 + i32.load local.tee $0 i32.const -16711936 i32.and @@ -1875,17 +1879,14 @@ i32.or f32.reinterpret_i32 end - local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 ) (func $~lib/dataview/DataView#getFloat64 (param $0 i32) (param $1 i32) (result f64) (local $2 i64) - (local $3 i32) - (local $4 f64) + (local $3 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1902,14 +1903,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 8 i32.lt_s if @@ -1924,17 +1924,17 @@ if (result f64) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - f64.load $0 + i32.load offset=4 + f64.load else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - i64.load $0 + i32.load offset=4 + i64.load local.tee $2 i64.const 8 i64.shr_u @@ -1961,15 +1961,12 @@ i64.rotr f64.reinterpret_i64 end - local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 ) (func $~lib/dataview/DataView#getInt8 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1986,15 +1983,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.ge_u if i32.const 1360 @@ -2005,23 +2001,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_s $0 - local.set $0 - local.get $2 + i32.load8_s + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/dataview/DataView#getInt16 (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 @@ -2038,17 +2030,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 i32.const 31 i32.shr_u local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $1 i32.const 2 i32.add @@ -2063,16 +2054,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load16_s $0 + i32.load16_s local.set $0 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2081,19 +2071,17 @@ local.get $0 else local.get $0 - i32.const 65535 - i32.and - local.tee $0 i32.const 8 i32.shl local.get $0 + i32.const 65535 + i32.and i32.const 8 i32.shr_u i32.or end ) (func $~lib/dataview/DataView#getInt32 (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 @@ -2110,17 +2098,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 i32.const 31 i32.shr_u local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $1 i32.const 4 i32.add @@ -2135,16 +2122,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load $0 + i32.load local.set $0 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2167,7 +2153,6 @@ ) (func $~lib/dataview/DataView#getInt64 (param $0 i32) (param $1 i32) (result i64) (local $2 i64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2184,14 +2169,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 8 i32.lt_s if @@ -2203,14 +2187,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - i64.load $0 + i32.load offset=4 + i64.load local.set $2 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2245,7 +2228,6 @@ end ) (func $~lib/dataview/DataView#getUint8 (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2262,15 +2244,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.ge_u if i32.const 1360 @@ -2281,23 +2262,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_u $0 - local.set $0 - local.get $2 + i32.load8_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/dataview/DataView#getUint16 (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 @@ -2314,17 +2291,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 i32.const 31 i32.shr_u local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $1 i32.const 2 i32.add @@ -2339,32 +2315,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load16_u $0 + i32.load16_u local.set $0 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $0 - i32.const 8 - i32.shl - local.get $0 - i32.const 8 - i32.shr_u - i32.or local.get $2 - select + if (result i32) + local.get $0 + else + local.get $0 + i32.const 8 + i32.shl + local.get $0 + i32.const 8 + i32.shr_u + i32.or + end ) (func $~lib/dataview/DataView#getUint32 (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 @@ -2381,17 +2357,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 i32.const 31 i32.shr_u local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $1 i32.const 4 i32.add @@ -2406,16 +2381,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load $0 + i32.load local.set $0 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2438,7 +2412,6 @@ ) (func $~lib/dataview/DataView#getUint64 (param $0 i32) (param $1 i32) (result i64) (local $2 i64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2455,14 +2428,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 8 i32.lt_s if @@ -2474,14 +2446,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - i64.load $0 + i32.load offset=4 + i64.load local.set $2 - local.get $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2516,7 +2487,6 @@ end ) (func $~lib/dataview/DataView#setFloat32 (param $0 i32) (param $1 f32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2533,14 +2503,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 4 i32.lt_s if @@ -2555,17 +2524,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 - f32.store $0 + f32.store else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.reinterpret_f32 local.tee $0 @@ -2579,7 +2548,7 @@ i32.const 8 i32.rotr i32.or - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2588,7 +2557,6 @@ ) (func $~lib/dataview/DataView#setFloat64 (param $0 i32) (param $1 f64) (param $2 i32) (local $3 i64) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2605,14 +2573,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 8 i32.lt_s if @@ -2627,17 +2594,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 - f64.store $0 + f64.store else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i64.reinterpret_f64 local.tee $3 @@ -2664,7 +2631,7 @@ i64.or i64.const 32 i64.rotr - i64.store $0 + i64.store end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2672,7 +2639,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt16 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2689,14 +2655,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.lt_s if @@ -2709,32 +2674,30 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 if (result i32) local.get $1 else local.get $1 - i32.const 65535 - i32.and - local.tee $0 i32.const 8 i32.shl - local.get $0 + local.get $1 + i32.const 65535 + i32.and i32.const 8 i32.shr_u i32.or end - i32.store16 $0 + i32.store16 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt32 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2751,14 +2714,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 4 i32.lt_s if @@ -2771,9 +2733,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 if (result i32) local.get $1 @@ -2790,14 +2752,13 @@ i32.rotr i32.or end - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt64 (param $0 i32) (param $1 i64) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2814,14 +2775,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 8 i32.lt_s if @@ -2834,9 +2794,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 if (result i64) local.get $1 @@ -2866,14 +2826,13 @@ i64.const 32 i64.rotr end - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setUint16 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2890,14 +2849,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.lt_s if @@ -2910,32 +2868,30 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 if (result i32) local.get $1 else local.get $1 - i32.const 65535 - i32.and - local.tee $0 i32.const 8 i32.shl - local.get $0 + local.get $1 + i32.const 65535 + i32.and i32.const 8 i32.shr_u i32.or end - i32.store16 $0 + i32.store16 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setUint32 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2952,14 +2908,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 4 i32.lt_s if @@ -2972,9 +2927,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 if (result i32) local.get $1 @@ -2991,14 +2946,13 @@ i32.rotr i32.or end - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setUint64 (param $0 i32) (param $1 i64) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3015,14 +2969,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 8 i32.lt_s if @@ -3035,9 +2988,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 if (result i64) local.get $1 @@ -3067,7 +3020,7 @@ i64.const 32 i64.rotr end - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -3078,7 +3031,6 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -3089,13 +3041,12 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - memory.size $0 + i64.store offset=8 + memory.size i32.const 16 i32.shl i32.const 34540 @@ -3105,31 +3056,31 @@ global.set $~lib/rt/itcms/threshold i32.const 1284 i32.const 1280 - i32.store $0 + i32.store i32.const 1288 i32.const 1280 - i32.store $0 + i32.store i32.const 1280 global.set $~lib/rt/itcms/pinSpace i32.const 1316 i32.const 1312 - i32.store $0 + i32.store i32.const 1320 i32.const 1312 - i32.store $0 + i32.store i32.const 1312 global.set $~lib/rt/itcms/toSpace i32.const 1460 i32.const 1456 - i32.store $0 + i32.store i32.const 1464 i32.const 1456 - i32.store $0 + i32.store i32.const 1456 global.set $~lib/rt/itcms/fromSpace - local.get $0 + global.get $~lib/memory/__stack_pointer block $__inlined_func$~lib/typedarray/Uint8Array#constructor (result i32) - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -3139,20 +3090,19 @@ i32.lt_s br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -3161,12 +3111,11 @@ i32.lt_s br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $0 i32.eqz if @@ -3175,60 +3124,59 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 + local.get $2 + i32.store offset=12 local.get $0 - local.get $3 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#set:buffer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $3 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 8 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -3238,94 +3186,92 @@ end br $folding-inner1 end - local.tee $2 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 i32.const 246 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 i32.const 224 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 i32.const 88 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 3 i32.const 159 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 4 i32.const 130 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 5 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 6 i32.const 67 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 7 i32.const 95 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + local.get $1 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 - local.tee $3 - i32.store $0 offset=8 + local.get $1 + i32.load + local.tee $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + local.get $1 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.set $4 - local.get $2 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $0 + local.set $3 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 local.get $2 - i32.store $0 offset=8 - local.get $4 local.get $3 - local.get $0 - local.get $2 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 call $~lib/dataview/DataView#constructor local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -3342,7 +3288,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 1 @@ -3359,7 +3305,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 1 @@ -3376,7 +3322,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 1 @@ -3393,7 +3339,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 1 @@ -3410,7 +3356,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -3427,7 +3373,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 0 @@ -3444,7 +3390,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 0 @@ -3461,7 +3407,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -3478,7 +3424,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -3495,7 +3441,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getFloat64 @@ -3511,7 +3457,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getFloat64 @@ -3527,7 +3473,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt8 @@ -3543,7 +3489,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt8 @@ -3559,7 +3505,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/dataview/DataView#getInt8 @@ -3575,7 +3521,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/dataview/DataView#getInt8 @@ -3591,7 +3537,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 call $~lib/dataview/DataView#getInt8 @@ -3607,7 +3553,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 call $~lib/dataview/DataView#getInt8 @@ -3623,7 +3569,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 6 call $~lib/dataview/DataView#getInt8 @@ -3639,7 +3585,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 7 call $~lib/dataview/DataView#getInt8 @@ -3655,7 +3601,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -3674,7 +3620,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 1 @@ -3693,7 +3639,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 1 @@ -3712,7 +3658,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 1 @@ -3731,7 +3677,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 1 @@ -3750,7 +3696,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -3769,7 +3715,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 6 i32.const 1 @@ -3788,7 +3734,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -3807,7 +3753,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 0 @@ -3826,7 +3772,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 0 @@ -3845,7 +3791,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -3864,7 +3810,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -3883,7 +3829,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -3902,7 +3848,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 6 i32.const 0 @@ -3921,7 +3867,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -3938,7 +3884,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 1 @@ -3955,7 +3901,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 1 @@ -3972,7 +3918,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 1 @@ -3989,7 +3935,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 1 @@ -4006,7 +3952,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4023,7 +3969,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 0 @@ -4040,7 +3986,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 0 @@ -4057,7 +4003,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -4074,7 +4020,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -4091,7 +4037,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt64 @@ -4107,7 +4053,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt64 @@ -4123,7 +4069,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint8 @@ -4139,7 +4085,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint8 @@ -4155,7 +4101,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/dataview/DataView#getUint8 @@ -4171,7 +4117,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/dataview/DataView#getUint8 @@ -4187,7 +4133,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 call $~lib/dataview/DataView#getUint8 @@ -4203,7 +4149,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 call $~lib/dataview/DataView#getUint8 @@ -4219,7 +4165,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 6 call $~lib/dataview/DataView#getUint8 @@ -4235,7 +4181,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 7 call $~lib/dataview/DataView#getUint8 @@ -4251,7 +4197,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -4270,7 +4216,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 1 @@ -4289,7 +4235,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 1 @@ -4308,7 +4254,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 1 @@ -4327,7 +4273,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 1 @@ -4346,7 +4292,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -4365,7 +4311,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 6 i32.const 1 @@ -4384,7 +4330,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4403,7 +4349,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 0 @@ -4422,7 +4368,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 0 @@ -4441,7 +4387,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -4460,7 +4406,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -4479,7 +4425,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -4498,7 +4444,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 6 i32.const 0 @@ -4517,7 +4463,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -4534,7 +4480,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 1 @@ -4551,7 +4497,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 1 @@ -4568,7 +4514,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 1 @@ -4585,7 +4531,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 1 @@ -4602,7 +4548,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4619,7 +4565,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 0 @@ -4636,7 +4582,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 0 @@ -4653,7 +4599,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -4670,7 +4616,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -4687,7 +4633,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint64 @@ -4703,7 +4649,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint64 @@ -4719,14 +4665,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f32.const 1.5976661625240943e-18 i32.const 1 call $~lib/dataview/DataView#setFloat32 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -4743,14 +4689,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f32.const 1976281973381696323584 i32.const 0 call $~lib/dataview/DataView#setFloat32 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4767,14 +4713,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f64.const -1094252199637739024055454e124 i32.const 1 call $~lib/dataview/DataView#setFloat64 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getFloat64 @@ -4790,14 +4736,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f64.const 6.022586634778589e-103 i32.const 0 call $~lib/dataview/DataView#setFloat64 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getFloat64 @@ -4812,10 +4758,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4824,14 +4769,13 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz if i32.const 1360 @@ -4842,20 +4786,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 108 - i32.store8 $0 - local.get $3 + i32.store8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt8 @@ -4871,14 +4814,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -13360 i32.const 1 call $~lib/dataview/DataView#setInt16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -4897,14 +4840,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 14689 i32.const 0 call $~lib/dataview/DataView#setInt16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4923,14 +4866,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1204680201 i32.const 1 call $~lib/dataview/DataView#setInt32 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -4947,14 +4890,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 660673230 i32.const 0 call $~lib/dataview/DataView#setInt32 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -4971,14 +4914,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const -3290739641816099749 i32.const 1 call $~lib/dataview/DataView#setInt64 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt64 @@ -4994,14 +4937,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 8178932412950708047 i32.const 0 call $~lib/dataview/DataView#setInt64 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt64 @@ -5016,10 +4959,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5028,14 +4970,13 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz if i32.const 1360 @@ -5046,20 +4987,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 238 - i32.store8 $0 - local.get $3 + i32.store8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint8 @@ -5075,14 +5015,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 58856 i32.const 1 call $~lib/dataview/DataView#setUint16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -5101,14 +5041,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 60400 i32.const 0 call $~lib/dataview/DataView#setUint16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -5127,14 +5067,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -846805744 i32.const 1 call $~lib/dataview/DataView#setUint32 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 @@ -5151,14 +5091,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1510791631 i32.const 0 call $~lib/dataview/DataView#setUint32 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 0 @@ -5175,14 +5115,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 2334704782995986958 i32.const 1 call $~lib/dataview/DataView#setUint64 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint64 @@ -5198,14 +5138,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const -7123186897289856329 i32.const 0 call $~lib/dataview/DataView#setUint64 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint64 @@ -5220,17 +5160,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 - i32.store $0 offset=8 - local.get $0 - local.get $2 - i32.load $0 - local.tee $2 - i32.store $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -5240,48 +5178,35 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.set $1 - end + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - local.get $2 - i32.store $0 offset=4 - local.get $2 i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 local.get $1 + i32.const 0 + local.get $2 call $~lib/dataview/DataView#constructor local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -5294,9 +5219,9 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 8 i32.ne if @@ -5355,23 +5280,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index 9bb0c59e71..69c2f16c5e 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -1,26 +1,27 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 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 $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_i32_i32_=>_i64 (func (param i32 i32 i32) (result i64))) - (type $i32_i32_i32_i32_i32_i32_i32_=>_i64 (func (param i32 i32 i32 i32 i32 i32 i32) (result i64))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i64_=>_none (func (param i32 i64))) - (type $i32_=>_i64 (func (param i32) (result i64))) - (type $i32_i32_i32_i64_=>_i64 (func (param i32 i32 i32 i64) (result i64))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) - (type $i32_i64_=>_i64 (func (param i32 i64) (result i64))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32 i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32))) + (type $5 (func (param i32))) + (type $6 (func)) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i64) (result i32))) + (type $9 (func (param i32 i32 i32) (result i64))) + (type $10 (func (param i32 i32 i32 i32 i32 i32 i32) (result i64))) + (type $11 (func (param i32 i32 i64) (result i32))) + (type $12 (func (result i32))) + (type $13 (func (param i32 i64))) + (type $14 (func (param i32) (result i64))) + (type $15 (func (param i32 i32 i32 i64) (result i64))) + (type $16 (func (param i32 i64 i32))) + (type $17 (func (param i64 i32) (result i32))) + (type $18 (func (param i32 i64 i32 i32))) + (type $19 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $20 (func (param i32 i64) (result i32))) + (type $21 (func (param i32 i64) (result i64))) + (type $22 (func (param i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/date/_day (mut i32) (i32.const 0)) (global $~lib/date/_month (mut i32) (i32.const 0)) @@ -42,122 +43,130 @@ (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $~lib/builtins/i32.MAX_VALUE i32 (i32.const 2147483647)) (global $~lib/native/ASC_RUNTIME i32 (i32.const 2)) - (global $~lib/rt/__rtti_base i32 (i32.const 6768)) - (global $~lib/memory/__data_end i32 (i32.const 6804)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 39572)) - (global $~lib/memory/__heap_base i32 (i32.const 39572)) + (global $~lib/rt/__rtti_base i32 (i32.const 7408)) + (global $~lib/memory/__data_end i32 (i32.const 7444)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 40212)) + (global $~lib/memory/__heap_base i32 (i32.const 40212)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00D\00a\00t\00e\00\00\00\00\00") - (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00~\00l\00i\00b\00/\00d\00a\00t\00e\00.\00t\00s\00\00\00\00\00") - (data (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 220) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 288) "\00\00\00\00\00\00\00\00\00\00\00\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\02\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 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 556) "\00\03\02\05\00\03\05\01\04\06\02\04") - (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 764) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 860) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 1260) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2316) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00T\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00Z\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2572) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\008\00\00\00\00\00\00\00P\02\00\00\00\00\00\00P\02\00\00\00\00\00\00\a0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\e0\t\00\00\00\00\00\00\00\n\00\00\00\00\00\00") - (data (i32.const 2652) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2732) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") - (data (i32.const 2812) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2892) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2972) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3052) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 3132) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3212) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 3292) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z\00\00\00\00\00\00\00") - (data (i32.const 3372) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00S\00u\00n\00 \00\00\00\00\00") - (data (i32.const 3404) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00M\00o\00n\00 \00\00\00\00\00") - (data (i32.const 3436) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00T\00u\00e\00 \00\00\00\00\00") - (data (i32.const 3468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00W\00e\00d\00 \00\00\00\00\00") - (data (i32.const 3500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00T\00h\00u\00 \00\00\00\00\00") - (data (i32.const 3532) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00F\00r\00i\00 \00\00\00\00\00") - (data (i32.const 3564) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00S\00a\00t\00 \00\00\00\00\00") - (data (i32.const 3596) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\1c\00\00\00@\r\00\00`\r\00\00\80\r\00\00\a0\r\00\00\c0\r\00\00\e0\r\00\00\00\0e\00\00") - (data (i32.const 3644) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00J\00a\00n\00 \00\00\00\00\00") - (data (i32.const 3676) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00F\00e\00b\00 \00\00\00\00\00") - (data (i32.const 3708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00M\00a\00r\00 \00\00\00\00\00") - (data (i32.const 3740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00p\00r\00 \00\00\00\00\00") - (data (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00M\00a\00y\00 \00\00\00\00\00") - (data (i32.const 3804) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00J\00u\00n\00 \00\00\00\00\00") - (data (i32.const 3836) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00J\00u\00l\00 \00\00\00\00\00") - (data (i32.const 3868) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00u\00g\00 \00\00\00\00\00") - (data (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00S\00e\00p\00 \00\00\00\00\00") - (data (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00O\00c\00t\00 \00\00\00\00\00") - (data (i32.const 3964) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00N\00o\00v\00 \00\00\00\00\00") - (data (i32.const 3996) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00D\00e\00c\00 \00\00\00\00\00") - (data (i32.const 4028) "L\00\00\00\00\00\00\00\00\00\00\00\05\00\00\000\00\00\00P\0e\00\00p\0e\00\00\90\0e\00\00\b0\0e\00\00\d0\0e\00\00\f0\0e\00\00\10\0f\00\000\0f\00\00P\0f\00\00p\0f\00\00\90\0f\00\00\b0\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4108) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14\00\00\00\00\00\00\00\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 4156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00 \00-\00\00\00\00\00\00\00\00\00") - (data (i32.const 4188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4284) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4412) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14\00\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00S\00u\00n\00,\00 \00\00\00") - (data (i32.const 4588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00M\00o\00n\00,\00 \00\00\00") - (data (i32.const 4620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00T\00u\00e\00,\00 \00\00\00") - (data (i32.const 4652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00W\00e\00d\00,\00 \00\00\00") - (data (i32.const 4684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00T\00h\00u\00,\00 \00\00\00") - (data (i32.const 4716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00F\00r\00i\00,\00 \00\00\00") - (data (i32.const 4748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00S\00a\00t\00,\00 \00\00\00") - (data (i32.const 4780) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\1c\00\00\00\e0\11\00\00\00\12\00\00 \12\00\00@\12\00\00`\12\00\00\80\12\00\00\a0\12\00\00") - (data (i32.const 4828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00J\00a\00n\00 \00\00\00") - (data (i32.const 4860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00F\00e\00b\00 \00\00\00") - (data (i32.const 4892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00M\00a\00r\00 \00\00\00") - (data (i32.const 4924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00A\00p\00r\00 \00\00\00") - (data (i32.const 4956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00M\00a\00y\00 \00\00\00") - (data (i32.const 4988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00J\00u\00n\00 \00\00\00") - (data (i32.const 5020) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00J\00u\00l\00 \00\00\00") - (data (i32.const 5052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00A\00u\00g\00 \00\00\00") - (data (i32.const 5084) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00S\00e\00p\00 \00\00\00") - (data (i32.const 5116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00O\00c\00t\00 \00\00\00") - (data (i32.const 5148) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00N\00o\00v\00 \00\00\00") - (data (i32.const 5180) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00D\00e\00c\00 \00\00\00") - (data (i32.const 5212) "L\00\00\00\00\00\00\00\00\00\00\00\05\00\00\000\00\00\00\f0\12\00\00\10\13\00\000\13\00\00P\13\00\00p\13\00\00\90\13\00\00\b0\13\00\00\d0\13\00\00\f0\13\00\00\10\14\00\000\14\00\00P\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00 \00G\00M\00T\00\00\00\00\00") - (data (i32.const 5324) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00p\10\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5404) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00\00\00") - (data (i32.const 5484) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T\00\00\00") - (data (i32.const 5564) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00") - (data (i32.const 5644) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 5692) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 5740) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 5788) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5916) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5964) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004\00\00\00\00\00\00\00\00\00") - (data (i32.const 6012) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00\00\00\00\00\00\00") - (data (i32.const 6076) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6156) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6236) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\000\000\000\00\00\00\00\00") - (data (i32.const 6268) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\000\000\001\00\00\00\00\00") - (data (i32.const 6300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\009\007\006\00\00\00\00\00") - (data (i32.const 6332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\009\007\006\00-\000\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6380) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6444) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 6524) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") - (data (i32.const 6604) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") - (data (i32.const 6684) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z\00\00\00\00\00\00\00") - (data (i32.const 6768) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\04A\00\00\02A\00\00\02\t\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00D\00a\00t\00e\00\00\00\00\00") + (data $1 (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00~\00l\00i\00b\00/\00d\00a\00t\00e\00.\00t\00s\00\00\00\00\00") + (data $2 (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s\00\00\00\00\00\00\00") + (data $3 (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 492) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $11 (i32.const 556) "\00\03\02\05\00\03\05\01\04\06\02\04") + (data $12 (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 636) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 764) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $16 (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 860) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data $18 (i32.const 1260) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 2316) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") + (data $20 (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $21 (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00T\00\00\00\00\00\00\00\00\00\00\00") + (data $22 (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") + (data $23 (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") + (data $24 (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00Z\00\00\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 2572) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\008\00\00\00\00\00\00\00P\02\00\00\00\00\00\00P\02\00\00\00\00\00\00\a0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\e0\t\00\00\00\00\00\00\00\n\00\00\00\00\00\00") + (data $26 (i32.const 2652) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $27 (i32.const 2732) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") + (data $28 (i32.const 2812) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $29 (i32.const 2892) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $30 (i32.const 2972) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $31 (i32.const 3052) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z\00\00\00\00\00\00\00") + (data $32 (i32.const 3132) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $33 (i32.const 3212) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") + (data $34 (i32.const 3292) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z\00\00\00\00\00\00\00") + (data $35 (i32.const 3372) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00S\00u\00n\00 \00\00\00\00\00") + (data $36 (i32.const 3404) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00M\00o\00n\00 \00\00\00\00\00") + (data $37 (i32.const 3436) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00T\00u\00e\00 \00\00\00\00\00") + (data $38 (i32.const 3468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00W\00e\00d\00 \00\00\00\00\00") + (data $39 (i32.const 3500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00T\00h\00u\00 \00\00\00\00\00") + (data $40 (i32.const 3532) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00F\00r\00i\00 \00\00\00\00\00") + (data $41 (i32.const 3564) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00S\00a\00t\00 \00\00\00\00\00") + (data $42 (i32.const 3596) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\1c\00\00\00@\r\00\00`\r\00\00\80\r\00\00\a0\r\00\00\c0\r\00\00\e0\r\00\00\00\0e\00\00") + (data $43 (i32.const 3644) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00J\00a\00n\00 \00\00\00\00\00") + (data $44 (i32.const 3676) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00F\00e\00b\00 \00\00\00\00\00") + (data $45 (i32.const 3708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00M\00a\00r\00 \00\00\00\00\00") + (data $46 (i32.const 3740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00p\00r\00 \00\00\00\00\00") + (data $47 (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00M\00a\00y\00 \00\00\00\00\00") + (data $48 (i32.const 3804) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00J\00u\00n\00 \00\00\00\00\00") + (data $49 (i32.const 3836) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00J\00u\00l\00 \00\00\00\00\00") + (data $50 (i32.const 3868) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00u\00g\00 \00\00\00\00\00") + (data $51 (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00S\00e\00p\00 \00\00\00\00\00") + (data $52 (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00O\00c\00t\00 \00\00\00\00\00") + (data $53 (i32.const 3964) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00N\00o\00v\00 \00\00\00\00\00") + (data $54 (i32.const 3996) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00D\00e\00c\00 \00\00\00\00\00") + (data $55 (i32.const 4028) "L\00\00\00\00\00\00\00\00\00\00\00\05\00\00\000\00\00\00P\0e\00\00p\0e\00\00\90\0e\00\00\b0\0e\00\00\d0\0e\00\00\f0\0e\00\00\10\0f\00\000\0f\00\00P\0f\00\00p\0f\00\00\90\0f\00\00\b0\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $56 (i32.const 4108) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14\00\00\00\00\00\00\00\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 $57 (i32.const 4156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00 \00-\00\00\00\00\00\00\00\00\00") + (data $58 (i32.const 4188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data $59 (i32.const 4220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $60 (i32.const 4284) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $61 (i32.const 4348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $62 (i32.const 4412) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14\00\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $63 (i32.const 4460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $64 (i32.const 4508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $65 (i32.const 4556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00S\00u\00n\00,\00 \00\00\00") + (data $66 (i32.const 4588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00M\00o\00n\00,\00 \00\00\00") + (data $67 (i32.const 4620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00T\00u\00e\00,\00 \00\00\00") + (data $68 (i32.const 4652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00W\00e\00d\00,\00 \00\00\00") + (data $69 (i32.const 4684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00T\00h\00u\00,\00 \00\00\00") + (data $70 (i32.const 4716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00F\00r\00i\00,\00 \00\00\00") + (data $71 (i32.const 4748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00S\00a\00t\00,\00 \00\00\00") + (data $72 (i32.const 4780) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\1c\00\00\00\e0\11\00\00\00\12\00\00 \12\00\00@\12\00\00`\12\00\00\80\12\00\00\a0\12\00\00") + (data $73 (i32.const 4828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00J\00a\00n\00 \00\00\00") + (data $74 (i32.const 4860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00F\00e\00b\00 \00\00\00") + (data $75 (i32.const 4892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00M\00a\00r\00 \00\00\00") + (data $76 (i32.const 4924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00A\00p\00r\00 \00\00\00") + (data $77 (i32.const 4956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00M\00a\00y\00 \00\00\00") + (data $78 (i32.const 4988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00J\00u\00n\00 \00\00\00") + (data $79 (i32.const 5020) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00J\00u\00l\00 \00\00\00") + (data $80 (i32.const 5052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00A\00u\00g\00 \00\00\00") + (data $81 (i32.const 5084) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00S\00e\00p\00 \00\00\00") + (data $82 (i32.const 5116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00O\00c\00t\00 \00\00\00") + (data $83 (i32.const 5148) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00N\00o\00v\00 \00\00\00") + (data $84 (i32.const 5180) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00D\00e\00c\00 \00\00\00") + (data $85 (i32.const 5212) "L\00\00\00\00\00\00\00\00\00\00\00\05\00\00\000\00\00\00\f0\12\00\00\10\13\00\000\13\00\00P\13\00\00p\13\00\00\90\13\00\00\b0\13\00\00\d0\13\00\00\f0\13\00\00\10\14\00\000\14\00\00P\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $86 (i32.const 5292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00 \00G\00M\00T\00\00\00\00\00") + (data $87 (i32.const 5324) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00p\10\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\t\00\00\00\00\00\00\c0\14\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $88 (i32.const 5404) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00\00\00") + (data $89 (i32.const 5484) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T\00\00\00") + (data $90 (i32.const 5564) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T\00") + (data $91 (i32.const 5644) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002\00\00\00\00\00\00\00\00\00") + (data $92 (i32.const 5692) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $93 (i32.const 5740) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $94 (i32.const 5788) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $95 (i32.const 5916) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $96 (i32.const 5964) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004\00\00\00\00\00\00\00\00\00") + (data $97 (i32.const 6012) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00\00\00\00\00\00\00") + (data $98 (i32.const 6076) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $99 (i32.const 6156) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $100 (i32.const 6236) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00-\000\008\00:\000\000\00\00\00") + (data $101 (i32.const 6316) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00+\000\005\00:\003\000\00\00\00") + (data $102 (i32.const 6396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\00") + (data $103 (i32.const 6460) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\00Z\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $104 (i32.const 6540) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\008\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\00+\000\000\00:\000\000\00\00\00\00\00") + (data $105 (i32.const 6620) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\007\008\009\00\00\00\00\00\00\00\00\00") + (data $106 (i32.const 6700) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\007\008\009\00Z\00\00\00\00\00\00\00") + (data $107 (i32.const 6780) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\007\008\009\00+\000\000\00:\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $108 (i32.const 6876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\000\000\000\00\00\00\00\00") + (data $109 (i32.const 6908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\000\000\001\00\00\00\00\00") + (data $110 (i32.const 6940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\009\007\006\00\00\00\00\00") + (data $111 (i32.const 6972) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\009\007\006\00-\000\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $112 (i32.const 7020) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $113 (i32.const 7084) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") + (data $114 (i32.const 7164) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z\00\00\00\00\00\00\00") + (data $115 (i32.const 7244) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z\00\00\00\00\00\00\00") + (data $116 (i32.const 7324) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z\00\00\00\00\00\00\00") + (data $117 (i32.const 7408) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\04A\00\00\02A\00\00\02\t\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -421,27 +430,27 @@ (func $~lib/date/Date#set:year (param $this i32) (param $year i32) local.get $this local.get $year - i32.store $0 + i32.store ) (func $~lib/date/Date#set:month (param $this i32) (param $month i32) local.get $this local.get $month - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/date/Date#set:day (param $this i32) (param $day i32) local.get $this local.get $day - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -455,7 +464,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -529,7 +538,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -599,11 +608,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -611,7 +620,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 368 @@ -743,7 +752,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -756,7 +765,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -772,34 +781,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -959,7 +968,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -982,7 +991,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -996,7 +1005,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -1019,7 +1028,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -1162,7 +1171,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -1248,7 +1257,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1328,7 +1337,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1362,7 +1371,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1385,7 +1394,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1399,27 +1408,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 512 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1444,9 +1458,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1465,7 +1479,7 @@ if i32.const 0 i32.const 512 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1484,7 +1498,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1498,7 +1511,7 @@ if i32.const 0 i32.const 512 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1554,12 +1567,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1593,7 +1606,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1614,7 +1627,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1634,7 +1647,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1654,7 +1667,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1680,7 +1693,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1703,9 +1716,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1741,7 +1755,7 @@ if i32.const 0 i32.const 512 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -2007,14 +2021,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -2070,7 +2087,7 @@ if i32.const 176 i32.const 512 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -2079,6 +2096,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -2108,24 +2145,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -2163,7 +2189,7 @@ if i32.const 0 i32.const 512 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -2178,7 +2204,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -2223,7 +2249,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -2234,7 +2260,7 @@ if i32.const 0 i32.const 512 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -2256,7 +2282,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2279,7 +2305,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2298,22 +2324,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2326,7 +2344,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2353,27 +2371,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2398,7 +2417,7 @@ if i32.const 0 i32.const 512 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2513,7 +2532,7 @@ if i32.const 0 i32.const 512 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2533,7 +2552,7 @@ if i32.const 0 i32.const 512 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2566,12 +2585,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2622,30 +2641,30 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $~lib/date/Date#set:epochMillis (param $this i32) (param $epochMillis i64) local.get $this local.get $epochMillis - i64.store $0 offset=16 + i64.store offset=16 ) (func $~lib/date/Date#get:epochMillis (param $this i32) (result i64) local.get $this - i64.load $0 offset=16 + i64.load offset=16 ) (func $~lib/date/Date#get:year (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/date/Date#get:month (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/date/Date#get:day (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/date/join (param $year i32) (param $month i32) (param $day i32) (param $ms i64) (result i64) (local $a i64) @@ -2772,7 +2791,7 @@ i32.add i32.const 1 i32.sub - i32.load8_u $0 + i32.load8_u local.set $month block $~lib/date/euclidRem|inlined.0 (result i32) local.get $year @@ -2896,14 +2915,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 860 local.get $d2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -2919,7 +2938,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -2946,7 +2965,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits local.get $buffer local.get $offset @@ -2954,7 +2973,7 @@ i32.shl i32.add local.get $digits - i32.store $0 + i32.store end local.get $num i32.const 10 @@ -2969,7 +2988,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits|12 local.get $buffer local.get $offset @@ -2977,7 +2996,7 @@ i32.shl i32.add local.get $digits|12 - i32.store $0 + i32.store else local.get $offset i32.const 1 @@ -2993,7 +3012,7 @@ i32.shl i32.add local.get $digit - i32.store16 $0 + i32.store16 end ) (func $~lib/util/number/utoa_hex_lut (param $buffer i32) (param $num i64) (param $offset i32) @@ -3019,8 +3038,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $num i64.const 8 i64.shr_u @@ -3039,8 +3058,8 @@ i32.const 6 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end ) (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) @@ -3164,8 +3183,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num local.get $shift i64.shr_u @@ -3200,8 +3219,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -3219,7 +3238,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -3249,7 +3268,7 @@ i32.add local.get $src local.get $srcLength - memory.copy $0 $0 + memory.copy local.get $index local.get $srcLength i32.add @@ -3333,7 +3352,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -3391,9 +3410,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -3426,10 +3445,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -3465,7 +3484,7 @@ local.get $buffer local.get $data local.get $size - memory.copy $0 $0 + memory.copy end local.get $buffer return @@ -3476,80 +3495,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 - return - ) - (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) - (local $oldObj i32) - (local $newPtr i32) - (local $4 i32) - (local $5 i32) - local.get $oldPtr - i32.const 20 - i32.sub - local.set $oldObj - local.get $size - local.get $oldObj - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $oldObj - local.get $size - call $~lib/rt/itcms/Object#set:rtSize - local.get $oldPtr - return - end - local.get $size - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtId - call $~lib/rt/itcms/__new - local.set $newPtr - local.get $newPtr - local.get $oldPtr - local.get $size - local.tee $4 - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtSize - local.tee $5 - local.get $4 - local.get $5 - i32.lt_u - select - memory.copy $0 $0 - local.get $newPtr + i32.load return ) - (func $~lib/array/Array<~lib/string/String>#set:length_ (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) (func $~lib/util/string/isSpace (param $c i32) (result i32) (local $1 i32) local.get $c @@ -3637,6 +3585,77 @@ i32.const 0 return ) + (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) + local.get $this + i32.load offset=16 + ) + (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) + (local $oldObj i32) + (local $newPtr i32) + (local $4 i32) + (local $5 i32) + local.get $oldPtr + i32.const 20 + i32.sub + local.set $oldObj + local.get $size + local.get $oldObj + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $oldObj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $oldPtr + return + end + local.get $size + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtId + call $~lib/rt/itcms/__new + local.set $newPtr + local.get $newPtr + local.get $oldPtr + local.get $size + local.tee $4 + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtSize + local.tee $5 + local.get $4 + local.get $5 + i32.lt_u + select + memory.copy + local.get $newPtr + return + ) + (func $~lib/array/Array<~lib/string/String>#set:length_ (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store offset=12 + ) + (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) i32.const 368 @@ -3667,16 +3686,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (param $this i32) (param $cookie i32) (local $cur i32) @@ -3699,7 +3713,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -3725,7 +3739,7 @@ ) (func $~lib/array/Array<~lib/string/String>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3737,7 +3751,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3760,7 +3774,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/date/Date $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid end return @@ -3807,8 +3821,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 39600 - i32.const 39648 + i32.const 40240 + i32.const 40288 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3824,7 +3838,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3833,13 +3847,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $epochMillis call $~lib/date/Date#set:epochMillis @@ -3847,7 +3861,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/date/Date#set:year @@ -3855,7 +3869,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/date/Date#set:month @@ -3863,7 +3877,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/date/Date#set:day @@ -3872,7 +3886,7 @@ if i32.const 32 i32.const 80 - i32.const 100 + i32.const 131 i32.const 35 call $~lib/builtins/abort unreachable @@ -3881,7 +3895,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $epochMillis call $~lib/date/dateFromEpoch @@ -3890,7 +3904,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 global.get $~lib/date/_month call $~lib/date/Date#set:month @@ -3898,7 +3912,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 global.get $~lib/date/_day call $~lib/date/Date#set:day @@ -3920,13 +3934,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $time call $~lib/date/invalidDate if i32.const 32 i32.const 80 - i32.const 112 + i32.const 143 i32.const 28 call $~lib/builtins/abort unreachable @@ -3935,7 +3949,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $time call $~lib/date/Date#set:epochMillis @@ -3943,7 +3957,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $time call $~lib/date/dateFromEpoch @@ -3952,7 +3966,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 global.get $~lib/date/_month call $~lib/date/Date#set:month @@ -3960,7 +3974,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 global.get $~lib/date/_day call $~lib/date/Date#set:day @@ -3985,13 +3999,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $~lib/date/euclidRem|inlined.0 (result i64) local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/date/Date#get:epochMillis local.set $a @@ -4037,13 +4051,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $~lib/date/euclidRem|inlined.1 (result i64) local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/date/Date#get:epochMillis local.set $a @@ -4089,13 +4103,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $~lib/date/euclidRem|inlined.2 (result i64) local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/date/Date#get:epochMillis local.set $a @@ -4141,13 +4155,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $~lib/date/euclidRem|inlined.3 (result i64) local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/date/Date#get:epochMillis local.set $a @@ -4188,18 +4202,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#get:epochMillis local.get $millis @@ -4207,7 +4221,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#getUTCMilliseconds i32.sub @@ -4229,18 +4243,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#get:epochMillis local.get $seconds @@ -4248,7 +4262,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#getUTCSeconds i32.sub @@ -4272,18 +4286,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#get:epochMillis local.get $minutes @@ -4291,7 +4305,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#getUTCMinutes i32.sub @@ -4315,18 +4329,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#get:epochMillis local.get $hours @@ -4334,7 +4348,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#getUTCHours i32.sub @@ -4358,12 +4372,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/date/Date#get:day local.get $day @@ -4379,20 +4393,20 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#get:year local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#get:month local.get $day @@ -4400,7 +4414,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#get:epochMillis call $~lib/date/join @@ -4420,12 +4434,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/date/Date#get:month local.get $month @@ -4443,13 +4457,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 call $~lib/date/Date#get:year local.get $month @@ -4460,7 +4474,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 call $~lib/date/Date#get:epochMillis call $~lib/date/join @@ -4480,7 +4494,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -4495,7 +4509,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/date/Date#get:day local.set $day @@ -4504,7 +4518,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $month local.get $day @@ -4523,12 +4537,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/date/Date#get:year local.get $year @@ -4544,28 +4558,28 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $year local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#get:month local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#get:day local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/date/Date#get:epochMillis call $~lib/date/join @@ -4593,12 +4607,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length i32.const 1 @@ -4612,7 +4626,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length i32.const 1 @@ -4646,7 +4660,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $prependSize local.get $padSize i32.gt_u @@ -4675,19 +4689,19 @@ i32.add local.get $pad local.get $restSize - memory.copy $0 $0 + memory.copy else local.get $out local.get $pad local.get $prependSize - memory.copy $0 $0 + memory.copy end local.get $out local.get $prependSize i32.add local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $out local.set $11 global.get $~lib/memory/__stack_pointer @@ -4700,32 +4714,27 @@ (func $~lib/date/stringify (param $value i32) (param $padding i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $value i32.const 10 call $~lib/number/I32#toString local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $padding i32.const 848 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 call $~lib/string/String#padStart local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -4744,12 +4753,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -4759,7 +4768,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -4787,17 +4796,17 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $out local.get $thisSize i32.add local.get $other local.get $otherSize - memory.copy $0 $0 + memory.copy local.get $out local.set $6 global.get $~lib/memory/__stack_pointer @@ -4816,18 +4825,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String#concat local.set $2 @@ -4857,10 +4866,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $length i32.const 1 i32.sub @@ -4883,9 +4892,9 @@ if global.get $~lib/memory/__stack_pointer local.get $dataStart - i32.load $0 + i32.load local.tee $4 - i32.store $0 + i32.store local.get $4 if (result i32) local.get $4 @@ -4915,9 +4924,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -4927,7 +4936,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length i32.add @@ -4946,7 +4955,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length local.set $sepLen @@ -4961,7 +4970,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i|11 loop $for-loop|1 @@ -4975,9 +4984,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -4986,7 +4995,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length local.set $valueLen @@ -4999,7 +5008,7 @@ local.get $valueLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $valueLen i32.add @@ -5016,7 +5025,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -5035,9 +5044,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -5052,12 +5061,12 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy end local.get $result local.set $13 @@ -5077,7 +5086,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 0 drop i32.const 0 @@ -5095,14 +5104,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinStringArray local.set $2 @@ -5134,19 +5143,19 @@ (local $18 i32) (local $19 i32) global.get $~lib/memory/__stack_pointer - i32.const 68 + i32.const 64 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 68 - memory.fill $0 + i32.const 64 + memory.fill local.get $this local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/date/Date#get:year local.set $yr @@ -5173,7 +5182,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 local.get $yr local.tee $3 @@ -5189,7 +5198,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/string/String.__concat else @@ -5198,221 +5207,216 @@ call $~lib/date/stringify end local.tee $year - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/date/Date#get:month i32.const 2 call $~lib/date/stringify local.tee $month - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $this local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/date/Date#get:day i32.const 2 call $~lib/date/stringify local.tee $day - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $this local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/date/Date#getUTCHours i32.const 2 call $~lib/date/stringify local.tee $hours - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $this local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/date/Date#getUTCMinutes i32.const 2 call $~lib/date/stringify local.tee $mins - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $this local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/date/Date#getUTCSeconds i32.const 2 call $~lib/date/stringify local.tee $secs - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $this local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/date/Date#getUTCMilliseconds i32.const 3 call $~lib/date/stringify local.tee $ms - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $year local.tee $12 - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $month local.tee $13 - i32.store $0 offset=40 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $day local.tee $14 - i32.store $0 offset=44 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $hours local.tee $15 - i32.store $0 offset=48 + i32.store offset=48 global.get $~lib/memory/__stack_pointer local.get $mins local.tee $16 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $secs local.tee $17 - i32.store $0 offset=56 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $ms local.tee $18 - i32.store $0 offset=60 + i32.store offset=60 i32.const 2592 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 i32.const 0 local.get $12 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=64 + i32.store offset=4 local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2592 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 i32.const 2 local.get $13 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=64 + i32.store offset=4 local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2592 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 i32.const 4 local.get $14 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=64 + i32.store offset=4 local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2592 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 i32.const 6 local.get $15 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=64 + i32.store offset=4 local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2592 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 i32.const 8 local.get $16 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=64 + i32.store offset=4 local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2592 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 i32.const 10 local.get $17 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=64 + i32.store offset=4 local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2592 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 i32.const 12 local.get $18 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=64 + i32.store offset=4 local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2592 local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 i32.const 2432 - local.set $19 - global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 offset=4 - local.get $19 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $19 global.get $~lib/memory/__stack_pointer - i32.const 68 + i32.const 64 i32.add global.set $~lib/memory/__stack_pointer local.get $19 @@ -5428,7 +5432,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -5466,7 +5470,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -5475,7 +5479,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -5493,14 +5497,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -5536,33 +5540,33 @@ (local $19 i32) (local $20 i32) global.get $~lib/memory/__stack_pointer - i32.const 56 + i32.const 52 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 56 - memory.fill $0 + i32.const 52 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 28 i32.const 5 i32.const 3616 call $~lib/rt/__newBuffer local.tee $weeks - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 48 i32.const 5 i32.const 4048 call $~lib/rt/__newBuffer local.tee $months - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 call $~lib/date/Date#get:month local.set $mo @@ -5570,7 +5574,7 @@ local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 call $~lib/date/Date#get:day local.set $da @@ -5578,7 +5582,7 @@ local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 call $~lib/date/Date#get:year local.set $yr @@ -5600,49 +5604,49 @@ i32.const 4 call $~lib/date/stringify local.tee $year - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $months local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 local.get $mo i32.const 1 i32.sub call $~lib/staticarray/StaticArray<~lib/string/String>#__uget local.tee $month - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $weeks local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 local.get $wd call $~lib/staticarray/StaticArray<~lib/string/String>#__uget local.tee $week - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $da i32.const 2 call $~lib/date/stringify local.tee $day - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $week local.tee $15 - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $month local.tee $16 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $day local.tee $17 - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $yr i32.const 0 @@ -5653,97 +5657,92 @@ i32.const 4208 end local.tee $18 - i32.store $0 offset=40 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $year local.tee $19 - i32.store $0 offset=44 + i32.store offset=44 i32.const 4128 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 i32.const 0 local.get $15 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=48 + i32.store offset=48 local.get $20 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4128 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 i32.const 1 local.get $16 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=48 + i32.store offset=48 local.get $20 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4128 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 i32.const 2 local.get $17 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=48 + i32.store offset=48 local.get $20 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4128 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 i32.const 3 local.get $18 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=48 + i32.store offset=48 local.get $20 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4128 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 i32.const 4 local.get $19 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=48 + i32.store offset=48 local.get $20 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4128 local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 offset=8 + i32.store offset=8 local.get $20 i32.const 2432 - local.set $20 - global.get $~lib/memory/__stack_pointer - local.get $20 - i32.store $0 offset=52 - local.get $20 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $20 global.get $~lib/memory/__stack_pointer - i32.const 56 + i32.const 52 i32.add global.set $~lib/memory/__stack_pointer local.get $20 @@ -5758,120 +5757,115 @@ (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 32 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 - memory.fill $0 + i32.const 32 + memory.fill global.get $~lib/memory/__stack_pointer local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/date/Date#getUTCHours i32.const 2 call $~lib/date/stringify local.tee $hours - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/date/Date#getUTCMinutes i32.const 2 call $~lib/date/stringify local.tee $mins - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/date/Date#getUTCSeconds i32.const 2 call $~lib/date/stringify local.tee $secs - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $hours local.tee $4 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $mins local.tee $5 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $secs local.tee $6 - i32.store $0 offset=24 + i32.store offset=24 i32.const 4432 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 i32.const 0 local.get $4 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=28 + i32.store offset=28 local.get $7 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4432 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 i32.const 2 local.get $5 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=28 + i32.store offset=28 local.get $7 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4432 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 i32.const 4 local.get $6 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=28 + i32.store offset=28 local.get $7 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4432 local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 i32.const 2432 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=32 - local.get $7 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 32 i32.add global.set $~lib/memory/__stack_pointer local.get $7 @@ -5905,33 +5899,33 @@ (local $25 i32) (local $26 i32) global.get $~lib/memory/__stack_pointer - i32.const 80 + i32.const 76 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 80 - memory.fill $0 + i32.const 76 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 28 i32.const 5 i32.const 4800 call $~lib/rt/__newBuffer local.tee $weeks - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 48 i32.const 5 i32.const 5232 call $~lib/rt/__newBuffer local.tee $months - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 call $~lib/date/Date#get:month local.set $mo @@ -5939,7 +5933,7 @@ local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 call $~lib/date/Date#get:day local.set $da @@ -5947,7 +5941,7 @@ local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 call $~lib/date/Date#get:year local.set $yr @@ -5969,85 +5963,85 @@ i32.const 4 call $~lib/date/stringify local.tee $year - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $months local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 local.get $mo i32.const 1 i32.sub call $~lib/staticarray/StaticArray<~lib/string/String>#__uget local.tee $month - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $weeks local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 local.get $wd call $~lib/staticarray/StaticArray<~lib/string/String>#__uget local.tee $week - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $da i32.const 2 call $~lib/date/stringify local.tee $day - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $this local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 call $~lib/date/Date#getUTCHours i32.const 2 call $~lib/date/stringify local.tee $hours - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $this local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 call $~lib/date/Date#getUTCMinutes i32.const 2 call $~lib/date/stringify local.tee $mins - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $this local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 call $~lib/date/Date#getUTCSeconds i32.const 2 call $~lib/date/stringify local.tee $secs - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $week local.tee $18 - i32.store $0 offset=40 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $day local.tee $19 - i32.store $0 offset=44 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $month local.tee $20 - i32.store $0 offset=48 + i32.store offset=48 global.get $~lib/memory/__stack_pointer local.get $yr i32.const 0 @@ -6058,151 +6052,146 @@ i32.const 2432 end local.tee $21 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $year local.tee $22 - i32.store $0 offset=56 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $hours local.tee $23 - i32.store $0 offset=60 + i32.store offset=60 global.get $~lib/memory/__stack_pointer local.get $mins local.tee $24 - i32.store $0 offset=64 + i32.store offset=64 global.get $~lib/memory/__stack_pointer local.get $secs local.tee $25 - i32.store $0 offset=68 + i32.store offset=68 i32.const 5344 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 i32.const 0 local.get $18 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=72 + i32.store offset=72 local.get $26 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 5344 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 i32.const 1 local.get $19 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=72 + i32.store offset=72 local.get $26 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 5344 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 i32.const 2 local.get $20 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=72 + i32.store offset=72 local.get $26 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 5344 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 i32.const 3 local.get $21 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=72 + i32.store offset=72 local.get $26 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 5344 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 i32.const 4 local.get $22 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=72 + i32.store offset=72 local.get $26 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 5344 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 i32.const 6 local.get $23 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=72 + i32.store offset=72 local.get $26 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 5344 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 i32.const 8 local.get $24 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=72 + i32.store offset=72 local.get $26 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 5344 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 i32.const 10 local.get $25 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=72 + i32.store offset=72 local.get $26 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 5344 local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 offset=8 + i32.store offset=8 local.get $26 i32.const 2432 - local.set $26 - global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=76 - local.get $26 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $26 global.get $~lib/memory/__stack_pointer - i32.const 80 + i32.const 76 i32.add global.set $~lib/memory/__stack_pointer local.get $26 @@ -6224,12 +6213,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $search local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $searchLen @@ -6249,7 +6238,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $len @@ -6294,14 +6283,14 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 local.get $searchStart local.get $search local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=4 + i32.store offset=4 local.get $10 i32.const 0 local.get $searchLen @@ -6361,12 +6350,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $22 global.get $~lib/memory/__stack_pointer local.get $22 - i32.store $0 + i32.store local.get $22 call $~lib/string/String#get:length local.set $len @@ -6466,13 +6455,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $fromPos i32.add local.get $size - memory.copy $0 $0 + memory.copy local.get $out local.set $22 global.get $~lib/memory/__stack_pointer @@ -6491,7 +6480,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -6509,7 +6498,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $start local.get $end @@ -6521,127 +6510,8 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $~lib/array/ensureCapacity (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $array - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 - local.get $14 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 5760 - i32.const 5712 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 - local.get $14 - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array<~lib/string/String>#__set (param $this i32) (param $index i32) (param $value i32) - (local $3 i32) + (func $~lib/string/String#charCodeAt (param $this i32) (param $pos i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6649,74 +6519,50 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $index + i32.store + local.get $pos local.get $this - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - call $~lib/array/Array<~lib/string/String>#get:length_ + local.get $2 + i32.store + local.get $2 + call $~lib/string/String#get:length i32.ge_u if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 368 - i32.const 5712 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.set $3 + i32.const -1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - local.get $index - i32.const 1 + i32.const 4 i32.add - call $~lib/array/Array<~lib/string/String>#set:length_ + global.set $~lib/memory/__stack_pointer + local.get $2 + return end local.get $this - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.get $index - i32.const 2 + local.get $pos + i32.const 1 i32.shl i32.add - local.get $value - i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link + i32.load16_u + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $~lib/array/Array<~lib/string/String>#push (param $this i32) (param $value i32) (result i32) - (local $oldLen i32) + (func $~lib/util/string/strtol (param $str i32) (param $radix i32) (result i32) (local $len i32) - (local $4 i32) + (local $ptr i32) + (local $code i32) + (local $sign i32) + (local $6 i32) + (local $num i32) + (local $initial i32) + (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6724,632 +6570,536 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $this - local.set $4 + i32.store + local.get $str + local.set $10 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - call $~lib/array/Array<~lib/string/String>#get:length_ - local.set $oldLen - local.get $oldLen - i32.const 1 - i32.add + local.get $10 + i32.store + local.get $10 + call $~lib/string/String#get:length local.set $len - local.get $this - local.get $len - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - i32.const 1 - drop - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.get $oldLen - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $len - call $~lib/array/Array<~lib/string/String>#set:length_ local.get $len - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - ) - (func $~lib/string/String#split (param $this i32) (param $separator i32) (param $limit i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $length i32) - (local $sepLen i32) - (local $7 i32) - (local $8 i32) - (local $result i32) - (local $resultStart i32) - (local $i i32) - (local $charStr i32) - (local $result|13 i32) - (local $result|14 i32) - (local $end i32) - (local $start i32) - (local $i|17 i32) - (local $len i32) - (local $out i32) - (local $len|20 i32) - (local $out|21 i32) - (local $22 i32) - global.get $~lib/memory/__stack_pointer - i32.const 40 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 40 - memory.fill $0 - local.get $limit i32.eqz if i32.const 0 - i32.const 2 - i32.const 6 + drop i32.const 0 - call $~lib/rt/__newArray - local.set $22 + local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $10 return end - local.get $separator - i32.const 0 + local.get $str + local.set $ptr + local.get $ptr + i32.load16_u + local.set $code + loop $while-continue|0 + local.get $code + call $~lib/util/string/isSpace + if + local.get $ptr + i32.const 2 + i32.add + local.tee $ptr + i32.load16_u + local.set $code + local.get $len + i32.const 1 + i32.sub + local.set $len + br $while-continue|0 + end + end + i32.const 1 + local.set $sign + local.get $code + i32.const 45 i32.eq - if - global.get $~lib/memory/__stack_pointer + if (result i32) i32.const 1 - i32.const 2 - i32.const 6 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load $0 offset=4 - local.tee $4 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - local.get $this - call $~lib/array/Array<~lib/string/String>#__set - local.get $3 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 40 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - local.get $this - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - call $~lib/string/String#get:length - local.set $length - local.get $separator - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - call $~lib/string/String#get:length - local.set $sepLen - local.get $limit - i32.const 0 - i32.lt_s - if - global.get $~lib/builtins/i32.MAX_VALUE - local.set $limit + else + local.get $code + i32.const 43 + i32.eq end - local.get $sepLen - i32.eqz if - local.get $length + local.get $len + i32.const 1 + i32.sub + local.tee $len i32.eqz if i32.const 0 - i32.const 2 - i32.const 6 + drop i32.const 0 - call $~lib/rt/__newArray - local.set $22 + local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $10 return end - local.get $length - local.tee $7 - local.get $limit - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.set $length - global.get $~lib/memory/__stack_pointer - local.get $length - i32.const 2 - i32.const 6 - i32.const 0 - call $~lib/rt/__newArray - local.tee $result - i32.store $0 offset=12 - local.get $result - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $resultStart - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $charStr - i32.store $0 offset=16 - local.get $charStr - local.get $this - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $resultStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $charStr - i32.store $0 - local.get $result - local.get $charStr - i32.const 1 - call $~lib/rt/itcms/__link - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + local.get $code + i32.const 45 + i32.eq + if + i32.const -1 + local.set $sign end - local.get $result - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 40 + local.get $ptr + i32.const 2 i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - else - local.get $length - i32.eqz - if - global.get $~lib/memory/__stack_pointer + local.tee $ptr + i32.load16_u + local.set $code + end + local.get $radix + if + local.get $radix + i32.const 2 + i32.lt_s + if (result i32) i32.const 1 - i32.const 2 - i32.const 6 + else + local.get $radix + i32.const 36 + i32.gt_s + end + if i32.const 0 - call $~lib/rt/__newArray - local.tee $result|13 - i32.store $0 offset=20 - local.get $result|13 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - call $~lib/array/Array<~lib/string/String>#get:dataStart - i32.const 2432 - i32.store $0 - local.get $result|13 - local.set $22 + drop + i32.const 0 + local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $10 return end - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - i32.const 6 - i32.const 0 - call $~lib/rt/__newArray - local.tee $result|14 - i32.store $0 offset=24 - i32.const 0 - local.set $end - i32.const 0 - local.set $start - i32.const 0 - local.set $i|17 - loop $while-continue|1 - local.get $this - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - local.get $separator - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 - local.get $start - call $~lib/string/String#indexOf - local.tee $end - i32.const -1 - i32.xor + local.get $radix + i32.const 16 + i32.eq if - local.get $end - local.get $start - i32.sub - local.set $len local.get $len - i32.const 0 + i32.const 2 i32.gt_s + if (result i32) + local.get $code + i32.const 48 + i32.eq + else + i32.const 0 + end + if (result i32) + local.get $ptr + i32.load16_u offset=2 + i32.const 32 + i32.or + i32.const 120 + i32.eq + else + i32.const 0 + end if - global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.const 4 + i32.add + local.set $ptr local.get $len - i32.const 1 - i32.shl i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 offset=32 - local.get $out - local.get $this - local.get $start - i32.const 1 - i32.shl + i32.sub + local.set $len + end + end + else + local.get $code + i32.const 48 + i32.eq + if (result i32) + local.get $len + i32.const 2 + i32.gt_s + else + i32.const 0 + end + if + block $break|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $ptr + i32.load16_u offset=2 + i32.const 32 + i32.or + local.set $6 + local.get $6 + i32.const 98 + i32.eq + br_if $case0|1 + local.get $6 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $6 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 2 + local.set $radix + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 8 + local.set $radix + br $break|1 + end + local.get $ptr + i32.const 4 i32.add + local.set $ptr local.get $len - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - local.get $out - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 - call $~lib/array/Array<~lib/string/String>#push - drop - else - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - i32.const 2432 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 - call $~lib/array/Array<~lib/string/String>#push - drop + i32.const 2 + i32.sub + local.set $len + i32.const 16 + local.set $radix + br $break|1 end - local.get $i|17 + end + local.get $radix + i32.eqz + if + i32.const 10 + local.set $radix + end + end + i32.const 0 + local.set $num + local.get $len + i32.const 1 + i32.sub + local.set $initial + block $while-break|2 + loop $while-continue|2 + local.get $len + local.tee $9 i32.const 1 - i32.add - local.tee $i|17 - local.get $limit - i32.eq + i32.sub + local.set $len + local.get $9 if - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 40 + local.get $ptr + i32.load16_u + local.set $code + local.get $code + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if + local.get $code + i32.const 48 + i32.sub + local.set $code + else + local.get $code + i32.const 65 + i32.sub + i32.const 90 + i32.const 65 + i32.sub + i32.le_u + if + local.get $code + i32.const 65 + i32.const 10 + i32.sub + i32.sub + local.set $code + else + local.get $code + i32.const 97 + i32.sub + i32.const 122 + i32.const 97 + i32.sub + i32.le_u + if + local.get $code + i32.const 97 + i32.const 10 + i32.sub + i32.sub + local.set $code + end + end + end + local.get $code + local.get $radix + i32.ge_u + if + local.get $initial + local.get $len + i32.eq + if + i32.const 0 + drop + i32.const 0 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + br $while-break|2 + end + local.get $num + local.get $radix + i32.mul + local.get $code i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return + local.set $num + local.get $ptr + i32.const 2 + i32.add + local.set $ptr + br $while-continue|2 end - local.get $end - local.get $sepLen - i32.add - local.set $start - br $while-continue|1 end end - local.get $start - i32.eqz - if - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - local.get $this - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 - call $~lib/array/Array<~lib/string/String>#push - drop - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 40 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - local.get $length - local.get $start + local.get $sign + local.get $num + i32.mul + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/array/ensureCapacity (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $len|20 - local.get $len|20 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $len|20 - i32.const 1 + i32.store + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 5760 + i32.const 5712 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out|21 - i32.store $0 offset=36 - local.get $out|21 - local.get $this - local.get $start - i32.const 1 - i32.shl - i32.add - local.get $len|20 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - local.get $out|21 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 - call $~lib/array/Array<~lib/string/String>#push - drop - else - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - i32.const 2432 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 - call $~lib/array/Array<~lib/string/String>#push + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne drop - end - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 40 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - ) - (func $~lib/string/String#split@varargs (param $this i32) (param $separator i32) (param $limit i32) (result i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store + local.get $array + local.get $newData + i32.store offset=4 + local.get $array + local.get $newData i32.const 0 - local.set $separator + call $~lib/rt/itcms/__link end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $limit + local.get $array + local.get $newCapacity + i32.store offset=8 end - local.get $this - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - local.get $separator - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - local.get $limit - call $~lib/string/String#split - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array<~lib/string/String>#get:length (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#get:length_ - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - return ) - (func $~lib/array/Array<~lib/string/String>#__get (param $this i32) (param $index i32) (result i32) - (local $value i32) + (func $~lib/array/Array<~lib/string/String>#__set (param $this i32) (param $index i32) (param $value i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u if - i32.const 368 - i32.const 5712 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 368 + i32.const 5712 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array<~lib/string/String>#set:length_ end - global.get $~lib/memory/__stack_pointer local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 + local.get $value + i32.store i32.const 1 drop - i32.const 0 - i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 5808 - i32.const 5712 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end + local.get $this local.get $value - local.set $3 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return ) - (func $~lib/util/string/strtol (param $str i32) (param $radix i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#push (param $this i32) (param $value i32) (result i32) + (local $oldLen i32) (local $len i32) - (local $ptr i32) - (local $code i32) - (local $sign i32) - (local $6 i32) - (local $num i32) - (local $initial i32) - (local $9 i32) - (local $10 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7357,364 +7107,834 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $str - local.set $10 + i32.store + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - call $~lib/string/String#get:length + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $oldLen + local.get $oldLen + i32.const 1 + i32.add local.set $len + local.get $this + local.get $len + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + i32.const 1 + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.get $oldLen + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + local.get $len + call $~lib/array/Array<~lib/string/String>#set:length_ local.get $len + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/string/String#split (param $this i32) (param $separator i32) (param $limit i32) (result i32) + (local $3 i32) + (local $length i32) + (local $sepLen i32) + (local $6 i32) + (local $7 i32) + (local $result i32) + (local $resultStart i32) + (local $i i32) + (local $charStr i32) + (local $result|12 i32) + (local $result|13 i32) + (local $end i32) + (local $start i32) + (local $i|16 i32) + (local $len i32) + (local $out i32) + (local $len|19 i32) + (local $out|20 i32) + (local $21 i32) + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 36 + memory.fill + local.get $limit i32.eqz if i32.const 0 - drop + i32.const 2 + i32.const 6 i32.const 0 - local.set $10 + call $~lib/rt/__newArray + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $21 return end - local.get $str - local.set $ptr - local.get $ptr - i32.load16_u $0 - local.set $code - loop $while-continue|0 - local.get $code - call $~lib/util/string/isSpace - if - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - local.get $len - i32.const 1 - i32.sub - local.set $len - br $while-continue|0 - end - end - i32.const 1 - local.set $sign - local.get $code - i32.const 45 + local.get $separator + i32.const 0 i32.eq - if (result i32) - i32.const 1 - else - local.get $code - i32.const 43 - i32.eq - end if - local.get $len + global.get $~lib/memory/__stack_pointer i32.const 1 - i32.sub - local.tee $len - i32.eqz - if - i32.const 0 - drop - i32.const 0 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - return - end - local.get $code - i32.const 45 - i32.eq - if - i32.const -1 - local.set $sign - end - local.get $ptr i32.const 2 + i32.const 6 + i32.const 0 + call $~lib/rt/__newArray + local.tee $3 + i32.store + local.get $3 + i32.const 0 + local.get $this + call $~lib/array/Array<~lib/string/String>#__set + local.get $3 + local.set $21 + global.get $~lib/memory/__stack_pointer + i32.const 36 i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code + global.set $~lib/memory/__stack_pointer + local.get $21 + return end - local.get $radix + local.get $this + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=4 + local.get $21 + call $~lib/string/String#get:length + local.set $length + local.get $separator + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=4 + local.get $21 + call $~lib/string/String#get:length + local.set $sepLen + local.get $limit + i32.const 0 + i32.lt_s if - local.get $radix - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s - end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $limit + end + local.get $sepLen + i32.eqz + if + local.get $length + i32.eqz if i32.const 0 - drop + i32.const 2 + i32.const 6 i32.const 0 - local.set $10 + call $~lib/rt/__newArray + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $21 return end - local.get $radix - i32.const 16 - i32.eq - if - local.get $len - i32.const 2 - i32.gt_s - if (result i32) - local.get $code - i32.const 48 - i32.eq - else - i32.const 0 - end - if (result i32) - local.get $ptr - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - i32.const 120 - i32.eq - else - i32.const 0 - end + local.get $length + local.tee $6 + local.get $limit + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $length + global.get $~lib/memory/__stack_pointer + local.get $length + i32.const 2 + i32.const 6 + i32.const 0 + call $~lib/rt/__newArray + local.tee $result + i32.store offset=8 + local.get $result + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=4 + local.get $21 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $resultStart + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s if - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len + global.get $~lib/memory/__stack_pointer i32.const 2 - i32.sub - local.set $len + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $charStr + i32.store offset=12 + local.get $charStr + local.get $this + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u + i32.store16 + local.get $resultStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $charStr + i32.store + local.get $result + local.get $charStr + i32.const 1 + call $~lib/rt/itcms/__link + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end end + local.get $result + local.set $21 + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $21 + return else - local.get $code - i32.const 48 - i32.eq - if (result i32) - local.get $len + local.get $length + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1 i32.const 2 - i32.gt_s - else + i32.const 6 i32.const 0 + call $~lib/rt/__newArray + local.tee $result|12 + i32.store offset=16 + local.get $result|12 + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=4 + local.get $21 + call $~lib/array/Array<~lib/string/String>#get:dataStart + i32.const 2432 + i32.store + local.get $result|12 + local.set $21 + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $21 + return end + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 6 + i32.const 0 + call $~lib/rt/__newArray + local.tee $result|13 + i32.store offset=20 + i32.const 0 + local.set $end + i32.const 0 + local.set $start + i32.const 0 + local.set $i|16 + loop $while-continue|1 + local.get $this + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=4 + local.get $21 + local.get $separator + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=24 + local.get $21 + local.get $start + call $~lib/string/String#indexOf + local.tee $end + i32.const -1 + i32.xor if - block $break|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $ptr - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - local.set $6 - local.get $6 - i32.const 98 - i32.eq - br_if $case0|1 - local.get $6 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $6 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 2 - local.set $radix - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 8 - local.set $radix - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr + local.get $end + local.get $start + i32.sub + local.set $len + local.get $len + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer local.get $len + i32.const 1 + i32.shl i32.const 2 - i32.sub - local.set $len - i32.const 16 - local.set $radix - br $break|1 + call $~lib/rt/itcms/__new + local.tee $out + i32.store offset=28 + local.get $out + local.get $this + local.get $start + i32.const 1 + i32.shl + i32.add + local.get $len + i32.const 1 + i32.shl + memory.copy + local.get $result|13 + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=4 + local.get $21 + local.get $out + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=24 + local.get $21 + call $~lib/array/Array<~lib/string/String>#push + drop + else + local.get $result|13 + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=4 + local.get $21 + i32.const 2432 + call $~lib/array/Array<~lib/string/String>#push + drop end - end - local.get $radix - i32.eqz - if - i32.const 10 - local.set $radix + local.get $i|16 + i32.const 1 + i32.add + local.tee $i|16 + local.get $limit + i32.eq + if + local.get $result|13 + local.set $21 + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $21 + return + end + local.get $end + local.get $sepLen + i32.add + local.set $start + br $while-continue|1 end end + local.get $start + i32.eqz + if + local.get $result|13 + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=4 + local.get $21 + local.get $this + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=24 + local.get $21 + call $~lib/array/Array<~lib/string/String>#push + drop + local.get $result|13 + local.set $21 + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $21 + return + end + local.get $length + local.get $start + i32.sub + local.set $len|19 + local.get $len|19 i32.const 0 - local.set $num - local.get $len - i32.const 1 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $len|19 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out|20 + i32.store offset=32 + local.get $out|20 + local.get $this + local.get $start + i32.const 1 + i32.shl + i32.add + local.get $len|19 + i32.const 1 + i32.shl + memory.copy + local.get $result|13 + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=4 + local.get $21 + local.get $out|20 + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=24 + local.get $21 + call $~lib/array/Array<~lib/string/String>#push + drop + else + local.get $result|13 + local.set $21 + global.get $~lib/memory/__stack_pointer + local.get $21 + i32.store offset=4 + local.get $21 + i32.const 2432 + call $~lib/array/Array<~lib/string/String>#push + drop + end + local.get $result|13 + local.set $21 + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $21 + return + ) + (func $~lib/string/String#split@varargs (param $this i32) (param $separator i32) (param $limit i32) (result i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - local.set $initial - block $while-break|2 - loop $while-continue|2 - local.get $len - local.tee $9 - i32.const 1 - i32.sub - local.set $len - local.get $9 - if - local.get $ptr - i32.load16_u $0 - local.set $code - local.get $code - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if - local.get $code - i32.const 48 - i32.sub - local.set $code - else - local.get $code - i32.const 65 - i32.sub - i32.const 90 - i32.const 65 - i32.sub - i32.le_u - if - local.get $code - i32.const 65 - i32.const 10 - i32.sub - i32.sub - local.set $code - else - local.get $code - i32.const 97 - i32.sub - i32.const 122 - i32.const 97 - i32.sub - i32.le_u - if - local.get $code - i32.const 97 - i32.const 10 - i32.sub - i32.sub - local.set $code - end - end - end - local.get $code - local.get $radix - i32.ge_u - if - local.get $initial - local.get $len - i32.eq - if - i32.const 0 - drop - i32.const 0 - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - return - end - br $while-break|2 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange end - local.get $num - local.get $radix - i32.mul - local.get $code - i32.add - local.set $num - local.get $ptr - i32.const 2 - i32.add - local.set $ptr - br $while-continue|2 + unreachable end + i32.const 0 + local.set $separator end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $limit + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + local.get $separator + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + local.get $limit + call $~lib/string/String#split + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/array/Array<~lib/string/String>#get:length (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array<~lib/string/String>#__get (param $this i32) (param $index i32) (result i32) + (local $value i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.ge_u + if + i32.const 368 + i32.const 5712 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $value + i32.store offset=4 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $value + i32.eqz + if + i32.const 5808 + i32.const 5712 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable end - local.get $sign - local.get $num - i32.mul - local.set $10 + local.get $value + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 + local.get $3 return ) - (func $~lib/number/I32.parseInt (param $value i32) (param $radix i32) (result i32) - (local $2 i32) + (func $~lib/string/String#substr (param $this i32) (param $start i32) (param $length i32) (result i32) + (local $intStart i32) + (local $end i32) + (local $len i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $size i32) + (local $out i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $start + local.set $intStart + local.get $length + local.set $end + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store + local.get $14 + call $~lib/string/String#get:length + local.set $len + local.get $intStart i32.const 0 - i32.store $0 - local.get $value - local.set $2 + i32.lt_s + if + local.get $len + local.get $intStart + i32.add + local.tee $6 + i32.const 0 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_s + select + local.set $intStart + end + local.get $end + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.tee $10 + local.get $len + local.get $intStart + i32.sub + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $size + local.get $size + i32.const 0 + i32.le_s + if + i32.const 2432 + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 + return + end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 - local.get $radix - call $~lib/util/string/strtol - local.set $2 + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store offset=4 + local.get $out + local.get $this + local.get $intStart + i32.const 1 + i32.shl + i32.add + local.get $size + memory.copy + local.get $out + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $14 + return + ) + (func $~lib/string/String#padEnd (param $this i32) (param $length i32) (param $pad i32) (result i32) + (local $thisSize i32) + (local $targetSize i32) + (local $padSize i32) + (local $appendSize i32) + (local $out i32) + (local $repeatCount i32) + (local $restBase i32) + (local $restSize i32) + (local $11 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store + local.get $11 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $thisSize + local.get $length + i32.const 1 + i32.shl + local.set $targetSize + local.get $pad + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store + local.get $11 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $padSize + local.get $targetSize + local.get $thisSize + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $padSize + i32.eqz + end + if + local.get $this + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $targetSize + local.get $thisSize + i32.sub + local.set $appendSize + global.get $~lib/memory/__stack_pointer + local.get $targetSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store offset=4 + local.get $out + local.get $this + local.get $thisSize + memory.copy + local.get $appendSize + local.get $padSize + i32.gt_u + if + local.get $appendSize + i32.const 2 + i32.sub + local.get $padSize + i32.div_u + local.set $repeatCount + local.get $repeatCount + local.get $padSize + i32.mul + local.set $restBase + local.get $appendSize + local.get $restBase + i32.sub + local.set $restSize + local.get $out + local.get $thisSize + i32.add + local.get $pad + local.get $padSize + local.get $repeatCount + call $~lib/memory/memory.repeat + local.get $out + local.get $thisSize + i32.add + local.get $restBase + i32.add + local.get $pad + local.get $restSize + memory.copy + else + local.get $out + local.get $thisSize + i32.add + local.get $pad + local.get $appendSize + memory.copy + end + local.get $out + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 return ) (func $~lib/date/Date.fromString (param $dateTimeString i32) (result i32) @@ -7722,34 +7942,63 @@ (local $min i32) (local $sec i32) (local $ms i32) + (local $offsetMs i32) (local $dateString i32) (local $posT i32) (local $timeString i32) + (local $i i32) + (local $c i32) + (local $posColon i32) + (local $value i32) + (local $radix i32) + (local $offsetHours i32) + (local $value|15 i32) + (local $radix|16 i32) + (local $offsetMinutes i32) + (local $value|18 i32) + (local $radix|19 i32) + (local $offsetHours|20 i32) (local $timeParts i32) (local $len i32) - (local $secAndMs i32) + (local $value|23 i32) + (local $radix|24 i32) + (local $value|25 i32) + (local $radix|26 i32) + (local $secAndFrac i32) (local $posDot i32) + (local $value|29 i32) + (local $radix|30 i32) + (local $value|31 i32) + (local $radix|32 i32) + (local $value|33 i32) + (local $radix|34 i32) (local $parts i32) + (local $value|36 i32) + (local $radix|37 i32) (local $year i32) (local $month i32) (local $day i32) - (local $len|16 i32) - (local $17 i32) + (local $len|41 i32) + (local $value|42 i32) + (local $radix|43 i32) + (local $value|44 i32) + (local $radix|45 i32) + (local $46 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 72 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 28 - memory.fill $0 + i32.const 72 + memory.fill local.get $dateTimeString - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.get $46 + i32.store + local.get $46 call $~lib/string/String#get:length i32.eqz if @@ -7768,22 +8017,19 @@ local.set $sec i32.const 0 local.set $ms + i32.const 0 + local.set $offsetMs global.get $~lib/memory/__stack_pointer local.get $dateTimeString local.tee $dateString - i32.store $0 offset=4 + i32.store offset=4 local.get $dateTimeString - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.get $46 + i32.store + local.get $46 i32.const 2464 - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 i32.const 0 call $~lib/string/String#indexOf local.set $posT @@ -7793,23 +8039,23 @@ if global.get $~lib/memory/__stack_pointer local.get $dateTimeString - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.get $46 + i32.store + local.get $46 i32.const 0 local.get $posT call $~lib/string/String#substring local.tee $dateString - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $dateTimeString - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.get $46 + i32.store + local.get $46 local.get $posT i32.const 1 i32.add @@ -7818,32 +8064,250 @@ i32.const 0 call $~lib/string/String#substring@varargs local.tee $timeString - i32.store $0 offset=12 + i32.store offset=8 + local.get $timeString + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + call $~lib/string/String#get:length + i32.const 1 + i32.sub + local.set $i + block $for-break0 + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $timeString + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $i + call $~lib/string/String#charCodeAt + local.set $c + local.get $c + i32.const 90 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.get $timeString + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + i32.const 0 + local.get $i + call $~lib/string/String#substring + local.tee $timeString + i32.store offset=8 + br $for-break0 + else + local.get $c + i32.const 43 + i32.eq + if (result i32) + i32.const 1 + else + local.get $c + i32.const 45 + i32.eq + end + if + local.get $i + local.get $timeString + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + call $~lib/string/String#get:length + i32.const 1 + i32.sub + i32.eq + if + i32.const 32 + i32.const 80 + i32.const 74 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + local.get $timeString + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + i32.const 2496 + local.get $i + i32.const 1 + i32.add + call $~lib/string/String#indexOf + local.set $posColon + local.get $posColon + i32.const -1 + i32.xor + if + block $~lib/builtins/i32.parse|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $timeString + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $i + i32.const 1 + i32.add + local.get $posColon + call $~lib/string/String#substring + local.tee $value + i32.store offset=12 + i32.const 0 + local.set $radix + local.get $value + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.0 + end + local.set $offsetHours + block $~lib/builtins/i32.parse|inlined.1 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $timeString + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $posColon + i32.const 1 + i32.add + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substring@varargs + local.tee $value|15 + i32.store offset=16 + i32.const 0 + local.set $radix|16 + local.get $value|15 + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix|16 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.1 + end + local.set $offsetMinutes + local.get $offsetHours + i32.const 60 + i32.mul + local.get $offsetMinutes + i32.add + i32.const 60000 + i32.mul + local.set $offsetMs + else + block $~lib/builtins/i32.parse|inlined.2 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $timeString + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $i + i32.const 1 + i32.add + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substring@varargs + local.tee $value|18 + i32.store offset=20 + i32.const 0 + local.set $radix|19 + local.get $value|18 + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix|19 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.2 + end + local.set $offsetHours|20 + local.get $offsetHours|20 + i32.const 3600000 + i32.mul + local.set $offsetMs + end + local.get $c + i32.const 45 + i32.eq + if + i32.const 0 + local.get $offsetMs + i32.sub + local.set $offsetMs + end + global.get $~lib/memory/__stack_pointer + local.get $timeString + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + i32.const 0 + local.get $i + call $~lib/string/String#substring + local.tee $timeString + i32.store offset=8 + br $for-break0 + end + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + end global.get $~lib/memory/__stack_pointer local.get $timeString - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.get $46 + i32.store + local.get $46 i32.const 2496 - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs local.tee $timeParts - i32.store $0 offset=16 + i32.store offset=24 local.get $timeParts - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.get $46 + i32.store + local.get $46 call $~lib/array/Array<~lib/string/String>#get:length local.set $len local.get $len @@ -7852,42 +8316,60 @@ if i32.const 32 i32.const 80 - i32.const 67 + i32.const 96 i32.const 21 call $~lib/builtins/abort unreachable end - local.get $timeParts - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 - i32.const 0 - call $~lib/number/I32.parseInt + block $~lib/builtins/i32.parse|inlined.3 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $timeParts + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.tee $value|23 + i32.store offset=28 + i32.const 0 + local.set $radix|24 + local.get $value|23 + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix|24 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.3 + end local.set $hour - local.get $timeParts - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 - i32.const 0 - call $~lib/number/I32.parseInt + block $~lib/builtins/i32.parse|inlined.4 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $timeParts + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.tee $value|25 + i32.store offset=32 + i32.const 0 + local.set $radix|26 + local.get $value|25 + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix|26 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.4 + end local.set $min local.get $len i32.const 3 @@ -7895,27 +8377,22 @@ if global.get $~lib/memory/__stack_pointer local.get $timeParts - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.get $46 + i32.store + local.get $46 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.tee $secAndMs - i32.store $0 offset=20 - local.get $secAndMs - local.set $17 + local.tee $secAndFrac + i32.store offset=36 + local.get $secAndFrac + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.get $46 + i32.store + local.get $46 i32.const 2528 - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 i32.const 0 call $~lib/string/String#indexOf local.set $posDot @@ -7923,143 +8400,198 @@ i32.const -1 i32.xor if - local.get $secAndMs - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 - i32.const 0 - local.get $posDot - call $~lib/string/String#substring - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 - i32.const 0 - call $~lib/number/I32.parseInt + block $~lib/builtins/i32.parse|inlined.5 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $secAndFrac + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + i32.const 0 + local.get $posDot + call $~lib/string/String#substring + local.tee $value|29 + i32.store offset=40 + i32.const 0 + local.set $radix|30 + local.get $value|29 + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix|30 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.5 + end local.set $sec - local.get $secAndMs - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 - local.get $posDot - i32.const 1 - i32.add - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#substring@varargs - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 - i32.const 0 - call $~lib/number/I32.parseInt + block $~lib/builtins/i32.parse|inlined.6 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $secAndFrac + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store offset=44 + local.get $46 + local.get $posDot + i32.const 1 + i32.add + i32.const 3 + call $~lib/string/String#substr + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + i32.const 3 + i32.const 848 + call $~lib/string/String#padEnd + local.tee $value|31 + i32.store offset=48 + i32.const 0 + local.set $radix|32 + local.get $value|31 + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix|32 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.6 + end local.set $ms else - local.get $secAndMs - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 - i32.const 0 - call $~lib/number/I32.parseInt + block $~lib/builtins/i32.parse|inlined.7 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $secAndFrac + local.tee $value|33 + i32.store offset=52 + i32.const 0 + local.set $radix|34 + local.get $value|33 + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix|34 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.7 + end local.set $sec end end end global.get $~lib/memory/__stack_pointer local.get $dateString - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.get $46 + i32.store + local.get $46 i32.const 592 - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs local.tee $parts - i32.store $0 offset=24 - local.get $parts - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 - i32.const 0 - call $~lib/number/I32.parseInt + i32.store offset=56 + block $~lib/builtins/i32.parse|inlined.8 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $parts + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.tee $value|36 + i32.store offset=60 + i32.const 0 + local.set $radix|37 + local.get $value|36 + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix|37 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.8 + end local.set $year i32.const 1 local.set $month i32.const 1 local.set $day local.get $parts - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.get $46 + i32.store + local.get $46 call $~lib/array/Array<~lib/string/String>#get:length - local.set $len|16 - local.get $len|16 + local.set $len|41 + local.get $len|41 i32.const 2 i32.ge_s if - local.get $parts - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 - i32.const 0 - call $~lib/number/I32.parseInt - local.set $month - local.get $len|16 - i32.const 3 - i32.ge_s - if + block $~lib/builtins/i32.parse|inlined.9 (result i32) + global.get $~lib/memory/__stack_pointer local.get $parts - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 offset=8 - local.get $17 - i32.const 2 + local.get $46 + i32.store + local.get $46 + i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $17 - i32.store $0 - local.get $17 + local.tee $value|42 + i32.store offset=64 i32.const 0 - call $~lib/number/I32.parseInt + local.set $radix|43 + local.get $value|42 + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix|43 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.9 + end + local.set $month + local.get $len|41 + i32.const 3 + i32.ge_s + if + block $~lib/builtins/i32.parse|inlined.10 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $parts + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.tee $value|44 + i32.store offset=68 + i32.const 0 + local.set $radix|45 + local.get $value|44 + local.set $46 + global.get $~lib/memory/__stack_pointer + local.get $46 + i32.store + local.get $46 + local.get $radix|45 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.10 + end local.set $day end end @@ -8072,13 +8604,16 @@ local.get $sec local.get $ms call $~lib/date/epochMillis + local.get $offsetMs + i64.extend_i32_s + i64.sub call $~lib/date/Date#constructor - local.set $17 + local.set $46 global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 72 i32.add global.set $~lib/memory/__stack_pointer - local.get $17 + local.get $46 return ) (func $start:std/date @@ -8239,15 +8774,23 @@ (local $154 i32) (local $155 i32) (local $156 i32) - global.get $~lib/memory/__stack_pointer - i32.const 408 + (local $157 i32) + (local $158 i32) + (local $159 i32) + (local $160 i32) + (local $161 i32) + (local $162 i32) + (local $163 i32) + (local $164 i32) + global.get $~lib/memory/__stack_pointer + i32.const 436 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 408 - memory.fill $0 + i32.const 436 + memory.fill block $~lib/date/Date.UTC|inlined.0 (result i64) i32.const 1970 local.set $0 @@ -8710,7 +9253,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -8734,18 +9277,18 @@ local.get $56 call $~lib/date/Date#constructor local.tee $57 - i32.store $0 + i32.store block $~lib/date/Date#getTime|inlined.0 (result i64) global.get $~lib/memory/__stack_pointer local.get $57 local.tee $58 - i32.store $0 offset=4 + i32.store offset=4 local.get $58 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.0 end @@ -8761,11 +9304,11 @@ unreachable end local.get $57 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 local.get $56 i64.const 1 i64.add @@ -8775,13 +9318,13 @@ global.get $~lib/memory/__stack_pointer local.get $57 local.tee $59 - i32.store $0 offset=12 + i32.store offset=12 local.get $59 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.1 end @@ -8803,18 +9346,18 @@ i64.const 5918283958183706 call $~lib/date/Date#constructor local.tee $60 - i32.store $0 offset=16 + i32.store offset=16 block $~lib/date/Date#getUTCFullYear|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer local.get $60 local.tee $61 - i32.store $0 offset=20 + i32.store offset=20 local.get $61 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.0 end @@ -8833,13 +9376,13 @@ global.get $~lib/memory/__stack_pointer local.get $60 local.tee $62 - i32.store $0 offset=24 + i32.store offset=24 local.get $62 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -8860,13 +9403,13 @@ global.get $~lib/memory/__stack_pointer local.get $60 local.tee $63 - i32.store $0 offset=28 + i32.store offset=28 local.get $63 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day br $~lib/date/Date#getUTCDate|inlined.0 end @@ -8882,11 +9425,11 @@ unreachable end local.get $60 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCHours i32.const 22 i32.eq @@ -8900,11 +9443,11 @@ unreachable end local.get $60 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMinutes i32.const 9 i32.eq @@ -8918,11 +9461,11 @@ unreachable end local.get $60 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCSeconds i32.const 43 i32.eq @@ -8936,11 +9479,11 @@ unreachable end local.get $60 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMilliseconds i32.const 706 i32.eq @@ -8958,18 +9501,18 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $64 - i32.store $0 offset=32 + i32.store offset=32 block $~lib/date/Date#getUTCFullYear|inlined.1 (result i32) global.get $~lib/memory/__stack_pointer local.get $64 local.tee $65 - i32.store $0 offset=36 + i32.store offset=36 local.get $65 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.1 end @@ -8988,13 +9531,13 @@ global.get $~lib/memory/__stack_pointer local.get $64 local.tee $66 - i32.store $0 offset=40 + i32.store offset=40 local.get $66 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -9015,13 +9558,13 @@ global.get $~lib/memory/__stack_pointer local.get $64 local.tee $67 - i32.store $0 offset=44 + i32.store offset=44 local.get $67 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day br $~lib/date/Date#getUTCDate|inlined.1 end @@ -9037,11 +9580,11 @@ unreachable end local.get $64 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCHours i32.const 1 i32.eq @@ -9055,11 +9598,11 @@ unreachable end local.get $64 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMinutes i32.const 3 i32.eq @@ -9073,11 +9616,11 @@ unreachable end local.get $64 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCSeconds i32.const 11 i32.eq @@ -9091,11 +9634,11 @@ unreachable end local.get $64 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMilliseconds i32.const 274 i32.eq @@ -9113,13 +9656,13 @@ i64.const 399464523963984 call $~lib/date/Date#constructor local.tee $68 - i32.store $0 offset=48 + i32.store offset=48 local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMilliseconds i32.const 984 i32.eq @@ -9133,19 +9676,19 @@ unreachable end local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 12 call $~lib/date/Date#setUTCMilliseconds local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMilliseconds i32.const 12 i32.eq @@ -9159,19 +9702,19 @@ unreachable end local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 568 call $~lib/date/Date#setUTCMilliseconds local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMilliseconds i32.const 568 i32.eq @@ -9185,24 +9728,24 @@ unreachable end local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 0 call $~lib/date/Date#setUTCMilliseconds block $~lib/date/Date#getTime|inlined.2 (result i64) global.get $~lib/memory/__stack_pointer local.get $68 local.tee $69 - i32.store $0 offset=52 + i32.store offset=52 local.get $69 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.2 end @@ -9218,24 +9761,24 @@ unreachable end local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 999 call $~lib/date/Date#setUTCMilliseconds block $~lib/date/Date#getTime|inlined.3 (result i64) global.get $~lib/memory/__stack_pointer local.get $68 local.tee $70 - i32.store $0 offset=56 + i32.store offset=56 local.get $70 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.3 end @@ -9251,19 +9794,19 @@ unreachable end local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2000 call $~lib/date/Date#setUTCMilliseconds local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMilliseconds i32.const 0 i32.eq @@ -9280,13 +9823,13 @@ global.get $~lib/memory/__stack_pointer local.get $68 local.tee $71 - i32.store $0 offset=60 + i32.store offset=60 local.get $71 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.4 end @@ -9302,19 +9845,19 @@ unreachable end local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const -2000 call $~lib/date/Date#setUTCMilliseconds local.get $68 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMilliseconds i32.const 0 i32.eq @@ -9331,13 +9874,13 @@ global.get $~lib/memory/__stack_pointer local.get $68 local.tee $72 - i32.store $0 offset=64 + i32.store offset=64 local.get $72 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.5 end @@ -9357,13 +9900,13 @@ i64.const 372027318331986 call $~lib/date/Date#constructor local.tee $73 - i32.store $0 offset=68 + i32.store offset=68 local.get $73 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCSeconds i32.const 31 i32.eq @@ -9377,19 +9920,19 @@ unreachable end local.get $73 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 12 call $~lib/date/Date#setUTCSeconds local.get $73 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCSeconds i32.const 12 i32.eq @@ -9403,19 +9946,19 @@ unreachable end local.get $73 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 50 call $~lib/date/Date#setUTCSeconds local.get $73 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCSeconds i32.const 50 i32.eq @@ -9429,24 +9972,24 @@ unreachable end local.get $73 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 0 call $~lib/date/Date#setUTCSeconds block $~lib/date/Date#getTime|inlined.6 (result i64) global.get $~lib/memory/__stack_pointer local.get $73 local.tee $74 - i32.store $0 offset=72 + i32.store offset=72 local.get $74 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.6 end @@ -9462,24 +10005,24 @@ unreachable end local.get $73 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 59 call $~lib/date/Date#setUTCSeconds block $~lib/date/Date#getTime|inlined.7 (result i64) global.get $~lib/memory/__stack_pointer local.get $73 local.tee $75 - i32.store $0 offset=76 + i32.store offset=76 local.get $75 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.7 end @@ -9499,13 +10042,13 @@ i64.const 372027318331986 call $~lib/date/Date#constructor local.tee $76 - i32.store $0 offset=80 + i32.store offset=80 local.get $76 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMinutes i32.const 45 i32.eq @@ -9519,19 +10062,19 @@ unreachable end local.get $76 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 12 call $~lib/date/Date#setUTCMinutes local.get $76 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMinutes i32.const 12 i32.eq @@ -9545,19 +10088,19 @@ unreachable end local.get $76 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 50 call $~lib/date/Date#setUTCMinutes local.get $76 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMinutes i32.const 50 i32.eq @@ -9571,24 +10114,24 @@ unreachable end local.get $76 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 0 call $~lib/date/Date#setUTCMinutes block $~lib/date/Date#getTime|inlined.8 (result i64) global.get $~lib/memory/__stack_pointer local.get $76 local.tee $77 - i32.store $0 offset=84 + i32.store offset=84 local.get $77 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.8 end @@ -9604,24 +10147,24 @@ unreachable end local.get $76 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 59 call $~lib/date/Date#setUTCMinutes block $~lib/date/Date#getTime|inlined.9 (result i64) global.get $~lib/memory/__stack_pointer local.get $76 local.tee $78 - i32.store $0 offset=88 + i32.store offset=88 local.get $78 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.9 end @@ -9641,13 +10184,13 @@ i64.const 372027318331986 call $~lib/date/Date#constructor local.tee $79 - i32.store $0 offset=92 + i32.store offset=92 local.get $79 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCHours i32.const 17 i32.eq @@ -9661,19 +10204,19 @@ unreachable end local.get $79 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 12 call $~lib/date/Date#setUTCHours local.get $79 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCHours i32.const 12 i32.eq @@ -9687,19 +10230,19 @@ unreachable end local.get $79 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2 call $~lib/date/Date#setUTCHours local.get $79 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCHours i32.const 2 i32.eq @@ -9713,24 +10256,24 @@ unreachable end local.get $79 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 0 call $~lib/date/Date#setUTCHours block $~lib/date/Date#getTime|inlined.10 (result i64) global.get $~lib/memory/__stack_pointer local.get $79 local.tee $80 - i32.store $0 offset=96 + i32.store offset=96 local.get $80 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.10 end @@ -9746,24 +10289,24 @@ unreachable end local.get $79 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 23 call $~lib/date/Date#setUTCHours block $~lib/date/Date#getTime|inlined.11 (result i64) global.get $~lib/memory/__stack_pointer local.get $79 local.tee $81 - i32.store $0 offset=100 + i32.store offset=100 local.get $81 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.11 end @@ -9783,18 +10326,18 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $82 - i32.store $0 offset=104 + i32.store offset=104 block $~lib/date/Date#getUTCFullYear|inlined.2 (result i32) global.get $~lib/memory/__stack_pointer local.get $82 local.tee $83 - i32.store $0 offset=108 + i32.store offset=108 local.get $83 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.2 end @@ -9813,13 +10356,13 @@ global.get $~lib/memory/__stack_pointer local.get $82 local.tee $84 - i32.store $0 offset=112 + i32.store offset=112 local.get $84 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -9837,24 +10380,24 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 12 call $~lib/date/Date#setUTCDate block $~lib/date/Date#getUTCDate|inlined.2 (result i32) global.get $~lib/memory/__stack_pointer local.get $82 local.tee $85 - i32.store $0 offset=116 + i32.store offset=116 local.get $85 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day br $~lib/date/Date#getUTCDate|inlined.2 end @@ -9870,24 +10413,24 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2 call $~lib/date/Date#setUTCDate block $~lib/date/Date#getUTCDate|inlined.3 (result i32) global.get $~lib/memory/__stack_pointer local.get $82 local.tee $86 - i32.store $0 offset=120 + i32.store offset=120 local.get $86 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day br $~lib/date/Date#getUTCDate|inlined.3 end @@ -9903,62 +10446,62 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 1 call $~lib/date/Date#setUTCDate local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 30 call $~lib/date/Date#setUTCDate local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/date/Date#setUTCMonth@varargs local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 1 call $~lib/date/Date#setUTCDate local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 31 call $~lib/date/Date#setUTCDate local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2024 call $~lib/date/Date#setUTCFullYear local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 1 i32.const 1 global.set $~argumentsLength @@ -9968,13 +10511,13 @@ global.get $~lib/memory/__stack_pointer local.get $82 local.tee $87 - i32.store $0 offset=124 + i32.store offset=124 local.get $87 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -9992,27 +10535,27 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 1 call $~lib/date/Date#setUTCDate local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 29 call $~lib/date/Date#setUTCDate local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 1 i32.const 1 global.set $~argumentsLength @@ -10022,13 +10565,13 @@ global.get $~lib/memory/__stack_pointer local.get $82 local.tee $88 - i32.store $0 offset=128 + i32.store offset=128 local.get $88 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.12 end @@ -10047,13 +10590,13 @@ global.get $~lib/memory/__stack_pointer local.get $82 local.tee $89 - i32.store $0 offset=132 + i32.store offset=132 local.get $89 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -10074,13 +10617,13 @@ global.get $~lib/memory/__stack_pointer local.get $82 local.tee $90 - i32.store $0 offset=136 + i32.store offset=136 local.get $90 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day br $~lib/date/Date#getUTCDate|inlined.4 end @@ -10096,11 +10639,11 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMinutes i32.const 3 i32.eq @@ -10114,11 +10657,11 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCSeconds i32.const 11 i32.eq @@ -10132,11 +10675,11 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMilliseconds i32.const 274 i32.eq @@ -10154,26 +10697,26 @@ i64.const 1362106799999 call $~lib/date/Date#constructor local.tee $82 - i32.store $0 offset=104 + i32.store offset=104 local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 20 call $~lib/date/Date#setUTCDate block $~lib/date/Date#getTime|inlined.13 (result i64) global.get $~lib/memory/__stack_pointer local.get $82 local.tee $91 - i32.store $0 offset=140 + i32.store offset=140 local.get $91 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.13 end @@ -10189,24 +10732,24 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 1 call $~lib/date/Date#setUTCDate block $~lib/date/Date#getTime|inlined.14 (result i64) global.get $~lib/memory/__stack_pointer local.get $82 local.tee $92 - i32.store $0 offset=144 + i32.store offset=144 local.get $92 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.14 end @@ -10222,24 +10765,24 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 1000 call $~lib/date/Date#setUTCMilliseconds block $~lib/date/Date#getTime|inlined.15 (result i64) global.get $~lib/memory/__stack_pointer local.get $82 local.tee $93 - i32.store $0 offset=148 + i32.store offset=148 local.get $93 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.15 end @@ -10255,11 +10798,11 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 60 i32.const 60 i32.mul @@ -10270,13 +10813,13 @@ global.get $~lib/memory/__stack_pointer local.get $82 local.tee $94 - i32.store $0 offset=152 + i32.store offset=152 local.get $94 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.16 end @@ -10292,11 +10835,11 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 60 i32.const 60 i32.mul @@ -10309,13 +10852,13 @@ global.get $~lib/memory/__stack_pointer local.get $82 local.tee $95 - i32.store $0 offset=156 + i32.store offset=156 local.get $95 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.17 end @@ -10331,11 +10874,11 @@ unreachable end local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 60 i32.const 60 i32.mul @@ -10348,13 +10891,13 @@ global.get $~lib/memory/__stack_pointer local.get $82 local.tee $96 - i32.store $0 offset=160 + i32.store offset=160 local.get $96 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.18 end @@ -10374,26 +10917,26 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $82 - i32.store $0 offset=104 + i32.store offset=104 local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const -2208 call $~lib/date/Date#setUTCDate block $~lib/date/Date#getTime|inlined.19 (result i64) global.get $~lib/memory/__stack_pointer local.get $82 local.tee $97 - i32.store $0 offset=164 + i32.store offset=164 local.get $97 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.19 end @@ -10413,26 +10956,26 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $82 - i32.store $0 offset=104 + i32.store offset=104 local.get $82 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2208 call $~lib/date/Date#setUTCDate block $~lib/date/Date#getTime|inlined.20 (result i64) global.get $~lib/memory/__stack_pointer local.get $82 local.tee $98 - i32.store $0 offset=168 + i32.store offset=168 local.get $98 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.20 end @@ -10453,27 +10996,27 @@ i64.const 1467763200000 call $~lib/date/Date#constructor local.tee $99 - i32.store $0 offset=172 + i32.store offset=172 local.get $99 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year local.get $99 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month local.get $99 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day call $~lib/date/dayOfWeek br $~lib/date/Date#getUTCDay|inlined.0 @@ -10497,27 +11040,27 @@ i64.sub call $~lib/date/Date#constructor local.tee $100 - i32.store $0 offset=176 + i32.store offset=176 local.get $100 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year local.get $100 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month local.get $100 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day call $~lib/date/dayOfWeek br $~lib/date/Date#getUTCDay|inlined.1 @@ -10543,27 +11086,27 @@ i64.sub call $~lib/date/Date#constructor local.tee $101 - i32.store $0 offset=180 + i32.store offset=180 local.get $101 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year local.get $101 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month local.get $101 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day call $~lib/date/dayOfWeek br $~lib/date/Date#getUTCDay|inlined.2 @@ -10587,27 +11130,27 @@ i64.add call $~lib/date/Date#constructor local.tee $102 - i32.store $0 offset=184 + i32.store offset=184 local.get $102 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year local.get $102 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month local.get $102 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day call $~lib/date/dayOfWeek br $~lib/date/Date#getUTCDay|inlined.3 @@ -10629,27 +11172,27 @@ i64.const 1468022400000 call $~lib/date/Date#constructor local.tee $103 - i32.store $0 offset=188 + i32.store offset=188 local.get $103 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year local.get $103 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month local.get $103 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day call $~lib/date/dayOfWeek br $~lib/date/Date#getUTCDay|inlined.4 @@ -10673,27 +11216,27 @@ i64.sub call $~lib/date/Date#constructor local.tee $104 - i32.store $0 offset=192 + i32.store offset=192 local.get $104 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year local.get $104 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month local.get $104 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day call $~lib/date/dayOfWeek br $~lib/date/Date#getUTCDay|inlined.5 @@ -10719,27 +11262,27 @@ i64.sub call $~lib/date/Date#constructor local.tee $105 - i32.store $0 offset=196 + i32.store offset=196 local.get $105 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year local.get $105 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month local.get $105 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day call $~lib/date/dayOfWeek br $~lib/date/Date#getUTCDay|inlined.6 @@ -10763,27 +11306,27 @@ i64.add call $~lib/date/Date#constructor local.tee $106 - i32.store $0 offset=200 + i32.store offset=200 local.get $106 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year local.get $106 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month local.get $106 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day call $~lib/date/dayOfWeek br $~lib/date/Date#getUTCDay|inlined.7 @@ -10804,18 +11347,18 @@ i64.const 7899943856218720 call $~lib/date/Date#constructor local.tee $107 - i32.store $0 offset=204 + i32.store offset=204 block $~lib/date/Date#getUTCMonth|inlined.5 (result i32) global.get $~lib/memory/__stack_pointer local.get $107 local.tee $108 - i32.store $0 offset=208 + i32.store offset=208 local.get $108 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -10833,11 +11376,11 @@ unreachable end local.get $107 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 10 i32.const 1 global.set $~argumentsLength @@ -10847,13 +11390,13 @@ global.get $~lib/memory/__stack_pointer local.get $107 local.tee $109 - i32.store $0 offset=212 + i32.store offset=212 local.get $109 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -10871,11 +11414,11 @@ unreachable end local.get $107 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2 i32.const 1 global.set $~argumentsLength @@ -10885,13 +11428,13 @@ global.get $~lib/memory/__stack_pointer local.get $107 local.tee $110 - i32.store $0 offset=216 + i32.store offset=216 local.get $110 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -10912,13 +11455,13 @@ global.get $~lib/memory/__stack_pointer local.get $107 local.tee $111 - i32.store $0 offset=220 + i32.store offset=220 local.get $111 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.21 end @@ -10934,11 +11477,11 @@ unreachable end local.get $107 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 0 i32.const 1 global.set $~argumentsLength @@ -10948,13 +11491,13 @@ global.get $~lib/memory/__stack_pointer local.get $107 local.tee $112 - i32.store $0 offset=224 + i32.store offset=224 local.get $112 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.22 end @@ -10970,11 +11513,11 @@ unreachable end local.get $107 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 11 i32.const 1 global.set $~argumentsLength @@ -10984,13 +11527,13 @@ global.get $~lib/memory/__stack_pointer local.get $107 local.tee $113 - i32.store $0 offset=228 + i32.store offset=228 local.get $113 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.23 end @@ -11006,11 +11549,11 @@ unreachable end local.get $107 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const -1 i32.const 1 global.set $~argumentsLength @@ -11020,13 +11563,13 @@ global.get $~lib/memory/__stack_pointer local.get $107 local.tee $114 - i32.store $0 offset=232 + i32.store offset=232 local.get $114 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -11047,13 +11590,13 @@ global.get $~lib/memory/__stack_pointer local.get $107 local.tee $115 - i32.store $0 offset=236 + i32.store offset=236 local.get $115 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.24 end @@ -11069,11 +11612,11 @@ unreachable end local.get $107 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 12 i32.const 1 global.set $~argumentsLength @@ -11083,13 +11626,13 @@ global.get $~lib/memory/__stack_pointer local.get $107 local.tee $116 - i32.store $0 offset=240 + i32.store offset=240 local.get $116 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -11110,13 +11653,13 @@ global.get $~lib/memory/__stack_pointer local.get $107 local.tee $117 - i32.store $0 offset=244 + i32.store offset=244 local.get $117 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.25 end @@ -11136,18 +11679,18 @@ i64.const 7941202527925698 call $~lib/date/Date#constructor local.tee $118 - i32.store $0 offset=248 + i32.store offset=248 block $~lib/date/Date#getUTCFullYear|inlined.3 (result i32) global.get $~lib/memory/__stack_pointer local.get $118 local.tee $119 - i32.store $0 offset=252 + i32.store offset=252 local.get $119 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.3 end @@ -11163,24 +11706,24 @@ unreachable end local.get $118 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 1976 call $~lib/date/Date#setUTCFullYear block $~lib/date/Date#getUTCFullYear|inlined.4 (result i32) global.get $~lib/memory/__stack_pointer local.get $118 local.tee $120 - i32.store $0 offset=256 + i32.store offset=256 local.get $120 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.4 end @@ -11196,24 +11739,24 @@ unreachable end local.get $118 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 20212 call $~lib/date/Date#setUTCFullYear block $~lib/date/Date#getUTCFullYear|inlined.5 (result i32) global.get $~lib/memory/__stack_pointer local.get $118 local.tee $121 - i32.store $0 offset=260 + i32.store offset=260 local.get $121 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.5 end @@ -11229,24 +11772,24 @@ unreachable end local.get $118 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 71 call $~lib/date/Date#setUTCFullYear block $~lib/date/Date#getUTCFullYear|inlined.6 (result i32) global.get $~lib/memory/__stack_pointer local.get $118 local.tee $122 - i32.store $0 offset=264 + i32.store offset=264 local.get $122 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.6 end @@ -11266,25 +11809,20 @@ i64.const -62167219200000 call $~lib/date/Date#constructor local.tee $123 - i32.store $0 offset=268 + i32.store offset=268 local.get $123 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2672 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11302,25 +11840,20 @@ i64.sub call $~lib/date/Date#constructor local.tee $123 - i32.store $0 offset=268 + i32.store offset=268 local.get $123 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2752 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11336,25 +11869,20 @@ i64.const -62127219200000 call $~lib/date/Date#constructor local.tee $123 - i32.store $0 offset=268 + i32.store offset=268 local.get $123 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2832 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11370,25 +11898,20 @@ i64.const 1231231231020 call $~lib/date/Date#constructor local.tee $123 - i32.store $0 offset=268 + i32.store offset=268 local.get $123 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2912 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11404,25 +11927,20 @@ i64.const 1231231231456 call $~lib/date/Date#constructor local.tee $123 - i32.store $0 offset=268 + i32.store offset=268 local.get $123 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 2992 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11438,25 +11956,20 @@ i64.const 322331231231020 call $~lib/date/Date#constructor local.tee $123 - i32.store $0 offset=268 + i32.store offset=268 local.get $123 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 3072 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11472,25 +11985,20 @@ i64.const 253402300799999 call $~lib/date/Date#constructor local.tee $123 - i32.store $0 offset=268 + i32.store offset=268 local.get $123 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 3152 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11506,25 +12014,20 @@ i64.const 253402300800000 call $~lib/date/Date#constructor local.tee $123 - i32.store $0 offset=268 + i32.store offset=268 local.get $123 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 3232 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11540,25 +12043,20 @@ i64.const -62847038769226 call $~lib/date/Date#constructor local.tee $123 - i32.store $0 offset=268 + i32.store offset=268 local.get $123 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 3312 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11574,25 +12072,20 @@ i64.const -61536067200000 call $~lib/date/Date#constructor local.tee $124 - i32.store $0 offset=280 + i32.store offset=276 local.get $124 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toDateString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 4240 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11608,25 +12101,20 @@ i64.const 1580601600000 call $~lib/date/Date#constructor local.tee $124 - i32.store $0 offset=280 + i32.store offset=276 local.get $124 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toDateString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 4304 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11642,25 +12130,20 @@ i64.const -62183116800000 call $~lib/date/Date#constructor local.tee $124 - i32.store $0 offset=280 + i32.store offset=276 local.get $124 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toDateString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 4368 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11676,25 +12159,20 @@ i64.const -61536067200000 call $~lib/date/Date#constructor local.tee $125 - i32.store $0 offset=284 + i32.store offset=280 local.get $125 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toTimeString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 4480 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11710,25 +12188,20 @@ i64.const 253402300799999 call $~lib/date/Date#constructor local.tee $125 - i32.store $0 offset=284 + i32.store offset=280 local.get $125 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toTimeString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 4528 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11744,25 +12217,20 @@ i64.const -61536067200000 call $~lib/date/Date#constructor local.tee $126 - i32.store $0 offset=288 + i32.store offset=284 local.get $126 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toUTCString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 5424 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 call $~lib/string/String.__eq i32.eqz if @@ -11778,232 +12246,437 @@ i64.const 1580741613467 call $~lib/date/Date#constructor local.tee $126 - i32.store $0 offset=288 + i32.store offset=284 local.get $126 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toUTCString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 i32.const 5504 - local.set $156 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 281 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const -62183116800000 + call $~lib/date/Date#constructor + local.tee $126 + i32.store offset=284 + local.get $126 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 + call $~lib/date/Date#toUTCString + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 + i32.const 5584 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 281 + i32.const 284 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5664 + call $~lib/date/Date.fromString + local.tee $127 + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.26 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $128 + i32.store offset=292 + local.get $128 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.26 + end + i64.const 192067200000 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 291 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5936 + call $~lib/date/Date.fromString + local.tee $127 + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.27 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $129 + i32.store offset=296 + local.get $129 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.27 + end + i64.const 192067200000 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 293 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5984 + call $~lib/date/Date.fromString + local.tee $127 + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.28 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $130 + i32.store offset=300 + local.get $130 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.28 + end + i64.const 11860387200000 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 295 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6032 + call $~lib/date/Date.fromString + local.tee $127 + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.29 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $131 + i32.store offset=304 + local.get $131 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.29 + end + i64.const 192112496000 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 299 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6096 + call $~lib/date/Date.fromString + local.tee $127 + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.30 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $132 + i32.store offset=308 + local.get $132 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.30 + end + i64.const 192112496456 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 303 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6176 + call $~lib/date/Date.fromString + local.tee $127 + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.31 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $133 + i32.store offset=312 + local.get $133 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.31 + end + i64.const 192112496456 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 307 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6256 + call $~lib/date/Date.fromString + local.tee $127 + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.32 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $134 + i32.store offset=316 + local.get $134 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.32 + end + i64.const 192141296456 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 311 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const -62183116800000 - call $~lib/date/Date#constructor - local.tee $126 - i32.store $0 offset=288 - local.get $126 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 - call $~lib/date/Date#toUTCString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 - i32.const 5584 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 - call $~lib/string/String.__eq + i32.const 6336 + call $~lib/date/Date.fromString + local.tee $127 + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.33 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $135 + i32.store offset=320 + local.get $135 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.33 + end + i64.const 192092696456 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 284 + i32.const 315 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5664 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 6416 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.26 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.34 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $128 - i32.store $0 offset=296 - local.get $128 - local.set $156 + local.tee $136 + i32.store offset=324 + local.get $136 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.26 + br $~lib/date/Date#getTime|inlined.34 end - i64.const 192067200000 + i64.const 192112496450 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 291 + i32.const 319 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5936 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 6480 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.27 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.35 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $129 - i32.store $0 offset=300 - local.get $129 - local.set $156 + local.tee $137 + i32.store offset=328 + local.get $137 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.27 + br $~lib/date/Date#getTime|inlined.35 end - i64.const 192067200000 + i64.const 192112496450 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 293 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5984 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 6560 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.28 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.36 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $130 - i32.store $0 offset=304 - local.get $130 - local.set $156 + local.tee $138 + i32.store offset=332 + local.get $138 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.28 + br $~lib/date/Date#getTime|inlined.36 end - i64.const 11860387200000 + i64.const 192112496450 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 295 + i32.const 327 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6032 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 6640 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.29 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.37 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $131 - i32.store $0 offset=308 - local.get $131 - local.set $156 + local.tee $139 + i32.store offset=336 + local.get $139 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.29 + br $~lib/date/Date#getTime|inlined.37 end - i64.const 192112496000 + i64.const 192112496456 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 299 + i32.const 331 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6096 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 6720 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.30 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.38 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $132 - i32.store $0 offset=312 - local.get $132 - local.set $156 + local.tee $140 + i32.store offset=340 + local.get $140 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.30 + br $~lib/date/Date#getTime|inlined.38 end i64.const 192112496456 i64.eq @@ -12011,34 +12684,29 @@ if i32.const 0 i32.const 128 - i32.const 303 + i32.const 335 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6176 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 6800 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.31 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.39 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $133 - i32.store $0 offset=316 - local.get $133 - local.set $156 + local.tee $141 + i32.store offset=344 + local.get $141 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.31 + br $~lib/date/Date#getTime|inlined.39 end i64.const 192112496456 i64.eq @@ -12046,34 +12714,29 @@ if i32.const 0 i32.const 128 - i32.const 307 + i32.const 339 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6256 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 6896 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.32 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.40 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $134 - i32.store $0 offset=320 - local.get $134 - local.set $156 + local.tee $142 + i32.store offset=348 + local.get $142 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.32 + br $~lib/date/Date#getTime|inlined.40 end i64.const -62167219200000 i64.eq @@ -12081,34 +12744,29 @@ if i32.const 0 i32.const 128 - i32.const 310 + i32.const 342 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6288 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 6928 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.33 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.41 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $135 - i32.store $0 offset=324 - local.get $135 - local.set $156 + local.tee $143 + i32.store offset=352 + local.get $143 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.33 + br $~lib/date/Date#getTime|inlined.41 end i64.const -62135596800000 i64.eq @@ -12116,34 +12774,29 @@ if i32.const 0 i32.const 128 - i32.const 313 + i32.const 345 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6320 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 6960 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.34 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.42 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $136 - i32.store $0 offset=328 - local.get $136 - local.set $156 + local.tee $144 + i32.store offset=356 + local.get $144 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.34 + br $~lib/date/Date#getTime|inlined.42 end i64.const 189302400000 i64.eq @@ -12151,34 +12804,29 @@ if i32.const 0 i32.const 128 - i32.const 316 + i32.const 348 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6352 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 6992 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.35 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.43 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $137 - i32.store $0 offset=332 - local.get $137 - local.set $156 + local.tee $145 + i32.store offset=360 + local.get $145 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.35 + br $~lib/date/Date#getTime|inlined.43 end i64.const 191980800000 i64.eq @@ -12186,34 +12834,29 @@ if i32.const 0 i32.const 128 - i32.const 319 + i32.const 351 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer i32.const 5664 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.36 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.44 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $138 - i32.store $0 offset=336 - local.get $138 - local.set $156 + local.tee $146 + i32.store offset=364 + local.get $146 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.36 + br $~lib/date/Date#getTime|inlined.44 end i64.const 192067200000 i64.eq @@ -12221,34 +12864,29 @@ if i32.const 0 i32.const 128 - i32.const 322 + i32.const 354 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6400 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + i32.const 7040 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.37 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.45 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $139 - i32.store $0 offset=340 - local.get $139 - local.set $156 + local.tee $147 + i32.store offset=368 + local.get $147 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.37 + br $~lib/date/Date#getTime|inlined.45 end i64.const 192112440000 i64.eq @@ -12256,34 +12894,29 @@ if i32.const 0 i32.const 128 - i32.const 325 + i32.const 357 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer i32.const 6032 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 call $~lib/date/Date.fromString local.tee $127 - i32.store $0 offset=292 - block $~lib/date/Date#getTime|inlined.38 (result i64) + i32.store offset=288 + block $~lib/date/Date#getTime|inlined.46 (result i64) global.get $~lib/memory/__stack_pointer local.get $127 - local.tee $140 - i32.store $0 offset=344 - local.get $140 - local.set $156 + local.tee $148 + i32.store offset=372 + local.get $148 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.38 + br $~lib/date/Date#getTime|inlined.46 end i64.const 192112496000 i64.eq @@ -12291,7 +12924,7 @@ if i32.const 0 i32.const 128 - i32.const 328 + i32.const 360 i32.const 3 call $~lib/builtins/abort unreachable @@ -12300,27 +12933,27 @@ i32.const 0 i64.const -8640000000000000 call $~lib/date/Date#constructor - local.tee $141 - i32.store $0 offset=348 + local.tee $149 + i32.store offset=376 global.get $~lib/memory/__stack_pointer i32.const 0 i64.const 8640000000000000 call $~lib/date/Date#constructor - local.tee $142 - i32.store $0 offset=352 - block $~lib/date/Date#getTime|inlined.39 (result i64) - global.get $~lib/memory/__stack_pointer - local.get $141 - local.tee $143 - i32.store $0 offset=356 - local.get $143 - local.set $156 + local.tee $150 + i32.store offset=380 + block $~lib/date/Date#getTime|inlined.47 (result i64) global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $149 + local.tee $151 + i32.store offset=384 + local.get $151 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.39 + br $~lib/date/Date#getTime|inlined.47 end i64.const -8640000000000000 i64.eq @@ -12328,24 +12961,24 @@ if i32.const 0 i32.const 128 - i32.const 346 + i32.const 378 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getTime|inlined.40 (result i64) + block $~lib/date/Date#getTime|inlined.48 (result i64) global.get $~lib/memory/__stack_pointer - local.get $142 - local.tee $144 - i32.store $0 offset=360 - local.get $144 - local.set $156 + local.get $150 + local.tee $152 + i32.store offset=388 + local.get $152 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.40 + br $~lib/date/Date#getTime|inlined.48 end i64.const 8640000000000000 i64.eq @@ -12353,22 +12986,22 @@ if i32.const 0 i32.const 128 - i32.const 347 + i32.const 379 i32.const 3 call $~lib/builtins/abort unreachable end block $~lib/date/Date#getUTCFullYear|inlined.7 (result i32) global.get $~lib/memory/__stack_pointer - local.get $141 - local.tee $145 - i32.store $0 offset=364 - local.get $145 - local.set $156 + local.get $149 + local.tee $153 + i32.store offset=392 + local.get $153 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.7 end @@ -12378,22 +13011,22 @@ if i32.const 0 i32.const 128 - i32.const 349 + i32.const 381 i32.const 3 call $~lib/builtins/abort unreachable end block $~lib/date/Date#getUTCFullYear|inlined.8 (result i32) global.get $~lib/memory/__stack_pointer - local.get $142 - local.tee $146 - i32.store $0 offset=368 - local.get $146 - local.set $156 + local.get $150 + local.tee $154 + i32.store offset=396 + local.get $154 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.8 end @@ -12403,22 +13036,22 @@ if i32.const 0 i32.const 128 - i32.const 350 + i32.const 382 i32.const 3 call $~lib/builtins/abort unreachable end block $~lib/date/Date#getUTCMonth|inlined.10 (result i32) global.get $~lib/memory/__stack_pointer - local.get $141 - local.tee $147 - i32.store $0 offset=372 - local.get $147 - local.set $156 + local.get $149 + local.tee $155 + i32.store offset=400 + local.get $155 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -12430,22 +13063,22 @@ if i32.const 0 i32.const 128 - i32.const 352 + i32.const 384 i32.const 3 call $~lib/builtins/abort unreachable end block $~lib/date/Date#getUTCMonth|inlined.11 (result i32) global.get $~lib/memory/__stack_pointer - local.get $142 - local.tee $148 - i32.store $0 offset=376 - local.get $148 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 + local.get $150 + local.tee $156 + i32.store offset=404 local.get $156 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -12457,22 +13090,22 @@ if i32.const 0 i32.const 128 - i32.const 353 + i32.const 385 i32.const 3 call $~lib/builtins/abort unreachable end block $~lib/date/Date#getUTCDate|inlined.5 (result i32) global.get $~lib/memory/__stack_pointer - local.get $141 - local.tee $149 - i32.store $0 offset=380 local.get $149 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.tee $157 + i32.store offset=408 + local.get $157 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day br $~lib/date/Date#getUTCDate|inlined.5 end @@ -12482,22 +13115,22 @@ if i32.const 0 i32.const 128 - i32.const 355 + i32.const 387 i32.const 3 call $~lib/builtins/abort unreachable end block $~lib/date/Date#getUTCDate|inlined.6 (result i32) global.get $~lib/memory/__stack_pointer - local.get $142 - local.tee $150 - i32.store $0 offset=384 local.get $150 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.tee $158 + i32.store offset=412 + local.get $158 + local.set $164 + global.get $~lib/memory/__stack_pointer + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day br $~lib/date/Date#getUTCDate|inlined.6 end @@ -12507,63 +13140,53 @@ if i32.const 0 i32.const 128 - i32.const 356 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $141 - local.set $156 + local.get $149 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 - i32.const 6464 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 + i32.const 7104 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 358 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $142 - local.set $156 + local.get $150 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 - i32.const 6544 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 + i32.const 7184 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 359 + i32.const 391 i32.const 3 call $~lib/builtins/abort unreachable @@ -12574,27 +13197,27 @@ i64.const 1 i64.sub call $~lib/date/Date#constructor - local.tee $151 - i32.store $0 offset=388 + local.tee $159 + i32.store offset=416 global.get $~lib/memory/__stack_pointer i32.const 0 i64.const -8640000000000000 i64.const 1 i64.add call $~lib/date/Date#constructor - local.tee $152 - i32.store $0 offset=392 + local.tee $160 + i32.store offset=420 block $~lib/date/Date#getUTCFullYear|inlined.9 (result i32) global.get $~lib/memory/__stack_pointer - local.get $152 - local.tee $153 - i32.store $0 offset=396 - local.get $153 - local.set $156 + local.get $160 + local.tee $161 + i32.store offset=424 + local.get $161 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.9 end @@ -12604,22 +13227,22 @@ if i32.const 0 i32.const 128 - i32.const 364 + i32.const 396 i32.const 3 call $~lib/builtins/abort unreachable end block $~lib/date/Date#getUTCMonth|inlined.12 (result i32) global.get $~lib/memory/__stack_pointer - local.get $152 - local.tee $154 - i32.store $0 offset=400 - local.get $154 - local.set $156 + local.get $160 + local.tee $162 + i32.store offset=428 + local.get $162 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -12631,22 +13254,22 @@ if i32.const 0 i32.const 128 - i32.const 365 + i32.const 397 i32.const 3 call $~lib/builtins/abort unreachable end block $~lib/date/Date#getUTCDate|inlined.7 (result i32) global.get $~lib/memory/__stack_pointer - local.get $152 - local.tee $155 - i32.store $0 offset=404 - local.get $155 - local.set $156 + local.get $160 + local.tee $163 + i32.store offset=432 + local.get $163 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#get:day br $~lib/date/Date#getUTCDate|inlined.7 end @@ -12656,17 +13279,17 @@ if i32.const 0 i32.const 128 - i32.const 366 + i32.const 398 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $152 - local.set $156 + local.get $160 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCHours i32.const 0 i32.eq @@ -12674,17 +13297,17 @@ if i32.const 0 i32.const 128 - i32.const 367 + i32.const 399 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $152 - local.set $156 + local.get $160 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMinutes i32.const 0 i32.eq @@ -12692,17 +13315,17 @@ if i32.const 0 i32.const 128 - i32.const 368 + i32.const 400 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $152 - local.set $156 + local.get $160 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCSeconds i32.const 0 i32.eq @@ -12710,17 +13333,17 @@ if i32.const 0 i32.const 128 - i32.const 369 + i32.const 401 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $152 - local.set $156 + local.get $160 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 call $~lib/date/Date#getUTCMilliseconds i32.const 1 i32.eq @@ -12728,69 +13351,59 @@ if i32.const 0 i32.const 128 - i32.const 370 + i32.const 402 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $151 - local.set $156 + local.get $159 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 - i32.const 6624 - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 + i32.const 7264 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 372 + i32.const 404 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $152 - local.set $156 + local.get $160 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=276 - local.get $156 + local.get $164 + i32.store offset=272 + local.get $164 call $~lib/date/Date#toISOString - local.set $156 + local.set $164 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=8 - local.get $156 - i32.const 6704 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=272 - local.get $156 + local.get $164 + i32.store offset=8 + local.get $164 + i32.const 7344 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 373 + i32.const 405 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 408 + i32.const 436 i32.add global.set $~lib/memory/__stack_pointer ) @@ -12806,14 +13419,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $cur @@ -12822,7 +13435,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length_ i32.const 2 @@ -12835,7 +13448,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -12854,7 +13467,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:buffer local.get $cookie @@ -12873,14 +13486,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -12911,7 +13524,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -12971,7 +13584,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -13011,7 +13624,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -13046,7 +13659,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -13061,7 +13674,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $14 @@ -13084,7 +13697,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -13095,27 +13708,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index 0069aee13b..d97db8a353 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -1,18 +1,19 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 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 (func (param i32 i32 i32) (result i32))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_i32_i32_i32_i32_i32_i32_=>_i64 (func (param i32 i32 i32 i32 i32 i32 i32) (result i64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i64_=>_i64 (func (param i32 i32 i32 i64) (result i64))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $i32_i64_=>_none (func (param i32 i64))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func)) + (type $4 (func (param i32))) + (type $5 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i64) (result i32))) + (type $7 (func (param i32 i32 i32 i32 i32 i32 i32) (result i64))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64))) + (type $10 (func (result i32))) + (type $11 (func (param i32 i32 i32 i64) (result i64))) + (type $12 (func (param i32 i32 i32))) + (type $13 (func (param i32 i32 i32 i32) (result i32))) + (type $14 (func (param i32 i64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/date/_day (mut i32) (i32.const 0)) (global $~lib/date/_month (mut i32) (i32.const 0)) @@ -27,217 +28,233 @@ (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 40596)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 41236)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\18\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00D\00a\00t\00e") - (data (i32.const 1084) ",") - (data (i32.const 1096) "\02\00\00\00\18\00\00\00~\00l\00i\00b\00/\00d\00a\00t\00e\00.\00t\00s") - (data (i32.const 1132) ",") - (data (i32.const 1144) "\02\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s") - (data (i32.const 1180) "<") - (data (i32.const 1192) "\02\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 1244) "<") - (data (i32.const 1256) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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 1436) ",") - (data (i32.const 1448) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1516) "<") - (data (i32.const 1528) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1581) "\03\02\05\00\03\05\01\04\06\02\04") - (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\02\00\00\00\02\00\00\00-") - (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\02\00\00\00\02\00\00\00+") - (data (i32.const 1660) "|") - (data (i32.const 1672) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 1788) "<") - (data (i32.const 1800) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 1852) "\1c") - (data (i32.const 1864) "\02\00\00\00\02\00\00\000") - (data (i32.const 1884) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 2284) "\1c\04") - (data (i32.const 2296) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 3340) "\\") - (data (i32.const 3352) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 3436) "\1c") - (data (i32.const 3448) "\02") - (data (i32.const 3468) "\1c") - (data (i32.const 3480) "\02\00\00\00\02\00\00\00T") - (data (i32.const 3500) "\1c") - (data (i32.const 3512) "\02\00\00\00\02\00\00\00:") - (data (i32.const 3532) "\1c") - (data (i32.const 3544) "\02\00\00\00\02\00\00\00.") - (data (i32.const 3564) "\1c") - (data (i32.const 3576) "\02\00\00\00\02\00\00\00Z") - (data (i32.const 3596) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\008\00\00\00\00\00\00\00P\06\00\00\00\00\00\00P\06\00\00\00\00\00\00\a0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\e0\r\00\00\00\00\00\00\00\0e") - (data (i32.const 3676) "L") - (data (i32.const 3688) "\02\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") - (data (i32.const 3756) "L") - (data (i32.const 3768) "\02\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") - (data (i32.const 3836) "L") - (data (i32.const 3848) "\02\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z") - (data (i32.const 3916) "L") - (data (i32.const 3928) "\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z") - (data (i32.const 3996) "L") - (data (i32.const 4008) "\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z") - (data (i32.const 4076) "L") - (data (i32.const 4088) "\02\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z") - (data (i32.const 4156) "L") - (data (i32.const 4168) "\02\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") - (data (i32.const 4236) "L") - (data (i32.const 4248) "\02\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") - (data (i32.const 4316) "L") - (data (i32.const 4328) "\02\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z") - (data (i32.const 4396) "\1c") - (data (i32.const 4408) "\02\00\00\00\08\00\00\00S\00u\00n\00 ") - (data (i32.const 4428) "\1c") - (data (i32.const 4440) "\02\00\00\00\08\00\00\00M\00o\00n\00 ") - (data (i32.const 4460) "\1c") - (data (i32.const 4472) "\02\00\00\00\08\00\00\00T\00u\00e\00 ") - (data (i32.const 4492) "\1c") - (data (i32.const 4504) "\02\00\00\00\08\00\00\00W\00e\00d\00 ") - (data (i32.const 4524) "\1c") - (data (i32.const 4536) "\02\00\00\00\08\00\00\00T\00h\00u\00 ") - (data (i32.const 4556) "\1c") - (data (i32.const 4568) "\02\00\00\00\08\00\00\00F\00r\00i\00 ") - (data (i32.const 4588) "\1c") - (data (i32.const 4600) "\02\00\00\00\08\00\00\00S\00a\00t\00 ") - (data (i32.const 4620) ",") - (data (i32.const 4632) "\05\00\00\00\1c\00\00\00@\11\00\00`\11\00\00\80\11\00\00\a0\11\00\00\c0\11\00\00\e0\11\00\00\00\12") - (data (i32.const 4668) "\1c") - (data (i32.const 4680) "\02\00\00\00\08\00\00\00J\00a\00n\00 ") - (data (i32.const 4700) "\1c") - (data (i32.const 4712) "\02\00\00\00\08\00\00\00F\00e\00b\00 ") - (data (i32.const 4732) "\1c") - (data (i32.const 4744) "\02\00\00\00\08\00\00\00M\00a\00r\00 ") - (data (i32.const 4764) "\1c") - (data (i32.const 4776) "\02\00\00\00\08\00\00\00A\00p\00r\00 ") - (data (i32.const 4796) "\1c") - (data (i32.const 4808) "\02\00\00\00\08\00\00\00M\00a\00y\00 ") - (data (i32.const 4828) "\1c") - (data (i32.const 4840) "\02\00\00\00\08\00\00\00J\00u\00n\00 ") - (data (i32.const 4860) "\1c") - (data (i32.const 4872) "\02\00\00\00\08\00\00\00J\00u\00l\00 ") - (data (i32.const 4892) "\1c") - (data (i32.const 4904) "\02\00\00\00\08\00\00\00A\00u\00g\00 ") - (data (i32.const 4924) "\1c") - (data (i32.const 4936) "\02\00\00\00\08\00\00\00S\00e\00p\00 ") - (data (i32.const 4956) "\1c") - (data (i32.const 4968) "\02\00\00\00\08\00\00\00O\00c\00t\00 ") - (data (i32.const 4988) "\1c") - (data (i32.const 5000) "\02\00\00\00\08\00\00\00N\00o\00v\00 ") - (data (i32.const 5020) "\1c") - (data (i32.const 5032) "\02\00\00\00\08\00\00\00D\00e\00c\00 ") - (data (i32.const 5052) "L") - (data (i32.const 5064) "\05\00\00\000\00\00\00P\12\00\00p\12\00\00\90\12\00\00\b0\12\00\00\d0\12\00\00\f0\12\00\00\10\13\00\000\13\00\00P\13\00\00p\13\00\00\90\13\00\00\b0\13") - (data (i32.const 5132) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14") - (data (i32.const 5180) "\1c") - (data (i32.const 5192) "\02\00\00\00\04\00\00\00 \00-") - (data (i32.const 5212) "\1c") - (data (i32.const 5224) "\02\00\00\00\02\00\00\00 ") - (data (i32.const 5244) "<") - (data (i32.const 5256) "\02\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000") - (data (i32.const 5308) "<") - (data (i32.const 5320) "\02\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000") - (data (i32.const 5372) "<") - (data (i32.const 5384) "\02\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001") - (data (i32.const 5436) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14\00\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r") - (data (i32.const 5484) ",") - (data (i32.const 5496) "\02\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000") - (data (i32.const 5532) ",") - (data (i32.const 5544) "\02\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009") - (data (i32.const 5580) "\1c") - (data (i32.const 5592) "\02\00\00\00\n\00\00\00S\00u\00n\00,\00 ") - (data (i32.const 5612) "\1c") - (data (i32.const 5624) "\02\00\00\00\n\00\00\00M\00o\00n\00,\00 ") - (data (i32.const 5644) "\1c") - (data (i32.const 5656) "\02\00\00\00\n\00\00\00T\00u\00e\00,\00 ") - (data (i32.const 5676) "\1c") - (data (i32.const 5688) "\02\00\00\00\n\00\00\00W\00e\00d\00,\00 ") - (data (i32.const 5708) "\1c") - (data (i32.const 5720) "\02\00\00\00\n\00\00\00T\00h\00u\00,\00 ") - (data (i32.const 5740) "\1c") - (data (i32.const 5752) "\02\00\00\00\n\00\00\00F\00r\00i\00,\00 ") - (data (i32.const 5772) "\1c") - (data (i32.const 5784) "\02\00\00\00\n\00\00\00S\00a\00t\00,\00 ") - (data (i32.const 5804) ",") - (data (i32.const 5816) "\05\00\00\00\1c\00\00\00\e0\15\00\00\00\16\00\00 \16\00\00@\16\00\00`\16\00\00\80\16\00\00\a0\16") - (data (i32.const 5852) "\1c") - (data (i32.const 5864) "\02\00\00\00\n\00\00\00 \00J\00a\00n\00 ") - (data (i32.const 5884) "\1c") - (data (i32.const 5896) "\02\00\00\00\n\00\00\00 \00F\00e\00b\00 ") - (data (i32.const 5916) "\1c") - (data (i32.const 5928) "\02\00\00\00\n\00\00\00 \00M\00a\00r\00 ") - (data (i32.const 5948) "\1c") - (data (i32.const 5960) "\02\00\00\00\n\00\00\00 \00A\00p\00r\00 ") - (data (i32.const 5980) "\1c") - (data (i32.const 5992) "\02\00\00\00\n\00\00\00 \00M\00a\00y\00 ") - (data (i32.const 6012) "\1c") - (data (i32.const 6024) "\02\00\00\00\n\00\00\00 \00J\00u\00n\00 ") - (data (i32.const 6044) "\1c") - (data (i32.const 6056) "\02\00\00\00\n\00\00\00 \00J\00u\00l\00 ") - (data (i32.const 6076) "\1c") - (data (i32.const 6088) "\02\00\00\00\n\00\00\00 \00A\00u\00g\00 ") - (data (i32.const 6108) "\1c") - (data (i32.const 6120) "\02\00\00\00\n\00\00\00 \00S\00e\00p\00 ") - (data (i32.const 6140) "\1c") - (data (i32.const 6152) "\02\00\00\00\n\00\00\00 \00O\00c\00t\00 ") - (data (i32.const 6172) "\1c") - (data (i32.const 6184) "\02\00\00\00\n\00\00\00 \00N\00o\00v\00 ") - (data (i32.const 6204) "\1c") - (data (i32.const 6216) "\02\00\00\00\n\00\00\00 \00D\00e\00c\00 ") - (data (i32.const 6236) "L") - (data (i32.const 6248) "\05\00\00\000\00\00\00\f0\16\00\00\10\17\00\000\17\00\00P\17\00\00p\17\00\00\90\17\00\00\b0\17\00\00\d0\17\00\00\f0\17\00\00\10\18\00\000\18\00\00P\18") - (data (i32.const 6316) "\1c") - (data (i32.const 6328) "\02\00\00\00\08\00\00\00 \00G\00M\00T") - (data (i32.const 6348) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\000") - (data (i32.const 6388) "p\14\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\18") - (data (i32.const 6428) "L") - (data (i32.const 6440) "\02\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") - (data (i32.const 6508) "L") - (data (i32.const 6520) "\02\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T") - (data (i32.const 6588) "L") - (data (i32.const 6600) "\02\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") - (data (i32.const 6668) ",") - (data (i32.const 6680) "\02\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002") - (data (i32.const 6716) ",") - (data (i32.const 6728) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 6764) ",") - (data (i32.const 6776) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 6812) "|") - (data (i32.const 6824) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 6940) ",") - (data (i32.const 6952) "\02\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002") - (data (i32.const 6988) ",") - (data (i32.const 7000) "\02\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004") - (data (i32.const 7036) "<") - (data (i32.const 7048) "\02\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006") - (data (i32.const 7100) "L") - (data (i32.const 7112) "\02\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006") - (data (i32.const 7180) "L") - (data (i32.const 7192) "\02\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z") - (data (i32.const 7260) "\1c") - (data (i32.const 7272) "\02\00\00\00\08\00\00\000\000\000\000") - (data (i32.const 7292) "\1c") - (data (i32.const 7304) "\02\00\00\00\08\00\00\000\000\000\001") - (data (i32.const 7324) "\1c") - (data (i32.const 7336) "\02\00\00\00\08\00\00\001\009\007\006") - (data (i32.const 7356) ",") - (data (i32.const 7368) "\02\00\00\00\0e\00\00\001\009\007\006\00-\000\002") - (data (i32.const 7404) "<") - (data (i32.const 7416) "\02\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004") - (data (i32.const 7468) "L") - (data (i32.const 7480) "\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") - (data (i32.const 7548) "L") - (data (i32.const 7560) "\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") - (data (i32.const 7628) "L") - (data (i32.const 7640) "\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") - (data (i32.const 7708) "L") - (data (i32.const 7720) "\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z") - (data (i32.const 7792) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\04A\00\00\02A\00\00\02\t") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\18\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00D\00a\00t\00e") + (data $1 (i32.const 1084) ",") + (data $1.1 (i32.const 1096) "\02\00\00\00\18\00\00\00~\00l\00i\00b\00/\00d\00a\00t\00e\00.\00t\00s") + (data $2 (i32.const 1132) ",") + (data $2.1 (i32.const 1144) "\02\00\00\00\16\00\00\00s\00t\00d\00/\00d\00a\00t\00e\00.\00t\00s") + (data $3 (i32.const 1180) "<") + (data $3.1 (i32.const 1192) "\02\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 $4 (i32.const 1244) "<") + (data $4.1 (i32.const 1256) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $8 (i32.const 1436) ",") + (data $8.1 (i32.const 1448) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $10 (i32.const 1516) "<") + (data $10.1 (i32.const 1528) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $11 (i32.const 1581) "\03\02\05\00\03\05\01\04\06\02\04") + (data $12 (i32.const 1596) "\1c") + (data $12.1 (i32.const 1608) "\02\00\00\00\02\00\00\00-") + (data $13 (i32.const 1628) "\1c") + (data $13.1 (i32.const 1640) "\02\00\00\00\02\00\00\00+") + (data $14 (i32.const 1660) "|") + (data $14.1 (i32.const 1672) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data $15 (i32.const 1788) "<") + (data $15.1 (i32.const 1800) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data $16 (i32.const 1852) "\1c") + (data $16.1 (i32.const 1864) "\02\00\00\00\02\00\00\000") + (data $17 (i32.const 1884) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data $18 (i32.const 2284) "\1c\04") + (data $18.1 (i32.const 2296) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data $19 (i32.const 3340) "\\") + (data $19.1 (i32.const 3352) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data $20 (i32.const 3436) "\1c") + (data $20.1 (i32.const 3448) "\02") + (data $21 (i32.const 3468) "\1c") + (data $21.1 (i32.const 3480) "\02\00\00\00\02\00\00\00T") + (data $22 (i32.const 3500) "\1c") + (data $22.1 (i32.const 3512) "\02\00\00\00\02\00\00\00:") + (data $23 (i32.const 3532) "\1c") + (data $23.1 (i32.const 3544) "\02\00\00\00\02\00\00\00.") + (data $24 (i32.const 3564) "\1c") + (data $24.1 (i32.const 3576) "\02\00\00\00\02\00\00\00Z") + (data $25 (i32.const 3596) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\008\00\00\00\00\00\00\00P\06\00\00\00\00\00\00P\06\00\00\00\00\00\00\a0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\e0\r\00\00\00\00\00\00\00\0e") + (data $26 (i32.const 3676) "L") + (data $26.1 (i32.const 3688) "\02\00\00\000\00\00\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data $27 (i32.const 3756) "L") + (data $27.1 (i32.const 3768) "\02\00\00\006\00\00\00-\000\000\000\000\000\001\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") + (data $28 (i32.const 3836) "L") + (data $28.1 (i32.const 3848) "\02\00\00\000\00\00\000\000\000\001\00-\000\004\00-\000\007\00T\002\003\00:\000\006\00:\004\000\00.\000\000\000\00Z") + (data $29 (i32.const 3916) "L") + (data $29.1 (i32.const 3928) "\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\000\002\000\00Z") + (data $30 (i32.const 3996) "L") + (data $30.1 (i32.const 4008) "\02\00\00\000\00\00\002\000\000\009\00-\000\001\00-\000\006\00T\000\008\00:\004\000\00:\003\001\00.\004\005\006\00Z") + (data $31 (i32.const 4076) "L") + (data $31.1 (i32.const 4088) "\02\00\00\006\00\00\00+\000\001\002\001\008\004\00-\000\004\00-\000\008\00T\001\003\00:\000\007\00:\001\001\00.\000\002\000\00Z") + (data $32 (i32.const 4156) "L") + (data $32.1 (i32.const 4168) "\02\00\00\000\00\00\009\009\009\009\00-\001\002\00-\003\001\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") + (data $33 (i32.const 4236) "L") + (data $33.1 (i32.const 4248) "\02\00\00\006\00\00\00+\000\001\000\000\000\000\00-\000\001\00-\000\001\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data $34 (i32.const 4316) "L") + (data $34.1 (i32.const 4328) "\02\00\00\006\00\00\00-\000\000\000\000\002\002\00-\000\006\00-\001\006\00T\001\007\00:\001\003\00:\005\000\00.\007\007\004\00Z") + (data $35 (i32.const 4396) "\1c") + (data $35.1 (i32.const 4408) "\02\00\00\00\08\00\00\00S\00u\00n\00 ") + (data $36 (i32.const 4428) "\1c") + (data $36.1 (i32.const 4440) "\02\00\00\00\08\00\00\00M\00o\00n\00 ") + (data $37 (i32.const 4460) "\1c") + (data $37.1 (i32.const 4472) "\02\00\00\00\08\00\00\00T\00u\00e\00 ") + (data $38 (i32.const 4492) "\1c") + (data $38.1 (i32.const 4504) "\02\00\00\00\08\00\00\00W\00e\00d\00 ") + (data $39 (i32.const 4524) "\1c") + (data $39.1 (i32.const 4536) "\02\00\00\00\08\00\00\00T\00h\00u\00 ") + (data $40 (i32.const 4556) "\1c") + (data $40.1 (i32.const 4568) "\02\00\00\00\08\00\00\00F\00r\00i\00 ") + (data $41 (i32.const 4588) "\1c") + (data $41.1 (i32.const 4600) "\02\00\00\00\08\00\00\00S\00a\00t\00 ") + (data $42 (i32.const 4620) ",") + (data $42.1 (i32.const 4632) "\05\00\00\00\1c\00\00\00@\11\00\00`\11\00\00\80\11\00\00\a0\11\00\00\c0\11\00\00\e0\11\00\00\00\12") + (data $43 (i32.const 4668) "\1c") + (data $43.1 (i32.const 4680) "\02\00\00\00\08\00\00\00J\00a\00n\00 ") + (data $44 (i32.const 4700) "\1c") + (data $44.1 (i32.const 4712) "\02\00\00\00\08\00\00\00F\00e\00b\00 ") + (data $45 (i32.const 4732) "\1c") + (data $45.1 (i32.const 4744) "\02\00\00\00\08\00\00\00M\00a\00r\00 ") + (data $46 (i32.const 4764) "\1c") + (data $46.1 (i32.const 4776) "\02\00\00\00\08\00\00\00A\00p\00r\00 ") + (data $47 (i32.const 4796) "\1c") + (data $47.1 (i32.const 4808) "\02\00\00\00\08\00\00\00M\00a\00y\00 ") + (data $48 (i32.const 4828) "\1c") + (data $48.1 (i32.const 4840) "\02\00\00\00\08\00\00\00J\00u\00n\00 ") + (data $49 (i32.const 4860) "\1c") + (data $49.1 (i32.const 4872) "\02\00\00\00\08\00\00\00J\00u\00l\00 ") + (data $50 (i32.const 4892) "\1c") + (data $50.1 (i32.const 4904) "\02\00\00\00\08\00\00\00A\00u\00g\00 ") + (data $51 (i32.const 4924) "\1c") + (data $51.1 (i32.const 4936) "\02\00\00\00\08\00\00\00S\00e\00p\00 ") + (data $52 (i32.const 4956) "\1c") + (data $52.1 (i32.const 4968) "\02\00\00\00\08\00\00\00O\00c\00t\00 ") + (data $53 (i32.const 4988) "\1c") + (data $53.1 (i32.const 5000) "\02\00\00\00\08\00\00\00N\00o\00v\00 ") + (data $54 (i32.const 5020) "\1c") + (data $54.1 (i32.const 5032) "\02\00\00\00\08\00\00\00D\00e\00c\00 ") + (data $55 (i32.const 5052) "L") + (data $55.1 (i32.const 5064) "\05\00\00\000\00\00\00P\12\00\00p\12\00\00\90\12\00\00\b0\12\00\00\d0\12\00\00\f0\12\00\00\10\13\00\000\13\00\00P\13\00\00p\13\00\00\90\13\00\00\b0\13") + (data $56 (i32.const 5132) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14") + (data $57 (i32.const 5180) "\1c") + (data $57.1 (i32.const 5192) "\02\00\00\00\04\00\00\00 \00-") + (data $58 (i32.const 5212) "\1c") + (data $58.1 (i32.const 5224) "\02\00\00\00\02\00\00\00 ") + (data $59 (i32.const 5244) "<") + (data $59.1 (i32.const 5256) "\02\00\00\00\1e\00\00\00W\00e\00d\00 \00J\00a\00n\00 \000\001\00 \000\000\002\000") + (data $60 (i32.const 5308) "<") + (data $60.1 (i32.const 5320) "\02\00\00\00\1e\00\00\00S\00u\00n\00 \00F\00e\00b\00 \000\002\00 \002\000\002\000") + (data $61 (i32.const 5372) "<") + (data $61.1 (i32.const 5384) "\02\00\00\00 \00\00\00T\00h\00u\00 \00J\00u\00l\00 \000\001\00 \00-\000\000\000\001") + (data $62 (i32.const 5436) ",\00\00\00\03\00\00\00\00\00\00\00\05\00\00\00\14\00\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r") + (data $63 (i32.const 5484) ",") + (data $63.1 (i32.const 5496) "\02\00\00\00\10\00\00\000\000\00:\000\000\00:\000\000") + (data $64 (i32.const 5532) ",") + (data $64.1 (i32.const 5544) "\02\00\00\00\10\00\00\002\003\00:\005\009\00:\005\009") + (data $65 (i32.const 5580) "\1c") + (data $65.1 (i32.const 5592) "\02\00\00\00\n\00\00\00S\00u\00n\00,\00 ") + (data $66 (i32.const 5612) "\1c") + (data $66.1 (i32.const 5624) "\02\00\00\00\n\00\00\00M\00o\00n\00,\00 ") + (data $67 (i32.const 5644) "\1c") + (data $67.1 (i32.const 5656) "\02\00\00\00\n\00\00\00T\00u\00e\00,\00 ") + (data $68 (i32.const 5676) "\1c") + (data $68.1 (i32.const 5688) "\02\00\00\00\n\00\00\00W\00e\00d\00,\00 ") + (data $69 (i32.const 5708) "\1c") + (data $69.1 (i32.const 5720) "\02\00\00\00\n\00\00\00T\00h\00u\00,\00 ") + (data $70 (i32.const 5740) "\1c") + (data $70.1 (i32.const 5752) "\02\00\00\00\n\00\00\00F\00r\00i\00,\00 ") + (data $71 (i32.const 5772) "\1c") + (data $71.1 (i32.const 5784) "\02\00\00\00\n\00\00\00S\00a\00t\00,\00 ") + (data $72 (i32.const 5804) ",") + (data $72.1 (i32.const 5816) "\05\00\00\00\1c\00\00\00\e0\15\00\00\00\16\00\00 \16\00\00@\16\00\00`\16\00\00\80\16\00\00\a0\16") + (data $73 (i32.const 5852) "\1c") + (data $73.1 (i32.const 5864) "\02\00\00\00\n\00\00\00 \00J\00a\00n\00 ") + (data $74 (i32.const 5884) "\1c") + (data $74.1 (i32.const 5896) "\02\00\00\00\n\00\00\00 \00F\00e\00b\00 ") + (data $75 (i32.const 5916) "\1c") + (data $75.1 (i32.const 5928) "\02\00\00\00\n\00\00\00 \00M\00a\00r\00 ") + (data $76 (i32.const 5948) "\1c") + (data $76.1 (i32.const 5960) "\02\00\00\00\n\00\00\00 \00A\00p\00r\00 ") + (data $77 (i32.const 5980) "\1c") + (data $77.1 (i32.const 5992) "\02\00\00\00\n\00\00\00 \00M\00a\00y\00 ") + (data $78 (i32.const 6012) "\1c") + (data $78.1 (i32.const 6024) "\02\00\00\00\n\00\00\00 \00J\00u\00n\00 ") + (data $79 (i32.const 6044) "\1c") + (data $79.1 (i32.const 6056) "\02\00\00\00\n\00\00\00 \00J\00u\00l\00 ") + (data $80 (i32.const 6076) "\1c") + (data $80.1 (i32.const 6088) "\02\00\00\00\n\00\00\00 \00A\00u\00g\00 ") + (data $81 (i32.const 6108) "\1c") + (data $81.1 (i32.const 6120) "\02\00\00\00\n\00\00\00 \00S\00e\00p\00 ") + (data $82 (i32.const 6140) "\1c") + (data $82.1 (i32.const 6152) "\02\00\00\00\n\00\00\00 \00O\00c\00t\00 ") + (data $83 (i32.const 6172) "\1c") + (data $83.1 (i32.const 6184) "\02\00\00\00\n\00\00\00 \00N\00o\00v\00 ") + (data $84 (i32.const 6204) "\1c") + (data $84.1 (i32.const 6216) "\02\00\00\00\n\00\00\00 \00D\00e\00c\00 ") + (data $85 (i32.const 6236) "L") + (data $85.1 (i32.const 6248) "\05\00\00\000\00\00\00\f0\16\00\00\10\17\00\000\17\00\00P\17\00\00p\17\00\00\90\17\00\00\b0\17\00\00\d0\17\00\00\f0\17\00\00\10\18\00\000\18\00\00P\18") + (data $86 (i32.const 6316) "\1c") + (data $86.1 (i32.const 6328) "\02\00\00\00\08\00\00\00 \00G\00M\00T") + (data $87 (i32.const 6348) "L\00\00\00\03\00\00\00\00\00\00\00\05\00\00\000") + (data $87.1 (i32.const 6388) "p\14\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\r\00\00\00\00\00\00\c0\18") + (data $88 (i32.const 6428) "L") + (data $88.1 (i32.const 6440) "\02\00\00\00:\00\00\00W\00e\00d\00,\00 \000\001\00 \00J\00a\00n\00 \000\000\002\000\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") + (data $89 (i32.const 6508) "L") + (data $89.1 (i32.const 6520) "\02\00\00\00:\00\00\00M\00o\00n\00,\00 \000\003\00 \00F\00e\00b\00 \002\000\002\000\00 \001\004\00:\005\003\00:\003\003\00 \00G\00M\00T") + (data $90 (i32.const 6588) "L") + (data $90.1 (i32.const 6600) "\02\00\00\00<\00\00\00T\00h\00u\00,\00 \000\001\00 \00J\00u\00l\00 \00-\000\000\000\001\00 \000\000\00:\000\000\00:\000\000\00 \00G\00M\00T") + (data $91 (i32.const 6668) ",") + (data $91.1 (i32.const 6680) "\02\00\00\00\14\00\00\001\009\007\006\00-\000\002\00-\000\002") + (data $92 (i32.const 6716) ",") + (data $92.1 (i32.const 6728) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $93 (i32.const 6764) ",") + (data $93.1 (i32.const 6776) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $94 (i32.const 6812) "|") + (data $94.1 (i32.const 6824) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data $95 (i32.const 6940) ",") + (data $95.1 (i32.const 6952) "\02\00\00\00\10\00\00\001\009\007\006\00-\002\00-\002") + (data $96 (i32.const 6988) ",") + (data $96.1 (i32.const 7000) "\02\00\00\00\14\00\00\002\003\004\005\00-\001\001\00-\000\004") + (data $97 (i32.const 7036) "<") + (data $97.1 (i32.const 7048) "\02\00\00\00&\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006") + (data $98 (i32.const 7100) "L") + (data $98.1 (i32.const 7112) "\02\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006") + (data $99 (i32.const 7180) "L") + (data $99.1 (i32.const 7192) "\02\00\00\000\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00Z") + (data $100 (i32.const 7260) "L") + (data $100.1 (i32.const 7272) "\02\00\00\00:\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00-\000\008\00:\000\000") + (data $101 (i32.const 7340) "L") + (data $101.1 (i32.const 7352) "\02\00\00\00:\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\00+\000\005\00:\003\000") + (data $102 (i32.const 7420) "<") + (data $102.1 (i32.const 7432) "\02\00\00\00,\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005") + (data $103 (i32.const 7484) "L") + (data $103.1 (i32.const 7496) "\02\00\00\00.\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\00Z") + (data $104 (i32.const 7564) "L") + (data $104.1 (i32.const 7576) "\02\00\00\008\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\00+\000\000\00:\000\000") + (data $105 (i32.const 7644) "L") + (data $105.1 (i32.const 7656) "\02\00\00\004\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\007\008\009") + (data $106 (i32.const 7724) "L") + (data $106.1 (i32.const 7736) "\02\00\00\006\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\007\008\009\00Z") + (data $107 (i32.const 7804) "\\") + (data $107.1 (i32.const 7816) "\02\00\00\00@\00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004\00:\005\006\00.\004\005\006\007\008\009\00+\000\000\00:\000\000") + (data $108 (i32.const 7900) "\1c") + (data $108.1 (i32.const 7912) "\02\00\00\00\08\00\00\000\000\000\000") + (data $109 (i32.const 7932) "\1c") + (data $109.1 (i32.const 7944) "\02\00\00\00\08\00\00\000\000\000\001") + (data $110 (i32.const 7964) "\1c") + (data $110.1 (i32.const 7976) "\02\00\00\00\08\00\00\001\009\007\006") + (data $111 (i32.const 7996) ",") + (data $111.1 (i32.const 8008) "\02\00\00\00\0e\00\00\001\009\007\006\00-\000\002") + (data $112 (i32.const 8044) "<") + (data $112.1 (i32.const 8056) "\02\00\00\00 \00\00\001\009\007\006\00-\000\002\00-\000\002\00T\001\002\00:\003\004") + (data $113 (i32.const 8108) "L") + (data $113.1 (i32.const 8120) "\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data $114 (i32.const 8188) "L") + (data $114.1 (i32.const 8200) "\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\003\00T\000\000\00:\000\000\00:\000\000\00.\000\000\000\00Z") + (data $115 (i32.const 8268) "L") + (data $115.1 (i32.const 8280) "\02\00\00\006\00\00\00+\002\007\005\007\006\000\00-\000\009\00-\001\002\00T\002\003\00:\005\009\00:\005\009\00.\009\009\009\00Z") + (data $116 (i32.const 8348) "L") + (data $116.1 (i32.const 8360) "\02\00\00\006\00\00\00-\002\007\001\008\002\001\00-\000\004\00-\002\000\00T\000\000\00:\000\000\00:\000\000\00.\000\000\001\00Z") + (data $117 (i32.const 8432) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00\04A\00\00\02A\00\00\02\t") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/date/epochMillis (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (result i64) @@ -413,22 +430,22 @@ (local $0 i32) (local $1 i32) i32.const 1392 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 6784 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 6832 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1200 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 2304 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 3360 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -438,7 +455,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -456,7 +473,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -473,7 +490,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -487,19 +504,19 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$376 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 - i32.const 40596 + i32.const 41236 i32.lt_u i32.and i32.eqz @@ -511,10 +528,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$376 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -527,20 +544,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -548,8 +565,8 @@ i32.const 1 else local.get $1 - i32.const 7792 - i32.load $0 + i32.const 8432 + i32.load i32.gt_u if i32.const 1392 @@ -562,15 +579,15 @@ local.get $1 i32.const 2 i32.shl - i32.const 7796 + i32.const 8436 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -580,21 +597,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -602,8 +643,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -615,10 +656,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -629,29 +670,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -659,10 +700,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -676,75 +717,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -766,7 +800,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -783,12 +817,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -805,17 +839,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -825,9 +859,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -852,13 +886,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -892,7 +926,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -948,19 +982,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -972,15 +1006,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -988,23 +1022,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1536 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1018,10 +1054,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -1029,23 +1065,22 @@ if i32.const 0 i32.const 1536 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -1057,52 +1092,53 @@ if i32.const 0 i32.const 1536 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -1110,7 +1146,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -1118,7 +1154,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1127,12 +1163,12 @@ if unreachable end - i32.const 40608 + i32.const 41248 i32.const 0 - i32.store $0 - i32.const 42176 + i32.store + i32.const 42816 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -1141,10 +1177,10 @@ local.get $0 i32.const 2 i32.shl - i32.const 40608 + i32.const 41248 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -1159,10 +1195,10 @@ i32.add i32.const 2 i32.shl - i32.const 40608 + i32.const 41248 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -1177,13 +1213,14 @@ br $for-loop|0 end end - i32.const 40608 - i32.const 42180 - memory.size $0 - i32.const 16 - i32.shl + i32.const 41248 + i32.const 42820 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory - i32.const 40608 + i32.const 41248 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/itcms/step (result i32) @@ -1211,7 +1248,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1224,19 +1261,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -1247,7 +1284,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1259,7 +1296,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -1268,16 +1305,12 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 40596 + i32.const 41236 i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -1286,7 +1319,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1297,26 +1330,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1332,7 +1365,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1348,7 +1381,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1368,19 +1401,19 @@ unreachable end local.get $0 - i32.const 40596 + i32.const 41236 i32.lt_u if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1391,7 +1424,7 @@ i32.const 4 i32.add local.tee $0 - i32.const 40596 + i32.const 41236 i32.ge_u if global.get $~lib/rt/tlsf/ROOT @@ -1400,7 +1433,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1415,25 +1447,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1536 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1442,12 +1473,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1455,47 +1485,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1506,7 +1538,7 @@ if i32.const 0 i32.const 1536 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1516,7 +1548,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1533,10 +1565,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1552,13 +1584,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1536 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1573,7 +1605,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1600,7 +1632,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1612,16 +1644,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1629,8 +1657,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1657,34 +1684,60 @@ if i32.const 1200 i32.const 1536 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1692,21 +1745,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1719,12 +1757,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1735,9 +1773,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1747,7 +1786,7 @@ if i32.const 0 i32.const 1536 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1755,14 +1794,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1536 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1771,8 +1810,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1781,95 +1820,95 @@ if i32.const 0 i32.const 1536 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1882,7 +1921,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/date/join (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i64) (result i64) @@ -1969,11 +2008,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -1981,8 +2020,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/itoa32 + i32.store + block $__inlined_func$~lib/util/number/itoa32$73 local.get $0 i32.eqz if @@ -1992,7 +2031,7 @@ global.set $~lib/memory/__stack_pointer i32.const 1872 local.set $2 - br $__inlined_func$~lib/util/number/itoa32 + br $__inlined_func$~lib/util/number/itoa32$73 end global.get $~lib/memory/__stack_pointer i32.const 0 @@ -2060,7 +2099,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store local.get $2 local.get $3 i32.add @@ -2093,7 +2132,7 @@ i32.shl i32.const 1884 i32.add - i64.load32_u $0 + i64.load32_u local.get $4 i32.const 100 i32.rem_u @@ -2101,11 +2140,11 @@ i32.shl i32.const 1884 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -2128,8 +2167,8 @@ i32.shl i32.const 1884 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $0 i32.const 100 i32.div_u @@ -2151,8 +2190,8 @@ i32.shl i32.const 1884 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store else local.get $5 local.get $1 @@ -2164,13 +2203,13 @@ local.get $0 i32.const 48 i32.add - i32.store16 $0 + i32.store16 end local.get $3 if local.get $2 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2179,20 +2218,63 @@ end local.get $2 ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store $0 - local.get $2 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1264 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq if local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end end ) (func $~lib/util/string/compareImpl (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) @@ -2202,24 +2284,28 @@ i32.const 1 i32.shl i32.add - local.tee $1 - i32.const 7 - i32.and - local.get $2 - i32.const 7 - i32.and - i32.or - i32.eqz + local.set $1 local.get $3 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $1 + i32.const 7 + i32.and + local.get $2 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $1 - i64.load $0 + i64.load local.get $2 - i64.load $0 + i64.load i64.eq if local.get $1 @@ -2249,10 +2335,10 @@ local.get $0 if local.get $1 - i32.load16_u $0 + i32.load16_u local.tee $0 local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $4 i32.ne if @@ -2292,7 +2378,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/date/Date $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid end return @@ -2302,12 +2388,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -2316,7 +2398,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.add local.set $1 loop $while-continue|0 @@ -2325,11 +2407,11 @@ i32.lt_u if local.get $0 - i32.load $0 + i32.load local.tee $2 if local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $0 i32.const 4 @@ -2345,46 +2427,45 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl i32.add local.set $2 - loop $while-continue|04 + loop $while-continue|01 local.get $1 local.get $2 i32.lt_u if local.get $1 - i32.load $0 + i32.load local.tee $3 if local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $1 i32.const 4 i32.add local.set $1 - br $while-continue|04 + br $while-continue|01 end end br $folding-inner1 @@ -2394,18 +2475,18 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store br $folding-inner1 end unreachable end - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2413,14 +2494,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2437,57 +2514,54 @@ ) (func $~lib/date/Date#constructor (param $0 i64) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 4 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i64.store $0 offset=16 - local.get $2 + i64.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i64.const -8640000000000000 i64.lt_s @@ -2498,30 +2572,30 @@ if i32.const 1056 i32.const 1104 - i32.const 100 + i32.const 131 i32.const 35 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 call $~lib/date/dateFromEpoch - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 global.get $~lib/date/_month - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 global.get $~lib/date/_day - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2529,17 +2603,16 @@ local.get $1 ) (func $~lib/date/Date#setTime (param $0 i32) (param $1 i64) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2547,7 +2620,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $1 i64.const -8640000000000000 i64.lt_s @@ -2558,80 +2631,77 @@ if i32.const 1056 i32.const 1104 - i32.const 112 + i32.const 143 i32.const 28 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i64.store $0 offset=16 - local.get $2 + i64.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 call $~lib/date/dateFromEpoch - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 global.get $~lib/date/_month - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 global.get $~lib/date/_day - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/date/Date#getUTCHours (param $0 i32) (result i32) - (local $1 i32) - (local $2 i64) + (local $1 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 86400000 i64.rem_s - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i64.const 86400000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -2641,43 +2711,41 @@ i32.div_s ) (func $~lib/date/Date#getUTCMinutes (param $0 i32) (result i32) - (local $1 i32) - (local $2 i64) + (local $1 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 3600000 i64.rem_s - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i64.const 3600000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -2687,43 +2755,41 @@ i32.div_s ) (func $~lib/date/Date#getUTCSeconds (param $0 i32) (result i32) - (local $1 i32) - (local $2 i64) + (local $1 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 60000 i64.rem_s - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i64.const 60000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -2733,43 +2799,41 @@ i32.div_s ) (func $~lib/date/Date#getUTCMilliseconds (param $0 i32) (result i32) - (local $1 i32) - (local $2 i64) + (local $1 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 1000 i64.rem_s - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i64.const 1000 i64.const 0 - local.get $2 + local.get $1 i64.const 0 i64.lt_s select @@ -2777,41 +2841,39 @@ i32.wrap_i64 ) (func $~lib/date/Date#setUTCMilliseconds (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i64.load $0 offset=16 - local.set $3 - local.get $2 + i64.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $3 + local.get $2 local.get $1 local.get $0 call $~lib/date/Date#getUTCMilliseconds @@ -2825,41 +2887,39 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/date/Date#setUTCSeconds (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i64.load $0 offset=16 - local.set $3 - local.get $2 + i64.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $3 + local.get $2 local.get $1 local.get $0 call $~lib/date/Date#getUTCSeconds @@ -2875,41 +2935,39 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/date/Date#setUTCMinutes (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i64.load $0 offset=16 - local.set $3 - local.get $2 + i64.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $3 + local.get $2 local.get $1 local.get $0 call $~lib/date/Date#getUTCMinutes @@ -2925,41 +2983,39 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/date/Date#setUTCHours (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i64.load $0 offset=16 - local.set $3 - local.get $2 + i64.load offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $3 + local.get $2 local.get $1 local.get $0 call $~lib/date/Date#getUTCHours @@ -2977,32 +3033,30 @@ (func $~lib/date/Date#setUTCDate (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eq if global.get $~lib/memory/__stack_pointer @@ -3012,30 +3066,29 @@ return end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 local.get $2 + local.get $3 local.get $1 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 call $~lib/date/join call $~lib/date/Date#setTime global.get $~lib/memory/__stack_pointer @@ -3046,19 +3099,18 @@ (func $~lib/date/Date#setUTCMonth@varargs (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -3071,58 +3123,54 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - local.get $0 - i32.store $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.store local.get $1 i32.const 1 i32.add + local.tee $1 + local.get $0 + i32.load offset=4 i32.ne if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 + local.get $3 local.get $1 - i32.const 1 - i32.add local.get $2 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 call $~lib/date/join call $~lib/date/Date#setTime end @@ -3136,8 +3184,8 @@ global.set $~lib/memory/__stack_pointer return end - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3146,32 +3194,30 @@ (func $~lib/date/Date#setUTCFullYear (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 + i32.load i32.eq if global.get $~lib/memory/__stack_pointer @@ -3181,30 +3227,29 @@ return end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $4 - local.get $3 + i32.load offset=4 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=8 - local.set $2 - local.get $3 + i32.load offset=8 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - local.get $4 local.get $2 + local.get $3 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 call $~lib/date/join call $~lib/date/Date#setTime global.get $~lib/memory/__stack_pointer @@ -3220,63 +3265,59 @@ (local $6 i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $0 call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store $0 offset=4 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - local.set $2 - local.get $4 + local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 1872 - i32.store $0 - block $__inlined_func$~lib/string/String#padStart + i32.store + block $__inlined_func$~lib/string/String#padStart$384 i32.const 1868 - i32.load $0 + i32.load i32.const -2 i32.and - local.tee $6 + local.tee $2 i32.eqz local.get $1 i32.const 1 i32.shl - local.tee $4 - local.get $2 + local.tee $5 + local.get $3 i32.lt_u i32.or if @@ -3284,68 +3325,68 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#padStart + br $__inlined_func$~lib/string/String#padStart$384 end global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $5 i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=4 - local.get $4 - local.get $2 + i32.store offset=4 + local.get $5 + local.get $3 i32.sub local.tee $7 - local.get $6 + local.get $2 i32.gt_u if local.get $7 local.get $7 i32.const 2 i32.sub - local.get $6 + local.get $2 i32.div_u - local.get $6 + local.get $2 i32.mul - local.tee $5 + local.tee $6 i32.sub - local.set $4 + local.set $5 loop $while-continue|0 - local.get $3 - local.get $5 + local.get $4 + local.get $6 i32.lt_u if local.get $1 - local.get $3 + local.get $4 i32.add i32.const 1872 - local.get $6 - memory.copy $0 $0 - local.get $3 - local.get $6 + local.get $2 + memory.copy + local.get $2 + local.get $4 i32.add - local.set $3 + local.set $4 br $while-continue|0 end end local.get $1 - local.get $5 + local.get $6 i32.add i32.const 1872 - local.get $4 - memory.copy $0 $0 + local.get $5 + memory.copy else local.get $1 i32.const 1872 local.get $7 - memory.copy $0 $0 + memory.copy end local.get $1 local.get $7 i32.add local.get $0 - local.get $2 - memory.copy $0 $0 + local.get $3 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -3354,14 +3395,14 @@ local.set $0 end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 return end - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3378,23 +3419,22 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $1 i32.const 1 i32.sub @@ -3413,12 +3453,11 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.load $0 + i32.load local.tee $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -3439,19 +3478,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 if global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.add @@ -3467,13 +3506,12 @@ i32.const 0 local.set $3 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 3456 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3452 - i32.load $0 + i32.load i32.const 1 i32.shr_u local.tee $1 @@ -3485,7 +3523,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $5 - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $2 loop $for-loop|1 @@ -3499,14 +3537,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 if global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $3 i32.const 1 @@ -3516,13 +3554,13 @@ local.get $6 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $6 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $3 local.get $6 i32.add @@ -3539,7 +3577,7 @@ local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $1 local.get $3 i32.add @@ -3558,14 +3596,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $3 i32.const 1 @@ -3575,10 +3613,10 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - memory.copy $0 $0 + memory.copy end global.get $~lib/memory/__stack_pointer i32.const 16 @@ -3588,48 +3626,44 @@ ) (func $~lib/staticarray/StaticArray<~lib/string/String>#join (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 3456 - i32.store $0 + i32.store local.get $0 - local.get $2 + local.get $1 call $~lib/util/string/joinStringArray - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/date/Date#toISOString (param $0 i32) (result i32) (local $1 i32) @@ -3639,24 +3673,24 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 68 - i32.sub + i32.const -64 + i32.add global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 68 - memory.fill $0 - local.get $2 + i32.const 64 + memory.fill + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 + i32.load local.tee $1 i32.const 0 i32.lt_s @@ -3672,7 +3706,7 @@ local.get $3 select local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 31 i32.shr_s @@ -3683,64 +3717,62 @@ i32.xor i32.const 6 call $~lib/date/stringify - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $4 + 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 7828 + i32.const 8468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - block $__inlined_func$~lib/string/String#concat (result i32) - local.get $4 - local.get $3 - i32.store $0 - local.get $4 - local.get $1 - i32.store $0 offset=4 - local.get $4 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7828 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 - local.get $3 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.set $5 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const -2 + i32.and + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + block $__inlined_func$~lib/string/String#concat$385 local.get $4 - local.get $1 - i32.store $0 - local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - local.tee $4 + local.tee $6 local.get $5 i32.add - local.tee $6 + local.tee $1 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -3748,31 +3780,30 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 3456 - br $__inlined_func$~lib/string/String#concat + local.set $1 + br $__inlined_func$~lib/string/String#concat$385 end global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $1 i32.const 2 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=4 - local.get $6 + local.tee $1 + i32.store offset=4 + local.get $1 local.get $3 local.get $5 - memory.copy $0 $0 + memory.copy + local.get $1 local.get $5 - local.get $6 i32.add - local.get $1 local.get $4 - memory.copy $0 $0 + local.get $6 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 end - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -3783,179 +3814,193 @@ call $~lib/date/stringify local.set $1 end - local.get $2 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 call $~lib/date/stringify local.tee $2 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 call $~lib/date/stringify local.tee $3 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCHours i32.const 2 call $~lib/date/stringify local.tee $4 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCMinutes i32.const 2 call $~lib/date/stringify local.tee $5 - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCSeconds i32.const 2 call $~lib/date/stringify local.tee $6 - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCMilliseconds i32.const 3 call $~lib/date/stringify local.tee $0 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=40 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=44 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=48 + i32.store offset=48 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=56 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=60 + i32.store offset=60 global.get $~lib/memory/__stack_pointer i32.const 3616 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=64 + i32.store offset=4 + i32.const 3616 + local.get $1 + i32.store i32.const 3616 - i32.const 0 local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 3616 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=64 + i32.store offset=4 + i32.const 3624 + local.get $2 + i32.store i32.const 3616 - i32.const 2 local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 3616 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=64 + i32.store offset=4 + i32.const 3632 + local.get $3 + i32.store i32.const 3616 - i32.const 4 local.get $3 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 3616 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=64 + i32.store offset=4 + i32.const 3640 + local.get $4 + i32.store i32.const 3616 - i32.const 6 local.get $4 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 3616 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=64 + i32.store offset=4 + i32.const 3648 + local.get $5 + i32.store i32.const 3616 - i32.const 8 local.get $5 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 3616 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=64 + i32.store offset=4 + i32.const 3656 + local.get $6 + i32.store i32.const 3616 - i32.const 10 local.get $6 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 3616 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=64 + i32.store offset=4 + i32.const 3664 + local.get $0 + i32.store i32.const 3616 - i32.const 12 local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 3616 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 offset=4 + i32.store i32.const 3616 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 68 - i32.add + i32.const -64 + i32.sub global.set $~lib/memory/__stack_pointer - local.get $0 return end - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3963,17 +4008,16 @@ ) (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3981,7 +4025,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -4001,47 +4045,43 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $2 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $2 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 local.get $1 local.get $2 call $~lib/util/string/compareImpl i32.eqz - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end global.get $~lib/memory/__stack_pointer @@ -4057,130 +4097,125 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 56 + i32.const 52 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.const 56 - memory.fill $0 + i32.const 52 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 28 i32.const 5 call $~lib/rt/itcms/__new local.tee $2 i32.const 4640 i32.const 28 - memory.copy $0 $0 - local.get $1 + memory.copy local.get $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.set $1 i32.const 48 i32.const 5 call $~lib/rt/itcms/__new local.tee $3 i32.const 5072 i32.const 48 - memory.copy $0 $0 - local.get $1 + memory.copy local.get $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 - local.set $5 - local.get $4 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 - local.tee $6 + i32.load + local.tee $0 local.get $1 i32.const 3 i32.lt_s i32.sub - local.tee $7 + local.tee $5 i32.const 0 i32.lt_s - local.set $0 + local.set $6 local.get $1 i32.const 1579 i32.add - i32.load8_u $0 - local.get $7 + i32.load8_u + local.get $5 i32.const 3 i32.const 0 - local.get $0 + local.get $6 select i32.sub i32.const 4 i32.div_s - local.get $7 + local.get $5 i32.const 99 i32.const 0 - local.get $0 + local.get $6 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $7 + local.get $5 i32.const 399 i32.const 0 - local.get $0 + local.get $6 select i32.sub i32.const 400 i32.div_s i32.add - local.get $7 + local.get $5 i32.add i32.add - local.get $5 + local.get $4 i32.add i32.const 7 i32.rem_s - local.set $0 - local.get $4 - local.get $6 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 31 i32.shr_s - local.tee $4 - local.get $6 + local.tee $6 + local.get $0 i32.add - local.get $4 + local.get $6 i32.xor i32.const 4 call $~lib/date/stringify - local.tee $4 - i32.store $0 offset=12 + local.tee $6 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $3 local.get $1 @@ -4189,226 +4224,239 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $1 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 i32.const 7 i32.const 0 - local.get $0 + local.get $5 i32.const 0 i32.lt_s select - local.get $0 + local.get $5 i32.add i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $0 - i32.store $0 offset=20 + i32.load + local.tee $2 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 i32.const 2 call $~lib/date/stringify - local.tee $2 - i32.store $0 offset=24 + local.tee $3 + i32.store offset=24 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=28 + local.get $2 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=36 + local.get $3 + i32.store offset=36 global.get $~lib/memory/__stack_pointer i32.const 5200 i32.const 5232 - local.get $6 + local.get $0 i32.const 0 i32.lt_s select - local.tee $3 - i32.store $0 offset=40 + local.tee $0 + i32.store offset=40 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=44 + local.get $6 + i32.store offset=44 global.get $~lib/memory/__stack_pointer i32.const 5152 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=48 + local.get $2 + i32.store offset=48 i32.const 5152 - i32.const 0 - local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + local.get $2 + i32.store + i32.const 5152 + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 5152 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=48 + i32.store offset=48 + i32.const 5156 + local.get $1 + i32.store i32.const 5152 - i32.const 1 local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 5152 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=48 + local.get $3 + i32.store offset=48 + i32.const 5160 + local.get $3 + i32.store i32.const 5152 - i32.const 2 - local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + local.get $3 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 5152 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=48 + local.get $0 + i32.store offset=48 + i32.const 5164 + local.get $0 + i32.store i32.const 5152 - i32.const 3 - local.get $3 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + local.get $0 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 5152 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=48 + local.get $6 + i32.store offset=48 + i32.const 5168 + local.get $6 + i32.store i32.const 5152 - i32.const 4 - local.get $4 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + local.get $6 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 5152 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 offset=52 + i32.store offset=8 i32.const 5152 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 56 + i32.const 52 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/date/Date#toTimeString (param $0 i32) (result i32) (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 32 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.const 36 - memory.fill $0 - local.get $1 + i32.const 32 + memory.fill + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCHours i32.const 2 call $~lib/date/stringify - local.tee $2 - i32.store $0 offset=4 + local.tee $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCMinutes i32.const 2 call $~lib/date/stringify - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCSeconds i32.const 2 call $~lib/date/stringify local.tee $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer i32.const 5456 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=28 + local.get $1 + i32.store offset=28 i32.const 5456 - i32.const 0 - local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + local.get $1 + i32.store + i32.const 5456 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 5456 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=28 + local.get $2 + i32.store offset=28 + i32.const 5464 + local.get $2 + i32.store i32.const 5456 - i32.const 2 - local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + local.get $2 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 5456 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=28 + i32.store offset=28 + i32.const 5472 + local.get $0 + i32.store i32.const 5456 - i32.const 4 local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 5456 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 offset=32 + i32.store i32.const 5456 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 32 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/date/Date#toUTCString (param $0 i32) (result i32) (local $1 i32) @@ -4418,354 +4466,366 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 80 + i32.const 76 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.const 80 - memory.fill $0 + i32.const 76 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 28 i32.const 5 call $~lib/rt/itcms/__new local.tee $2 i32.const 5824 i32.const 28 - memory.copy $0 $0 - local.get $1 + memory.copy local.get $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.set $1 i32.const 48 i32.const 5 call $~lib/rt/itcms/__new local.tee $3 i32.const 6256 i32.const 48 - memory.copy $0 $0 - local.get $1 + memory.copy local.get $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 - local.set $5 - local.get $4 + i32.load offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 - local.set $6 - local.get $4 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 - local.tee $7 - local.get $5 + i32.load + local.tee $5 + local.get $1 i32.const 3 i32.lt_s i32.sub - local.tee $8 + local.tee $6 i32.const 0 i32.lt_s - local.set $1 - local.get $5 + local.set $7 + local.get $1 i32.const 1579 i32.add - i32.load8_u $0 - local.get $8 + i32.load8_u + local.get $6 i32.const 3 i32.const 0 - local.get $1 + local.get $7 select i32.sub i32.const 4 i32.div_s - local.get $8 + local.get $6 i32.const 99 i32.const 0 - local.get $1 + local.get $7 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $8 + local.get $6 i32.const 399 i32.const 0 - local.get $1 + local.get $7 select i32.sub i32.const 400 i32.div_s i32.add - local.get $8 + local.get $6 i32.add i32.add - local.get $6 + local.get $4 i32.add i32.const 7 i32.rem_s - local.set $1 - local.get $4 - local.get $7 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.const 31 i32.shr_s - local.tee $4 - local.get $7 + local.tee $7 + local.get $5 i32.add - local.get $4 + local.get $7 i32.xor i32.const 4 call $~lib/date/stringify - local.tee $4 - i32.store $0 offset=12 + local.tee $7 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $3 - local.get $5 + local.get $1 i32.const 1 i32.sub i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $3 - i32.store $0 offset=16 + i32.load + local.tee $1 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $2 i32.const 7 i32.const 0 - local.get $1 + local.get $6 i32.const 0 i32.lt_s select - local.get $1 + local.get $6 i32.add i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $1 - i32.store $0 offset=20 + i32.load + local.tee $2 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $4 i32.const 2 call $~lib/date/stringify - local.tee $2 - i32.store $0 offset=24 + local.tee $3 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCHours i32.const 2 call $~lib/date/stringify - local.tee $5 - i32.store $0 offset=28 + local.tee $4 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCMinutes i32.const 2 call $~lib/date/stringify local.tee $6 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/date/Date#getUTCSeconds i32.const 2 call $~lib/date/stringify local.tee $0 - i32.store $0 offset=36 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=40 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=44 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=48 + i32.store offset=44 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=48 global.get $~lib/memory/__stack_pointer i32.const 1616 i32.const 3456 - local.get $7 + local.get $5 i32.const 0 i32.lt_s select - local.tee $7 - i32.store $0 offset=52 + local.tee $5 + i32.store offset=52 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=56 + local.get $7 + i32.store offset=56 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=60 + local.get $4 + i32.store offset=60 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=64 + i32.store offset=64 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=68 + i32.store offset=68 global.get $~lib/memory/__stack_pointer i32.const 6368 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=72 - i32.const 6368 - i32.const 0 - local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=72 i32.const 6368 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=72 + i32.store i32.const 6368 - i32.const 1 local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 6368 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=72 + i32.store offset=72 + i32.const 6372 + local.get $3 + i32.store i32.const 6368 - i32.const 2 local.get $3 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 6368 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=72 + local.get $1 + i32.store offset=72 + i32.const 6376 + local.get $1 + i32.store i32.const 6368 - i32.const 3 - local.get $7 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 6368 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=72 + local.get $5 + i32.store offset=72 + i32.const 6380 + local.get $5 + i32.store i32.const 6368 - i32.const 4 - local.get $4 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + local.get $5 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 6368 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=72 + local.get $7 + i32.store offset=72 + i32.const 6384 + local.get $7 + i32.store i32.const 6368 - i32.const 6 - local.get $5 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + local.get $7 + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=72 + i32.const 6392 + local.get $4 + i32.store + i32.const 6368 + local.get $4 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 6368 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=72 + i32.store offset=72 + i32.const 6400 + local.get $6 + i32.store i32.const 6368 - i32.const 8 local.get $6 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 6368 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=72 + i32.store offset=72 + i32.const 6408 + local.get $0 + i32.store i32.const 6368 - i32.const 10 local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 6368 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 offset=76 + i32.store offset=8 i32.const 6368 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 80 + i32.const 76 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -4777,14 +4837,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -4801,32 +4861,31 @@ i32.gt_s select local.tee $2 - local.get $3 + local.get $4 local.get $2 - local.get $3 + local.get $4 i32.lt_s select local.set $2 - local.get $3 local.get $4 + local.get $3 i32.sub - local.set $5 + local.set $4 loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.le_s if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 local.get $1 - local.get $4 + local.get $3 call $~lib/util/string/compareImpl i32.eqz if @@ -4858,42 +4917,41 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 i32.const 0 local.get $1 i32.const 0 i32.gt_s select - local.tee $1 + local.tee $3 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $3 + local.tee $1 local.get $1 local.get $3 - i32.lt_s + i32.gt_s select - local.tee $1 + local.tee $3 local.get $2 i32.const 0 local.get $2 @@ -4901,31 +4959,31 @@ i32.gt_s select local.tee $2 - local.get $3 + local.get $1 + local.get $1 local.get $2 - local.get $3 - i32.lt_s + i32.gt_s select local.tee $2 - local.get $1 local.get $2 - i32.lt_s + local.get $3 + i32.gt_s select i32.const 1 i32.shl local.set $4 - local.get $1 + local.get $3 local.get $2 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s select i32.const 1 i32.shl - local.tee $1 + local.tee $2 local.get $4 i32.sub - local.tee $2 + local.tee $3 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -4937,8 +4995,8 @@ end local.get $4 i32.eqz + local.get $2 local.get $1 - local.get $3 i32.const 1 i32.shl i32.eq @@ -4952,17 +5010,17 @@ return end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 local.get $4 i32.add - local.get $2 - memory.copy $0 $0 + local.get $3 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -4976,11 +5034,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4988,7 +5046,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -5004,213 +5062,505 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/string/String#substring - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) + (func $~lib/util/string/strtol (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 2 - i32.shr_u - i32.gt_u - if - local.get $1 - i32.const 268435455 - i32.gt_u - if - i32.const 6784 - i32.const 6736 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + i32.store + block $folding-inner0 local.get $0 - i32.store $0 - block $__inlined_func$~lib/rt/itcms/__renew - i32.const 1073741820 - local.get $2 - i32.const 1 - i32.shl - local.tee $2 - local.get $2 - i32.const 1073741820 - i32.ge_u - select - local.tee $2 - i32.const 8 - local.get $1 - local.get $1 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $1 - local.get $1 - local.get $2 - i32.lt_u - select - local.tee $3 - local.get $0 - i32.load $0 - local.tee $2 - i32.const 20 - i32.sub - local.tee $4 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + i32.eqz + br_if $folding-inner0 + local.get $0 + local.tee $2 + i32.load16_u + local.set $0 + loop $while-continue|0 + block $__inlined_func$~lib/util/string/isSpace$164 (result i32) + local.get $0 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $0 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + local.get $0 + i32.const 5760 + i32.lt_u + br_if $__inlined_func$~lib/util/string/isSpace$164 + drop + i32.const 1 + local.get $0 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace$164 + drop + block $break|0 + block $case0|0 + local.get $0 + i32.const 5760 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 8232 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 8233 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 8239 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 8287 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 12288 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 65279 + i32.eq + br_if $case0|0 + br $break|0 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace$164 + end + i32.const 0 + end if - local.get $4 - local.get $3 - i32.store $0 offset=16 local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u + local.set $0 + local.get $1 + i32.const 1 + i32.sub local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew + br $while-continue|0 end - local.get $3 - local.get $4 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new + end + i32.const 1 + local.set $4 + local.get $0 + i32.const 45 + i32.eq + local.tee $6 + local.get $0 + i32.const 43 + i32.eq + i32.or + if (result i32) + local.get $1 + i32.const 1 + i32.sub local.tee $1 - local.get $2 - local.get $3 - local.get $4 - i32.load $0 offset=16 - local.tee $4 - local.get $3 - local.get $4 - i32.lt_u + i32.eqz + br_if $folding-inner0 + i32.const -1 + i32.const 1 + local.get $6 select - memory.copy $0 $0 + local.set $4 + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u + else + local.get $0 end + i32.const 48 + i32.eq local.get $1 - local.get $2 - i32.ne + i32.const 2 + i32.gt_s + i32.and if - local.get $0 - local.get $1 - i32.store $0 - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - end - local.get $0 - local.get $3 - i32.store $0 offset=8 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array<~lib/string/String>#push (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7828 - i32.lt_s - if - i32.const 40624 - i32.const 40672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.const 1 - i32.add - local.tee $3 - call $~lib/array/ensureCapacity - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl + block $break|1 + block $case2|1 + block $case1|1 + local.get $2 + i32.load16_u offset=2 + i32.const 32 + i32.or + local.tee $0 + i32.const 98 + i32.ne + if + local.get $0 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $0 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.sub + local.set $1 + i32.const 2 + local.set $3 + br $break|1 + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.sub + local.set $1 + i32.const 8 + local.set $3 + br $break|1 + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.sub + local.set $1 + i32.const 16 + local.set $3 + end + end + local.get $3 + i32.const 10 + local.get $3 + select + local.set $6 + local.get $1 + i32.const 1 + i32.sub + local.set $7 + loop $while-continue|2 + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $0 + if + block $while-break|2 + local.get $2 + i32.load16_u + local.tee $3 + i32.const 48 + i32.sub + local.tee $0 + i32.const 10 + i32.ge_u + if + local.get $3 + i32.const 65 + i32.sub + i32.const 25 + i32.le_u + if (result i32) + local.get $3 + i32.const 55 + i32.sub + else + local.get $3 + i32.const 87 + i32.sub + local.get $3 + local.get $3 + i32.const 97 + i32.sub + i32.const 25 + i32.le_u + select + end + local.set $0 + end + local.get $0 + local.get $6 + i32.ge_u + if + local.get $1 + local.get $7 + i32.eq + br_if $folding-inner0 + br $while-break|2 + end + local.get $5 + local.get $6 + i32.mul + local.get $0 + i32.add + local.set $5 + local.get $2 + i32.const 2 + i32.add + local.set $2 + br $while-continue|2 + end + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + local.get $5 + i32.mul + return + end + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8468 + i32.lt_s + if + i32.const 41264 + i32.const 41312 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $1 - i32.store $0 - local.get $1 + local.get $0 + i32.load offset=8 + local.tee $2 + i32.const 2 + i32.shr_u + i32.gt_u if + local.get $1 + i32.const 268435455 + i32.gt_u + if + i32.const 6784 + i32.const 6736 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + block $__inlined_func$~lib/rt/itcms/__renew$363 + i32.const 1073741820 + local.get $2 + i32.const 1 + i32.shl + local.tee $2 + local.get $2 + i32.const 1073741820 + i32.ge_u + select + local.tee $2 + i32.const 8 + local.get $1 + local.get $1 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $1 + local.get $1 + local.get $2 + i32.lt_u + select + local.tee $3 + local.get $0 + i32.load + local.tee $2 + i32.const 20 + i32.sub + local.tee $4 + i32.load + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $4 + local.get $3 + i32.store offset=16 + local.get $2 + local.set $1 + br $__inlined_func$~lib/rt/itcms/__renew$363 + end + local.get $3 + local.get $4 + i32.load offset=12 + call $~lib/rt/itcms/__new + local.tee $1 + local.get $2 + local.get $3 + local.get $4 + i32.load offset=16 + local.tee $4 + local.get $3 + local.get $4 + i32.lt_u + select + memory.copy + end local.get $1 + local.get $2 + i32.ne + if + local.get $0 + local.get $1 + i32.store + local.get $0 + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $0 + local.get $3 + i32.store offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#push (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8468 + i32.lt_s + if + i32.const 41264 + i32.const 41312 + i32.const 1 i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + local.get $0 + local.get $0 + i32.load offset=12 + local.tee $2 + i32.const 1 + i32.add + local.tee $3 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $1 + i32.store local.get $0 - local.get $3 - i32.store $0 offset=12 local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.get $3 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -5225,21 +5575,21 @@ (local $9 i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner3 - block $folding-inner2 + block $folding-inner4 + block $folding-inner3 block $folding-inner1 block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 40 - memory.fill $0 + i32.const 36 + memory.fill local.get $2 i32.eqz br_if $folding-inner1 @@ -5249,132 +5599,123 @@ global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=4 + local.tee $2 + 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 7828 + i32.const 8468 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=12 + i32.store + local.get $2 + i32.load offset=12 i32.eqz if - local.get $1 + local.get $2 i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 1 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 + local.get $2 + i32.store + local.get $2 + i32.load offset=4 local.get $0 - i32.store $0 + i32.store + local.get $2 local.get $0 - if - local.get $1 - local.get $0 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $folding-inner2 + br $folding-inner4 end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $5 - local.get $6 + local.set $6 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=4 i32.const 2147483647 local.get $2 local.get $2 i32.const 0 i32.lt_s select - local.set $7 + local.set $8 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $8 + local.tee $4 if - local.get $5 + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=20 + local.tee $2 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - i32.load $0 offset=4 + local.get $2 + i32.store offset=4 + local.get $2 + i32.load offset=4 i32.const 3456 - i32.store $0 - br $folding-inner2 + i32.store + br $folding-inner4 end else - local.get $5 + local.get $6 i32.eqz br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.get $5 - local.get $7 - local.get $5 - local.get $7 + local.get $6 + local.get $8 + local.get $6 + local.get $8 i32.lt_s select local.tee $3 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - i32.load $0 offset=4 + local.get $2 + i32.store offset=4 + local.get $2 + i32.load offset=4 local.set $4 i32.const 0 - local.set $2 + local.set $1 loop $for-loop|0 - local.get $2 + local.get $1 local.get $3 i32.lt_s if @@ -5383,51 +5724,47 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $5 - i32.store $0 offset=16 + i32.store offset=12 local.get $5 local.get $0 - local.get $2 + local.get $1 i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $4 - local.get $2 + local.get $1 i32.const 2 i32.shl i32.add local.get $5 - i32.store $0 - local.get $5 - if - local.get $1 - local.get $5 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.store local.get $2 + local.get $5 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|0 end end - br $folding-inner2 + br $folding-inner4 end global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/rt/__newArray local.tee $2 - i32.store $0 offset=24 + i32.store offset=20 loop $while-continue|1 global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $0 - i32.store $0 offset=8 - local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=28 + i32.store offset=24 local.get $0 local.get $1 local.get $3 @@ -5439,56 +5776,52 @@ local.get $9 local.get $3 i32.sub - local.tee $6 + local.tee $7 i32.const 0 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $7 i32.const 1 i32.shl local.tee $10 i32.const 2 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=32 - local.get $6 + local.tee $7 + i32.store offset=28 + local.get $7 local.get $0 local.get $3 i32.const 1 i32.shl i32.add local.get $10 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=28 + local.get $7 + i32.store offset=24 local.get $2 - local.get $6 + local.get $7 call $~lib/array/Array<~lib/string/String>#push else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=8 - local.get $3 - i32.const 3456 - i32.store $0 offset=28 + i32.store offset=4 local.get $2 i32.const 3456 call $~lib/array/Array<~lib/string/String>#push end - local.get $4 + local.get $5 i32.const 1 i32.add - local.tee $4 - local.get $7 + local.tee $5 + local.get $8 i32.eq br_if $folding-inner3 - local.get $8 + local.get $4 local.get $9 i32.add local.set $3 @@ -5499,18 +5832,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $2 - i32.store $0 offset=8 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=28 + i32.store offset=24 local.get $2 local.get $0 call $~lib/array/Array<~lib/string/String>#push br $folding-inner3 end - local.get $5 + local.get $6 local.get $3 i32.sub local.tee $1 @@ -5525,7 +5857,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $4 - i32.store $0 offset=36 + i32.store offset=32 local.get $4 local.get $0 local.get $3 @@ -5533,37 +5865,28 @@ i32.shl i32.add local.get $1 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=28 + i32.store offset=24 local.get $2 local.get $4 call $~lib/array/Array<~lib/string/String>#push else global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $2 - i32.store $0 offset=8 - local.get $0 - i32.const 3456 - i32.store $0 offset=28 + i32.store offset=4 local.get $2 i32.const 3456 call $~lib/array/Array<~lib/string/String>#push end - global.get $~lib/memory/__stack_pointer - i32.const 40 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return + br $folding-inner4 end - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -5571,34 +5894,34 @@ end i32.const 0 call $~lib/rt/__newArray - local.set $1 + local.set $2 + br $folding-inner4 end global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 return end global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer local.get $2 ) (func $~lib/string/String#split@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -5606,7 +5929,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $2of2 block $1of2 block $0of2 @@ -5623,83 +5946,74 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 local.get $2 call $~lib/string/String#split - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array<~lib/string/String>#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1392 @@ -5710,19 +6024,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -5739,651 +6052,714 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/util/string/strtol (param $0 i32) (result i32) + (func $~lib/date/Date.fromString (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 72 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7828 - i32.lt_s - if - i32.const 40624 - i32.const 40672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.store $0 block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 8468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 72 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $1 i32.eqz - br_if $folding-inner0 - local.get $0 - local.tee $2 - i32.load16_u $0 - local.set $0 - loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $0 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $0 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - local.get $0 - i32.const 5760 - i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - i32.const 1 - local.get $0 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - block $break|0 - block $case0|0 - local.get $0 - i32.const 5760 - i32.eq - br_if $case0|0 - local.get $0 - i32.const 8232 - i32.eq - br_if $case0|0 - local.get $0 - i32.const 8233 - i32.eq - br_if $case0|0 - local.get $0 - i32.const 8239 - i32.eq - br_if $case0|0 - local.get $0 - i32.const 8287 - i32.eq - br_if $case0|0 - local.get $0 - i32.const 12288 - i32.eq - br_if $case0|0 - local.get $0 - i32.const 65279 - i32.eq - br_if $case0|0 - br $break|0 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 0 - end - if - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u $0 - local.set $0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|0 - end + if + i32.const 1056 + i32.const 1104 + i32.const 50 + i32.const 33 + call $~lib/builtins/abort + unreachable end - i32.const 1 - local.set $4 local.get $0 - i32.const 43 - i32.eq + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 45 - i32.eq - i32.or - if (result i32) - local.get $1 - i32.const 1 - i32.sub + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 3488 + i32.const 0 + call $~lib/string/String#indexOf + local.tee $2 + i32.const -1 + i32.xor + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + local.get $2 + call $~lib/string/String#substring local.tee $1 - i32.eqz - br_if $folding-inner0 - i32.const -1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 45 - i32.eq - select - local.set $4 local.get $2 - i32.const 2 + i32.const 1 i32.add + call $~lib/string/String#substring@varargs local.tee $2 - i32.load16_u $0 - else - local.get $0 - end - i32.const 48 - i32.eq - local.get $1 - i32.const 2 - i32.gt_s - i32.and - if - block $break|1 - block $case2|1 - block $case1|1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + local.set $3 + loop $for-loop|0 + local.get $3 + i32.const 0 + i32.ge_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + 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 8468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + block $__inlined_func$~lib/string/String#charCodeAt$386 + local.get $3 local.get $2 - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - local.tee $0 - i32.const 98 - i32.ne + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ge_u if - local.get $0 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $0 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 + local.set $0 + br $__inlined_func$~lib/string/String#charCodeAt$386 end local.get $2 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add - local.set $2 - local.get $1 - i32.const 2 + global.set $~lib/memory/__stack_pointer + end + block $for-break0 + local.get $0 + i32.const 90 + i32.eq + br_if $for-break0 + local.get $0 + i32.const 45 + i32.eq + local.get $0 + i32.const 43 + i32.eq + i32.or + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $3 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + i32.sub + i32.eq + if + i32.const 1056 + i32.const 1104 + i32.const 74 + i32.const 13 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + i32.const 0 + local.get $2 + i32.const 3520 + local.get $3 + i32.const 1 + i32.add + local.tee $5 + call $~lib/string/String#indexOf + local.tee $7 + i32.const -1 + i32.xor + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $5 + local.get $7 + call $~lib/string/String#substring + local.tee $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $5 + call $~lib/util/string/strtol + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $7 + i32.const 1 + i32.add + call $~lib/string/String#substring@varargs + local.tee $7 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + call $~lib/util/string/strtol + local.get $5 + i32.const 60 + i32.mul + i32.add + i32.const 60000 + i32.mul + else + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + i32.const 1 + i32.add + call $~lib/string/String#substring@varargs + local.tee $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store + local.get $5 + call $~lib/util/string/strtol + i32.const 3600000 + i32.mul + end + local.tee $5 + i32.sub + local.get $5 + local.get $0 + i32.const 45 + i32.eq + select + local.set $5 + br $for-break0 + end + local.get $3 + i32.const 1 i32.sub - local.set $1 - i32.const 2 local.set $3 - br $break|1 + br $for-loop|0 end + global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 8 - local.set $3 - br $break|1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + local.get $3 + call $~lib/string/String#substring + local.tee $2 + i32.store offset=8 end - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 16 - local.set $3 end - end - local.get $3 - i32.const 10 - local.get $3 - select - local.set $5 - i32.const 0 - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|2 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 3520 + call $~lib/string/String#split@varargs local.tee $0 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length + local.tee $2 i32.const 1 - i32.sub - local.set $1 + i32.le_s + if + i32.const 1056 + i32.const 1104 + i32.const 96 + i32.const 21 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.tee $3 + i32.store offset=28 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/util/string/strtol + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.tee $7 + i32.store offset=32 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 + call $~lib/util/string/strtol + local.set $7 + local.get $2 + i32.const 3 + i32.ge_s if - block $while-break|2 - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.tee $2 + i32.store offset=36 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 3552 + i32.const 0 + call $~lib/string/String#indexOf + local.tee $0 + i32.const -1 + i32.xor + if + global.get $~lib/memory/__stack_pointer local.get $2 - i32.load16_u $0 - local.tee $0 - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if (result i32) + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + local.get $0 + call $~lib/string/String#substring + local.tee $6 + i32.store offset=40 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + call $~lib/util/string/strtol + local.set $6 + global.get $~lib/memory/__stack_pointer + block $__inlined_func$~lib/string/String#substr$387 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=44 local.get $0 - i32.const 48 + i32.const 1 + i32.add + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - else + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + i32.const 3 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $8 + local.get $0 + i32.const 0 + i32.lt_s + if + local.get $0 + local.get $8 + i32.add + local.tee $0 + i32.const 0 + local.get $0 + i32.const 0 + i32.gt_s + select + local.set $0 + end local.get $0 - i32.const 65 i32.sub - i32.const 25 - i32.le_u - if (result i32) + local.tee $8 + local.get $8 + i32.const 3 + i32.gt_s + select + i32.const 1 + i32.shl + local.tee $8 + i32.const 0 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3456 + br $__inlined_func$~lib/string/String#substr$387 + end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store offset=4 + local.get $10 + local.get $2 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $8 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const -2 + i32.and + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 1872 + i32.store + block $__inlined_func$~lib/string/String#padEnd$388 + i32.const 1868 + i32.load + i32.const -2 + i32.and + local.tee $8 + i32.eqz + local.get $10 + i32.const 6 + i32.gt_u + i32.or + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/string/String#padEnd$388 + end + global.get $~lib/memory/__stack_pointer + i32.const 6 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store offset=4 + local.get $2 + local.get $0 + local.get $10 + memory.copy + i32.const 6 + local.get $10 + i32.sub + local.tee $0 + local.get $8 + i32.gt_u + if local.get $0 - i32.const 55 - i32.sub - else local.get $0 - i32.const 87 + i32.const 2 + i32.sub + local.get $8 + i32.div_u + local.get $8 + i32.mul + local.tee $0 i32.sub + local.set $11 + local.get $2 + local.get $10 + i32.add + local.set $12 + loop $while-continue|0 + local.get $0 + local.get $4 + i32.gt_u + if + local.get $4 + local.get $12 + i32.add + i32.const 1872 + local.get $8 + memory.copy + local.get $4 + local.get $8 + i32.add + local.set $4 + br $while-continue|0 + end + end + local.get $2 + local.get $10 + i32.add local.get $0 + i32.add + i32.const 1872 + local.get $11 + memory.copy + else + local.get $2 + local.get $10 + i32.add + i32.const 1872 local.get $0 - i32.const 97 - i32.sub - i32.const 25 - i32.le_u - select + memory.copy end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.set $0 end - local.tee $0 - i32.le_u - if - local.get $1 - local.get $6 - i32.eq - br_if $folding-inner0 - br $while-break|2 - end - local.get $3 - local.get $5 - i32.mul local.get $0 - i32.add - local.set $3 + i32.store offset=48 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $~lib/util/string/strtol + local.set $4 + else + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=52 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store local.get $2 - i32.const 2 - i32.add - local.set $2 - br $while-continue|2 + call $~lib/util/string/strtol + local.set $6 end end end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $4 - i32.mul - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $~lib/number/I32.parseInt (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7828 - i32.lt_s - if - i32.const 40624 - i32.const 40672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/string/strtol - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/date/Date.fromString (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 7828 - i32.lt_s - if - i32.const 40624 - i32.const 40672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 28 - memory.fill $0 - local.get $1 - local.get $0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.eqz - if - i32.const 1056 - i32.const 1104 - i32.const 50 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 3488 - i32.store $0 offset=8 - local.get $0 - local.tee $1 - i32.const 3488 - i32.const 0 - call $~lib/string/String#indexOf - local.tee $6 - i32.const -1 - i32.xor - if - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 local.get $1 - local.get $0 - i32.const 0 - local.get $6 - call $~lib/string/String#substring - local.tee $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $6 - i32.const 1 - i32.add - call $~lib/string/String#substring@varargs - local.tee $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3520 - i32.store $0 offset=8 + i32.store i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 3520 + local.get $1 + i32.const 1616 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=16 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $0 - call $~lib/array/Array<~lib/string/String>#get:length - local.tee $6 - i32.const 1 - i32.le_s - if - i32.const 1056 - i32.const 1104 - i32.const 67 - i32.const 21 - call $~lib/builtins/abort - unreachable - end + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $3 + local.tee $1 + i32.store offset=60 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - call $~lib/number/I32.parseInt - local.set $3 + local.get $1 + i32.store + local.get $1 + call $~lib/util/string/strtol + i32.const 1 + local.set $1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store local.get $0 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - call $~lib/number/I32.parseInt - local.set $4 - local.get $6 - i32.const 3 + call $~lib/array/Array<~lib/string/String>#get:length + local.tee $8 + i32.const 2 i32.ge_s - if + if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 local.get $0 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.tee $0 - i32.store $0 offset=20 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.tee $1 + i32.store offset=64 global.get $~lib/memory/__stack_pointer - i32.const 3552 - i32.store $0 offset=8 - local.get $0 - i32.const 3552 - i32.const 0 - call $~lib/string/String#indexOf - local.tee $6 - i32.const -1 - i32.xor - if + local.get $1 + i32.store + local.get $1 + call $~lib/util/string/strtol + local.set $1 + local.get $8 + i32.const 3 + i32.ge_s + if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.const 0 - local.get $6 - call $~lib/string/String#substring - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 - call $~lib/number/I32.parseInt - local.set $2 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 - local.get $6 - i32.const 1 - i32.add - call $~lib/string/String#substring@varargs - local.set $0 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.tee $0 + i32.store offset=68 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - call $~lib/number/I32.parseInt - local.set $5 + call $~lib/util/string/strtol else - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/number/I32.parseInt - local.set $2 + i32.const 1 end - end - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $0 - i32.const 1616 - i32.store $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 - local.get $1 - i32.const 1616 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=24 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/number/I32.parseInt - local.set $7 - i32.const 1 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/array/Array<~lib/string/String>#get:length - local.tee $6 - i32.const 2 - i32.ge_s - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/number/I32.parseInt - local.set $1 - local.get $6 - i32.const 3 - i32.ge_s - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/number/I32.parseInt else i32.const 1 end - else - i32.const 1 + local.set $0 + local.get $1 + local.get $0 + local.get $3 + local.get $7 + local.get $6 + local.get $4 + call $~lib/date/epochMillis + local.get $5 + i64.extend_i32_s + i64.sub + call $~lib/date/Date#constructor + global.get $~lib/memory/__stack_pointer + i32.const 72 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.set $0 - local.get $7 - local.get $1 - local.get $0 - local.get $3 - local.get $4 - local.get $2 - local.get $5 - call $~lib/date/epochMillis - call $~lib/date/Date#constructor - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 41264 + i32.const 41312 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $start:std/date (local $0 i32) @@ -6391,15 +6767,15 @@ (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 408 + i32.const 436 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -6407,8 +6783,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 408 - memory.fill $0 + i32.const 436 + memory.fill block $folding-inner0 i32.const 1970 i32.const 1 @@ -6599,51 +6975,51 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl - i32.const 40596 + i32.const 41236 i32.sub i32.const 1 i32.shr_u global.set $~lib/rt/itcms/threshold i32.const 1316 i32.const 1312 - i32.store $0 + i32.store i32.const 1320 i32.const 1312 - i32.store $0 + i32.store i32.const 1312 global.set $~lib/rt/itcms/pinSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/toSpace i32.const 1492 i32.const 1488 - i32.store $0 + i32.store i32.const 1496 i32.const 1488 - i32.store $0 + i32.store i32.const 1488 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer i64.const 1541847600001 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 1541847600001 i64.ne if @@ -6656,18 +7032,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i64.const 1541847600002 call $~lib/date/Date#setTime global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 1541847600002 i64.ne if @@ -6682,15 +7058,15 @@ i64.const 5918283958183706 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load i32.const 189512 i32.ne if @@ -6702,14 +7078,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=24 - local.get $2 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 12 i32.ne if @@ -6721,14 +7096,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=28 - local.get $2 + i32.store offset=28 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 14 i32.ne if @@ -6741,7 +7115,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCHours i32.const 22 @@ -6756,7 +7130,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMinutes i32.const 9 @@ -6771,7 +7145,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCSeconds i32.const 43 @@ -6786,7 +7160,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMilliseconds i32.const 706 @@ -6803,15 +7177,15 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load i32.const 1973 i32.ne if @@ -6823,14 +7197,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=40 - local.get $2 + i32.store offset=40 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 12 i32.ne if @@ -6842,14 +7215,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=44 - local.get $2 + i32.store offset=44 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 4 i32.ne if @@ -6862,7 +7234,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCHours i32.const 1 @@ -6877,7 +7249,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMinutes i32.const 3 @@ -6892,7 +7264,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCSeconds i32.const 11 @@ -6907,7 +7279,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMilliseconds i32.const 274 @@ -6924,10 +7296,10 @@ i64.const 399464523963984 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=48 + i32.store offset=48 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMilliseconds i32.const 984 @@ -6942,13 +7314,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 12 call $~lib/date/Date#setUTCMilliseconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMilliseconds i32.const 12 @@ -6963,13 +7335,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 568 call $~lib/date/Date#setUTCMilliseconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMilliseconds i32.const 568 @@ -6984,18 +7356,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/date/Date#setUTCMilliseconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 399464523963000 i64.ne if @@ -7008,18 +7380,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 999 call $~lib/date/Date#setUTCMilliseconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=56 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 399464523963999 i64.ne if @@ -7032,13 +7404,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2000 call $~lib/date/Date#setUTCMilliseconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMilliseconds if @@ -7050,14 +7422,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=60 - local.get $2 + i32.store offset=60 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 399464523965000 i64.ne if @@ -7070,13 +7441,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const -2000 call $~lib/date/Date#setUTCMilliseconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMilliseconds if @@ -7088,14 +7459,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=64 - local.get $2 + i32.store offset=64 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 399464523963000 i64.ne if @@ -7110,10 +7480,10 @@ i64.const 372027318331986 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=68 + i32.store offset=68 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCSeconds i32.const 31 @@ -7128,13 +7498,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 12 call $~lib/date/Date#setUTCSeconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCSeconds i32.const 12 @@ -7149,13 +7519,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 50 call $~lib/date/Date#setUTCSeconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCSeconds i32.const 50 @@ -7170,18 +7540,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/date/Date#setUTCSeconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=72 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 372027318300986 i64.ne if @@ -7194,18 +7564,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 59 call $~lib/date/Date#setUTCSeconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store offset=76 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 372027318359986 i64.ne if @@ -7220,10 +7590,10 @@ i64.const 372027318331986 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=80 + i32.store offset=80 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMinutes i32.const 45 @@ -7238,13 +7608,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 12 call $~lib/date/Date#setUTCMinutes global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMinutes i32.const 12 @@ -7259,13 +7629,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 50 call $~lib/date/Date#setUTCMinutes global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMinutes i32.const 50 @@ -7280,18 +7650,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/date/Date#setUTCMinutes global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=84 + i32.store offset=84 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 372027315631986 i64.ne if @@ -7304,18 +7674,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 59 call $~lib/date/Date#setUTCMinutes global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=88 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 372027319171986 i64.ne if @@ -7330,10 +7700,10 @@ i64.const 372027318331986 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=92 + i32.store offset=92 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCHours i32.const 17 @@ -7348,13 +7718,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 12 call $~lib/date/Date#setUTCHours global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCHours i32.const 12 @@ -7369,13 +7739,13 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2 call $~lib/date/Date#setUTCHours global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCHours i32.const 2 @@ -7390,18 +7760,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 0 call $~lib/date/Date#setUTCHours global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=96 + i32.store offset=96 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 372027257131986 i64.ne if @@ -7414,18 +7784,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 23 call $~lib/date/Date#setUTCHours global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=100 + i32.store offset=100 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 372027339931986 i64.ne if @@ -7440,15 +7810,15 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=104 + i32.store offset=104 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=108 + i32.store offset=108 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load i32.const 1973 i32.ne if @@ -7460,14 +7830,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=112 - local.get $2 + i32.store offset=112 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 12 i32.ne if @@ -7480,18 +7849,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 12 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=116 + i32.store offset=116 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 12 i32.ne if @@ -7504,18 +7873,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=120 + i32.store offset=120 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.ne if @@ -7528,19 +7897,19 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 30 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -7548,25 +7917,25 @@ call $~lib/date/Date#setUTCMonth@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 31 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2024 call $~lib/date/Date#setUTCFullYear global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -7574,12 +7943,12 @@ call $~lib/date/Date#setUTCMonth@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=124 + i32.store offset=124 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.ne if @@ -7592,19 +7961,19 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 29 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -7612,12 +7981,12 @@ call $~lib/date/Date#setUTCMonth@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=128 + i32.store offset=128 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 1709168591274 i64.ne if @@ -7629,14 +7998,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=132 - local.get $2 + i32.store offset=132 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -7648,14 +8016,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=136 - local.get $2 + i32.store offset=136 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 29 i32.ne if @@ -7668,7 +8035,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMinutes i32.const 3 @@ -7683,7 +8050,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCSeconds i32.const 11 @@ -7698,7 +8065,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/date/Date#getUTCMilliseconds i32.const 274 @@ -7715,21 +8082,21 @@ i64.const 1362106799999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=104 + i32.store offset=104 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 20 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=140 + i32.store offset=140 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 1363748399999 i64.ne if @@ -7742,18 +8109,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=144 + i32.store offset=144 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 1362106799999 i64.ne if @@ -7766,18 +8133,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1000 call $~lib/date/Date#setUTCMilliseconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=148 + i32.store offset=148 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 1362106800000 i64.ne if @@ -7790,18 +8157,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 3600000 call $~lib/date/Date#setUTCMilliseconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=152 + i32.store offset=152 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 1362110400000 i64.ne if @@ -7814,18 +8181,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 3600001 call $~lib/date/Date#setUTCMilliseconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=156 + i32.store offset=156 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 1362114000001 i64.ne if @@ -7838,18 +8205,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 3600001 call $~lib/date/Date#setUTCMilliseconds global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=160 + i32.store offset=160 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 1362117600001 i64.ne if @@ -7864,21 +8231,21 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=104 + i32.store offset=104 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const -2208 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=164 + i32.store offset=164 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const -67301808726 i64.ne if @@ -7893,21 +8260,21 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=104 + i32.store offset=104 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2208 call $~lib/date/Date#setUTCDate global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=168 + i32.store offset=168 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 314240591274 i64.ne if @@ -7922,30 +8289,30 @@ i64.const 1467763200000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=172 + i32.store offset=172 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 7 i32.const 0 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $3 i32.const 1579 i32.add - i32.load8_u $0 + i32.load8_u local.get $2 local.get $3 i32.const 3 @@ -8006,30 +8373,30 @@ i64.const 1467763199999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=176 + i32.store offset=176 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 7 i32.const 0 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $3 i32.const 1579 i32.add - i32.load8_u $0 + i32.load8_u local.get $2 local.get $3 i32.const 3 @@ -8090,30 +8457,30 @@ i64.const 1467849599999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=180 + i32.store offset=180 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 7 i32.const 0 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $3 i32.const 1579 i32.add - i32.load8_u $0 + i32.load8_u local.get $2 local.get $3 i32.const 3 @@ -8174,30 +8541,30 @@ i64.const 1467849600000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=184 + i32.store offset=184 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 7 i32.const 0 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $3 i32.const 1579 i32.add - i32.load8_u $0 + i32.load8_u local.get $2 local.get $3 i32.const 3 @@ -8258,30 +8625,30 @@ i64.const 1468022400000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=188 + i32.store offset=188 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 7 i32.const 0 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $3 i32.const 1579 i32.add - i32.load8_u $0 + i32.load8_u local.get $2 local.get $3 i32.const 3 @@ -8342,30 +8709,30 @@ i64.const 1468022399999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=192 + i32.store offset=192 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 7 i32.const 0 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $3 i32.const 1579 i32.add - i32.load8_u $0 + i32.load8_u local.get $2 local.get $3 i32.const 3 @@ -8426,30 +8793,30 @@ i64.const 1468108799999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=196 + i32.store offset=196 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 7 i32.const 0 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $3 i32.const 1579 i32.add - i32.load8_u $0 + i32.load8_u local.get $2 local.get $3 i32.const 3 @@ -8510,30 +8877,30 @@ i64.const 1468108800000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=200 + i32.store offset=200 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 7 i32.const 0 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.get $3 i32.const 1579 i32.add - i32.load8_u $0 + i32.load8_u local.get $2 local.get $3 i32.const 3 @@ -8592,15 +8959,15 @@ i64.const 7899943856218720 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=204 + i32.store offset=204 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=208 + i32.store offset=208 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 4 i32.ne if @@ -8613,7 +8980,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -8621,12 +8988,12 @@ call $~lib/date/Date#setUTCMonth@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=212 + i32.store offset=212 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 11 i32.ne if @@ -8639,7 +9006,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -8647,12 +9014,12 @@ call $~lib/date/Date#setUTCMonth@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=216 + i32.store offset=216 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.ne if @@ -8664,14 +9031,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=220 - local.get $2 + i32.store offset=220 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 7899941177818720 i64.ne if @@ -8684,7 +9050,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -8692,12 +9058,12 @@ call $~lib/date/Date#setUTCMonth@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=224 + i32.store offset=224 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 7899936080218720 i64.ne if @@ -8710,7 +9076,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -8718,12 +9084,12 @@ call $~lib/date/Date#setUTCMonth@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=228 + i32.store offset=228 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 7899964937818720 i64.ne if @@ -8736,7 +9102,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -8744,12 +9110,12 @@ call $~lib/date/Date#setUTCMonth@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=232 + i32.store offset=232 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 12 i32.ne if @@ -8761,14 +9127,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=236 - local.get $2 + i32.store offset=236 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 7899933401818720 i64.ne if @@ -8781,7 +9146,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -8789,12 +9154,12 @@ call $~lib/date/Date#setUTCMonth@varargs global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=240 + i32.store offset=240 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.sub if @@ -8806,14 +9171,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=244 - local.get $2 + i32.store offset=244 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 7899936080218720 i64.ne if @@ -8828,15 +9192,15 @@ i64.const 7941202527925698 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=248 + i32.store offset=248 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=252 + i32.store offset=252 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load i32.const 253616 i32.ne if @@ -8849,18 +9213,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1976 call $~lib/date/Date#setUTCFullYear global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=256 + i32.store offset=256 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load i32.const 1976 i32.ne if @@ -8873,18 +9237,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 20212 call $~lib/date/Date#setUTCFullYear global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=260 + i32.store offset=260 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load i32.const 20212 i32.ne if @@ -8897,18 +9261,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 71 call $~lib/date/Date#setUTCFullYear global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=264 + i32.store offset=264 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load i32.const 71 i32.ne if @@ -8923,19 +9287,16 @@ i64.const -62167219200000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=268 + i32.store offset=268 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3696 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 3696 call $~lib/string/String.__eq @@ -8952,19 +9313,16 @@ i64.const -62167219200001 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=268 + i32.store offset=268 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3776 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 3776 call $~lib/string/String.__eq @@ -8981,19 +9339,16 @@ i64.const -62127219200000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=268 + i32.store offset=268 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3856 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 3856 call $~lib/string/String.__eq @@ -9010,19 +9365,16 @@ i64.const 1231231231020 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=268 + i32.store offset=268 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 3936 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 3936 call $~lib/string/String.__eq @@ -9039,19 +9391,16 @@ i64.const 1231231231456 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=268 + i32.store offset=268 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4016 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 4016 call $~lib/string/String.__eq @@ -9068,19 +9417,16 @@ i64.const 322331231231020 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=268 + i32.store offset=268 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4096 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 4096 call $~lib/string/String.__eq @@ -9097,19 +9443,16 @@ i64.const 253402300799999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=268 + i32.store offset=268 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4176 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 4176 call $~lib/string/String.__eq @@ -9126,19 +9469,16 @@ i64.const 253402300800000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=268 + i32.store offset=268 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4256 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 4256 call $~lib/string/String.__eq @@ -9155,19 +9495,16 @@ i64.const -62847038769226 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=268 + i32.store offset=268 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4336 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 4336 call $~lib/string/String.__eq @@ -9184,19 +9521,16 @@ i64.const -61536067200000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=280 + i32.store offset=276 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toDateString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 5264 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 5264 call $~lib/string/String.__eq @@ -9213,19 +9547,16 @@ i64.const 1580601600000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=280 + i32.store offset=276 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toDateString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 5328 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 5328 call $~lib/string/String.__eq @@ -9242,19 +9573,16 @@ i64.const -62183116800000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=280 + i32.store offset=276 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toDateString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 5392 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 i32.const 5392 call $~lib/string/String.__eq @@ -9262,503 +9590,620 @@ if i32.const 0 i32.const 1152 - i32.const 264 + i32.const 264 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const -61536067200000 + call $~lib/date/Date#constructor + local.tee $0 + i32.store offset=280 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=272 + local.get $0 + call $~lib/date/Date#toTimeString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 5504 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 270 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 253402300799999 + call $~lib/date/Date#constructor + local.tee $0 + i32.store offset=280 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=272 + local.get $0 + call $~lib/date/Date#toTimeString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 5552 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 273 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const -61536067200000 + call $~lib/date/Date#constructor + local.tee $0 + i32.store offset=284 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=272 + local.get $0 + call $~lib/date/Date#toUTCString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 6448 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 279 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 1580741613467 + call $~lib/date/Date#constructor + local.tee $0 + i32.store offset=284 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=272 + local.get $0 + call $~lib/date/Date#toUTCString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 6528 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 281 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const -62183116800000 + call $~lib/date/Date#constructor + local.tee $0 + i32.store offset=284 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=272 + local.get $0 + call $~lib/date/Date#toUTCString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 6608 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 284 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6688 + call $~lib/date/Date.fromString + local.tee $0 + i32.store offset=288 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i64.load offset=16 + i64.const 192067200000 + i64.ne + if + i32.const 0 + i32.const 1152 + i32.const 291 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6960 + call $~lib/date/Date.fromString + local.tee $0 + i32.store offset=288 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=296 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i64.load offset=16 + i64.const 192067200000 + i64.ne + if + i32.const 0 + i32.const 1152 + i32.const 293 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7008 + call $~lib/date/Date.fromString + local.tee $0 + i32.store offset=288 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=300 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i64.load offset=16 + i64.const 11860387200000 + i64.ne + if + i32.const 0 + i32.const 1152 + i32.const 295 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i64.const -61536067200000 - call $~lib/date/Date#constructor + i32.const 7056 + call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=284 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 - local.get $0 - call $~lib/date/Date#toTimeString - local.set $0 + i32.store offset=304 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 5504 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 - i32.const 5504 - call $~lib/string/String.__eq - i32.eqz + i64.load offset=16 + i64.const 192112496000 + i64.ne if i32.const 0 i32.const 1152 - i32.const 270 + i32.const 299 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i64.const 253402300799999 - call $~lib/date/Date#constructor + i32.const 7120 + call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=284 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 - local.get $0 - call $~lib/date/Date#toTimeString - local.set $0 + i32.store offset=308 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 5552 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 - i32.const 5552 - call $~lib/string/String.__eq - i32.eqz + i64.load offset=16 + i64.const 192112496456 + i64.ne if i32.const 0 i32.const 1152 - i32.const 273 + i32.const 303 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i64.const -61536067200000 - call $~lib/date/Date#constructor + i32.const 7200 + call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=288 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 - local.get $0 - call $~lib/date/Date#toUTCString - local.set $0 + i32.store offset=312 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 - i32.const 6448 - call $~lib/string/String.__eq - i32.eqz + i64.load offset=16 + i64.const 192112496456 + i64.ne if i32.const 0 i32.const 1152 - i32.const 279 + i32.const 307 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i64.const 1580741613467 - call $~lib/date/Date#constructor + i32.const 7280 + call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=288 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 - local.get $0 - call $~lib/date/Date#toUTCString - local.set $0 + i32.store offset=316 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6528 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 - i32.const 6528 - call $~lib/string/String.__eq - i32.eqz + i64.load offset=16 + i64.const 192141296456 + i64.ne if i32.const 0 i32.const 1152 - i32.const 281 + i32.const 311 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i64.const -62183116800000 - call $~lib/date/Date#constructor + i32.const 7360 + call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=288 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 - local.get $0 - call $~lib/date/Date#toUTCString - local.set $0 + i32.store offset=320 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 6608 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 - i32.const 6608 - call $~lib/string/String.__eq - i32.eqz + i64.load offset=16 + i64.const 192092696456 + i64.ne if i32.const 0 i32.const 1152 - i32.const 284 + i32.const 315 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 6688 - i32.store $0 offset=8 - local.get $0 - i32.const 6688 + i32.const 7440 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=296 + i32.store offset=324 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 - i64.const 192067200000 + i64.load offset=16 + i64.const 192112496450 i64.ne if i32.const 0 i32.const 1152 - i32.const 291 + i32.const 319 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 6960 - i32.store $0 offset=8 - local.get $0 - i32.const 6960 + i32.const 7504 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=300 + i32.store offset=328 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 - i64.const 192067200000 + i64.load offset=16 + i64.const 192112496450 i64.ne if i32.const 0 i32.const 1152 - i32.const 293 + i32.const 323 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 7008 - i32.store $0 offset=8 - local.get $0 - i32.const 7008 + i32.const 7584 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=304 + i32.store offset=332 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 - i64.const 11860387200000 + i64.load offset=16 + i64.const 192112496450 i64.ne if i32.const 0 i32.const 1152 - i32.const 295 + i32.const 327 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 7056 - i32.store $0 offset=8 - local.get $0 - i32.const 7056 + i32.const 7664 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=308 + i32.store offset=336 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 - i64.const 192112496000 + i64.load offset=16 + i64.const 192112496456 i64.ne if i32.const 0 i32.const 1152 - i32.const 299 + i32.const 331 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 7120 - i32.store $0 offset=8 - local.get $0 - i32.const 7120 + i32.const 7744 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=312 + i32.store offset=340 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 192112496456 i64.ne if i32.const 0 i32.const 1152 - i32.const 303 + i32.const 335 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 7200 - i32.store $0 offset=8 - local.get $0 - i32.const 7200 + i32.const 7824 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=316 + i32.store offset=344 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 192112496456 i64.ne if i32.const 0 i32.const 1152 - i32.const 307 + i32.const 339 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 7280 - i32.store $0 offset=8 - local.get $0 - i32.const 7280 + i32.const 7920 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=320 + i32.store offset=348 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const -62167219200000 i64.ne if i32.const 0 i32.const 1152 - i32.const 310 + i32.const 342 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 7312 - i32.store $0 offset=8 - local.get $0 - i32.const 7312 + i32.const 7952 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=324 + i32.store offset=352 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const -62135596800000 i64.ne if i32.const 0 i32.const 1152 - i32.const 313 + i32.const 345 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 7344 - i32.store $0 offset=8 - local.get $0 - i32.const 7344 + i32.const 7984 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=328 + i32.store offset=356 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 189302400000 i64.ne if i32.const 0 i32.const 1152 - i32.const 316 + i32.const 348 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 7376 - i32.store $0 offset=8 - local.get $0 - i32.const 7376 + i32.const 8016 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=332 + i32.store offset=360 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 191980800000 i64.ne if i32.const 0 i32.const 1152 - i32.const 319 + i32.const 351 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 6688 - i32.store $0 offset=8 - local.get $0 i32.const 6688 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=336 + i32.store offset=364 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 192067200000 i64.ne if i32.const 0 i32.const 1152 - i32.const 322 + i32.const 354 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 7424 - i32.store $0 offset=8 - local.get $0 - i32.const 7424 + i32.const 8064 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=340 + i32.store offset=368 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 192112440000 i64.ne if i32.const 0 i32.const 1152 - i32.const 325 + i32.const 357 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 7056 - i32.store $0 offset=8 - local.get $0 i32.const 7056 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=292 + i32.store offset=288 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=344 + i32.store offset=372 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const 192112496000 i64.ne if i32.const 0 i32.const 1152 - i32.const 328 + i32.const 360 i32.const 3 call $~lib/builtins/abort unreachable @@ -9767,207 +10212,194 @@ i64.const -8640000000000000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=348 + i32.store offset=376 global.get $~lib/memory/__stack_pointer i64.const 8640000000000000 call $~lib/date/Date#constructor local.tee $2 - i32.store $0 offset=352 + i32.store offset=380 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=356 + i32.store offset=384 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i64.load $0 offset=16 + i64.load offset=16 i64.const -8640000000000000 i64.ne if i32.const 0 i32.const 1152 - i32.const 346 + i32.const 378 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=360 - local.get $3 + i32.store offset=388 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 - i64.load $0 offset=16 + i64.load offset=16 i64.const 8640000000000000 i64.ne if i32.const 0 i32.const 1152 - i32.const 347 + i32.const 379 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=364 - local.get $3 + i32.store offset=392 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 + i32.load i32.const -271821 i32.ne if i32.const 0 i32.const 1152 - i32.const 349 + i32.const 381 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=368 - local.get $3 + i32.store offset=396 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 - i32.load $0 + i32.load i32.const 275760 i32.ne if i32.const 0 i32.const 1152 - i32.const 350 + i32.const 382 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=372 - local.get $3 + i32.store offset=400 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 4 i32.ne if i32.const 0 i32.const 1152 - i32.const 352 + i32.const 384 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=376 - local.get $3 + i32.store offset=404 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 9 i32.ne if i32.const 0 i32.const 1152 - i32.const 353 + i32.const 385 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=380 - local.get $3 + i32.store offset=408 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 20 i32.ne if i32.const 0 i32.const 1152 - i32.const 355 + i32.const 387 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=384 - local.get $3 + i32.store offset=412 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 i32.const 13 i32.ne if i32.const 0 i32.const 1152 - i32.const 356 + i32.const 388 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 7488 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 - i32.const 7488 + i32.const 8128 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1152 - i32.const 358 + i32.const 390 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=276 + i32.store offset=272 local.get $2 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 7568 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 - i32.const 7568 + i32.const 8208 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1152 - i32.const 359 + i32.const 391 i32.const 3 call $~lib/builtins/abort unreachable @@ -9976,110 +10408,108 @@ i64.const 8639999999999999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=388 + i32.store offset=416 global.get $~lib/memory/__stack_pointer i64.const -8639999999999999 call $~lib/date/Date#constructor local.tee $2 - i32.store $0 offset=392 + i32.store offset=420 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=396 + i32.store offset=424 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 - i32.load $0 + i32.load i32.const -271821 i32.ne if i32.const 0 i32.const 1152 - i32.const 364 + i32.const 396 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=400 - local.get $3 + i32.store offset=428 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 4 i32.ne if i32.const 0 i32.const 1152 - i32.const 365 + i32.const 397 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=404 - local.get $3 + i32.store offset=432 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 i32.const 20 i32.ne if i32.const 0 i32.const 1152 - i32.const 366 + i32.const 398 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/date/Date#getUTCHours if i32.const 0 i32.const 1152 - i32.const 367 + i32.const 399 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/date/Date#getUTCMinutes if i32.const 0 i32.const 1152 - i32.const 368 + i32.const 400 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/date/Date#getUTCSeconds if i32.const 0 i32.const 1152 - i32.const 369 + i32.const 401 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/date/Date#getUTCMilliseconds i32.const 1 @@ -10087,61 +10517,55 @@ if i32.const 0 i32.const 1152 - i32.const 370 + i32.const 402 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=276 + i32.store offset=272 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 7648 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 - i32.const 7648 + i32.const 8288 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1152 - i32.const 372 + i32.const 404 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=276 + i32.store offset=272 local.get $2 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 7728 - i32.store $0 offset=272 + i32.store offset=8 local.get $0 - i32.const 7728 + i32.const 8368 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1152 - i32.const 373 + i32.const 405 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 408 + i32.const 436 i32.add global.set $~lib/memory/__stack_pointer return @@ -10162,128 +10586,51 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 7828 + i32.const 8468 i32.lt_s if - i32.const 40624 - i32.const 40672 + i32.const 41264 + i32.const 41312 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 2 i32.shl - local.tee $1 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 + local.tee $2 + i32.store i32.const 16 i32.const 6 call $~lib/rt/itcms/__new - local.tee $2 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $2 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.tee $1 local.get $2 - local.get $3 - i32.store $0 offset=4 + i32.store + local.get $1 local.get $2 + i32.const 0 + call $~lib/rt/itcms/__link local.get $1 - i32.store $0 offset=8 local.get $2 + i32.store offset=4 + local.get $1 + local.get $3 + i32.store offset=8 + local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1264 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $0 - local.get $1 - local.get $2 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - 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/std/date.ts b/tests/compiler/std/date.ts index c2152d8aa4..8fddc31121 100644 --- a/tests/compiler/std/date.ts +++ b/tests/compiler/std/date.ts @@ -295,17 +295,49 @@ assert(date.getTime() == 11860387200000); // supports year / month / day / hour / minute / second - date = Date.fromString("1976-02-02T12:34:56"); // still use Z suffix + date = Date.fromString("1976-02-02T12:34:56"); assert(date.getTime() == 192112496000); // supports milliseconds - date = Date.fromString("1976-02-02T12:34:56.456"); // still use Z suffix + date = Date.fromString("1976-02-02T12:34:56.456"); assert(date.getTime() == 192112496456); - // supports 'Z' suffix + // supports 'Z' suffix (UTC) date = Date.fromString("1976-02-02T12:34:56.456Z"); assert(date.getTime() == 192112496456); + // supports negative offset from UTC + date = Date.fromString("1976-02-02T12:34:56.456-08:00"); + assert(date.getTime() == 192141296456); + + // supports positive offset from UTC + date = Date.fromString("1976-02-02T12:34:56.456+05:30"); + assert(date.getTime() == 192092696456); + + // allows fewer than 3 decimal places + date = Date.fromString("1976-02-02T12:34:56.45"); + assert(date.getTime() == 192112496450); + + // allows fewer than 3 decimal places (with Z) + date = Date.fromString("1976-02-02T12:34:56.45Z"); + assert(date.getTime() == 192112496450); + + // allows fewer than 3 decimal places (with offset) + date = Date.fromString("1976-02-02T12:34:56.45+00:00"); + assert(date.getTime() == 192112496450); + + // truncates more than 3 decimal places + date = Date.fromString("1976-02-02T12:34:56.456789"); + assert(date.getTime() == 192112496456); + + // truncates more than 3 decimal places (with Z) + date = Date.fromString("1976-02-02T12:34:56.456789Z"); + assert(date.getTime() == 192112496456); + + // truncates more than 3 decimal places (with offset) + date = Date.fromString("1976-02-02T12:34:56.456789+00:00"); + assert(date.getTime() == 192112496456); + date = Date.fromString("0000"); assert(date.getTime() == -62167219200000); @@ -321,10 +353,10 @@ date = Date.fromString("1976-02-02"); assert(date.getTime() == 192067200000); - date = Date.fromString("1976-02-02T12:34"); // still use Z suffix + date = Date.fromString("1976-02-02T12:34"); assert(date.getTime() == 192112440000); - date = Date.fromString("1976-02-02T12:34:56"); // still use Z suffix + date = Date.fromString("1976-02-02T12:34:56"); assert(date.getTime() == 192112496000); // date = Date.fromString('0Z'); diff --git a/tests/compiler/std/hash.debug.wat b/tests/compiler/std/hash.debug.wat index 119095462b..12f679f2a3 100644 --- a/tests/compiler/std/hash.debug.wat +++ b/tests/compiler/std/hash.debug.wat @@ -1,9 +1,9 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $f32_=>_i32 (func (param f32) (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param f32) (result i32))) + (type $3 (func (param f64) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -12,23 +12,23 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33148)) (global $~lib/memory/__heap_base i32 (i32.const 33148)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") - (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00c\00d\00\00\00\00\00") - (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00b\00c\00d\00e\00\00\00") - (data (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00b\00c\00d\00e\00f\00") - (data (i32.const 236) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00b\00c\00d\00e\00f\00g\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 76) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") + (data $4 (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00c\00d\00\00\00\00\00") + (data $5 (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00b\00c\00d\00e\00\00\00") + (data $6 (i32.const 204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00b\00c\00d\00e\00f\00") + (data $7 (i32.const 236) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00b\00c\00d\00e\00f\00g\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 284) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -198,6 +198,100 @@ end return ) + (func $start:std/hash + i32.const 0 + call $~lib/util/hash/HASH<~lib/string/String|null> + call $std/hash/check + drop + i32.const 32 + call $~lib/util/hash/HASH<~lib/string/String> + call $std/hash/check + drop + i32.const 64 + call $~lib/util/hash/HASH<~lib/string/String> + call $std/hash/check + drop + i32.const 96 + call $~lib/util/hash/HASH<~lib/string/String> + call $std/hash/check + drop + i32.const 128 + call $~lib/util/hash/HASH<~lib/string/String> + call $std/hash/check + drop + i32.const 160 + call $~lib/util/hash/HASH<~lib/string/String> + call $std/hash/check + drop + i32.const 192 + call $~lib/util/hash/HASH<~lib/string/String> + call $std/hash/check + drop + i32.const 224 + call $~lib/util/hash/HASH<~lib/string/String> + call $std/hash/check + drop + i32.const 256 + call $~lib/util/hash/HASH<~lib/string/String> + call $std/hash/check + drop + i32.const 304 + call $~lib/util/hash/HASH<~lib/string/String> + call $std/hash/check + drop + i32.const 352 + call $~lib/util/hash/HASH<~lib/string/String> + call $std/hash/check + drop + f32.const 0 + call $~lib/util/hash/HASH + call $std/hash/check + drop + f32.const 1 + call $~lib/util/hash/HASH + call $std/hash/check + drop + f32.const 1.100000023841858 + call $~lib/util/hash/HASH + call $std/hash/check + drop + f32.const -0 + call $~lib/util/hash/HASH + call $std/hash/check + drop + f32.const inf + call $~lib/util/hash/HASH + call $std/hash/check + drop + f32.const nan:0x400000 + call $~lib/util/hash/HASH + call $std/hash/check + drop + f64.const 0 + call $~lib/util/hash/HASH + call $std/hash/check + drop + f64.const 1 + call $~lib/util/hash/HASH + call $std/hash/check + drop + f64.const 1.1 + call $~lib/util/hash/HASH + call $std/hash/check + drop + f64.const -0 + call $~lib/util/hash/HASH + call $std/hash/check + drop + f64.const inf + call $~lib/util/hash/HASH + call $std/hash/check + drop + f64.const nan:0x8000000000000 + call $~lib/util/hash/HASH + call $std/hash/check + drop + ) (func $~start call $start:std/hash ) @@ -241,14 +335,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 1 drop block $~lib/util/hash/hashStr|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer local.get $key local.tee $key|1 - i32.store $0 + i32.store local.get $key|1 i32.const 0 i32.eq @@ -260,7 +354,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/string/String#get:length i32.const 1 @@ -305,7 +399,7 @@ local.get $s1 local.set $h|10 local.get $pos - i32.load $0 + i32.load local.set $key|11 local.get $h|10 local.get $key|11 @@ -323,7 +417,7 @@ local.get $s2 local.set $h|12 local.get $pos - i32.load $0 offset=4 + i32.load offset=4 local.set $key|13 local.get $h|12 local.get $key|13 @@ -341,7 +435,7 @@ local.get $s3 local.set $h|14 local.get $pos - i32.load $0 offset=8 + i32.load offset=8 local.set $key|15 local.get $h|14 local.get $key|15 @@ -359,7 +453,7 @@ local.get $s4 local.set $h|16 local.get $pos - i32.load $0 offset=12 + i32.load offset=12 local.set $key|17 local.get $h|16 local.get $key|17 @@ -419,7 +513,7 @@ if local.get $h local.get $pos - i32.load $0 + i32.load i32.const -1028477379 i32.mul i32.add @@ -448,7 +542,7 @@ if local.get $h local.get $pos - i32.load8_u $0 + i32.load8_u i32.const 374761393 i32.mul i32.add @@ -530,14 +624,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 1 drop block $~lib/util/hash/hashStr|inlined.1 (result i32) global.get $~lib/memory/__stack_pointer local.get $key local.tee $key|1 - i32.store $0 + i32.store local.get $key|1 i32.const 0 i32.eq @@ -549,7 +643,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/string/String#get:length i32.const 1 @@ -594,7 +688,7 @@ local.get $s1 local.set $h|10 local.get $pos - i32.load $0 + i32.load local.set $key|11 local.get $h|10 local.get $key|11 @@ -612,7 +706,7 @@ local.get $s2 local.set $h|12 local.get $pos - i32.load $0 offset=4 + i32.load offset=4 local.set $key|13 local.get $h|12 local.get $key|13 @@ -630,7 +724,7 @@ local.get $s3 local.set $h|14 local.get $pos - i32.load $0 offset=8 + i32.load offset=8 local.set $key|15 local.get $h|14 local.get $key|15 @@ -648,7 +742,7 @@ local.get $s4 local.set $h|16 local.get $pos - i32.load $0 offset=12 + i32.load offset=12 local.set $key|17 local.get $h|16 local.get $key|17 @@ -708,7 +802,7 @@ if local.get $h local.get $pos - i32.load $0 + i32.load i32.const -1028477379 i32.mul i32.add @@ -737,7 +831,7 @@ if local.get $h local.get $pos - i32.load8_u $0 + i32.load8_u i32.const 374761393 i32.mul i32.add @@ -792,161 +886,4 @@ local.get $19 return ) - (func $start:std/hash - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 0 - call $~lib/util/hash/HASH<~lib/string/String|null> - call $std/hash/check - drop - i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/hash/HASH<~lib/string/String> - call $std/hash/check - drop - i32.const 64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/hash/HASH<~lib/string/String> - call $std/hash/check - drop - i32.const 96 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/hash/HASH<~lib/string/String> - call $std/hash/check - drop - i32.const 128 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/hash/HASH<~lib/string/String> - call $std/hash/check - drop - i32.const 160 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/hash/HASH<~lib/string/String> - call $std/hash/check - drop - i32.const 192 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/hash/HASH<~lib/string/String> - call $std/hash/check - drop - i32.const 224 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/hash/HASH<~lib/string/String> - call $std/hash/check - drop - i32.const 256 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/hash/HASH<~lib/string/String> - call $std/hash/check - drop - i32.const 304 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/hash/HASH<~lib/string/String> - call $std/hash/check - drop - i32.const 352 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/hash/HASH<~lib/string/String> - call $std/hash/check - drop - f32.const 0 - call $~lib/util/hash/HASH - call $std/hash/check - drop - f32.const 1 - call $~lib/util/hash/HASH - call $std/hash/check - drop - f32.const 1.100000023841858 - call $~lib/util/hash/HASH - call $std/hash/check - drop - f32.const -0 - call $~lib/util/hash/HASH - call $std/hash/check - drop - f32.const inf - call $~lib/util/hash/HASH - call $std/hash/check - drop - f32.const nan:0x400000 - call $~lib/util/hash/HASH - call $std/hash/check - drop - f64.const 0 - call $~lib/util/hash/HASH - call $std/hash/check - drop - f64.const 1 - call $~lib/util/hash/HASH - call $std/hash/check - drop - f64.const 1.1 - call $~lib/util/hash/HASH - call $std/hash/check - drop - f64.const -0 - call $~lib/util/hash/HASH - call $std/hash/check - drop - f64.const inf - call $~lib/util/hash/HASH - call $std/hash/check - drop - f64.const nan:0x8000000000000 - call $~lib/util/hash/HASH - call $std/hash/check - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) ) diff --git a/tests/compiler/std/hash.release.wat b/tests/compiler/std/hash.release.wat index cbc1f10dd8..1620d1e03e 100644 --- a/tests/compiler/std/hash.release.wat +++ b/tests/compiler/std/hash.release.wat @@ -1,107 +1,55 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_=>_none (func (param i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func (param i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34172)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02") - (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\02\00\00\00\02\00\00\00a") - (data (i32.const 1100) "\1c") - (data (i32.const 1112) "\02\00\00\00\04\00\00\00a\00b") - (data (i32.const 1132) "\1c") - (data (i32.const 1144) "\02\00\00\00\06\00\00\00a\00b\00c") - (data (i32.const 1164) "\1c") - (data (i32.const 1176) "\02\00\00\00\08\00\00\00a\00b\00c\00d") - (data (i32.const 1196) "\1c") - (data (i32.const 1208) "\02\00\00\00\n\00\00\00a\00b\00c\00d\00e") - (data (i32.const 1228) "\1c") - (data (i32.const 1240) "\02\00\00\00\0c\00\00\00a\00b\00c\00d\00e\00f") - (data (i32.const 1260) ",") - (data (i32.const 1272) "\02\00\00\00\0e\00\00\00a\00b\00c\00d\00e\00f\00g") - (data (i32.const 1308) ",") - (data (i32.const 1320) "\02\00\00\00\10\00\00\00a\00b\00c\00d\00e\00f\00g\00h") - (data (i32.const 1356) ",") - (data (i32.const 1368) "\02\00\00\00\12\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02") + (data $1 (i32.const 1068) "\1c") + (data $1.1 (i32.const 1080) "\02\00\00\00\02\00\00\00a") + (data $2 (i32.const 1100) "\1c") + (data $2.1 (i32.const 1112) "\02\00\00\00\04\00\00\00a\00b") + (data $3 (i32.const 1132) "\1c") + (data $3.1 (i32.const 1144) "\02\00\00\00\06\00\00\00a\00b\00c") + (data $4 (i32.const 1164) "\1c") + (data $4.1 (i32.const 1176) "\02\00\00\00\08\00\00\00a\00b\00c\00d") + (data $5 (i32.const 1196) "\1c") + (data $5.1 (i32.const 1208) "\02\00\00\00\n\00\00\00a\00b\00c\00d\00e") + (data $6 (i32.const 1228) "\1c") + (data $6.1 (i32.const 1240) "\02\00\00\00\0c\00\00\00a\00b\00c\00d\00e\00f") + (data $7 (i32.const 1260) ",") + (data $7.1 (i32.const 1272) "\02\00\00\00\0e\00\00\00a\00b\00c\00d\00e\00f\00g") + (data $8 (i32.const 1308) ",") + (data $8.1 (i32.const 1320) "\02\00\00\00\10\00\00\00a\00b\00c\00d\00e\00f\00g\00h") + (data $9 (i32.const 1356) ",") + (data $9.1 (i32.const 1368) "\02\00\00\00\12\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i") (export "memory" (memory $0)) (start $~start) (func $~start - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1404 - i32.lt_s - if - i32.const 34192 - i32.const 34240 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 i32.const 0 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 i32.const 1056 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store $0 i32.const 1088 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1120 - i32.store $0 i32.const 1120 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1152 - i32.store $0 i32.const 1152 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 i32.const 1184 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1216 - i32.store $0 i32.const 1216 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1248 - i32.store $0 i32.const 1248 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1280 - i32.store $0 i32.const 1280 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1328 - i32.store $0 i32.const 1328 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1376 - i32.store $0 i32.const 1376 call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $~lib/util/hash/HASH<~lib/string/String|null> (param $0 i32) (local $1 i32) @@ -127,22 +75,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 if global.get $~lib/memory/__stack_pointer local.get $0 local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.tee $3 @@ -168,7 +115,7 @@ if local.get $2 local.get $1 - i32.load $0 + i32.load i32.const -2048144777 i32.mul i32.add @@ -179,7 +126,7 @@ local.set $2 local.get $4 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2048144777 i32.mul i32.add @@ -190,7 +137,7 @@ local.set $4 local.get $6 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const -2048144777 i32.mul i32.add @@ -201,7 +148,7 @@ local.set $6 local.get $5 local.get $1 - i32.load $0 offset=12 + i32.load offset=12 i32.const -2048144777 i32.mul i32.add @@ -253,7 +200,7 @@ if local.get $2 local.get $1 - i32.load $0 + i32.load i32.const -1028477379 i32.mul i32.add @@ -280,7 +227,7 @@ if local.get $2 local.get $1 - i32.load8_u $0 + i32.load8_u i32.const 374761393 i32.mul i32.add diff --git a/tests/compiler/std/map.debug.wat b/tests/compiler/std/map.debug.wat index 2ff9f8d109..13432055e5 100644 --- a/tests/compiler/std/map.debug.wat +++ b/tests/compiler/std/map.debug.wat @@ -1,37 +1,38 @@ (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_i32_i32_=>_i32 (func (param i32 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_=>_i64 (func (param i32) (result i64))) - (type $i32_i64_=>_none (func (param i32 i64))) - (type $i32_i64_i32_=>_i32 (func (param i32 i64 i32) (result i32))) - (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) - (type $i32_=>_f32 (func (param i32) (result f32))) - (type $i32_f32_=>_none (func (param i32 f32))) - (type $i32_=>_f64 (func (param i32) (result f64))) - (type $i32_f64_=>_none (func (param i32 f64))) - (type $i32_f32_i32_=>_i32 (func (param i32 f32 i32) (result i32))) - (type $i32_f32_=>_i32 (func (param i32 f32) (result i32))) - (type $i32_f64_i32_=>_i32 (func (param i32 f64 i32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) - (type $i32_i64_i64_=>_i32 (func (param i32 i64 i64) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $f32_=>_i32 (func (param f32) (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $i32_i32_f32_=>_none (func (param i32 i32 f32))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $i32_f32_f32_=>_i32 (func (param i32 f32 f32) (result i32))) - (type $i32_i32_f64_=>_none (func (param i32 i32 f64))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) - (type $i32_f64_f64_=>_i32 (func (param i32 f64 f64) (result i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32 i32 i32) (result i32))) + (type $4 (func (param i32))) + (type $5 (func)) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32) (result i64))) + (type $8 (func (param i32 i64))) + (type $9 (func (param i32 i64 i32) (result i32))) + (type $10 (func (param i32 i64) (result i32))) + (type $11 (func (param i32) (result f32))) + (type $12 (func (param i32 f32))) + (type $13 (func (param i32) (result f64))) + (type $14 (func (param i32 f64))) + (type $15 (func (param i32 f32 i32) (result i32))) + (type $16 (func (param i32 f32) (result i32))) + (type $17 (func (param i32 f64 i32) (result i32))) + (type $18 (func (param i32 f64) (result i32))) + (type $19 (func (param i32 i32 i32 i32))) + (type $20 (func (param i64) (result i32))) + (type $21 (func (param i32 i32 i64))) + (type $22 (func (param i32 i32) (result i64))) + (type $23 (func (param i32 i64 i64) (result i32))) + (type $24 (func (param i32 i32 i64) (result i32))) + (type $25 (func (result i32))) + (type $26 (func (param f32) (result i32))) + (type $27 (func (param f64) (result i32))) + (type $28 (func (param i32 i32 f32))) + (type $29 (func (param i32 i32) (result f32))) + (type $30 (func (param i32 f32 f32) (result i32))) + (type $31 (func (param i32 i32 f64))) + (type $32 (func (param i32 i32) (result f64))) + (type $33 (func (param i32 f64 f64) (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)) @@ -53,21 +54,21 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33640)) (global $~lib/memory/__heap_base i32 (i32.const 33640)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 684) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 736) "!\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\89\10\00B\08\00\00\02\t\00\00P\88\10\00\10\t\12\00\10\89\00\00B\00\00\00P\80\00\00\10\t\11\00\82\08\00\00\90\08\11\00\10\t\01\00\82\00\00\00\90\00\01\00\10\t\02\00\02\01\00\00\10\01\02\00\10\t\14\00\02\n\00\00\10\n\14\00\10\t\04\00\02\02\00\00\10\02\04\00\10\t2\00\02\19\00\00\10\192\00\10\t4\00\02\1a\00\00\10\1a4\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $9 (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $10 (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00") + (data $13 (i32.const 684) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $14 (i32.const 736) "!\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\89\10\00B\08\00\00\02\t\00\00P\88\10\00\10\t\12\00\10\89\00\00B\00\00\00P\80\00\00\10\t\11\00\82\08\00\00\90\08\11\00\10\t\01\00\82\00\00\00\90\00\01\00\10\t\02\00\02\01\00\00\10\01\02\00\10\t\14\00\02\n\00\00\10\n\14\00\10\t\04\00\02\02\00\00\10\02\04\00\10\t2\00\02\19\00\00\10\192\00\10\t4\00\02\1a\00\00\10\1a4\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -75,12 +76,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -94,7 +95,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -168,7 +169,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -238,11 +239,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -250,7 +251,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -382,7 +383,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -395,7 +396,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -411,34 +412,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -598,7 +599,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -621,7 +622,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -635,7 +636,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -658,7 +659,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -801,7 +802,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -887,7 +888,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -967,7 +968,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1001,7 +1002,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1024,7 +1025,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1038,27 +1039,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1083,9 +1089,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1104,7 +1110,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1123,7 +1129,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1137,7 +1142,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1193,12 +1198,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1232,7 +1237,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1253,7 +1258,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1273,7 +1278,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1293,7 +1298,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1319,7 +1324,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1342,9 +1347,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1380,7 +1386,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1646,14 +1652,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1709,7 +1718,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1718,6 +1727,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1747,24 +1776,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1802,7 +1820,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1817,7 +1835,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1862,7 +1880,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1873,7 +1891,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1895,7 +1913,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1918,7 +1936,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1937,22 +1955,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1965,7 +1975,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1992,27 +2002,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2037,7 +2048,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2152,7 +2163,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2172,7 +2183,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2205,12 +2216,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2261,7 +2272,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2333,43 +2344,43 @@ end end ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -2440,61 +2451,61 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load8_s $0 + i32.load8_s ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store8 $0 + i32.store8 ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2503,33 +2514,33 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2573,18 +2584,18 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2593,152 +2604,152 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load8_s $0 + i32.load8_s ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store8 $0 offset=1 + i32.store8 offset=1 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store8 $0 + i32.store8 ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load8_s $0 offset=1 + i32.load8_s offset=1 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -2808,94 +2819,94 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store $0 + i32.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -2967,61 +2978,61 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load8_u $0 + i32.load8_u ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store8 $0 + i32.store8 ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -3030,152 +3041,152 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load8_u $0 + i32.load8_u ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store8 $0 offset=1 + i32.store8 offset=1 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store8 $0 + i32.store8 ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load8_u $0 offset=1 + i32.load8_u offset=1 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -3246,61 +3257,61 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load16_s $0 + i32.load16_s ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store16 $0 + i32.store16 ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -3309,152 +3320,152 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load16_s $0 + i32.load16_s ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store16 $0 offset=2 + i32.store16 offset=2 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store16 $0 + i32.store16 ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load16_s $0 offset=2 + i32.load16_s offset=2 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -3526,61 +3537,61 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load16_u $0 + i32.load16_u ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store16 $0 + i32.store16 ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -3589,152 +3600,152 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load16_u $0 + i32.load16_u ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store16 $0 offset=2 + i32.store16 offset=2 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store16 $0 + i32.store16 ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load16_u $0 offset=2 + i32.load16_u offset=2 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -3804,61 +3815,61 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store $0 + i32.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -3867,152 +3878,152 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store $0 + i32.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) @@ -4099,61 +4110,61 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i64) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i64) local.get $this - i64.load $0 + i64.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=8 + i32.store offset=8 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i64) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i64) local.get $this local.get $key - i64.store $0 + i64.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -4162,152 +4173,152 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i64) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i64) local.get $this - i64.load $0 + i64.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i64) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i64) local.get $this local.get $value - i64.store $0 offset=8 + i64.store offset=8 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i64) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i64) local.get $this local.get $key - i64.store $0 + i64.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i64) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i64) local.get $this - i64.load $0 offset=8 + i64.load offset=8 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) @@ -4394,61 +4405,61 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i64) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i64) local.get $this - i64.load $0 + i64.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=8 + i32.store offset=8 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i64) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i64) local.get $this local.get $key - i64.store $0 + i64.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -4457,152 +4468,152 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i64) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i64) local.get $this - i64.load $0 + i64.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i64) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i64) local.get $this local.get $value - i64.store $0 offset=8 + i64.store offset=8 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i64) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i64) local.get $this local.get $key - i64.store $0 + i64.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i64) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i64) local.get $this - i64.load $0 offset=8 + i64.load offset=8 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key f32) (result i32) (local $key|1 i32) @@ -4673,61 +4684,61 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result f32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result f32) local.get $this - f32.load $0 + f32.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key f32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key f32) local.get $this local.get $key - f32.store $0 + f32.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -4736,152 +4747,152 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result f32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result f32) local.get $this - f32.load $0 + f32.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value f32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value f32) local.get $this local.get $value - f32.store $0 offset=4 + f32.store offset=4 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key f32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key f32) local.get $this local.get $key - f32.store $0 + f32.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result f32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result f32) local.get $this - f32.load $0 offset=4 + f32.load offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key f64) (result i32) (local $key|1 i64) @@ -4969,61 +4980,61 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result f64) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result f64) local.get $this - f64.load $0 + f64.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=8 + i32.store offset=8 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key f64) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key f64) local.get $this local.get $key - f64.store $0 + f64.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -5032,114 +5043,114 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result f64) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result f64) local.get $this - f64.load $0 + f64.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value f64) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value f64) local.get $this local.get $value - f64.store $0 offset=8 + f64.store offset=8 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key f64) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key f64) local.get $this local.get $key - f64.store $0 + f64.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result f64) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result f64) local.get $this - f64.load $0 offset=8 + f64.load offset=8 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__collect i32.const 0 @@ -5188,7 +5199,7 @@ drop ) (func $start:std/map - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -5205,16 +5216,16 @@ i32.const 320 call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" call $~lib/rt/itcms/__collect ) (func $~lib/rt/__visit_globals (param $0 i32) @@ -5238,28 +5249,23 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5271,7 +5277,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5281,33 +5287,33 @@ local.get $1 call $~lib/array/Array#__visit ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5317,25 +5323,25 @@ local.get $1 call $~lib/array/Array#__visit ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5345,25 +5351,25 @@ local.get $1 call $~lib/array/Array#__visit ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5373,25 +5379,25 @@ local.get $1 call $~lib/array/Array#__visit ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5401,25 +5407,25 @@ local.get $1 call $~lib/array/Array#__visit ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5429,25 +5435,25 @@ local.get $1 call $~lib/array/Array#__visit ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5457,25 +5463,25 @@ local.get $1 call $~lib/array/Array#__visit ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5485,25 +5491,25 @@ local.get $1 call $~lib/array/Array#__visit ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5513,45 +5519,45 @@ local.get $1 call $~lib/array/Array#__visit ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid - block $~lib/map/Map + block $"~lib/map/Map" block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map + block $"~lib/map/Map" + block $"~lib/map/Map" block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map + block $"~lib/map/Map" + block $"~lib/map/Map" block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map + block $"~lib/map/Map" + block $"~lib/map/Map" block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map + block $"~lib/map/Map" + block $"~lib/map/Map" block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map + block $"~lib/map/Map" + block $"~lib/map/Map" block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map + block $"~lib/map/Map" + block $"~lib/map/Map" block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map + block $"~lib/map/Map" + block $"~lib/map/Map" block $~lib/array/Array - block $~lib/map/Map - block $~lib/map/Map - block $~lib/map/Map + block $"~lib/map/Map" + block $"~lib/map/Map" + block $"~lib/map/Map" block $~lib/array/Array block $~lib/array/Array - block $~lib/map/Map + block $"~lib/map/Map" block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer @@ -5559,8 +5565,8 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map $~lib/array/Array $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $~lib/map/Map $~lib/array/Array $~lib/map/Map $invalid + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $"~lib/map/Map" $~lib/array/Array $~lib/array/Array $"~lib/map/Map" $"~lib/map/Map" $"~lib/map/Map" $~lib/array/Array $"~lib/map/Map" $"~lib/map/Map" $~lib/array/Array $"~lib/map/Map" $"~lib/map/Map" $~lib/array/Array $"~lib/map/Map" $"~lib/map/Map" $~lib/array/Array $"~lib/map/Map" $"~lib/map/Map" $~lib/array/Array $"~lib/map/Map" $"~lib/map/Map" $~lib/array/Array $"~lib/map/Map" $"~lib/map/Map" $~lib/array/Array $"~lib/map/Map" $"~lib/map/Map" $~lib/array/Array $"~lib/map/Map" $invalid end return end @@ -5575,7 +5581,7 @@ end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 @@ -5590,17 +5596,17 @@ end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 @@ -5610,12 +5616,12 @@ end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 @@ -5625,12 +5631,12 @@ end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 @@ -5640,12 +5646,12 @@ end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 @@ -5655,12 +5661,12 @@ end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 @@ -5670,12 +5676,12 @@ end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 @@ -5685,12 +5691,12 @@ end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 @@ -5700,12 +5706,12 @@ end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end local.get $0 @@ -5715,7 +5721,7 @@ end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end unreachable @@ -5736,7 +5742,7 @@ unreachable end ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -5745,10 +5751,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -5757,13 +5763,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -5773,63 +5779,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -5838,7 +5844,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -5849,33 +5855,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -5883,7 +5889,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" i32.extend8_s local.get $key i32.extend8_s @@ -5919,7 +5925,7 @@ local.get $5 return ) - (func $~lib/map/Map#has (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -5928,17 +5934,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -5949,7 +5955,7 @@ local.get $2 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -5970,10 +5976,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -5985,7 +5991,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -5995,33 +6001,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -6036,7 +6042,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -6044,15 +6050,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -6066,23 +6072,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -6093,64 +6099,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -6164,10 +6170,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -6175,17 +6181,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -6193,38 +6199,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -6235,101 +6241,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -6337,11 +6343,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -6352,7 +6358,7 @@ local.get $8 return ) - (func $~lib/map/Map#get (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -6362,17 +6368,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -6385,7 +6391,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6394,7 +6400,7 @@ local.get $3 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6403,14 +6409,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6432,10 +6438,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -6444,13 +6450,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -6458,7 +6464,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -6466,7 +6472,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -6474,7 +6480,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -6507,7 +6513,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -6516,20 +6522,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -6537,7 +6543,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -6545,7 +6551,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -6576,12 +6582,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -6608,7 +6614,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -6658,10 +6664,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -6669,7 +6675,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6685,13 +6691,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -6718,7 +6724,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -6729,7 +6735,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -6737,7 +6743,7 @@ i32.shl i32.add local.get $value - i32.store8 $0 + i32.store8 i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -6754,7 +6760,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 0 @@ -6764,7 +6770,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -6773,7 +6779,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $this i32) (result i32) + (func $"~lib/map/Map#keys" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $keys i32) @@ -6789,29 +6795,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $keys - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -6823,15 +6829,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -6840,7 +6846,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -6849,7 +6855,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" call $~lib/array/Array#__set end local.get $i @@ -6863,7 +6869,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -6889,10 +6895,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -6901,13 +6907,13 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -6915,7 +6921,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -6923,7 +6929,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -6931,7 +6937,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -6964,7 +6970,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -6973,20 +6979,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -6994,7 +7000,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -7002,7 +7008,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -7023,13 +7029,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -7056,7 +7062,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -7067,7 +7073,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -7075,7 +7081,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -7092,7 +7098,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 2 @@ -7102,7 +7108,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -7111,7 +7117,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#values (param $this i32) (result i32) + (func $"~lib/map/Map#values" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $values i32) @@ -7127,29 +7133,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -7161,15 +7167,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -7178,7 +7184,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -7187,7 +7193,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" call $~lib/array/Array#__set end local.get $i @@ -7201,7 +7207,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -7214,7 +7220,7 @@ local.get $8 return ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -7223,10 +7229,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -7235,13 +7241,13 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -7251,63 +7257,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -7316,7 +7322,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -7325,10 +7331,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -7337,13 +7343,13 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -7353,63 +7359,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -7427,12 +7433,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -7453,13 +7459,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -7475,14 +7481,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -7505,13 +7511,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -7527,14 +7533,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -7547,7 +7553,7 @@ local.get $3 return ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -7558,33 +7564,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -7592,7 +7598,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" i32.extend8_s local.get $key i32.extend8_s @@ -7628,7 +7634,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -7649,10 +7655,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -7664,7 +7670,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -7674,33 +7680,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -7715,7 +7721,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -7723,15 +7729,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -7745,23 +7751,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -7772,64 +7778,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -7843,10 +7849,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -7854,17 +7860,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -7872,38 +7878,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -7914,101 +7920,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -8016,11 +8022,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -8031,7 +8037,7 @@ local.get $8 return ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -8042,33 +8048,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -8076,7 +8082,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key i32.eq else @@ -8110,7 +8116,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -8131,10 +8137,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -8146,7 +8152,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -8156,33 +8162,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -8197,7 +8203,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -8205,15 +8211,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -8227,23 +8233,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -8254,64 +8260,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -8325,10 +8331,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -8336,17 +8342,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -8354,38 +8360,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -8396,101 +8402,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -8498,11 +8504,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -8513,7 +8519,7 @@ local.get $8 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -8522,14 +8528,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -8538,7 +8544,7 @@ local.get $1 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -8547,14 +8553,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -8563,7 +8569,7 @@ local.get $1 return ) - (func $~lib/map/Map#delete (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#delete" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $halfBucketsMask i32) (local $4 i32) @@ -8576,17 +8582,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -8602,33 +8608,33 @@ end local.get $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $"~lib/map/MapEntry#set:taggedNext" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -8641,9 +8647,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.tee $5 local.get $4 local.get $5 @@ -8655,16 +8661,16 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -8678,10 +8684,10 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end i32.const 1 local.set $6 @@ -8692,7 +8698,7 @@ local.get $6 return ) - (func $~lib/map/Map#clear (param $this i32) + (func $"~lib/map/Map#clear" (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -8701,12 +8707,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -8716,69 +8722,69 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.8" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + br $"~lib/map/ENTRY_SIZE|inlined.8" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $map i32) (local $k i32) (local $k|2 i32) @@ -8800,12 +8806,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $map - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -8817,10 +8823,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -8835,22 +8841,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k i32.const 10 local.get $k i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -8864,10 +8870,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k i32.add @@ -8892,9 +8898,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -8917,10 +8923,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -8934,10 +8940,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k|2 i32.add @@ -8955,22 +8961,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -8984,10 +8990,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|2 i32.add @@ -9012,9 +9018,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -9031,31 +9037,31 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#keys + call $"~lib/map/Map#keys" local.tee $keys - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#values + call $"~lib/map/Map#values" local.tee $vals - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $keyMap - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $valMap - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $index loop $for-loop|2 @@ -9064,7 +9070,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/array/Array#get:length i32.lt_s @@ -9073,7 +9079,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -9082,7 +9088,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -9091,10 +9097,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -9108,12 +9114,12 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -9127,17 +9133,17 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $valMap local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 @@ -9145,7 +9151,7 @@ local.get $value i32.const 20 i32.sub - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $index i32.const 1 @@ -9158,9 +9164,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -9176,9 +9182,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -9201,10 +9207,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -9218,10 +9224,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|10 i32.add @@ -9239,19 +9245,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -9273,9 +9279,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -9298,10 +9304,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -9316,22 +9322,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -9345,19 +9351,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -9379,9 +9385,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -9397,16 +9403,16 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#clear + call $"~lib/map/Map#clear" local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 0 i32.eq i32.eqz @@ -9423,7 +9429,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -9432,10 +9438,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -9444,13 +9450,13 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -9460,63 +9466,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -9525,7 +9531,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -9536,33 +9542,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -9570,7 +9576,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" i32.const 255 i32.and local.get $key @@ -9608,7 +9614,7 @@ local.get $5 return ) - (func $~lib/map/Map#has (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -9617,17 +9623,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -9638,7 +9644,7 @@ local.get $2 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -9659,10 +9665,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -9674,7 +9680,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -9684,33 +9690,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -9725,7 +9731,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -9733,15 +9739,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -9755,23 +9761,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -9782,64 +9788,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -9853,10 +9859,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -9864,17 +9870,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -9882,38 +9888,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -9924,101 +9930,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -10026,11 +10032,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -10041,7 +10047,7 @@ local.get $8 return ) - (func $~lib/map/Map#get (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -10051,17 +10057,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -10074,7 +10080,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -10083,7 +10089,7 @@ local.get $3 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -10092,14 +10098,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -10121,10 +10127,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -10133,13 +10139,13 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -10147,7 +10153,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -10155,7 +10161,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -10163,7 +10169,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -10196,7 +10202,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10205,20 +10211,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10226,7 +10232,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10234,7 +10240,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10255,13 +10261,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -10288,7 +10294,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -10299,7 +10305,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -10307,7 +10313,7 @@ i32.shl i32.add local.get $value - i32.store8 $0 + i32.store8 i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -10324,7 +10330,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 0 @@ -10334,7 +10340,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -10343,7 +10349,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $this i32) (result i32) + (func $"~lib/map/Map#keys" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $keys i32) @@ -10359,29 +10365,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $keys - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -10393,15 +10399,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -10410,7 +10416,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -10419,7 +10425,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" call $~lib/array/Array#__set end local.get $i @@ -10433,7 +10439,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -10446,7 +10452,7 @@ local.get $8 return ) - (func $~lib/map/Map#values (param $this i32) (result i32) + (func $"~lib/map/Map#values" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $values i32) @@ -10462,29 +10468,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -10496,15 +10502,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -10513,7 +10519,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -10522,7 +10528,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" call $~lib/array/Array#__set end local.get $i @@ -10536,7 +10542,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -10549,7 +10555,7 @@ local.get $8 return ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -10558,10 +10564,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -10570,13 +10576,13 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -10586,63 +10592,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -10660,12 +10666,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -10686,13 +10692,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -10708,14 +10714,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -10728,7 +10734,7 @@ local.get $3 return ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -10739,33 +10745,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -10773,7 +10779,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" i32.const 255 i32.and local.get $key @@ -10811,7 +10817,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -10832,10 +10838,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -10847,7 +10853,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -10857,33 +10863,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -10898,7 +10904,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -10906,15 +10912,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -10928,23 +10934,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -10955,64 +10961,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -11026,10 +11032,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -11037,17 +11043,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -11055,38 +11061,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -11097,101 +11103,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -11199,11 +11205,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -11214,7 +11220,7 @@ local.get $8 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -11223,14 +11229,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -11239,7 +11245,7 @@ local.get $1 return ) - (func $~lib/map/Map#delete (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#delete" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $halfBucketsMask i32) (local $4 i32) @@ -11252,17 +11258,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -11278,33 +11284,33 @@ end local.get $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $"~lib/map/MapEntry#set:taggedNext" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -11317,9 +11323,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.tee $5 local.get $4 local.get $5 @@ -11331,16 +11337,16 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -11354,10 +11360,10 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end i32.const 1 local.set $6 @@ -11368,7 +11374,7 @@ local.get $6 return ) - (func $~lib/map/Map#clear (param $this i32) + (func $"~lib/map/Map#clear" (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -11377,12 +11383,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -11392,69 +11398,69 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.8" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + br $"~lib/map/ENTRY_SIZE|inlined.8" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $map i32) (local $k i32) (local $k|2 i32) @@ -11476,12 +11482,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $map - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -11493,10 +11499,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -11511,22 +11517,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k i32.const 10 local.get $k i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11540,10 +11546,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k i32.add @@ -11568,9 +11574,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -11593,10 +11599,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11610,10 +11616,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k|2 i32.add @@ -11631,22 +11637,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11660,10 +11666,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|2 i32.add @@ -11688,9 +11694,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -11707,31 +11713,31 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#keys + call $"~lib/map/Map#keys" local.tee $keys - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#values + call $"~lib/map/Map#values" local.tee $vals - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $keyMap - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $valMap - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $index loop $for-loop|2 @@ -11740,7 +11746,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/array/Array#get:length i32.lt_s @@ -11749,7 +11755,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -11758,7 +11764,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -11767,10 +11773,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11784,12 +11790,12 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11803,17 +11809,17 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $valMap local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 @@ -11821,7 +11827,7 @@ local.get $value i32.const 20 i32.sub - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $index i32.const 1 @@ -11834,9 +11840,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -11852,9 +11858,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -11877,10 +11883,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11894,10 +11900,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|10 i32.add @@ -11915,19 +11921,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -11949,9 +11955,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -11974,10 +11980,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -11992,22 +11998,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -12021,19 +12027,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -12055,9 +12061,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -12073,16 +12079,16 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#clear + call $"~lib/map/Map#clear" local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 0 i32.eq i32.eqz @@ -12099,7 +12105,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -12108,10 +12114,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -12120,13 +12126,13 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -12136,63 +12142,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -12201,7 +12207,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -12212,33 +12218,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -12246,7 +12252,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" i32.extend16_s local.get $key i32.extend16_s @@ -12282,7 +12288,7 @@ local.get $5 return ) - (func $~lib/map/Map#has (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -12291,17 +12297,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -12312,7 +12318,7 @@ local.get $2 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -12333,10 +12339,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -12348,7 +12354,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -12358,33 +12364,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -12399,7 +12405,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -12407,15 +12413,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -12429,23 +12435,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -12456,64 +12462,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -12527,10 +12533,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -12538,17 +12544,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -12556,38 +12562,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -12598,101 +12604,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -12700,11 +12706,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -12715,7 +12721,7 @@ local.get $8 return ) - (func $~lib/map/Map#get (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -12725,17 +12731,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -12748,7 +12754,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -12757,7 +12763,7 @@ local.get $3 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -12766,14 +12772,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -12795,10 +12801,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -12807,13 +12813,13 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -12821,7 +12827,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -12829,7 +12835,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -12837,7 +12843,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -12870,7 +12876,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -12879,20 +12885,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -12900,7 +12906,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -12908,7 +12914,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -12929,13 +12935,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -12962,7 +12968,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -12973,7 +12979,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -12981,7 +12987,7 @@ i32.shl i32.add local.get $value - i32.store16 $0 + i32.store16 i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -12998,7 +13004,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 1 @@ -13008,7 +13014,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -13017,7 +13023,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $this i32) (result i32) + (func $"~lib/map/Map#keys" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $keys i32) @@ -13033,29 +13039,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $keys - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -13067,15 +13073,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -13084,7 +13090,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -13093,7 +13099,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" call $~lib/array/Array#__set end local.get $i @@ -13107,7 +13113,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -13120,7 +13126,7 @@ local.get $8 return ) - (func $~lib/map/Map#values (param $this i32) (result i32) + (func $"~lib/map/Map#values" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $values i32) @@ -13136,29 +13142,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -13170,15 +13176,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -13187,7 +13193,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -13196,7 +13202,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" call $~lib/array/Array#__set end local.get $i @@ -13210,7 +13216,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -13223,7 +13229,7 @@ local.get $8 return ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -13232,10 +13238,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -13244,13 +13250,13 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -13260,63 +13266,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -13334,12 +13340,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -13360,13 +13366,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -13382,14 +13388,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 0 drop @@ -13402,7 +13408,7 @@ local.get $3 return ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -13413,33 +13419,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -13447,7 +13453,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" i32.extend16_s local.get $key i32.extend16_s @@ -13483,7 +13489,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -13504,10 +13510,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -13519,7 +13525,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -13529,33 +13535,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -13570,7 +13576,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -13578,15 +13584,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -13600,23 +13606,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -13627,64 +13633,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -13698,10 +13704,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -13709,17 +13715,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -13727,38 +13733,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -13769,101 +13775,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -13871,11 +13877,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -13886,7 +13892,7 @@ local.get $8 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -13895,14 +13901,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -13911,7 +13917,7 @@ local.get $1 return ) - (func $~lib/map/Map#delete (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#delete" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $halfBucketsMask i32) (local $4 i32) @@ -13924,17 +13930,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -13950,33 +13956,33 @@ end local.get $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $"~lib/map/MapEntry#set:taggedNext" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -13989,9 +13995,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.tee $5 local.get $4 local.get $5 @@ -14003,16 +14009,16 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -14026,10 +14032,10 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end i32.const 1 local.set $6 @@ -14040,7 +14046,7 @@ local.get $6 return ) - (func $~lib/map/Map#clear (param $this i32) + (func $"~lib/map/Map#clear" (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -14049,12 +14055,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -14064,69 +14070,69 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.8" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + br $"~lib/map/ENTRY_SIZE|inlined.8" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $map i32) (local $k i32) (local $k|2 i32) @@ -14148,12 +14154,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $map - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -14165,10 +14171,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -14183,22 +14189,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k i32.const 10 local.get $k i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14212,10 +14218,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k i32.add @@ -14240,9 +14246,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -14265,10 +14271,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14282,10 +14288,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k|2 i32.add @@ -14303,22 +14309,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14332,10 +14338,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|2 i32.add @@ -14360,9 +14366,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -14379,31 +14385,31 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#keys + call $"~lib/map/Map#keys" local.tee $keys - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#values + call $"~lib/map/Map#values" local.tee $vals - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $keyMap - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $valMap - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $index loop $for-loop|2 @@ -14412,7 +14418,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/array/Array#get:length i32.lt_s @@ -14421,7 +14427,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -14430,7 +14436,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -14439,10 +14445,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14456,12 +14462,12 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14475,17 +14481,17 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $valMap local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 @@ -14493,7 +14499,7 @@ local.get $value i32.const 20 i32.sub - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $index i32.const 1 @@ -14506,9 +14512,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -14524,9 +14530,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -14549,10 +14555,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14566,10 +14572,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|10 i32.add @@ -14587,19 +14593,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -14621,9 +14627,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -14646,10 +14652,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -14664,22 +14670,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14693,19 +14699,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -14727,9 +14733,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -14745,16 +14751,16 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#clear + call $"~lib/map/Map#clear" local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 0 i32.eq i32.eqz @@ -14771,7 +14777,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -14780,10 +14786,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -14792,13 +14798,13 @@ i32.const 15 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -14808,63 +14814,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -14873,7 +14879,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -14884,33 +14890,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -14918,7 +14924,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" i32.const 65535 i32.and local.get $key @@ -14956,7 +14962,7 @@ local.get $5 return ) - (func $~lib/map/Map#has (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -14965,17 +14971,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -14986,7 +14992,7 @@ local.get $2 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -15007,10 +15013,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -15022,7 +15028,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -15032,33 +15038,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -15073,7 +15079,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -15081,15 +15087,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -15103,23 +15109,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -15130,64 +15136,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -15201,10 +15207,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -15212,17 +15218,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -15230,38 +15236,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -15272,101 +15278,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -15374,11 +15380,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -15389,7 +15395,7 @@ local.get $8 return ) - (func $~lib/map/Map#get (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -15399,17 +15405,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -15422,7 +15428,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -15431,7 +15437,7 @@ local.get $3 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -15440,14 +15446,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -15469,10 +15475,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -15481,13 +15487,13 @@ i32.const 16 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -15495,7 +15501,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -15503,7 +15509,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -15511,7 +15517,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -15544,7 +15550,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -15553,20 +15559,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -15574,7 +15580,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -15582,7 +15588,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -15603,13 +15609,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -15636,7 +15642,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -15647,7 +15653,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -15655,7 +15661,7 @@ i32.shl i32.add local.get $value - i32.store16 $0 + i32.store16 i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -15672,7 +15678,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 1 @@ -15682,7 +15688,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -15691,7 +15697,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $this i32) (result i32) + (func $"~lib/map/Map#keys" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $keys i32) @@ -15707,29 +15713,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $keys - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -15741,15 +15747,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -15758,7 +15764,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -15767,7 +15773,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" call $~lib/array/Array#__set end local.get $i @@ -15781,7 +15787,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -15794,7 +15800,7 @@ local.get $8 return ) - (func $~lib/map/Map#values (param $this i32) (result i32) + (func $"~lib/map/Map#values" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $values i32) @@ -15810,29 +15816,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -15844,15 +15850,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -15861,7 +15867,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -15870,7 +15876,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" call $~lib/array/Array#__set end local.get $i @@ -15884,7 +15890,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -15897,7 +15903,7 @@ local.get $8 return ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -15906,10 +15912,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -15918,13 +15924,13 @@ i32.const 17 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -15934,63 +15940,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -16008,12 +16014,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -16034,13 +16040,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -16056,14 +16062,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $value i32.const 0 drop @@ -16076,7 +16082,7 @@ local.get $3 return ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -16087,33 +16093,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -16121,7 +16127,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" i32.const 65535 i32.and local.get $key @@ -16159,7 +16165,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -16180,10 +16186,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -16195,7 +16201,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -16205,33 +16211,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -16246,7 +16252,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -16254,15 +16260,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -16276,23 +16282,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -16303,64 +16309,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -16374,10 +16380,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -16385,17 +16391,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -16403,38 +16409,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -16445,101 +16451,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -16547,11 +16553,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -16562,7 +16568,7 @@ local.get $8 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -16571,14 +16577,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -16587,7 +16593,7 @@ local.get $1 return ) - (func $~lib/map/Map#delete (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#delete" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $halfBucketsMask i32) (local $4 i32) @@ -16600,17 +16606,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -16626,33 +16632,33 @@ end local.get $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $"~lib/map/MapEntry#set:taggedNext" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -16665,9 +16671,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.tee $5 local.get $4 local.get $5 @@ -16679,16 +16685,16 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -16702,10 +16708,10 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end i32.const 1 local.set $6 @@ -16716,7 +16722,7 @@ local.get $6 return ) - (func $~lib/map/Map#clear (param $this i32) + (func $"~lib/map/Map#clear" (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -16725,12 +16731,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -16740,69 +16746,69 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.8" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + br $"~lib/map/ENTRY_SIZE|inlined.8" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $map i32) (local $k i32) (local $k|2 i32) @@ -16824,12 +16830,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $map - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -16841,10 +16847,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -16859,22 +16865,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k i32.const 10 local.get $k i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -16888,10 +16894,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k i32.add @@ -16916,9 +16922,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -16941,10 +16947,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -16958,10 +16964,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k|2 i32.add @@ -16979,22 +16985,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -17008,10 +17014,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|2 i32.add @@ -17036,9 +17042,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -17055,31 +17061,31 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#keys + call $"~lib/map/Map#keys" local.tee $keys - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#values + call $"~lib/map/Map#values" local.tee $vals - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $keyMap - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $valMap - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $index loop $for-loop|2 @@ -17088,7 +17094,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/array/Array#get:length i32.lt_s @@ -17097,7 +17103,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -17106,7 +17112,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -17115,10 +17121,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -17132,12 +17138,12 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -17151,17 +17157,17 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $valMap local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 @@ -17169,7 +17175,7 @@ local.get $value i32.const 20 i32.sub - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $index i32.const 1 @@ -17182,9 +17188,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -17200,9 +17206,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -17225,10 +17231,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -17242,10 +17248,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|10 i32.add @@ -17263,19 +17269,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -17297,9 +17303,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -17322,10 +17328,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -17340,22 +17346,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -17369,19 +17375,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -17403,9 +17409,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -17421,16 +17427,16 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#clear + call $"~lib/map/Map#clear" local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 0 i32.eq i32.eqz @@ -17447,7 +17453,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#has (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -17456,17 +17462,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -17477,7 +17483,7 @@ local.get $2 return ) - (func $~lib/map/Map#get (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -17487,17 +17493,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -17510,7 +17516,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -17519,7 +17525,7 @@ local.get $3 return ) - (func $~lib/map/Map#keys (param $this i32) (result i32) + (func $"~lib/map/Map#keys" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $keys i32) @@ -17535,29 +17541,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $keys - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -17569,15 +17575,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -17586,7 +17592,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -17595,7 +17601,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" call $~lib/array/Array#__set end local.get $i @@ -17609,7 +17615,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -17622,7 +17628,7 @@ local.get $8 return ) - (func $~lib/map/Map#values (param $this i32) (result i32) + (func $"~lib/map/Map#values" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $values i32) @@ -17638,29 +17644,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -17672,15 +17678,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -17689,7 +17695,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -17698,7 +17704,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" call $~lib/array/Array#__set end local.get $i @@ -17712,7 +17718,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -17734,12 +17740,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -17750,7 +17756,7 @@ local.get $1 return ) - (func $~lib/map/Map#delete (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#delete" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $halfBucketsMask i32) (local $4 i32) @@ -17763,17 +17769,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -17789,33 +17795,33 @@ end local.get $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $"~lib/map/MapEntry#set:taggedNext" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -17828,9 +17834,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.tee $5 local.get $4 local.get $5 @@ -17842,16 +17848,16 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -17865,10 +17871,10 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end i32.const 1 local.set $6 @@ -17879,7 +17885,7 @@ local.get $6 return ) - (func $~lib/map/Map#clear (param $this i32) + (func $"~lib/map/Map#clear" (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -17888,12 +17894,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -17903,69 +17909,69 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.8" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + br $"~lib/map/ENTRY_SIZE|inlined.8" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $map i32) (local $k i32) (local $k|2 i32) @@ -17987,12 +17993,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $map - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -18004,10 +18010,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -18022,22 +18028,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k i32.const 10 local.get $k i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -18051,10 +18057,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k i32.add @@ -18079,9 +18085,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -18104,10 +18110,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -18121,10 +18127,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k|2 i32.add @@ -18142,22 +18148,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -18171,10 +18177,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|2 i32.add @@ -18199,9 +18205,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -18218,31 +18224,31 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#keys + call $"~lib/map/Map#keys" local.tee $keys - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#values + call $"~lib/map/Map#values" local.tee $vals - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $keyMap - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $valMap - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $index loop $for-loop|2 @@ -18251,7 +18257,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/array/Array#get:length i32.lt_s @@ -18260,7 +18266,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -18269,7 +18275,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -18278,10 +18284,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -18295,12 +18301,12 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -18314,17 +18320,17 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $valMap local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 @@ -18332,7 +18338,7 @@ local.get $value i32.const 20 i32.sub - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $index i32.const 1 @@ -18345,9 +18351,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -18363,9 +18369,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -18388,10 +18394,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -18405,10 +18411,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|10 i32.add @@ -18426,19 +18432,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -18460,9 +18466,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -18485,10 +18491,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -18503,22 +18509,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -18532,19 +18538,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -18566,9 +18572,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -18584,16 +18590,16 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#clear + call $"~lib/map/Map#clear" local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 0 i32.eq i32.eqz @@ -18610,7 +18616,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -18619,10 +18625,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -18631,13 +18637,13 @@ i32.const 18 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -18647,63 +18653,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -18712,7 +18718,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -18723,33 +18729,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -18757,7 +18763,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key i32.eq else @@ -18791,7 +18797,7 @@ local.get $5 return ) - (func $~lib/map/Map#has (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -18800,17 +18806,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -18821,7 +18827,7 @@ local.get $2 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -18842,10 +18848,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -18857,7 +18863,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -18867,33 +18873,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -18908,7 +18914,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -18916,15 +18922,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -18938,23 +18944,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -18965,64 +18971,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -19036,10 +19042,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -19047,17 +19053,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -19065,38 +19071,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -19107,101 +19113,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -19209,11 +19215,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -19224,7 +19230,7 @@ local.get $8 return ) - (func $~lib/map/Map#get (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -19234,17 +19240,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -19257,7 +19263,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -19266,7 +19272,7 @@ local.get $3 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -19275,14 +19281,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -19304,10 +19310,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -19316,13 +19322,13 @@ i32.const 19 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -19330,7 +19336,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -19338,7 +19344,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -19346,7 +19352,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -19379,7 +19385,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -19388,20 +19394,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -19409,7 +19415,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -19417,7 +19423,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -19438,13 +19444,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -19471,7 +19477,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -19482,7 +19488,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -19490,7 +19496,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -19507,7 +19513,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 2 @@ -19517,7 +19523,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -19526,7 +19532,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $this i32) (result i32) + (func $"~lib/map/Map#keys" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $keys i32) @@ -19542,29 +19548,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $keys - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -19576,15 +19582,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -19593,7 +19599,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -19602,7 +19608,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" call $~lib/array/Array#__set end local.get $i @@ -19616,7 +19622,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -19629,7 +19635,7 @@ local.get $8 return ) - (func $~lib/map/Map#values (param $this i32) (result i32) + (func $"~lib/map/Map#values" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $values i32) @@ -19645,29 +19651,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -19679,15 +19685,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -19696,7 +19702,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -19705,7 +19711,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" call $~lib/array/Array#__set end local.get $i @@ -19719,7 +19725,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -19732,7 +19738,7 @@ local.get $8 return ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -19741,10 +19747,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -19753,13 +19759,13 @@ i32.const 20 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -19769,63 +19775,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -19843,12 +19849,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -19869,13 +19875,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -19891,14 +19897,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -19911,7 +19917,7 @@ local.get $3 return ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -19922,33 +19928,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -19956,7 +19962,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key i32.eq else @@ -19990,7 +19996,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -20011,10 +20017,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -20026,7 +20032,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -20036,33 +20042,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -20077,7 +20083,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -20085,15 +20091,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -20107,23 +20113,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -20134,64 +20140,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -20205,10 +20211,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -20216,17 +20222,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -20234,38 +20240,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -20276,101 +20282,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -20378,11 +20384,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -20393,7 +20399,7 @@ local.get $8 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20402,14 +20408,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20418,7 +20424,7 @@ local.get $1 return ) - (func $~lib/map/Map#delete (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#delete" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $halfBucketsMask i32) (local $4 i32) @@ -20431,17 +20437,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -20457,33 +20463,33 @@ end local.get $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $"~lib/map/MapEntry#set:taggedNext" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -20496,9 +20502,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.tee $5 local.get $4 local.get $5 @@ -20510,16 +20516,16 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -20533,10 +20539,10 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end i32.const 1 local.set $6 @@ -20547,7 +20553,7 @@ local.get $6 return ) - (func $~lib/map/Map#clear (param $this i32) + (func $"~lib/map/Map#clear" (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -20556,12 +20562,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -20571,69 +20577,69 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.8" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + br $"~lib/map/ENTRY_SIZE|inlined.8" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $map i32) (local $k i32) (local $k|2 i32) @@ -20655,12 +20661,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $map - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -20672,10 +20678,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -20690,22 +20696,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k i32.const 10 local.get $k i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -20719,10 +20725,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k i32.add @@ -20747,9 +20753,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -20772,10 +20778,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -20789,10 +20795,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k|2 i32.add @@ -20810,22 +20816,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -20839,10 +20845,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|2 i32.add @@ -20867,9 +20873,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -20886,31 +20892,31 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#keys + call $"~lib/map/Map#keys" local.tee $keys - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#values + call $"~lib/map/Map#values" local.tee $vals - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $keyMap - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $valMap - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $index loop $for-loop|2 @@ -20919,7 +20925,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/array/Array#get:length i32.lt_s @@ -20928,7 +20934,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -20937,7 +20943,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -20946,10 +20952,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -20963,12 +20969,12 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -20982,17 +20988,17 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $valMap local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 @@ -21000,7 +21006,7 @@ local.get $value i32.const 20 i32.sub - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $index i32.const 1 @@ -21013,9 +21019,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -21031,9 +21037,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -21056,10 +21062,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -21073,10 +21079,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|10 i32.add @@ -21094,19 +21100,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -21128,9 +21134,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -21153,10 +21159,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -21171,22 +21177,22 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -21200,19 +21206,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -21234,9 +21240,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -21252,16 +21258,16 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#clear + call $"~lib/map/Map#clear" local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 0 i32.eq i32.eqz @@ -21278,7 +21284,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -21287,10 +21293,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -21299,13 +21305,13 @@ i32.const 21 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -21315,63 +21321,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -21380,7 +21386,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#find (param $this i32) (param $key i64) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -21391,33 +21397,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -21425,7 +21431,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key i64.eq else @@ -21459,7 +21465,7 @@ local.get $5 return ) - (func $~lib/map/Map#has (param $this i32) (param $key i64) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key i64) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21468,17 +21474,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -21489,7 +21495,7 @@ local.get $2 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -21510,10 +21516,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -21525,7 +21531,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -21535,33 +21541,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -21576,7 +21582,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -21584,15 +21590,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -21606,23 +21612,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -21633,64 +21639,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i64) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i64) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -21704,10 +21710,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -21715,17 +21721,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -21733,38 +21739,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -21775,101 +21781,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -21877,11 +21883,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -21892,7 +21898,7 @@ local.get $8 return ) - (func $~lib/map/Map#get (param $this i32) (param $key i64) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key i64) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -21902,17 +21908,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -21925,7 +21931,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21934,7 +21940,7 @@ local.get $3 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21943,14 +21949,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21972,10 +21978,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -21984,13 +21990,13 @@ i32.const 22 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -21998,7 +22004,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -22006,7 +22012,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -22014,7 +22020,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -22047,7 +22053,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -22056,20 +22062,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -22077,7 +22083,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -22085,7 +22091,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -22106,13 +22112,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -22139,7 +22145,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -22150,7 +22156,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -22158,7 +22164,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -22175,7 +22181,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 3 @@ -22185,7 +22191,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -22194,7 +22200,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $this i32) (result i32) + (func $"~lib/map/Map#keys" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $keys i32) @@ -22210,29 +22216,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $keys - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -22244,15 +22250,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -22261,7 +22267,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -22270,7 +22276,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" call $~lib/array/Array#__set end local.get $i @@ -22284,7 +22290,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -22297,7 +22303,7 @@ local.get $8 return ) - (func $~lib/map/Map#values (param $this i32) (result i32) + (func $"~lib/map/Map#values" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $values i32) @@ -22313,29 +22319,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -22347,15 +22353,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -22364,7 +22370,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -22373,7 +22379,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" call $~lib/array/Array#__set end local.get $i @@ -22387,7 +22393,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -22400,7 +22406,7 @@ local.get $8 return ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -22409,10 +22415,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -22421,13 +22427,13 @@ i32.const 23 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -22437,63 +22443,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -22511,12 +22517,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -22538,13 +22544,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -22560,14 +22566,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -22580,7 +22586,7 @@ local.get $4 return ) - (func $~lib/map/Map#find (param $this i32) (param $key i64) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -22591,33 +22597,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -22625,7 +22631,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key i64.eq else @@ -22659,7 +22665,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -22680,10 +22686,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -22695,7 +22701,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -22705,33 +22711,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -22746,7 +22752,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -22754,15 +22760,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -22776,23 +22782,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -22803,64 +22809,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i64) (param $value i64) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i64) (param $value i64) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -22874,10 +22880,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -22885,17 +22891,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -22903,38 +22909,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -22945,101 +22951,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -23047,11 +23053,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -23062,7 +23068,7 @@ local.get $8 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23071,14 +23077,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23087,7 +23093,7 @@ local.get $1 return ) - (func $~lib/map/Map#delete (param $this i32) (param $key i64) (result i32) + (func $"~lib/map/Map#delete" (param $this i32) (param $key i64) (result i32) (local $entry i32) (local $halfBucketsMask i32) (local $4 i32) @@ -23100,17 +23106,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -23126,33 +23132,33 @@ end local.get $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $"~lib/map/MapEntry#set:taggedNext" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -23165,9 +23171,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.tee $5 local.get $4 local.get $5 @@ -23179,16 +23185,16 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -23202,10 +23208,10 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end i32.const 1 local.set $6 @@ -23216,7 +23222,7 @@ local.get $6 return ) - (func $~lib/map/Map#clear (param $this i32) + (func $"~lib/map/Map#clear" (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -23225,12 +23231,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -23240,69 +23246,69 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.8" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.8 + br $"~lib/map/ENTRY_SIZE|inlined.8" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $map i32) (local $k i64) (local $k|2 i64) @@ -23324,12 +23330,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $map - i32.store $0 + i32.store i64.const 0 local.set $k loop $for-loop|0 @@ -23341,10 +23347,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -23359,23 +23365,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k i32.const 10 local.get $k i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23389,10 +23395,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k i32.wrap_i64 @@ -23418,9 +23424,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -23443,10 +23449,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23460,10 +23466,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k|2 i32.wrap_i64 @@ -23482,23 +23488,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23512,10 +23518,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|2 i32.wrap_i64 @@ -23541,9 +23547,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -23560,31 +23566,31 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#keys + call $"~lib/map/Map#keys" local.tee $keys - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#values + call $"~lib/map/Map#values" local.tee $vals - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $keyMap - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $valMap - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $index loop $for-loop|2 @@ -23593,7 +23599,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/array/Array#get:length i32.lt_s @@ -23602,7 +23608,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -23611,7 +23617,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -23620,10 +23626,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23637,13 +23643,13 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 i32.sub i64.extend_i32_s - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23657,17 +23663,17 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $valMap local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 @@ -23675,7 +23681,7 @@ local.get $value i32.const 20 i32.sub - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $index i32.const 1 @@ -23688,9 +23694,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -23706,9 +23712,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -23731,10 +23737,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23748,10 +23754,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|10 i32.wrap_i64 @@ -23770,19 +23776,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -23804,9 +23810,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -23829,10 +23835,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -23847,23 +23853,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23877,19 +23883,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -23911,9 +23917,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -23929,16 +23935,16 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#clear + call $"~lib/map/Map#clear" local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 0 i32.eq i32.eqz @@ -23955,7 +23961,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -23964,10 +23970,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -23976,13 +23982,13 @@ i32.const 24 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -23992,63 +23998,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -24057,7 +24063,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#find (param $this i32) (param $key i64) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -24068,33 +24074,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -24102,7 +24108,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key i64.eq else @@ -24136,7 +24142,7 @@ local.get $5 return ) - (func $~lib/map/Map#has (param $this i32) (param $key i64) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key i64) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24145,17 +24151,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -24166,7 +24172,7 @@ local.get $2 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -24187,10 +24193,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -24202,7 +24208,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -24212,33 +24218,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -24253,7 +24259,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -24261,15 +24267,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -24283,23 +24289,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -24310,64 +24316,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i64) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i64) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -24381,10 +24387,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -24392,17 +24398,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -24410,38 +24416,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -24452,101 +24458,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -24554,11 +24560,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -24569,7 +24575,7 @@ local.get $8 return ) - (func $~lib/map/Map#get (param $this i32) (param $key i64) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key i64) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -24579,17 +24585,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -24602,7 +24608,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24611,7 +24617,7 @@ local.get $3 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24620,14 +24626,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24649,10 +24655,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -24661,13 +24667,13 @@ i32.const 25 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -24675,7 +24681,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -24683,7 +24689,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -24691,7 +24697,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -24724,7 +24730,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -24733,20 +24739,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -24754,7 +24760,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -24762,7 +24768,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -24783,13 +24789,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -24816,7 +24822,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -24827,7 +24833,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -24835,7 +24841,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -24852,7 +24858,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 3 @@ -24862,7 +24868,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -24871,7 +24877,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $this i32) (result i32) + (func $"~lib/map/Map#keys" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $keys i32) @@ -24887,29 +24893,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $keys - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -24921,15 +24927,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -24938,7 +24944,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -24947,7 +24953,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" call $~lib/array/Array#__set end local.get $i @@ -24961,7 +24967,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -24974,7 +24980,7 @@ local.get $8 return ) - (func $~lib/map/Map#values (param $this i32) (result i32) + (func $"~lib/map/Map#values" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $values i32) @@ -24990,29 +24996,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -25024,15 +25030,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -25041,7 +25047,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -25050,7 +25056,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" call $~lib/array/Array#__set end local.get $i @@ -25064,7 +25070,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -25077,7 +25083,7 @@ local.get $8 return ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -25086,10 +25092,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -25098,13 +25104,13 @@ i32.const 26 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -25114,63 +25120,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -25188,12 +25194,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -25215,13 +25221,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -25237,14 +25243,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -25257,7 +25263,7 @@ local.get $4 return ) - (func $~lib/map/Map#find (param $this i32) (param $key i64) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -25268,33 +25274,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -25302,7 +25308,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key i64.eq else @@ -25336,7 +25342,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -25357,10 +25363,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -25372,7 +25378,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -25382,33 +25388,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -25423,7 +25429,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -25431,15 +25437,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -25453,23 +25459,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -25480,64 +25486,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i64) (param $value i64) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i64) (param $value i64) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -25551,10 +25557,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -25562,17 +25568,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -25580,38 +25586,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -25622,101 +25628,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -25724,11 +25730,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -25739,7 +25745,7 @@ local.get $8 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25748,14 +25754,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25764,7 +25770,7 @@ local.get $1 return ) - (func $~lib/map/Map#delete (param $this i32) (param $key i64) (result i32) + (func $"~lib/map/Map#delete" (param $this i32) (param $key i64) (result i32) (local $entry i32) (local $halfBucketsMask i32) (local $4 i32) @@ -25777,17 +25783,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -25803,33 +25809,33 @@ end local.get $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $"~lib/map/MapEntry#set:taggedNext" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -25842,9 +25848,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.tee $5 local.get $4 local.get $5 @@ -25856,16 +25862,16 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -25879,10 +25885,10 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end i32.const 1 local.set $6 @@ -25893,7 +25899,7 @@ local.get $6 return ) - (func $~lib/map/Map#clear (param $this i32) + (func $"~lib/map/Map#clear" (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -25902,12 +25908,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -25917,69 +25923,69 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.8" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.8 + br $"~lib/map/ENTRY_SIZE|inlined.8" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $map i32) (local $k i64) (local $k|2 i64) @@ -26001,12 +26007,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $map - i32.store $0 + i32.store i64.const 0 local.set $k loop $for-loop|0 @@ -26018,10 +26024,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -26036,23 +26042,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k i32.const 10 local.get $k i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -26066,10 +26072,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k i32.wrap_i64 @@ -26095,9 +26101,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -26120,10 +26126,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -26137,10 +26143,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k|2 i32.wrap_i64 @@ -26159,23 +26165,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -26189,10 +26195,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|2 i32.wrap_i64 @@ -26218,9 +26224,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -26237,31 +26243,31 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#keys + call $"~lib/map/Map#keys" local.tee $keys - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#values + call $"~lib/map/Map#values" local.tee $vals - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $keyMap - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $valMap - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $index loop $for-loop|2 @@ -26270,7 +26276,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/array/Array#get:length i32.lt_s @@ -26279,7 +26285,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -26288,7 +26294,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -26297,10 +26303,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -26314,13 +26320,13 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 i32.sub i64.extend_i32_s - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -26334,17 +26340,17 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $valMap local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 @@ -26352,7 +26358,7 @@ local.get $value i32.const 20 i32.sub - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $index i32.const 1 @@ -26365,9 +26371,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -26383,9 +26389,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -26408,10 +26414,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -26425,10 +26431,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|10 i32.wrap_i64 @@ -26447,19 +26453,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -26481,9 +26487,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -26506,10 +26512,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -26524,23 +26530,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -26554,19 +26560,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -26588,9 +26594,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -26606,16 +26612,16 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#clear + call $"~lib/map/Map#clear" local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 0 i32.eq i32.eqz @@ -26632,7 +26638,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -26641,10 +26647,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -26653,13 +26659,13 @@ i32.const 27 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -26669,63 +26675,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -26734,7 +26740,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#find (param $this i32) (param $key f32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key f32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -26745,33 +26751,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -26779,7 +26785,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key f32.eq else @@ -26813,7 +26819,7 @@ local.get $5 return ) - (func $~lib/map/Map#has (param $this i32) (param $key f32) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key f32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26822,17 +26828,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -26843,7 +26849,7 @@ local.get $2 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -26864,10 +26870,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -26879,7 +26885,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -26889,33 +26895,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -26930,7 +26936,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -26938,15 +26944,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -26960,23 +26966,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -26987,64 +26993,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key f32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key f32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -27058,10 +27064,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -27069,17 +27075,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -27087,38 +27093,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -27129,101 +27135,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -27231,11 +27237,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -27246,7 +27252,7 @@ local.get $8 return ) - (func $~lib/map/Map#get (param $this i32) (param $key f32) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key f32) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -27256,17 +27262,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -27279,7 +27285,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -27288,7 +27294,7 @@ local.get $3 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -27297,14 +27303,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -27326,10 +27332,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -27338,13 +27344,13 @@ i32.const 28 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -27352,7 +27358,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -27360,7 +27366,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -27368,7 +27374,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -27401,7 +27407,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -27410,20 +27416,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -27431,7 +27437,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -27439,7 +27445,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -27460,13 +27466,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -27493,7 +27499,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -27504,7 +27510,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -27512,7 +27518,7 @@ i32.shl i32.add local.get $value - f32.store $0 + f32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -27529,7 +27535,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 2 @@ -27539,7 +27545,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -27548,7 +27554,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $this i32) (result i32) + (func $"~lib/map/Map#keys" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $keys i32) @@ -27564,29 +27570,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $keys - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -27598,15 +27604,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -27615,7 +27621,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -27624,7 +27630,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" call $~lib/array/Array#__set end local.get $i @@ -27638,7 +27644,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -27651,7 +27657,7 @@ local.get $8 return ) - (func $~lib/map/Map#values (param $this i32) (result i32) + (func $"~lib/map/Map#values" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $values i32) @@ -27667,29 +27673,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -27701,15 +27707,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -27718,7 +27724,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -27727,7 +27733,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" call $~lib/array/Array#__set end local.get $i @@ -27741,7 +27747,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -27754,7 +27760,7 @@ local.get $8 return ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -27763,10 +27769,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -27775,13 +27781,13 @@ i32.const 29 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -27791,63 +27797,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -27865,12 +27871,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -27892,13 +27898,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -27914,14 +27920,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -27934,7 +27940,7 @@ local.get $4 return ) - (func $~lib/map/Map#find (param $this i32) (param $key f32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key f32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -27945,33 +27951,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -27979,7 +27985,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key f32.eq else @@ -28013,7 +28019,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -28034,10 +28040,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -28049,7 +28055,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -28059,33 +28065,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -28100,7 +28106,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -28108,15 +28114,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -28130,23 +28136,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -28157,64 +28163,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key f32) (param $value f32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key f32) (param $value f32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -28228,10 +28234,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -28239,17 +28245,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -28257,38 +28263,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -28299,101 +28305,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -28401,11 +28407,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -28416,7 +28422,7 @@ local.get $8 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -28425,14 +28431,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -28441,7 +28447,7 @@ local.get $1 return ) - (func $~lib/map/Map#delete (param $this i32) (param $key f32) (result i32) + (func $"~lib/map/Map#delete" (param $this i32) (param $key f32) (result i32) (local $entry i32) (local $halfBucketsMask i32) (local $4 i32) @@ -28454,17 +28460,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -28480,33 +28486,33 @@ end local.get $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $"~lib/map/MapEntry#set:taggedNext" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -28519,9 +28525,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.tee $5 local.get $4 local.get $5 @@ -28533,16 +28539,16 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -28556,10 +28562,10 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end i32.const 1 local.set $6 @@ -28570,7 +28576,7 @@ local.get $6 return ) - (func $~lib/map/Map#clear (param $this i32) + (func $"~lib/map/Map#clear" (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -28579,12 +28585,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -28594,69 +28600,69 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.8" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + br $"~lib/map/ENTRY_SIZE|inlined.8" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $map i32) (local $k f32) (local $k|2 f32) @@ -28678,12 +28684,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $map - i32.store $0 + i32.store f32.const 0 local.set $k loop $for-loop|0 @@ -28695,10 +28701,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -28713,23 +28719,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k i32.const 10 local.get $k i32.trunc_sat_f32_s i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -28743,10 +28749,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k i32.trunc_sat_f32_s @@ -28772,9 +28778,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -28797,10 +28803,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -28814,10 +28820,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k|2 i32.trunc_sat_f32_s @@ -28836,23 +28842,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.trunc_sat_f32_s i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -28866,10 +28872,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|2 i32.trunc_sat_f32_s @@ -28895,9 +28901,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -28914,31 +28920,31 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#keys + call $"~lib/map/Map#keys" local.tee $keys - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#values + call $"~lib/map/Map#values" local.tee $vals - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $keyMap - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $valMap - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $index loop $for-loop|2 @@ -28947,7 +28953,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/array/Array#get:length i32.lt_s @@ -28956,7 +28962,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -28965,7 +28971,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -28974,10 +28980,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -28991,13 +28997,13 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 i32.sub f32.convert_i32_s - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -29011,17 +29017,17 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $valMap local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 @@ -29029,7 +29035,7 @@ local.get $value i32.const 20 i32.sub - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $index i32.const 1 @@ -29042,9 +29048,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -29060,9 +29066,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -29085,10 +29091,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -29102,10 +29108,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|10 i32.trunc_sat_f32_s @@ -29124,19 +29130,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -29158,9 +29164,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -29183,10 +29189,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -29201,23 +29207,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.trunc_sat_f32_s i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -29231,19 +29237,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -29265,9 +29271,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -29283,16 +29289,16 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#clear + call $"~lib/map/Map#clear" local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 0 i32.eq i32.eqz @@ -29309,7 +29315,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -29318,10 +29324,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -29330,13 +29336,13 @@ i32.const 30 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -29346,63 +29352,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -29411,7 +29417,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#find (param $this i32) (param $key f64) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key f64) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -29422,33 +29428,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -29456,7 +29462,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key f64.eq else @@ -29490,7 +29496,7 @@ local.get $5 return ) - (func $~lib/map/Map#has (param $this i32) (param $key f64) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key f64) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -29499,17 +29505,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -29520,7 +29526,7 @@ local.get $2 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -29541,10 +29547,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -29556,7 +29562,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -29566,33 +29572,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -29607,7 +29613,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -29615,15 +29621,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -29637,23 +29643,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -29664,64 +29670,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key f64) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key f64) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -29735,10 +29741,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -29746,17 +29752,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -29764,38 +29770,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -29806,101 +29812,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -29908,11 +29914,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -29923,7 +29929,7 @@ local.get $8 return ) - (func $~lib/map/Map#get (param $this i32) (param $key f64) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key f64) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -29933,17 +29939,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -29956,7 +29962,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -29965,7 +29971,7 @@ local.get $3 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -29974,14 +29980,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -30003,10 +30009,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -30015,13 +30021,13 @@ i32.const 31 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -30029,7 +30035,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -30037,7 +30043,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -30045,7 +30051,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -30078,7 +30084,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -30087,20 +30093,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -30108,7 +30114,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -30116,7 +30122,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -30137,13 +30143,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -30170,7 +30176,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -30181,7 +30187,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -30189,7 +30195,7 @@ i32.shl i32.add local.get $value - f64.store $0 + f64.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -30206,7 +30212,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 3 @@ -30216,7 +30222,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -30225,7 +30231,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#keys (param $this i32) (result i32) + (func $"~lib/map/Map#keys" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $keys i32) @@ -30241,29 +30247,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $keys - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -30275,15 +30281,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -30292,7 +30298,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -30301,7 +30307,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" call $~lib/array/Array#__set end local.get $i @@ -30315,7 +30321,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -30328,7 +30334,7 @@ local.get $8 return ) - (func $~lib/map/Map#values (param $this i32) (result i32) + (func $"~lib/map/Map#values" (param $this i32) (result i32) (local $start i32) (local $size i32) (local $values i32) @@ -30344,29 +30350,29 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $start local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -30378,15 +30384,15 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -30395,7 +30401,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -30404,7 +30410,7 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" call $~lib/array/Array#__set end local.get $i @@ -30418,7 +30424,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -30431,7 +30437,7 @@ local.get $8 return ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -30440,10 +30446,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -30452,13 +30458,13 @@ i32.const 32 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -30468,63 +30474,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -30542,12 +30548,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -30569,13 +30575,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -30591,14 +30597,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -30611,7 +30617,7 @@ local.get $4 return ) - (func $~lib/map/Map#find (param $this i32) (param $key f64) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key f64) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -30622,33 +30628,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -30656,7 +30662,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key f64.eq else @@ -30690,7 +30696,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -30711,10 +30717,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -30726,7 +30732,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -30736,33 +30742,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -30777,7 +30783,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -30785,15 +30791,15 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#get:value" + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -30807,23 +30813,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -30834,64 +30840,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key f64) (param $value f64) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key f64) (param $value f64) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -30905,10 +30911,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -30916,17 +30922,17 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop else @@ -30934,38 +30940,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -30976,101 +30982,101 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -31078,11 +31084,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -31093,7 +31099,7 @@ local.get $8 return ) - (func $~lib/map/Map#get:size (param $this i32) (result i32) + (func $"~lib/map/Map#get:size" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -31102,14 +31108,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -31118,7 +31124,7 @@ local.get $1 return ) - (func $~lib/map/Map#delete (param $this i32) (param $key f64) (result i32) + (func $"~lib/map/Map#delete" (param $this i32) (param $key f64) (result i32) (local $entry i32) (local $halfBucketsMask i32) (local $4 i32) @@ -31131,17 +31137,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -31157,33 +31163,33 @@ end local.get $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $"~lib/map/MapEntry#set:taggedNext" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -31196,9 +31202,9 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.tee $5 local.get $4 local.get $5 @@ -31210,16 +31216,16 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -31233,10 +31239,10 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end i32.const 1 local.set $6 @@ -31247,7 +31253,7 @@ local.get $6 return ) - (func $~lib/map/Map#clear (param $this i32) + (func $"~lib/map/Map#clear" (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -31256,12 +31262,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -31271,69 +31277,69 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.8" (result i32) i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.8 + br $"~lib/map/ENTRY_SIZE|inlined.8" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $map i32) (local $k f64) (local $k|2 f64) @@ -31355,12 +31361,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $map - i32.store $0 + i32.store f64.const 0 local.set $k loop $for-loop|0 @@ -31372,10 +31378,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -31390,23 +31396,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k i32.const 10 local.get $k i32.trunc_sat_f64_s i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -31420,10 +31426,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k i32.trunc_sat_f64_s @@ -31449,9 +31455,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -31474,10 +31480,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -31491,10 +31497,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 10 local.get $k|2 i32.trunc_sat_f64_s @@ -31513,23 +31519,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.trunc_sat_f64_s i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -31543,10 +31549,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|2 i32.trunc_sat_f64_s @@ -31572,9 +31578,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -31591,31 +31597,31 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#keys + call $"~lib/map/Map#keys" local.tee $keys - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#values + call $"~lib/map/Map#values" local.tee $vals - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $keyMap - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $valMap - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $index loop $for-loop|2 @@ -31624,7 +31630,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/array/Array#get:length i32.lt_s @@ -31633,7 +31639,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -31642,7 +31648,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $index call $~lib/array/Array#__get @@ -31651,10 +31657,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -31668,13 +31674,13 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 i32.sub f64.convert_i32_s - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -31688,17 +31694,17 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $valMap local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $value i32.const 20 @@ -31706,7 +31712,7 @@ local.get $value i32.const 20 i32.sub - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $index i32.const 1 @@ -31719,9 +31725,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -31737,9 +31743,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.eq i32.eqz @@ -31762,10 +31768,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -31779,10 +31785,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $"~lib/map/Map#get" i32.const 20 local.get $k|10 i32.trunc_sat_f64_s @@ -31801,19 +31807,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -31835,9 +31841,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -31860,10 +31866,10 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -31878,23 +31884,23 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.trunc_sat_f64_s i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -31908,19 +31914,19 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" drop local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz i32.eqz if @@ -31942,9 +31948,9 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 50 i32.eq i32.eqz @@ -31960,16 +31966,16 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#clear + call $"~lib/map/Map#clear" local.get $map local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 0 i32.eq i32.eqz @@ -31986,7 +31992,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -31996,23 +32002,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32033,14 +32039,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -32059,14 +32065,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -32076,7 +32082,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32086,23 +32092,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32114,7 +32120,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32124,23 +32130,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32152,7 +32158,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32162,23 +32168,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32199,14 +32205,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -32216,7 +32222,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32226,23 +32232,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32254,7 +32260,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32264,23 +32270,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32301,14 +32307,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -32318,7 +32324,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32328,23 +32334,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32356,7 +32362,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32366,23 +32372,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32403,14 +32409,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -32420,7 +32426,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32430,23 +32436,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32458,7 +32464,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32468,23 +32474,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32505,14 +32511,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -32522,7 +32528,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32532,23 +32538,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32560,7 +32566,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32570,23 +32576,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32607,14 +32613,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -32624,7 +32630,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32634,23 +32640,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32662,7 +32668,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32672,23 +32678,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32709,14 +32715,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -32726,7 +32732,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32736,23 +32742,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32764,7 +32770,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32774,23 +32780,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32811,14 +32817,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -32828,7 +32834,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32838,23 +32844,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32866,7 +32872,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32876,23 +32882,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32913,14 +32919,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -32930,7 +32936,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -32940,23 +32946,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 0 drop @@ -32978,7 +32984,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.gt_u @@ -32995,7 +33001,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index 53df77daec..835670c17a 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -1,29 +1,29 @@ (module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i64_i32_=>_i32 (func (param i32 i64 i32) (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i32_i64_i64_=>_none (func (param i32 i64 i64))) - (type $i32_i64_=>_none (func (param i32 i64))) - (type $i32_f32_=>_i32 (func (param i32 f32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) - (type $i32_f32_i32_=>_i32 (func (param i32 f32 i32) (result i32))) - (type $i32_f32_i32_=>_none (func (param i32 f32 i32))) - (type $i32_f32_f32_=>_none (func (param i32 f32 f32))) - (type $i32_f32_=>_none (func (param i32 f32))) - (type $i32_f64_i32_=>_i32 (func (param i32 f64 i32) (result i32))) - (type $i32_f64_i32_=>_none (func (param i32 f64 i32))) - (type $i32_f64_f64_=>_none (func (param i32 f64 f64))) - (type $i32_f64_=>_none (func (param i32 f64))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32 i32 i32))) + (type $3 (func)) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32))) + (type $6 (func (param i32 i32 i32) (result i32))) + (type $7 (func (param i32 i64) (result i32))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64))) + (type $10 (func (result i32))) + (type $11 (func (param i32 i64 i32) (result i32))) + (type $12 (func (param i32 i64 i32))) + (type $13 (func (param i32 i64 i64))) + (type $14 (func (param i32 i64))) + (type $15 (func (param i32 f32) (result i32))) + (type $16 (func (param i32 f64) (result i32))) + (type $17 (func (param i32 f32 i32) (result i32))) + (type $18 (func (param i32 f32 i32))) + (type $19 (func (param i32 f32 f32))) + (type $20 (func (param i32 f32))) + (type $21 (func (param i32 f64 i32) (result i32))) + (type $22 (func (param i32 f64 i32))) + (type $23 (func (param i32 f64 f64))) + (type $24 (func (param i32 f64))) (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)) @@ -37,45 +37,45 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34664)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1484) "<") - (data (i32.const 1496) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1548) ",") - (data (i32.const 1560) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s") - (data (i32.const 1596) "<") - (data (i32.const 1608) "\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t") - (data (i32.const 1660) ",") - (data (i32.const 1672) "\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s") - (data (i32.const 1708) ",") - (data (i32.const 1720) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1760) "!\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\89\10\00B\08\00\00\02\t\00\00P\88\10\00\10\t\12\00\10\89\00\00B\00\00\00P\80\00\00\10\t\11\00\82\08\00\00\90\08\11\00\10\t\01\00\82\00\00\00\90\00\01\00\10\t\02\00\02\01\00\00\10\01\02\00\10\t\14\00\02\n\00\00\10\n\14\00\10\t\04\00\02\02\00\00\10\02\04\00\10\t2\00\02\19\00\00\10\192\00\10\t4\00\02\1a\00\00\10\1a4") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) ",") + (data $8.1 (i32.const 1448) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $9 (i32.const 1484) "<") + (data $9.1 (i32.const 1496) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $10 (i32.const 1548) ",") + (data $10.1 (i32.const 1560) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00a\00p\00.\00t\00s") + (data $11 (i32.const 1596) "<") + (data $11.1 (i32.const 1608) "\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t") + (data $12 (i32.const 1660) ",") + (data $12.1 (i32.const 1672) "\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s") + (data $13 (i32.const 1708) ",") + (data $13.1 (i32.const 1720) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $14 (i32.const 1760) "!\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\89\10\00B\08\00\00\02\t\00\00P\88\10\00\10\t\12\00\10\89\00\00B\00\00\00P\80\00\00\10\t\11\00\82\08\00\00\90\08\11\00\10\t\01\00\82\00\00\00\90\00\01\00\10\t\02\00\02\01\00\00\10\01\02\00\10\t\14\00\02\n\00\00\10\n\14\00\10\t\04\00\02\02\00\00\10\02\04\00\10\t2\00\02\19\00\00\10\192\00\10\t4\00\02\1a\00\00\10\1a4") (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 + call $~lib/rt/itcms/__visit i32.const 1456 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1616 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -85,7 +85,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -103,7 +103,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -120,7 +120,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -134,16 +134,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$1422 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34664 @@ -158,10 +158,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$1422 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -174,20 +174,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -196,7 +196,7 @@ else local.get $1 i32.const 1760 - i32.load $0 + i32.load i32.gt_u if i32.const 1248 @@ -211,13 +211,13 @@ i32.shl i32.const 1764 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -227,21 +227,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -249,8 +273,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -262,10 +286,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -276,29 +300,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -306,10 +330,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -323,75 +347,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -413,7 +430,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -430,12 +447,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -452,17 +469,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -472,9 +489,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -499,13 +516,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -539,7 +556,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -595,19 +612,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -619,15 +636,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -635,23 +652,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -665,10 +684,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -676,23 +695,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -704,52 +722,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -757,7 +776,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -765,7 +784,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -776,10 +795,10 @@ end i32.const 34672 i32.const 0 - i32.store $0 + i32.store i32.const 36240 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -791,7 +810,7 @@ i32.const 34672 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -809,7 +828,7 @@ i32.const 34672 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -826,9 +845,10 @@ end i32.const 34672 i32.const 36244 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34672 global.set $~lib/rt/tlsf/ROOT @@ -858,7 +878,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -871,19 +891,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -894,7 +914,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -906,7 +926,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -919,12 +939,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -933,7 +949,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -944,26 +960,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -979,7 +995,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -995,7 +1011,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1020,14 +1036,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1047,7 +1063,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1062,25 +1077,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1089,12 +1103,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1102,47 +1115,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1153,7 +1168,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1163,7 +1178,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1180,10 +1195,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1199,13 +1214,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1220,7 +1235,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1247,7 +1262,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1259,16 +1274,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1276,8 +1287,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1304,34 +1314,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1339,21 +1375,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1366,12 +1387,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1382,9 +1403,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1394,7 +1416,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1402,14 +1424,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1418,8 +1440,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1428,95 +1450,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1529,14 +1551,67 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load 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 + ) + (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 @@ -1545,7 +1620,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $invalid end return @@ -1555,12 +1630,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end unreachable @@ -1574,29 +1645,20 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=8 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1612,19 +1674,14 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1639,7 +1696,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34664 @@ -1649,38 +1706,38 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric - call $std/map/testNumeric + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" + call $"std/map/testNumeric" global.get $~lib/rt/itcms/state i32.const 0 i32.gt_s @@ -1715,9 +1772,8 @@ i32.add global.set $~lib/rt/itcms/threshold ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"~lib/map/Map#find" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1734,33 +1790,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 1 i32.and @@ -1768,7 +1821,7 @@ i32.const 0 else local.get $0 - i32.load8_u $0 + i32.load8_u local.get $1 i32.const 255 i32.and @@ -1795,8 +1848,7 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1813,12 +1865,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -1850,17 +1901,15 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#rehash" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -1884,13 +1933,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -1899,7 +1947,7 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 @@ -1911,19 +1959,19 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $7 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add @@ -1936,25 +1984,24 @@ i32.ne if local.get $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $7 - i32.load8_s $0 + i32.load8_s local.tee $8 - i32.store8 $0 + i32.store8 local.get $2 local.get $7 - i32.load $0 offset=4 - i32.store $0 offset=4 + i32.load offset=4 + i32.store offset=4 local.get $2 local.get $6 local.get $1 local.get $8 - i32.extend8_s i32.const -1028477379 i32.mul i32.const 374761394 @@ -1964,34 +2011,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 12 i32.add @@ -2005,70 +2052,60 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $6 - i32.store $0 + i32.store + local.get $0 local.get $6 - if - local.get $0 - local.get $6 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $5 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2085,15 +2122,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -2126,45 +2162,41 @@ local.get $3 i32.xor local.tee $4 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -2173,99 +2205,97 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $5 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $3 - local.get $6 + local.get $5 i32.const 12 i32.mul i32.add local.tee $3 local.get $1 - i32.store8 $0 + i32.store8 local.get $3 local.get $2 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $1 local.get $4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 local.get $3 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2282,12 +2312,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -2319,7 +2348,7 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -2331,16 +2360,13 @@ unreachable end local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.load offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#get:size (param $0 i32) (result i32) - (local $1 i32) + (func $"~lib/map/Map#get:size" (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2357,20 +2383,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $0 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) @@ -2391,15 +2414,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $5 local.get $2 i32.shr_u @@ -2420,9 +2442,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $4 i32.const 8 local.get $1 @@ -2452,12 +2474,12 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew + block $__inlined_func$~lib/rt/itcms/__renew$1377 local.get $4 i32.const 20 i32.sub local.tee $3 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -2467,26 +2489,26 @@ if local.get $3 local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $4 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew + br $__inlined_func$~lib/rt/itcms/__renew$1377 end local.get $1 local.get $3 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $2 local.get $4 local.get $1 local.get $3 - i32.load $0 offset=16 + i32.load offset=16 local.tee $3 local.get $1 local.get $3 i32.lt_u select - memory.copy $0 $0 + memory.copy end local.get $2 local.get $4 @@ -2494,20 +2516,17 @@ if local.get $0 local.get $2 - i32.store $0 + i32.store local.get $0 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 local.get $2 - if - local.get $0 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link end local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2532,15 +2551,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -2564,22 +2582,21 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add local.get $2 - i32.store8 $0 - local.get $3 + i32.store8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2602,7 +2619,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 0 @@ -2610,10 +2627,10 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2623,7 +2640,6 @@ (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -2640,43 +2656,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 6 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + local.get $1 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 i32.const 0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 268435455 i32.gt_u @@ -2697,50 +2714,46 @@ select i32.const 2 i32.shl - local.tee $1 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.tee $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 - local.get $2 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $2 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $3 - i32.store $0 offset=4 - local.get $4 local.get $2 - i32.store $0 offset=4 + i32.store offset=12 + local.get $1 local.get $2 + i32.store local.get $1 - i32.store $0 offset=8 - local.get $4 local.get $2 - i32.store $0 offset=4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - i32.store $0 offset=12 - local.get $4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -2760,15 +2773,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -2792,24 +2804,23 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2832,7 +2843,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 2 @@ -2840,16 +2851,16 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#values (param $0 i32) (result i32) + (func $"~lib/map/Map#values" (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -2871,48 +2882,47 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=16 - local.tee $4 + i32.load offset=16 + local.tee $0 call $~lib/array/Array#constructor local.tee $5 - i32.store $0 offset=4 + i32.store offset=4 loop $for-loop|0 + local.get $0 local.get $2 - local.get $4 - i32.lt_s + i32.gt_s if local.get $3 local.get $2 i32.const 12 i32.mul i32.add - local.tee $0 - i32.load $0 offset=8 + local.tee $4 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $1 - local.get $0 - i32.load $0 offset=4 + local.get $4 + i32.load offset=4 call $~lib/array/Array#__set local.get $1 i32.const 1 @@ -2928,7 +2938,7 @@ end global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $1 call $~lib/array/Array#set:length @@ -2938,7 +2948,7 @@ global.set $~lib/memory/__stack_pointer local.get $5 ) - (func $~lib/map/Map#constructor (result i32) + (func $"~lib/map/Map#constructor" (result i32) (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2957,88 +2967,78 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3055,23 +3055,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3088,15 +3084,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -3107,24 +3102,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -3144,37 +3136,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $1 i32.extend8_s i32.const -1028477379 @@ -3186,39 +3155,60 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor - local.tee $7 + local.tee $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $3 - block $__inlined_func$~lib/map/Map#find + block $"__inlined_func$~lib/map/Map#find$1378" loop $while-continue|0 local.get $3 if local.get $3 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 i32.const 1 i32.and @@ -3226,7 +3216,7 @@ i32.const 0 else local.get $3 - i32.load8_u $0 + i32.load8_u local.get $1 i32.const 255 i32.and @@ -3237,7 +3227,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/map/Map#find + br $"__inlined_func$~lib/map/Map#find$1378" end local.get $4 i32.const -2 @@ -3257,39 +3247,33 @@ if local.get $3 local.get $2 - i32.store8 $0 offset=1 + i32.store8 offset=1 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $3 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -3298,21 +3282,21 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -3322,77 +3306,75 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.const 1 i32.add local.tee $3 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $10 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer local.get $3 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $8 + local.tee $9 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $4 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $9 + local.set $10 local.get $4 local.set $3 loop $while-continue|00 local.get $5 - local.get $9 + local.get $10 i32.ne if local.get $5 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $3 local.get $5 - i32.load8_s $0 + i32.load8_s local.tee $11 - i32.store8 $0 + i32.store8 local.get $3 local.get $5 - i32.load8_s $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_s offset=1 + i32.store8 offset=1 local.get $3 - local.get $10 local.get $6 + local.get $7 local.get $11 - i32.extend8_s i32.const -1028477379 i32.mul i32.const 374761394 @@ -3402,34 +3384,34 @@ i32.const 668265263 i32.mul local.tee $11 + local.get $11 i32.const 15 i32.shr_u - local.get $11 i32.xor i32.const -2048144777 i32.mul local.tee $11 + local.get $11 i32.const 13 i32.shr_u - local.get $11 i32.xor i32.const -1028477379 i32.mul local.tee $11 + local.get $11 i32.const 16 i32.shr_u - local.get $11 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $11 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $11 local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 8 i32.add @@ -3443,134 +3425,124 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 offset=8 - local.get $3 - local.get $10 - i32.store $0 offset=12 local.get $0 - local.get $10 - i32.store $0 - local.get $10 - if - local.get $0 - local.get $10 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.get $6 + i32.store offset=12 local.get $0 - i32.store $0 offset=8 + local.get $6 + i32.store local.get $0 local.get $6 - i32.store $0 offset=4 - local.get $3 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + local.get $0 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $4 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $4 - if - local.get $0 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $8 - i32.store $0 offset=12 - local.get $3 + local.get $9 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $3 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.store $0 offset=8 - local.get $3 + i32.load offset=8 + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 + local.get $3 local.get $4 - local.get $5 i32.const 3 i32.shl i32.add - local.tee $4 + local.tee $3 local.get $1 - i32.store8 $0 - local.get $4 - local.get $2 - i32.store8 $0 offset=1 + i32.store8 local.get $3 + local.get $2 + i32.store8 offset=1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + local.get $3 local.get $1 - local.get $7 + local.get $8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -3585,9 +3557,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"~lib/map/Map#find" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3604,33 +3575,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 1 i32.and @@ -3639,7 +3607,7 @@ else local.get $1 local.get $0 - i32.load $0 + i32.load i32.eq end if @@ -3663,7 +3631,7 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#rehash" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -3687,13 +3655,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -3702,7 +3669,7 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 @@ -3714,19 +3681,19 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $7 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add @@ -3739,20 +3706,20 @@ i32.ne if local.get $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $7 - i32.load $0 + i32.load local.tee $8 - i32.store $0 + i32.store local.get $2 local.get $7 - i32.load $0 offset=4 - i32.store $0 offset=4 + i32.load offset=4 + i32.store offset=4 local.get $2 local.get $6 local.get $1 @@ -3766,34 +3733,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 12 i32.add @@ -3807,70 +3774,60 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $6 - i32.store $0 + i32.store + local.get $0 local.get $6 - if - local.get $0 - local.get $6 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $5 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -3887,15 +3844,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -3927,45 +3883,41 @@ local.get $3 i32.xor local.tee $4 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -3974,100 +3926,98 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $5 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $3 - local.get $6 + local.get $5 i32.const 12 i32.mul i32.add local.tee $3 local.get $1 - i32.store $0 + i32.store local.get $3 local.get $2 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $1 local.get $4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 local.get $3 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#delete" (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4084,12 +4034,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -4121,7 +4070,7 @@ i32.shr_u local.get $1 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $1 i32.eqz if @@ -4133,60 +4082,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -4198,17 +4143,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 - call $~lib/map/Map#rehash + local.get $1 + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#clear (param $0 i32) + (func $"~lib/map/Map#clear" (param $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -4226,77 +4171,68 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $0 i32) (local $1 i32) (local $2 i32) @@ -4306,9 +4242,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 24 i32.sub @@ -4319,11 +4252,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 24 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -4332,98 +4265,88 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 4 call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $8 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 + i32.store + local.get $1 local.get $5 - if - local.get $8 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 3 - i32.store $0 offset=4 - local.get $5 - local.get $8 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $8 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 + local.get $1 local.get $5 - if - local.get $8 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 4 - i32.store $0 offset=12 - local.get $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=16 - local.get $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $8 - i32.store $0 + local.get $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -4433,20 +4356,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -4457,12 +4380,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 10 i32.add i32.ne @@ -4474,18 +4397,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -4497,18 +4420,18 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -4519,12 +4442,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 10 i32.add i32.ne @@ -4537,20 +4460,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 20 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -4561,12 +4484,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 20 i32.add i32.ne @@ -4578,18 +4501,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -4601,10 +4524,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $8 - i32.store $0 offset=4 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -4613,22 +4536,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=8 - local.set $4 + i32.store local.get $1 - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=16 - local.set $10 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -4637,44 +4560,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $5 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 5 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $7 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store + local.get $7 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=4 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=8 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $6 i32.const 1073741820 i32.gt_u if @@ -4687,117 +4611,111 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $6 + local.get $6 i32.const 8 i32.le_u select - local.tee $6 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $7 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 - local.get $5 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $5 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $8 + i32.store offset=12 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $11 - i32.store $0 offset=4 local.get $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $10 - i32.store $0 offset=12 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 local.get $7 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 - i32.store $0 offset=4 - loop $for-loop|01 - local.get $2 - local.get $10 + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $3 + local.get $6 i32.lt_s if - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.const 12 i32.mul i32.add - local.tee $1 - i32.load $0 offset=8 + local.tee $8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $7 + i32.store + local.get $7 local.get $0 - local.get $1 - i32.load8_s $0 + local.get $8 + i32.load8_s call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|01 + local.set $3 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $7 + i32.store + local.get $7 local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $5 - i32.store $0 offset=8 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $"~lib/map/Map#values" local.tee $0 - local.get $8 - i32.store $0 offset=4 - local.get $0 - local.get $8 - call $~lib/map/Map#values - local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -4807,105 +4725,94 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 7 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $4 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 local.get $4 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 + local.get $5 + i32.store local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 3 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 local.get $4 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 offset=8 + local.get $5 + i32.store offset=8 local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 4 - i32.store $0 offset=12 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=16 + i32.store offset=4 local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 i32.const 0 - i32.store $0 offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=16 + local.get $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $1 - i32.store $0 offset=20 + call $"~lib/map/Map#constructor" + local.tee $3 + i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $5 - i32.store $0 offset=4 - local.get $4 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4914,15 +4821,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 - local.get $5 - i32.store $0 - local.get $3 - local.get $5 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $2 + local.get $7 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -4933,32 +4839,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $5 - i32.store $0 - local.get $3 - local.get $5 - i32.load $0 offset=4 + local.get $7 + i32.store + local.get $2 + local.get $7 + i32.load offset=4 i32.add - i32.load8_s $0 - local.set $6 - local.get $4 + i32.load8_s + local.set $5 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $3 + local.get $2 call $~lib/array/Array#__get - local.set $4 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $6 - call $~lib/map/Map#has + local.get $1 + i32.store offset=4 + local.get $1 + local.get $5 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -4969,13 +4874,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 + local.get $6 i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -4986,34 +4891,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $6 - local.get $6 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 local.get $4 - i32.const 20 - i32.sub - local.tee $4 + i32.store offset=4 local.get $4 - call $~lib/map/Map#set + local.get $5 + local.get $5 + call $"~lib/map/Map#set" + global.get $~lib/memory/__stack_pointer local.get $3 + i32.store offset=4 + local.get $3 + local.get $6 + i32.const 20 + i32.sub + local.tee $5 + local.get $5 + call $"~lib/map/Map#set" + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/map/Map#get:size + local.get $4 + i32.store offset=4 + local.get $4 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -5025,10 +4930,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#get:size + local.get $3 + i32.store offset=4 + local.get $3 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -5040,18 +4945,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -5062,12 +4967,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 20 i32.add i32.ne @@ -5080,17 +4985,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -5099,18 +5004,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -5122,18 +5027,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -5143,20 +5048,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -5167,17 +5072,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -5186,18 +5091,18 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -5209,15 +5114,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#clear + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" if i32.const 0 i32.const 1568 @@ -5239,8 +5144,7 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5257,12 +5161,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -5295,17 +5198,15 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#rehash" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5329,13 +5230,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -5344,7 +5244,7 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 @@ -5356,19 +5256,19 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $7 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add @@ -5381,20 +5281,20 @@ i32.ne if local.get $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $7 - i32.load8_u $0 + i32.load8_u local.tee $8 - i32.store8 $0 + i32.store8 local.get $2 local.get $7 - i32.load $0 offset=4 - i32.store $0 offset=4 + i32.load offset=4 + i32.store offset=4 local.get $2 local.get $6 local.get $1 @@ -5408,34 +5308,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 12 i32.add @@ -5449,70 +5349,60 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $6 - i32.store $0 + i32.store + local.get $0 local.get $6 - if - local.get $0 - local.get $6 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $5 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -5529,15 +5419,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -5571,45 +5460,41 @@ local.get $3 i32.xor local.tee $4 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -5618,99 +5503,97 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $5 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $3 - local.get $6 + local.get $5 i32.const 12 i32.mul i32.add local.tee $3 local.get $1 - i32.store8 $0 + i32.store8 local.get $3 local.get $2 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $1 local.get $4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 local.get $3 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5727,12 +5610,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -5765,7 +5647,7 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -5777,15 +5659,13 @@ unreachable end local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.load offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -5805,37 +5685,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $1 i32.const 255 i32.and @@ -5848,39 +5705,60 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor - local.tee $7 + local.tee $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $3 - block $__inlined_func$~lib/map/Map#find + block $"__inlined_func$~lib/map/Map#find$1383" loop $while-continue|0 local.get $3 if local.get $3 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 i32.const 1 i32.and @@ -5888,7 +5766,7 @@ i32.const 0 else local.get $3 - i32.load8_u $0 + i32.load8_u local.get $1 i32.const 255 i32.and @@ -5899,7 +5777,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/map/Map#find + br $"__inlined_func$~lib/map/Map#find$1383" end local.get $4 i32.const -2 @@ -5919,39 +5797,33 @@ if local.get $3 local.get $2 - i32.store8 $0 offset=1 + i32.store8 offset=1 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $3 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -5960,21 +5832,21 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -5984,75 +5856,74 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.const 1 i32.add local.tee $3 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $10 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer local.get $3 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $8 + local.tee $9 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $4 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $9 + local.set $10 local.get $4 local.set $3 loop $while-continue|00 local.get $5 - local.get $9 + local.get $10 i32.ne if local.get $5 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $3 local.get $5 - i32.load8_u $0 + i32.load8_u local.tee $11 - i32.store8 $0 + i32.store8 local.get $3 local.get $5 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 + i32.load8_u offset=1 + i32.store8 offset=1 local.get $3 - local.get $10 local.get $6 + local.get $7 local.get $11 i32.const -1028477379 i32.mul @@ -6063,34 +5934,34 @@ i32.const 668265263 i32.mul local.tee $11 + local.get $11 i32.const 15 i32.shr_u - local.get $11 i32.xor i32.const -2048144777 i32.mul local.tee $11 + local.get $11 i32.const 13 i32.shr_u - local.get $11 i32.xor i32.const -1028477379 i32.mul local.tee $11 + local.get $11 i32.const 16 i32.shr_u - local.get $11 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $11 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $11 local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 8 i32.add @@ -6104,134 +5975,124 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 offset=8 - local.get $3 - local.get $10 - i32.store $0 offset=12 local.get $0 - local.get $10 - i32.store $0 - local.get $10 - if - local.get $0 - local.get $10 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.get $6 + i32.store offset=12 local.get $0 - i32.store $0 offset=8 + local.get $6 + i32.store local.get $0 local.get $6 - i32.store $0 offset=4 - local.get $3 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + local.get $0 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $4 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $4 - if - local.get $0 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $8 - i32.store $0 offset=12 - local.get $3 + local.get $9 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $3 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.store $0 offset=8 - local.get $3 + i32.load offset=8 + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 + local.get $3 local.get $4 - local.get $5 i32.const 3 i32.shl i32.add - local.tee $4 + local.tee $3 local.get $1 - i32.store8 $0 - local.get $4 - local.get $2 - i32.store8 $0 offset=1 + i32.store8 local.get $3 + local.get $2 + i32.store8 offset=1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + local.get $3 local.get $1 - local.get $7 + local.get $8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -6246,9 +6107,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#delete" (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -6265,12 +6125,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -6303,7 +6162,7 @@ i32.shr_u local.get $1 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $1 i32.eqz if @@ -6315,60 +6174,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -6380,17 +6235,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 - call $~lib/map/Map#rehash + local.get $1 + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $0 i32) (local $1 i32) (local $2 i32) @@ -6400,9 +6255,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 24 i32.sub @@ -6413,11 +6265,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 24 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -6426,98 +6278,88 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 9 call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $8 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 + i32.store + local.get $1 local.get $5 - if - local.get $8 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 3 - i32.store $0 offset=4 - local.get $5 - local.get $8 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $8 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 + local.get $1 local.get $5 - if - local.get $8 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 4 - i32.store $0 offset=12 - local.get $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=16 - local.get $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $8 - i32.store $0 + local.get $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -6527,20 +6369,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -6551,12 +6393,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 10 i32.add i32.ne @@ -6568,18 +6410,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -6591,18 +6433,18 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -6613,12 +6455,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 10 i32.add i32.ne @@ -6631,20 +6473,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 20 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -6655,12 +6497,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 20 i32.add i32.ne @@ -6672,18 +6514,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -6695,10 +6537,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $8 - i32.store $0 offset=4 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -6707,22 +6549,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=8 - local.set $4 + i32.store local.get $1 - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=16 - local.set $10 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -6731,44 +6573,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $5 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 10 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $7 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 + i32.store + local.get $7 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=4 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=8 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $6 i32.const 1073741820 i32.gt_u if @@ -6781,117 +6624,111 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $6 + local.get $6 i32.const 8 i32.le_u select - local.tee $6 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $7 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 - local.get $5 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $5 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $8 + i32.store offset=12 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $11 - i32.store $0 offset=4 local.get $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $10 - i32.store $0 offset=12 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 - i32.store $0 offset=4 - loop $for-loop|01 - local.get $2 - local.get $10 + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $3 + local.get $6 i32.lt_s if - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.const 12 i32.mul i32.add - local.tee $1 - i32.load $0 offset=8 + local.tee $8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $7 + i32.store + local.get $7 local.get $0 - local.get $1 - i32.load8_u $0 + local.get $8 + i32.load8_u call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|01 + local.set $3 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $7 + i32.store + local.get $7 local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $5 - i32.store $0 offset=8 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $"~lib/map/Map#values" local.tee $0 - local.get $8 - i32.store $0 offset=4 - local.get $0 - local.get $8 - call $~lib/map/Map#values - local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -6901,105 +6738,94 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 11 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $4 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 local.get $4 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 + local.get $5 + i32.store local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 3 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 local.get $4 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 offset=8 + local.get $5 + i32.store offset=8 local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 4 - i32.store $0 offset=12 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=16 + i32.store offset=4 local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 i32.const 0 - i32.store $0 offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=16 + local.get $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $1 - i32.store $0 offset=20 + call $"~lib/map/Map#constructor" + local.tee $3 + i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $5 - i32.store $0 offset=4 - local.get $4 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -7008,15 +6834,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 - local.get $5 - i32.store $0 - local.get $3 - local.get $5 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $2 + local.get $7 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -7027,32 +6852,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $5 - i32.store $0 - local.get $3 - local.get $5 - i32.load $0 offset=4 + local.get $7 + i32.store + local.get $2 + local.get $7 + i32.load offset=4 i32.add - i32.load8_u $0 - local.set $6 - local.get $4 + i32.load8_u + local.set $5 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $3 + local.get $2 call $~lib/array/Array#__get - local.set $4 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $6 - call $~lib/map/Map#has + local.get $1 + i32.store offset=4 + local.get $1 + local.get $5 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -7063,13 +6887,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 + local.get $6 i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -7080,34 +6904,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $6 - local.get $6 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 local.get $4 - i32.const 20 - i32.sub - local.tee $4 + i32.store offset=4 local.get $4 - call $~lib/map/Map#set + local.get $5 + local.get $5 + call $"~lib/map/Map#set" + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 local.get $3 + local.get $6 + i32.const 20 + i32.sub + local.tee $5 + local.get $5 + call $"~lib/map/Map#set" + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/map/Map#get:size + local.get $4 + i32.store offset=4 + local.get $4 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -7119,10 +6943,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#get:size + local.get $3 + i32.store offset=4 + local.get $3 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -7134,18 +6958,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -7156,12 +6980,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 20 i32.add i32.ne @@ -7174,17 +6998,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -7193,18 +7017,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -7216,18 +7040,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -7237,20 +7061,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -7261,17 +7085,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -7280,18 +7104,18 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -7303,15 +7127,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#clear + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" if i32.const 0 i32.const 1568 @@ -7333,9 +7157,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"~lib/map/Map#find" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7352,33 +7175,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 1 i32.and @@ -7386,7 +7206,7 @@ i32.const 0 else local.get $0 - i32.load16_u $0 + i32.load16_u local.get $1 i32.const 65535 i32.and @@ -7413,8 +7233,7 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7431,12 +7250,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -7468,17 +7286,15 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#rehash" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -7502,13 +7318,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -7517,7 +7332,7 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 @@ -7529,19 +7344,19 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $7 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add @@ -7554,25 +7369,24 @@ i32.ne if local.get $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $7 - i32.load16_s $0 + i32.load16_s local.tee $8 - i32.store16 $0 + i32.store16 local.get $2 local.get $7 - i32.load $0 offset=4 - i32.store $0 offset=4 + i32.load offset=4 + i32.store offset=4 local.get $2 local.get $6 local.get $1 local.get $8 - i32.extend16_s i32.const -1028477379 i32.mul i32.const 374761395 @@ -7582,34 +7396,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 12 i32.add @@ -7623,70 +7437,60 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $6 - i32.store $0 + i32.store + local.get $0 local.get $6 - if - local.get $0 - local.get $6 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $5 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -7703,15 +7507,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -7744,45 +7547,41 @@ local.get $3 i32.xor local.tee $4 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -7791,99 +7590,97 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $5 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $3 - local.get $6 + local.get $5 i32.const 12 i32.mul i32.add local.tee $3 local.get $1 - i32.store16 $0 + i32.store16 local.get $3 local.get $2 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $1 local.get $4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 local.get $3 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7900,12 +7697,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -7937,7 +7733,7 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -7949,13 +7745,11 @@ unreachable end local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.load offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -7975,15 +7769,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -8007,24 +7800,23 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add local.get $2 - i32.store16 $0 - local.get $3 + i32.store16 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -8047,7 +7839,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 1 @@ -8055,16 +7847,16 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8084,37 +7876,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $1 i32.extend16_s i32.const -1028477379 @@ -8126,39 +7895,60 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor - local.tee $7 + local.tee $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $3 + local.get $0 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $3 - block $__inlined_func$~lib/map/Map#find + block $"__inlined_func$~lib/map/Map#find$1388" loop $while-continue|0 local.get $3 if local.get $3 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 i32.const 1 i32.and @@ -8166,7 +7956,7 @@ i32.const 0 else local.get $3 - i32.load16_u $0 + i32.load16_u local.get $1 i32.const 65535 i32.and @@ -8177,7 +7967,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/map/Map#find + br $"__inlined_func$~lib/map/Map#find$1388" end local.get $4 i32.const -2 @@ -8197,39 +7987,33 @@ if local.get $3 local.get $2 - i32.store16 $0 offset=2 + i32.store16 offset=2 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $3 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -8238,21 +8022,21 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -8262,77 +8046,75 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.const 1 i32.add local.tee $3 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $10 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer local.get $3 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $8 + local.tee $9 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $4 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $9 + local.set $10 local.get $4 local.set $3 loop $while-continue|00 local.get $5 - local.get $9 + local.get $10 i32.ne if local.get $5 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $3 local.get $5 - i32.load16_s $0 + i32.load16_s local.tee $11 - i32.store16 $0 + i32.store16 local.get $3 local.get $5 - i32.load16_s $0 offset=2 - i32.store16 $0 offset=2 + i32.load16_s offset=2 + i32.store16 offset=2 local.get $3 - local.get $10 local.get $6 + local.get $7 local.get $11 - i32.extend16_s i32.const -1028477379 i32.mul i32.const 374761395 @@ -8342,34 +8124,34 @@ i32.const 668265263 i32.mul local.tee $11 + local.get $11 i32.const 15 i32.shr_u - local.get $11 i32.xor i32.const -2048144777 i32.mul local.tee $11 + local.get $11 i32.const 13 i32.shr_u - local.get $11 i32.xor i32.const -1028477379 i32.mul local.tee $11 + local.get $11 i32.const 16 i32.shr_u - local.get $11 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $11 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $11 local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 8 i32.add @@ -8383,134 +8165,124 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 offset=8 - local.get $3 - local.get $10 - i32.store $0 offset=12 local.get $0 - local.get $10 - i32.store $0 - local.get $10 - if - local.get $0 - local.get $10 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.get $6 + i32.store offset=12 local.get $0 - i32.store $0 offset=8 + local.get $6 + i32.store local.get $0 local.get $6 - i32.store $0 offset=4 - local.get $3 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + local.get $0 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $4 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $4 - if - local.get $0 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $8 - i32.store $0 offset=12 - local.get $3 + local.get $9 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $3 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.store $0 offset=8 - local.get $3 + i32.load offset=8 + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 + local.get $3 local.get $4 - local.get $5 i32.const 3 i32.shl i32.add - local.tee $4 + local.tee $3 local.get $1 - i32.store16 $0 - local.get $4 - local.get $2 - i32.store16 $0 offset=2 + i32.store16 local.get $3 + local.get $2 + i32.store16 offset=2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + local.get $3 local.get $1 - local.get $7 + local.get $8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -8525,9 +8297,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#delete" (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -8544,12 +8315,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -8581,7 +8351,7 @@ i32.shr_u local.get $1 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $1 i32.eqz if @@ -8593,60 +8363,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -8658,17 +8424,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 - call $~lib/map/Map#rehash + local.get $1 + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $0 i32) (local $1 i32) (local $2 i32) @@ -8678,9 +8444,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 24 i32.sub @@ -8691,11 +8454,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 24 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -8704,98 +8467,88 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 12 call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $8 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 + i32.store + local.get $1 local.get $5 - if - local.get $8 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 3 - i32.store $0 offset=4 - local.get $5 - local.get $8 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $8 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 + local.get $1 local.get $5 - if - local.get $8 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 4 - i32.store $0 offset=12 - local.get $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=16 - local.get $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $8 - i32.store $0 + local.get $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -8805,20 +8558,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -8829,12 +8582,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 10 i32.add i32.ne @@ -8846,18 +8599,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -8869,18 +8622,18 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -8891,12 +8644,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 10 i32.add i32.ne @@ -8909,20 +8662,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 20 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -8933,12 +8686,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 20 i32.add i32.ne @@ -8950,18 +8703,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -8973,10 +8726,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $8 - i32.store $0 offset=4 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -8985,22 +8738,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=8 - local.set $4 + i32.store local.get $1 - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=16 - local.set $10 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -9009,44 +8762,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $5 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 13 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $7 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store + local.get $7 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=4 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=8 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $6 i32.const 536870910 i32.gt_u if @@ -9059,119 +8813,113 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $6 + local.get $6 i32.const 8 i32.le_u select i32.const 1 i32.shl - local.tee $6 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $7 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 - local.get $5 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $5 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $8 + i32.store offset=12 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $11 - i32.store $0 offset=4 local.get $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $10 - i32.store $0 offset=12 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 local.get $7 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 - i32.store $0 offset=4 - loop $for-loop|01 - local.get $2 - local.get $10 + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $3 + local.get $6 i32.lt_s if - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.const 12 i32.mul i32.add - local.tee $1 - i32.load $0 offset=8 + local.tee $8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $7 + i32.store + local.get $7 local.get $0 - local.get $1 - i32.load16_s $0 + local.get $8 + i32.load16_s call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|01 + local.set $3 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $7 + i32.store + local.get $7 local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $5 - i32.store $0 offset=8 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $"~lib/map/Map#values" local.tee $0 - local.get $8 - i32.store $0 offset=4 - local.get $0 - local.get $8 - call $~lib/map/Map#values - local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -9181,105 +8929,94 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 14 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $4 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 local.get $4 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 + local.get $5 + i32.store local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 3 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 local.get $4 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 offset=8 + local.get $5 + i32.store offset=8 local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 4 - i32.store $0 offset=12 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=16 + i32.store offset=4 local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 i32.const 0 - i32.store $0 offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=16 + local.get $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $1 - i32.store $0 offset=20 + call $"~lib/map/Map#constructor" + local.tee $3 + i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $5 - i32.store $0 offset=4 - local.get $4 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -9288,15 +9025,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 - local.get $5 - i32.store $0 - local.get $3 - local.get $5 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $2 + local.get $7 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -9307,34 +9043,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $5 - i32.store $0 - local.get $5 - i32.load $0 offset=4 - local.get $3 + local.get $7 + i32.store + local.get $7 + i32.load offset=4 + local.get $2 i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $6 - local.get $4 + i32.load16_s + local.set $5 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $3 + local.get $2 call $~lib/array/Array#__get - local.set $4 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $6 - call $~lib/map/Map#has + local.get $1 + i32.store offset=4 + local.get $1 + local.get $5 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -9345,13 +9080,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 + local.get $6 i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -9362,34 +9097,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $6 - local.get $6 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 local.get $4 - i32.const 20 - i32.sub - local.tee $4 + i32.store offset=4 local.get $4 - call $~lib/map/Map#set + local.get $5 + local.get $5 + call $"~lib/map/Map#set" + global.get $~lib/memory/__stack_pointer local.get $3 + i32.store offset=4 + local.get $3 + local.get $6 + i32.const 20 + i32.sub + local.tee $5 + local.get $5 + call $"~lib/map/Map#set" + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/map/Map#get:size + local.get $4 + i32.store offset=4 + local.get $4 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -9401,10 +9136,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#get:size + local.get $3 + i32.store offset=4 + local.get $3 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -9416,18 +9151,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -9438,12 +9173,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 20 i32.add i32.ne @@ -9456,17 +9191,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -9475,18 +9210,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -9498,18 +9233,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -9519,20 +9254,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -9543,17 +9278,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -9562,18 +9297,18 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -9585,15 +9320,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#clear + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" if i32.const 0 i32.const 1568 @@ -9615,8 +9350,7 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -9633,12 +9367,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -9671,17 +9404,15 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#rehash" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9705,13 +9436,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -9720,7 +9450,7 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 @@ -9732,19 +9462,19 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $7 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add @@ -9757,20 +9487,20 @@ i32.ne if local.get $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $7 - i32.load16_u $0 + i32.load16_u local.tee $8 - i32.store16 $0 + i32.store16 local.get $2 local.get $7 - i32.load $0 offset=4 - i32.store $0 offset=4 + i32.load offset=4 + i32.store offset=4 local.get $2 local.get $6 local.get $1 @@ -9784,34 +9514,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 12 i32.add @@ -9825,70 +9555,60 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $6 - i32.store $0 + i32.store + local.get $0 local.get $6 - if - local.get $0 - local.get $6 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $5 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -9905,15 +9625,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -9947,45 +9666,41 @@ local.get $3 i32.xor local.tee $4 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -9994,99 +9709,97 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $5 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $3 - local.get $6 + local.get $5 i32.const 12 i32.mul i32.add local.tee $3 local.get $1 - i32.store16 $0 + i32.store16 local.get $3 local.get $2 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $1 local.get $4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 local.get $3 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -10103,12 +9816,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -10141,7 +9853,7 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -10153,15 +9865,13 @@ unreachable end local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.load offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -10181,37 +9891,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $1 i32.const 65535 i32.and @@ -10224,39 +9911,60 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor - local.tee $7 + local.tee $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $3 - block $__inlined_func$~lib/map/Map#find + block $"__inlined_func$~lib/map/Map#find$1393" loop $while-continue|0 local.get $3 if local.get $3 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 i32.const 1 i32.and @@ -10264,7 +9972,7 @@ i32.const 0 else local.get $3 - i32.load16_u $0 + i32.load16_u local.get $1 i32.const 65535 i32.and @@ -10275,7 +9983,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/map/Map#find + br $"__inlined_func$~lib/map/Map#find$1393" end local.get $4 i32.const -2 @@ -10295,39 +10003,33 @@ if local.get $3 local.get $2 - i32.store16 $0 offset=2 + i32.store16 offset=2 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $3 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -10336,21 +10038,21 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $6 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -10360,75 +10062,74 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.const 1 i32.add local.tee $3 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $10 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer local.get $3 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $8 + local.tee $9 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $4 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $9 + local.set $10 local.get $4 local.set $3 loop $while-continue|00 local.get $5 - local.get $9 + local.get $10 i32.ne if local.get $5 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $3 local.get $5 - i32.load16_u $0 + i32.load16_u local.tee $11 - i32.store16 $0 + i32.store16 local.get $3 local.get $5 - i32.load16_u $0 offset=2 - i32.store16 $0 offset=2 + i32.load16_u offset=2 + i32.store16 offset=2 local.get $3 - local.get $10 local.get $6 + local.get $7 local.get $11 i32.const -1028477379 i32.mul @@ -10439,34 +10140,34 @@ i32.const 668265263 i32.mul local.tee $11 + local.get $11 i32.const 15 i32.shr_u - local.get $11 i32.xor i32.const -2048144777 i32.mul local.tee $11 + local.get $11 i32.const 13 i32.shr_u - local.get $11 i32.xor i32.const -1028477379 i32.mul local.tee $11 + local.get $11 i32.const 16 i32.shr_u - local.get $11 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $11 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $11 local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 8 i32.add @@ -10480,134 +10181,124 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 offset=8 - local.get $3 - local.get $10 - i32.store $0 offset=12 local.get $0 - local.get $10 - i32.store $0 - local.get $10 - if - local.get $0 - local.get $10 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.get $6 + i32.store offset=12 local.get $0 - i32.store $0 offset=8 + local.get $6 + i32.store local.get $0 local.get $6 - i32.store $0 offset=4 - local.get $3 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + local.get $0 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $4 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $4 - if - local.get $0 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $8 - i32.store $0 offset=12 - local.get $3 + local.get $9 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $3 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.store $0 offset=8 - local.get $3 + i32.load offset=8 + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 + local.get $3 local.get $4 - local.get $5 i32.const 3 i32.shl i32.add - local.tee $4 + local.tee $3 local.get $1 - i32.store16 $0 - local.get $4 - local.get $2 - i32.store16 $0 offset=2 + i32.store16 local.get $3 + local.get $2 + i32.store16 offset=2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + local.get $3 local.get $1 - local.get $7 + local.get $8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -10622,9 +10313,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#delete" (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -10641,12 +10331,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -10679,7 +10368,7 @@ i32.shr_u local.get $1 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $1 i32.eqz if @@ -10691,60 +10380,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -10756,17 +10441,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 - call $~lib/map/Map#rehash + local.get $1 + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $0 i32) (local $1 i32) (local $2 i32) @@ -10776,9 +10461,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 24 i32.sub @@ -10789,11 +10471,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 24 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -10802,98 +10484,88 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 15 call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $8 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 + i32.store + local.get $1 local.get $5 - if - local.get $8 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 3 - i32.store $0 offset=4 - local.get $5 - local.get $8 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $8 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 + local.get $1 local.get $5 - if - local.get $8 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 4 - i32.store $0 offset=12 - local.get $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=16 - local.get $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $8 - i32.store $0 + local.get $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -10903,20 +10575,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -10927,12 +10599,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 10 i32.add i32.ne @@ -10944,18 +10616,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -10967,18 +10639,18 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -10989,12 +10661,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 10 i32.add i32.ne @@ -11007,20 +10679,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 20 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11031,12 +10703,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 20 i32.add i32.ne @@ -11048,18 +10720,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -11071,10 +10743,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $8 - i32.store $0 offset=4 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -11083,22 +10755,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=8 - local.set $4 + i32.store local.get $1 - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=16 - local.set $10 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -11107,44 +10779,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $5 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 16 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $7 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 + i32.store + local.get $7 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=4 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=8 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $6 i32.const 536870910 i32.gt_u if @@ -11157,119 +10830,113 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $6 + local.get $6 i32.const 8 i32.le_u select i32.const 1 i32.shl - local.tee $6 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $7 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 - local.get $5 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $5 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $8 + i32.store offset=12 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $11 - i32.store $0 offset=4 local.get $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $10 - i32.store $0 offset=12 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 + i32.store offset=4 + local.get $7 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 - i32.store $0 offset=4 - loop $for-loop|01 - local.get $2 - local.get $10 + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $3 + local.get $6 i32.lt_s if - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.const 12 i32.mul i32.add - local.tee $1 - i32.load $0 offset=8 + local.tee $8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $7 + i32.store + local.get $7 local.get $0 - local.get $1 - i32.load16_u $0 + local.get $8 + i32.load16_u call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|01 + local.set $3 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $7 + i32.store + local.get $7 local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $5 - i32.store $0 offset=8 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $"~lib/map/Map#values" local.tee $0 - local.get $8 - i32.store $0 offset=4 - local.get $0 - local.get $8 - call $~lib/map/Map#values - local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -11279,105 +10946,94 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 17 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $4 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 local.get $4 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 + local.get $5 + i32.store local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 3 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 local.get $4 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 offset=8 + local.get $5 + i32.store offset=8 local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 4 - i32.store $0 offset=12 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=16 + i32.store offset=4 local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 i32.const 0 - i32.store $0 offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $4 + i32.store offset=4 + local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=16 + local.get $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $1 - i32.store $0 offset=20 + call $"~lib/map/Map#constructor" + local.tee $3 + i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $5 - i32.store $0 offset=4 - local.get $4 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -11386,15 +11042,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 - local.get $5 - i32.store $0 - local.get $3 - local.get $5 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $2 + local.get $7 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -11405,34 +11060,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $5 - i32.store $0 - local.get $5 - i32.load $0 offset=4 - local.get $3 + local.get $7 + i32.store + local.get $7 + i32.load offset=4 + local.get $2 i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $6 - local.get $4 + i32.load16_u + local.set $5 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $3 + local.get $2 call $~lib/array/Array#__get - local.set $4 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $6 - call $~lib/map/Map#has + local.get $1 + i32.store offset=4 + local.get $1 + local.get $5 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11443,13 +11097,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 + local.get $6 i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11460,34 +11114,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $6 - local.get $6 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 local.get $4 - i32.const 20 - i32.sub - local.tee $4 + i32.store offset=4 local.get $4 - call $~lib/map/Map#set + local.get $5 + local.get $5 + call $"~lib/map/Map#set" + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 local.get $3 + local.get $6 + i32.const 20 + i32.sub + local.tee $5 + local.get $5 + call $"~lib/map/Map#set" + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/map/Map#get:size + local.get $4 + i32.store offset=4 + local.get $4 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -11499,10 +11153,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#get:size + local.get $3 + i32.store offset=4 + local.get $3 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -11514,18 +11168,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11536,12 +11190,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 20 i32.add i32.ne @@ -11554,17 +11208,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -11573,18 +11227,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -11596,18 +11250,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -11617,20 +11271,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -11641,17 +11295,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -11660,18 +11314,18 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -11683,15 +11337,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#clear + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" if i32.const 0 i32.const 1568 @@ -11713,8 +11367,7 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11731,12 +11384,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -11767,18 +11419,15 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11795,12 +11444,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -11831,7 +11479,7 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -11843,17 +11491,14 @@ unreachable end local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.load offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#delete" (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11870,12 +11515,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -11906,7 +11550,7 @@ i32.shr_u local.get $1 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $1 i32.eqz if @@ -11918,60 +11562,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -11983,17 +11623,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 - call $~lib/map/Map#rehash + local.get $1 + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $0 i32) (local $1 i32) (local $2 i32) @@ -12002,7 +11642,6 @@ (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -12013,25 +11652,24 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.const 24 - memory.fill $0 - local.get $3 - call $~lib/map/Map#constructor - local.tee $5 - i32.store $0 + memory.fill + global.get $~lib/memory/__stack_pointer + call $"~lib/map/Map#constructor" + local.tee $1 + i32.store loop $for-loop|0 local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -12041,20 +11679,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -12065,11 +11703,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $0 i32.const 10 i32.add @@ -12090,10 +11728,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -12112,11 +11750,11 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -12127,11 +11765,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $0 i32.const 10 i32.add @@ -12145,20 +11783,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 local.get $0 i32.const 20 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -12169,11 +11807,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $0 i32.const 20 i32.add @@ -12194,10 +11832,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -12209,10 +11847,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $5 - i32.store $0 offset=4 - local.get $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -12221,121 +11859,121 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - local.get $5 - i32.store $0 - local.get $5 - i32.load $0 offset=8 - local.set $7 - local.get $0 - local.get $5 - i32.store $0 - local.get $0 - local.get $5 - i32.load $0 offset=16 - local.tee $8 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load offset=16 + local.tee $6 call $~lib/array/Array#constructor - local.tee $3 - i32.store $0 offset=4 + local.tee $2 + i32.store offset=4 i32.const 0 local.set $0 - loop $for-loop|01 - local.get $2 - local.get $8 + loop $for-loop|00 + local.get $3 + local.get $6 i32.lt_s if - local.get $7 - local.get $2 + local.get $5 + local.get $3 i32.const 12 i32.mul i32.add - local.tee $4 - i32.load $0 offset=8 + local.tee $7 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $2 + i32.store + local.get $2 local.get $0 - local.get $4 - i32.load $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 $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|01 + local.set $3 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + local.get $2 + i32.store + local.get $2 local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $3 - i32.store $0 offset=8 + local.get $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - call $~lib/map/Map#values + local.get $1 + call $"~lib/map/Map#values" local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $2 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" local.tee $4 - i32.store $0 offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + call $"~lib/map/Map#constructor" + local.tee $5 + i32.store offset=20 + i32.const 0 + local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $2 + i32.store offset=4 + local.get $2 call $~lib/array/Array#get:length - local.get $1 + local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 local.get $3 - i32.store $0 offset=4 - local.get $3 - local.get $1 call $~lib/array/Array#__get local.set $6 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $1 + local.get $3 call $~lib/array/Array#__get local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $6 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -12346,13 +11984,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $7 i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -12363,34 +12001,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 local.get $6 local.get $6 - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $5 + i32.store offset=4 + local.get $5 local.get $7 i32.const 20 i32.sub local.tee $6 local.get $6 - call $~lib/map/Map#set - local.get $1 + call $"~lib/map/Map#set" + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/map/Map#get:size + local.get $4 + i32.store offset=4 + local.get $4 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -12402,10 +12040,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 - call $~lib/map/Map#get:size + local.get $5 + i32.store offset=4 + local.get $5 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -12424,11 +12062,11 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -12439,11 +12077,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $0 i32.const 20 i32.add @@ -12457,17 +12095,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -12484,10 +12122,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -12506,11 +12144,11 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -12520,20 +12158,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -12544,17 +12182,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -12571,10 +12209,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -12586,15 +12224,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#clear + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" if i32.const 0 i32.const 1568 @@ -12616,9 +12254,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"~lib/map/Map#find" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12635,33 +12272,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 1 i32.and @@ -12670,7 +12304,7 @@ else local.get $1 local.get $0 - i32.load $0 + i32.load i32.eq end if @@ -12694,8 +12328,7 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12712,12 +12345,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -12748,17 +12380,15 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#rehash" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -12782,13 +12412,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -12797,7 +12426,7 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 @@ -12809,19 +12438,19 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $7 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add @@ -12834,20 +12463,20 @@ i32.ne if local.get $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $7 - i32.load $0 + i32.load local.tee $8 - i32.store $0 + i32.store local.get $2 local.get $7 - i32.load $0 offset=4 - i32.store $0 offset=4 + i32.load offset=4 + i32.store offset=4 local.get $2 local.get $6 local.get $1 @@ -12861,34 +12490,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 12 i32.add @@ -12902,70 +12531,60 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $6 - i32.store $0 + i32.store + local.get $0 local.get $6 - if - local.get $0 - local.get $6 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $5 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -12982,15 +12601,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -13022,45 +12640,41 @@ local.get $3 i32.xor local.tee $4 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -13069,99 +12683,97 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $5 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $3 - local.get $6 + local.get $5 i32.const 12 i32.mul i32.add local.tee $3 local.get $1 - i32.store $0 + i32.store local.get $3 local.get $2 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $1 local.get $4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 local.get $3 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13178,12 +12790,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -13214,7 +12825,7 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -13226,15 +12837,13 @@ unreachable end local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.load offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -13254,15 +12863,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -13275,63 +12883,57 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor local.tee $7 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $3 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -13340,21 +12942,21 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $6 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -13364,75 +12966,74 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.const 1 i32.add local.tee $3 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $10 - i32.store $0 + local.tee $9 + i32.store global.get $~lib/memory/__stack_pointer local.get $3 i32.const 3 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 $4 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 - local.set $5 + i32.load offset=8 + local.set $10 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + local.get $10 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $9 + local.set $5 local.get $4 local.set $3 loop $while-continue|0 local.get $5 - local.get $9 + local.get $10 i32.ne if - local.get $5 - i32.load $0 offset=8 + local.get $10 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $3 - local.get $5 - i32.load $0 + local.get $10 + i32.load local.tee $11 - i32.store $0 - local.get $3 - local.get $5 - i32.load $0 offset=4 - i32.store $0 offset=4 + i32.store local.get $3 local.get $10 - local.get $6 + i32.load offset=4 + i32.store offset=4 + local.get $3 + local.get $9 + local.get $8 local.get $11 i32.const -1028477379 i32.mul @@ -13443,175 +13044,165 @@ i32.const 668265263 i32.mul local.tee $11 + local.get $11 i32.const 15 i32.shr_u - local.get $11 i32.xor i32.const -2048144777 i32.mul local.tee $11 + local.get $11 i32.const 13 i32.shr_u - local.get $11 i32.xor i32.const -1028477379 i32.mul local.tee $11 + local.get $11 i32.const 16 i32.shr_u - local.get $11 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $11 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $11 local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 12 i32.add local.set $3 end - local.get $5 + local.get $10 i32.const 12 i32.add - local.set $5 + local.set $10 br $while-continue|0 end end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 - local.get $3 - local.get $10 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store offset=12 local.get $0 - local.get $10 - i32.store $0 - local.get $10 - if - local.get $0 - local.get $10 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $9 + i32.store + local.get $0 + local.get $9 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $6 - i32.store $0 offset=4 - local.get $3 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $4 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $4 - if - local.get $0 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $8 - i32.store $0 offset=12 - local.get $3 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $3 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=8 local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.store $0 offset=8 - local.get $3 - local.get $0 - i32.store $0 - local.get $3 + i32.store offset=4 local.get $0 - i32.store $0 offset=4 local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 + local.get $3 local.get $4 - local.get $5 i32.const 12 i32.mul i32.add - local.tee $4 + local.tee $3 local.get $1 - i32.store $0 - local.get $4 - local.get $2 - i32.store $0 offset=4 + i32.store local.get $3 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + local.get $3 local.get $1 local.get $7 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 - local.get $4 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -13626,9 +13217,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#delete" (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -13645,12 +13235,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -13681,7 +13270,7 @@ i32.shr_u local.get $1 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $1 i32.eqz if @@ -13693,60 +13282,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -13758,17 +13343,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 - call $~lib/map/Map#rehash + local.get $1 + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $0 i32) (local $1 i32) (local $2 i32) @@ -13778,9 +13363,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 24 i32.sub @@ -13791,11 +13373,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 24 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -13804,98 +13386,88 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 18 call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $8 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 + i32.store + local.get $1 local.get $5 - if - local.get $8 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 3 - i32.store $0 offset=4 - local.get $5 - local.get $8 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $8 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 + local.get $1 local.get $5 - if - local.get $8 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 4 - i32.store $0 offset=12 - local.get $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=16 - local.get $5 - local.get $8 - i32.store $0 offset=4 - local.get $8 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $8 - i32.store $0 + local.get $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -13905,20 +13477,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -13929,12 +13501,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 10 i32.add i32.ne @@ -13946,18 +13518,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -13969,18 +13541,18 @@ unreachable end i32.const 0 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -13991,12 +13563,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 10 i32.add i32.ne @@ -14009,20 +13581,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 20 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14033,12 +13605,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 20 i32.add i32.ne @@ -14050,18 +13622,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -14073,10 +13645,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $8 - i32.store $0 offset=4 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -14085,22 +13657,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=8 - local.set $4 + i32.store local.get $1 - local.get $8 - i32.store $0 - local.get $8 - i32.load $0 offset=16 - local.set $10 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -14109,44 +13681,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $5 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 19 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $7 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 + i32.const 0 + i32.store + local.get $7 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=4 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=8 - local.get $6 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $6 i32.const 268435455 i32.gt_u if @@ -14159,119 +13732,113 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $6 + local.get $6 i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $6 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $7 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 - local.get $5 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $5 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $8 + i32.store offset=12 + local.get $7 + local.get $8 + i32.store + local.get $7 + local.get $8 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $11 - i32.store $0 offset=4 local.get $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $7 - local.get $5 - i32.store $0 offset=4 - local.get $5 - local.get $10 - i32.store $0 offset=12 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 + local.get $7 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=4 local.get $7 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $5 - i32.store $0 offset=4 - loop $for-loop|01 - local.get $2 - local.get $10 + local.get $7 + i32.store offset=4 + i32.const 0 + local.set $0 + loop $for-loop|00 + local.get $3 + local.get $6 i32.lt_s if - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.const 12 i32.mul i32.add - local.tee $1 - i32.load $0 offset=8 + local.tee $8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $7 + i32.store + local.get $7 local.get $0 - local.get $1 - i32.load $0 + local.get $8 + i32.load call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|01 + local.set $3 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $7 + i32.store + local.get $7 local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $5 - i32.store $0 offset=8 + local.get $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $"~lib/map/Map#values" local.tee $0 - local.get $8 - i32.store $0 offset=4 - local.get $0 - local.get $8 - call $~lib/map/Map#values - local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -14281,105 +13848,94 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 20 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $4 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 local.get $4 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 + local.get $5 + i32.store local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 3 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 - i32.store $0 offset=4 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 local.get $4 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 offset=8 + local.get $5 + i32.store offset=8 local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 4 - i32.store $0 offset=12 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=16 + i32.store offset=4 local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $2 i32.const 0 - i32.store $0 offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=4 local.get $4 + i32.const 0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=16 + local.get $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $1 - i32.store $0 offset=20 + call $"~lib/map/Map#constructor" + local.tee $3 + i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $7 + i32.store offset=4 + local.get $7 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $5 - i32.store $0 offset=4 - local.get $4 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -14388,15 +13944,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 - local.get $5 - i32.store $0 - local.get $3 - local.get $5 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $2 + local.get $7 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -14407,34 +13962,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $5 - i32.store $0 - local.get $5 - i32.load $0 offset=4 - local.get $3 + local.get $7 + i32.store + local.get $7 + i32.load offset=4 + local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $6 - local.get $4 + i32.load + local.set $5 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $3 + local.get $2 call $~lib/array/Array#__get - local.set $4 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $6 - call $~lib/map/Map#has + local.get $1 + i32.store offset=4 + local.get $1 + local.get $5 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14445,13 +13999,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 + local.get $6 i32.const 20 i32.sub - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14462,34 +14016,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - local.get $6 - local.get $6 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 local.get $4 - i32.const 20 - i32.sub - local.tee $4 + i32.store offset=4 local.get $4 - call $~lib/map/Map#set + local.get $5 + local.get $5 + call $"~lib/map/Map#set" + global.get $~lib/memory/__stack_pointer local.get $3 + i32.store offset=4 + local.get $3 + local.get $6 + i32.const 20 + i32.sub + local.tee $5 + local.get $5 + call $"~lib/map/Map#set" + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/map/Map#get:size + local.get $4 + i32.store offset=4 + local.get $4 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -14501,10 +14055,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#get:size + local.get $3 + i32.store offset=4 + local.get $3 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -14516,18 +14070,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14538,12 +14092,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $0 + call $"~lib/map/Map#get" + local.get $0 i32.const 20 i32.add i32.ne @@ -14556,17 +14110,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -14575,18 +14129,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -14598,18 +14152,18 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -14619,20 +14173,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 + i32.store offset=4 local.get $1 + local.get $0 + local.get $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -14643,17 +14197,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $0 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -14662,18 +14216,18 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -14685,15 +14239,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#clear + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" if i32.const 0 i32.const 1568 @@ -14715,9 +14269,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $"~lib/map/Map#find" (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14734,33 +14287,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 i32.const 1 i32.and @@ -14769,7 +14319,7 @@ else local.get $1 local.get $0 - i64.load $0 + i64.load i64.eq end if @@ -14793,8 +14343,7 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 i64) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14811,12 +14360,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -14859,17 +14407,15 @@ i32.shr_u local.get $0 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#rehash" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -14894,13 +14440,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -14909,7 +14454,7 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $7 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 @@ -14921,19 +14466,19 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 4 i32.shl i32.add @@ -14946,20 +14491,20 @@ i32.ne if local.get $8 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.and i32.eqz if local.get $2 local.get $8 - i64.load $0 + i64.load local.tee $6 - i64.store $0 + i64.store local.get $2 local.get $8 - i32.load $0 offset=8 - i32.store $0 offset=8 + i32.load offset=8 + i32.store offset=8 local.get $2 local.get $7 local.get $1 @@ -14985,34 +14530,34 @@ i32.const 668265263 i32.mul local.tee $9 - local.get $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 - local.get $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 - local.get $9 i32.const 16 i32.shr_u + local.get $9 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $9 - i32.load $0 - i32.store $0 offset=12 + i32.load + i32.store offset=12 local.get $9 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 16 i32.add @@ -15026,70 +14571,60 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $7 - i32.store $0 + i32.store + local.get $0 local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $5 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -15106,15 +14641,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -15158,45 +14692,41 @@ local.get $3 i32.xor local.tee $4 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -15205,99 +14735,97 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $5 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $3 - local.get $6 + local.get $5 i32.const 4 i32.shl i32.add local.tee $3 local.get $1 - i64.store $0 + i64.store local.get $3 local.get $2 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $2 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $2 local.get $4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=12 + i32.load + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 i64) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15314,12 +14842,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -15362,7 +14889,7 @@ i32.shr_u local.get $0 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -15374,13 +14901,11 @@ unreachable end local.get $0 - i32.load $0 offset=8 - local.set $0 + i32.load offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__set (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) @@ -15400,15 +14925,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -15432,24 +14956,23 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add local.get $2 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -15472,7 +14995,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 3 @@ -15480,16 +15003,16 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#values (param $0 i32) (result i32) + (func $"~lib/map/Map#values" (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -15511,48 +15034,47 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=16 - local.tee $4 + i32.load offset=16 + local.tee $0 call $~lib/array/Array#constructor local.tee $5 - i32.store $0 offset=4 + i32.store offset=4 loop $for-loop|0 + local.get $0 local.get $2 - local.get $4 - i32.lt_s + i32.gt_s if local.get $3 local.get $2 i32.const 4 i32.shl i32.add - local.tee $0 - i32.load $0 offset=12 + local.tee $4 + i32.load offset=12 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $1 - local.get $0 - i32.load $0 offset=8 + local.get $4 + i32.load offset=8 call $~lib/array/Array#__set local.get $1 i32.const 1 @@ -15568,7 +15090,7 @@ end global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $1 call $~lib/array/Array#set:length @@ -15578,243 +15100,54 @@ global.set $~lib/memory/__stack_pointer local.get $5 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i64) (param $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i64) + (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) + (local $9 i64) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i64.const 0 - i64.store $0 offset=8 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=8 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $0 - i32.load $0 offset=16 - i32.const 24 - i32.mul - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load $0 offset=16 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $8 - i64.load $0 - local.tee $6 - i64.store $0 - local.get $2 - local.get $8 - i64.load $0 offset=8 - i64.store $0 offset=8 - local.get $2 - local.get $7 - local.get $1 - local.get $6 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $6 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $9 - local.get $9 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $9 - local.get $9 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $9 - local.get $9 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $9 - i32.load $0 - i32.store $0 offset=16 - local.get $9 - local.get $2 - i32.store $0 - local.get $2 - i32.const 24 - i32.add - local.set $2 - end - local.get $8 - i32.const 24 - i32.add - local.set $8 - br $while-continue|0 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $7 - i32.store $0 offset=12 - local.get $0 - local.get $7 - i32.store $0 - local.get $7 - if + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $3 - i32.store $0 offset=12 - local.get $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $1 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i64) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 + 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 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 i32.const 0 - i32.store $0 offset=8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $1 i32.wrap_i64 i32.const -1028477379 @@ -15836,67 +15169,41 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u - local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $4 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u - local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $4 + local.tee $3 + local.get $3 i32.const 16 i32.shr_u - local.get $4 i32.xor - local.set $4 - local.get $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - local.set $5 - local.get $3 - local.get $0 - i32.store $0 - local.get $5 - local.get $4 + local.tee $8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $3 - block $__inlined_func$~lib/map/Map#find + block $"__inlined_func$~lib/map/Map#find$1403" loop $while-continue|0 local.get $3 if local.get $3 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.and if (result i32) @@ -15904,7 +15211,7 @@ else local.get $1 local.get $3 - i64.load $0 + i64.load i64.eq end if @@ -15912,9 +15219,9 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/map/Map#find + br $"__inlined_func$~lib/map/Map#find$1403" end - local.get $5 + local.get $4 i32.const -2 i32.and local.set $3 @@ -15932,40 +15239,33 @@ if local.get $3 local.get $2 - i64.store $0 offset=8 + i64.store offset=8 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 local.get $0 - i32.store $0 offset=4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.store offset=4 local.get $0 - i32.store $0 offset=4 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $5 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -15974,91 +15274,279 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 1 + i32.add + local.tee $3 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $10 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=8 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $11 + local.get $0 + i32.load offset=16 + i32.const 24 + i32.mul + i32.add + local.set $6 + local.get $4 + local.set $3 + loop $while-continue|00 + local.get $6 + local.get $11 + i32.ne + if + local.get $11 + i32.load offset=16 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $11 + i64.load + local.tee $9 + i64.store + local.get $3 + local.get $11 + i64.load offset=8 + i64.store offset=8 + local.get $3 + local.get $10 + local.get $5 + local.get $9 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.const 374761401 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.get $9 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $12 + local.get $12 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $12 + local.get $12 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $12 + local.get $12 + i32.const 16 + i32.shr_u + i32.xor + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $12 + i32.load + i32.store offset=16 + local.get $12 + local.get $3 + i32.store + local.get $3 + i32.const 24 + i32.add + local.set $3 + end + local.get $11 + i32.const 24 + i32.add + local.set $11 + br $while-continue|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=12 + local.get $0 + local.get $10 + i32.store + local.get $0 + local.get $10 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $0 + local.get $4 + i32.store offset=8 + local.get $0 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $5 - i32.store $0 offset=8 - local.get $3 + i32.load offset=8 + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 - local.get $5 - local.get $6 + i32.store offset=16 + local.get $3 + local.get $4 i32.const 24 i32.mul i32.add - local.tee $5 + local.tee $3 local.get $1 - i64.store $0 - local.get $5 - local.get $2 - i64.store $0 offset=8 + i64.store local.get $3 + local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $6 - local.get $3 + i32.load + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 - local.get $6 + i32.store + local.get $3 local.get $4 + local.get $8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=16 + i32.load + i32.store offset=16 local.get $0 - local.get $5 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -16073,10 +15561,9 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i64) + (func $"~lib/map/Map#delete" (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -16093,12 +15580,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -16141,7 +15627,7 @@ i32.shr_u local.get $2 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $2 i32.eqz if @@ -16153,60 +15639,56 @@ end local.get $2 local.get $2 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.or - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $2 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $2 - local.get $2 + i32.load offset=20 + local.tee $3 + local.get $3 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -16218,17 +15700,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $3 - call $~lib/map/Map#rehash + local.get $2 + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#clear (param $0 i32) + (func $"~lib/map/Map#clear" (param $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -16246,80 +15728,71 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $0 i32) - (local $1 i64) - (local $2 i32) + (local $1 i32) + (local $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) @@ -16327,9 +15800,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -16340,11 +15810,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 24 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -16353,98 +15823,88 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 21 call $~lib/rt/itcms/__new - local.tee $10 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $10 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 + i32.store + local.get $1 local.get $5 - if - local.get $10 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 3 - i32.store $0 offset=4 - local.get $5 - local.get $10 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $10 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 + local.get $1 local.get $5 - if - local.get $10 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 4 - i32.store $0 offset=12 - local.get $5 - local.get $10 - i32.store $0 offset=4 - local.get $10 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=16 - local.get $5 - local.get $10 - i32.store $0 offset=4 - local.get $10 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $10 - i32.store $0 + local.get $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $2 i64.const 100 i64.lt_s if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -16454,21 +15914,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 local.get $1 + local.get $2 + local.get $2 i32.wrap_i64 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -16479,12 +15939,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $2 + call $"~lib/map/Map#get" + local.get $2 i32.wrap_i64 i32.const 10 i32.add @@ -16497,18 +15957,18 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -16520,18 +15980,18 @@ unreachable end i64.const 0 - local.set $1 + local.set $2 loop $for-loop|1 - local.get $1 + local.get $2 i64.const 100 i64.lt_s if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -16542,12 +16002,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $2 + call $"~lib/map/Map#get" + local.get $2 i32.wrap_i64 i32.const 10 i32.add @@ -16561,21 +16021,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 local.get $1 + local.get $2 + local.get $2 i32.wrap_i64 i32.const 20 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -16586,12 +16046,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $2 + call $"~lib/map/Map#get" + local.get $2 i32.wrap_i64 i32.const 20 i32.add @@ -16604,18 +16064,18 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -16627,10 +16087,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $10 - i32.store $0 offset=4 - local.get $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -16639,22 +16099,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - local.get $10 - i32.store $0 - local.get $10 - i32.load $0 offset=8 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 local.set $6 - local.get $5 - local.get $10 - i32.store $0 - local.get $10 - i32.load $0 offset=16 - local.set $11 - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $7 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -16663,44 +16123,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 i64.const 0 - i64.store $0 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $7 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 22 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store + local.get $8 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 local.get $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 local.get $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 i32.const 0 - i32.store $0 offset=12 - local.get $11 + i32.store offset=12 + local.get $7 i32.const 134217727 i32.gt_u if @@ -16713,119 +16174,111 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $11 - local.get $11 + local.get $7 + local.get $7 i32.const 8 i32.le_u select i32.const 3 i32.shl - local.tee $8 + local.tee $9 i32.const 1 call $~lib/rt/itcms/__new - local.tee $12 - i32.store $0 offset=8 + local.tee $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=12 - local.get $7 - local.get $12 - i32.store $0 - local.get $12 - if - local.get $7 - local.get $12 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $4 + i32.store offset=12 + local.get $8 + local.get $4 + i32.store + local.get $8 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $7 - i32.store $0 offset=4 - local.get $7 - local.get $12 - i32.store $0 offset=4 - local.get $9 - local.get $7 - i32.store $0 offset=4 - local.get $7 local.get $8 - i32.store $0 offset=8 + i32.store offset=4 + local.get $8 local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 local.get $7 - i32.store $0 offset=4 - local.get $7 - local.get $11 - i32.store $0 offset=12 - local.get $9 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $7 - i32.store $0 offset=4 - loop $for-loop|01 - local.get $2 - local.get $11 + local.get $8 + i32.store offset=4 + loop $for-loop|00 + local.get $3 + local.get $7 i32.lt_s if local.get $6 - local.get $2 + local.get $3 i32.const 4 i32.shl i32.add - local.tee $5 - i32.load $0 offset=12 + local.tee $4 + i32.load offset=12 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 local.get $0 - local.get $5 - i64.load $0 + local.get $4 + i64.load call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|01 + local.set $3 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $7 - i32.store $0 offset=8 + local.get $8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $"~lib/map/Map#values" local.tee $0 - local.get $10 - i32.store $0 offset=4 - local.get $0 - local.get $10 - call $~lib/map/Map#values - local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -16835,105 +16288,96 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 23 call $~lib/rt/itcms/__new local.tee $4 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $5 - i32.store $0 + i32.store + local.get $4 local.get $5 - if - local.get $4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 3 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 + local.get $4 local.get $5 - if - local.get $4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 4 - i32.store $0 offset=12 - local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 - i32.store $0 offset=16 - local.get $5 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $4 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $2 - i32.store $0 offset=20 + call $"~lib/map/Map#constructor" + local.tee $5 + i32.store offset=20 + i32.const 0 + local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 call $~lib/array/Array#get:length local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $7 - i32.store $0 offset=4 - local.get $5 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -16942,15 +16386,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 - local.get $7 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store local.get $3 - local.get $7 - i32.load $0 offset=12 + local.get $8 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -16961,34 +16404,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $7 - i32.store $0 - local.get $7 - i32.load $0 offset=4 + local.get $8 + i32.store + local.get $8 + i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $1 - local.get $5 + i64.load + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $3 call $~lib/array/Array#__get - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -16999,14 +16441,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 + local.get $6 i32.const 20 i32.sub i64.extend_i32_s - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -17018,21 +16460,21 @@ end global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 - local.get $1 - local.get $1 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 local.get $2 + call $"~lib/map/Map#set" + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 local.get $5 + local.get $6 i32.const 20 i32.sub - local.tee $5 - local.get $5 - call $~lib/map/Map#set + local.tee $6 + local.get $6 + call $"~lib/map/Map#set" local.get $3 i32.const 1 i32.add @@ -17042,9 +16484,9 @@ end global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -17056,10 +16498,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/map/Map#get:size + local.get $5 + i32.store offset=4 + local.get $5 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -17071,18 +16513,18 @@ unreachable end i64.const 0 - local.set $1 + local.set $2 loop $for-loop|3 - local.get $1 + local.get $2 i64.const 50 i64.lt_s if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -17093,12 +16535,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $2 + call $"~lib/map/Map#get" + local.get $2 i32.wrap_i64 i32.const 20 i32.add @@ -17112,17 +16554,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -17131,18 +16573,18 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -17154,18 +16596,18 @@ unreachable end i64.const 0 - local.set $1 + local.set $2 loop $for-loop|4 - local.get $1 + local.get $2 i64.const 50 i64.lt_s if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -17175,21 +16617,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 local.get $1 + local.get $2 + local.get $2 i32.wrap_i64 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -17200,17 +16642,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -17219,18 +16661,18 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -17242,15 +16684,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#clear + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" if i32.const 0 i32.const 1568 @@ -17272,9 +16714,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) + (func $"~lib/map/Map#find" (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -17291,33 +16732,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 i32.const 1 i32.and @@ -17326,7 +16764,7 @@ else local.get $1 local.get $0 - i64.load $0 + i64.load i64.eq end if @@ -17350,8 +16788,7 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 i64) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -17368,12 +16805,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -17416,17 +16852,15 @@ i32.shr_u local.get $0 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#rehash" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -17451,13 +16885,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -17466,7 +16899,7 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $7 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 @@ -17478,19 +16911,19 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 4 i32.shl i32.add @@ -17503,20 +16936,20 @@ i32.ne if local.get $8 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.and i32.eqz if local.get $2 local.get $8 - i64.load $0 + i64.load local.tee $6 - i64.store $0 + i64.store local.get $2 local.get $8 - i32.load $0 offset=8 - i32.store $0 offset=8 + i32.load offset=8 + i32.store offset=8 local.get $2 local.get $7 local.get $1 @@ -17542,34 +16975,34 @@ i32.const 668265263 i32.mul local.tee $9 - local.get $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 - local.get $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 - local.get $9 i32.const 16 i32.shr_u + local.get $9 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $9 - i32.load $0 - i32.store $0 offset=12 + i32.load + i32.store offset=12 local.get $9 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 16 i32.add @@ -17583,70 +17016,60 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $7 - i32.store $0 + i32.store + local.get $0 local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $5 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i64) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -17663,15 +17086,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -17715,45 +17137,41 @@ local.get $3 i32.xor local.tee $4 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -17762,99 +17180,97 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $5 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $3 - local.get $6 + local.get $5 i32.const 4 i32.shl i32.add local.tee $3 local.get $1 - i64.store $0 + i64.store local.get $3 local.get $2 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $2 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $2 local.get $4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=12 + i32.load + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 i64) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -17871,12 +17287,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -17919,7 +17334,7 @@ i32.shr_u local.get $0 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -17931,251 +17346,60 @@ unreachable end local.get $0 - i32.load $0 offset=8 - local.set $0 + i32.load offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i64) (param $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i64) + (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i64.const 0 - i64.store $0 offset=8 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $5 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=8 - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $0 - i32.load $0 offset=16 - i32.const 24 - i32.mul - i32.add - local.set $4 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $8 - i32.load $0 offset=16 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $8 - i64.load $0 - local.tee $6 - i64.store $0 - local.get $2 - local.get $8 - i64.load $0 offset=8 - i64.store $0 offset=8 - local.get $2 - local.get $7 - local.get $1 - local.get $6 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $6 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $9 - local.get $9 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $9 - local.get $9 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $9 - local.get $9 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $9 - i32.load $0 - i32.store $0 offset=16 - local.get $9 - local.get $2 - i32.store $0 - local.get $2 - i32.const 24 - i32.add - local.set $2 - end - local.get $8 - i32.const 24 - i32.add - local.set $8 - br $while-continue|0 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $7 - i32.store $0 offset=12 - local.get $0 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $3 - i32.store $0 offset=12 - local.get $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $1 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i64) (param $2 i64) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (local $9 i64) + (local $10 i32) + (local $11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $1 i32.wrap_i64 i32.const -1028477379 @@ -18197,67 +17421,41 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u - local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $4 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u - local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $4 + local.tee $3 + local.get $3 i32.const 16 i32.shr_u - local.get $4 i32.xor - local.set $4 - local.get $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - local.set $5 - local.get $3 - local.get $0 - i32.store $0 - local.get $5 - local.get $4 + local.tee $8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $3 - block $__inlined_func$~lib/map/Map#find + block $"__inlined_func$~lib/map/Map#find$1408" loop $while-continue|0 local.get $3 if local.get $3 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.and if (result i32) @@ -18265,7 +17463,7 @@ else local.get $1 local.get $3 - i64.load $0 + i64.load i64.eq end if @@ -18273,9 +17471,9 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/map/Map#find + br $"__inlined_func$~lib/map/Map#find$1408" end - local.get $5 + local.get $4 i32.const -2 i32.and local.set $3 @@ -18293,40 +17491,33 @@ if local.get $3 local.get $2 - i64.store $0 offset=8 + i64.store offset=8 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.store offset=4 local.get $0 - i32.store $0 offset=4 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $5 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -18335,91 +17526,279 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 1 + i32.add + local.tee $3 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $10 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=8 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $11 + local.get $0 + i32.load offset=16 + i32.const 24 + i32.mul + i32.add + local.set $6 + local.get $4 + local.set $3 + loop $while-continue|00 + local.get $6 + local.get $11 + i32.ne + if + local.get $11 + i32.load offset=16 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $11 + i64.load + local.tee $9 + i64.store + local.get $3 + local.get $11 + i64.load offset=8 + i64.store offset=8 + local.get $3 + local.get $10 + local.get $5 + local.get $9 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.const 374761401 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.get $9 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $12 + local.get $12 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $12 + local.get $12 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $12 + local.get $12 + i32.const 16 + i32.shr_u + i32.xor + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $12 + i32.load + i32.store offset=16 + local.get $12 + local.get $3 + i32.store + local.get $3 + i32.const 24 + i32.add + local.set $3 + end + local.get $11 + i32.const 24 + i32.add + local.set $11 + br $while-continue|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=12 + local.get $0 + local.get $10 + i32.store + local.get $0 + local.get $10 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $0 + local.get $4 + i32.store offset=8 + local.get $0 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $5 - i32.store $0 offset=8 - local.get $3 + i32.load offset=8 + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 - local.get $5 - local.get $6 + i32.store offset=16 + local.get $3 + local.get $4 i32.const 24 i32.mul i32.add - local.tee $5 + local.tee $3 local.get $1 - i64.store $0 - local.get $5 - local.get $2 - i64.store $0 offset=8 + i64.store local.get $3 + local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $6 - local.get $3 + i32.load + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 - local.get $6 + i32.store + local.get $3 local.get $4 + local.get $8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=16 + i32.load + i32.store offset=16 local.get $0 - local.get $5 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -18434,10 +17813,9 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 i64) + (func $"~lib/map/Map#delete" (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -18454,12 +17832,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -18502,7 +17879,7 @@ i32.shr_u local.get $2 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $2 i32.eqz if @@ -18514,60 +17891,56 @@ end local.get $2 local.get $2 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.or - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $2 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $2 - local.get $2 + i32.load offset=20 + local.tee $3 + local.get $3 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -18579,20 +17952,20 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $3 - call $~lib/map/Map#rehash + local.get $2 + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $0 i32) - (local $1 i64) - (local $2 i32) + (local $1 i32) + (local $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) @@ -18600,9 +17973,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -18613,11 +17983,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 24 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -18626,98 +17996,88 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 24 call $~lib/rt/itcms/__new - local.tee $10 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $10 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 + i32.store + local.get $1 local.get $5 - if - local.get $10 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 3 - i32.store $0 offset=4 - local.get $5 - local.get $10 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 - local.get $10 + i32.store offset=8 + local.get $1 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 + local.get $1 local.get $5 - if - local.get $10 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 4 - i32.store $0 offset=12 - local.get $5 - local.get $10 - i32.store $0 offset=4 - local.get $10 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=16 - local.get $5 - local.get $10 - i32.store $0 offset=4 - local.get $10 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $10 - i32.store $0 + local.get $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $2 i64.const 100 i64.lt_u if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -18727,21 +18087,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 local.get $1 + local.get $2 + local.get $2 i32.wrap_i64 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -18752,12 +18112,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $2 + call $"~lib/map/Map#get" + local.get $2 i32.wrap_i64 i32.const 10 i32.add @@ -18770,18 +18130,18 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -18793,18 +18153,18 @@ unreachable end i64.const 0 - local.set $1 + local.set $2 loop $for-loop|1 - local.get $1 + local.get $2 i64.const 100 i64.lt_u if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -18815,12 +18175,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $2 + call $"~lib/map/Map#get" + local.get $2 i32.wrap_i64 i32.const 10 i32.add @@ -18834,21 +18194,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 local.get $1 + local.get $2 + local.get $2 i32.wrap_i64 i32.const 20 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -18859,12 +18219,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $2 + call $"~lib/map/Map#get" + local.get $2 i32.wrap_i64 i32.const 20 i32.add @@ -18877,18 +18237,18 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -18900,10 +18260,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $10 - i32.store $0 offset=4 - local.get $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -18912,22 +18272,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - local.get $10 - i32.store $0 - local.get $10 - i32.load $0 offset=8 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 local.set $6 - local.get $5 - local.get $10 - i32.store $0 - local.get $10 - i32.load $0 offset=16 - local.set $11 - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $7 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -18936,44 +18296,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 i64.const 0 - i64.store $0 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $7 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 25 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store + local.get $8 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 local.get $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 local.get $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 i32.const 0 - i32.store $0 offset=12 - local.get $11 + i32.store offset=12 + local.get $7 i32.const 134217727 i32.gt_u if @@ -18986,119 +18347,111 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $11 - local.get $11 + local.get $7 + local.get $7 i32.const 8 i32.le_u select i32.const 3 i32.shl - local.tee $8 + local.tee $9 i32.const 1 call $~lib/rt/itcms/__new - local.tee $12 - i32.store $0 offset=8 + local.tee $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=12 - local.get $7 - local.get $12 - i32.store $0 - local.get $12 - if - local.get $7 - local.get $12 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $4 + i32.store offset=12 + local.get $8 + local.get $4 + i32.store + local.get $8 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $7 - i32.store $0 offset=4 - local.get $7 - local.get $12 - i32.store $0 offset=4 - local.get $9 - local.get $7 - i32.store $0 offset=4 - local.get $7 local.get $8 - i32.store $0 offset=8 + i32.store offset=4 + local.get $8 local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 local.get $7 - i32.store $0 offset=4 - local.get $7 - local.get $11 - i32.store $0 offset=12 - local.get $9 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $7 - i32.store $0 offset=4 - loop $for-loop|01 - local.get $2 - local.get $11 + local.get $8 + i32.store offset=4 + loop $for-loop|00 + local.get $3 + local.get $7 i32.lt_s if local.get $6 - local.get $2 + local.get $3 i32.const 4 i32.shl i32.add - local.tee $5 - i32.load $0 offset=12 + local.tee $4 + i32.load offset=12 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 local.get $0 - local.get $5 - i64.load $0 + local.get $4 + i64.load call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - br $for-loop|01 + local.set $3 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $7 - i32.store $0 offset=8 + local.get $8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $"~lib/map/Map#values" local.tee $0 - local.get $10 - i32.store $0 offset=4 - local.get $0 - local.get $10 - call $~lib/map/Map#values - local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -19108,105 +18461,96 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 26 call $~lib/rt/itcms/__new local.tee $4 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $5 - i32.store $0 + i32.store + local.get $4 local.get $5 - if - local.get $4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 3 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 + local.get $4 local.get $5 - if - local.get $4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 4 - i32.store $0 offset=12 - local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 - i32.store $0 offset=16 - local.get $5 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 local.get $4 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $2 - i32.store $0 offset=20 + call $"~lib/map/Map#constructor" + local.tee $5 + i32.store offset=20 + i32.const 0 + local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 call $~lib/array/Array#get:length local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $7 - i32.store $0 offset=4 - local.get $5 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -19215,15 +18559,14 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 - local.get $7 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store local.get $3 - local.get $7 - i32.load $0 offset=12 + local.get $8 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -19234,34 +18577,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $7 - i32.store $0 - local.get $7 - i32.load $0 offset=4 + local.get $8 + i32.store + local.get $8 + i32.load offset=4 local.get $3 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $1 - local.get $5 + i64.load + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $3 call $~lib/array/Array#__get - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -19272,14 +18614,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 + local.get $6 i32.const 20 i32.sub i64.extend_i32_s - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -19291,21 +18633,21 @@ end global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 - local.get $1 - local.get $1 - call $~lib/map/Map#set - global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 local.get $2 + call $"~lib/map/Map#set" + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 local.get $5 + local.get $6 i32.const 20 i32.sub - local.tee $5 - local.get $5 - call $~lib/map/Map#set + local.tee $6 + local.get $6 + call $"~lib/map/Map#set" local.get $3 i32.const 1 i32.add @@ -19315,9 +18657,9 @@ end global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 - call $~lib/map/Map#get:size + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -19329,11 +18671,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/map/Map#get:size - i32.const 100 + local.get $5 + i32.store offset=4 + local.get $5 + call $"~lib/map/Map#get:size" + i32.const 100 i32.ne if i32.const 0 @@ -19344,18 +18686,18 @@ unreachable end i64.const 0 - local.set $1 + local.set $2 loop $for-loop|3 - local.get $1 + local.get $2 i64.const 50 i64.lt_u if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -19366,12 +18708,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#get + i32.store offset=4 local.get $1 + local.get $2 + call $"~lib/map/Map#get" + local.get $2 i32.wrap_i64 i32.const 20 i32.add @@ -19385,17 +18727,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -19404,18 +18746,18 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -19427,18 +18769,18 @@ unreachable end i64.const 0 - local.set $1 + local.set $2 loop $for-loop|4 - local.get $1 + local.get $2 i64.const 50 i64.lt_u if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -19448,21 +18790,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 local.get $1 + local.get $2 + local.get $2 i32.wrap_i64 i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -19473,17 +18815,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#delete + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/map/Map#has + i32.store offset=4 + local.get $1 + local.get $2 + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -19492,18 +18834,18 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -19515,15 +18857,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#clear + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/map/Map#get:size + local.get $1 + i32.store offset=4 + local.get $1 + call $"~lib/map/Map#get:size" if i32.const 0 i32.const 1568 @@ -19545,9 +18887,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (func $"~lib/map/Map#find" (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19564,33 +18905,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 1 i32.and @@ -19599,7 +18937,7 @@ else local.get $1 local.get $0 - f32.load $0 + f32.load f32.eq end if @@ -19623,8 +18961,7 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map#has (param $0 i32) (param $1 f32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 f32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19641,12 +18978,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -19678,17 +19014,15 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#rehash" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 f32) @@ -19713,13 +19047,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -19728,7 +19061,7 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $7 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 @@ -19740,19 +19073,19 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add @@ -19765,20 +19098,20 @@ i32.ne if local.get $8 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $8 - f32.load $0 + f32.load local.tee $4 - f32.store $0 + f32.store local.get $2 local.get $8 - i32.load $0 offset=4 - i32.store $0 offset=4 + i32.load offset=4 + i32.store offset=4 local.get $2 local.get $7 local.get $1 @@ -19793,34 +19126,34 @@ i32.const 668265263 i32.mul local.tee $9 + local.get $9 i32.const 15 i32.shr_u - local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 + local.get $9 i32.const 13 i32.shr_u - local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 + local.get $9 i32.const 16 i32.shr_u - local.get $9 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $9 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $9 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 12 i32.add @@ -19834,70 +19167,60 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $7 - i32.store $0 + i32.store + local.get $0 local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $6 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f32) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 f32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -19914,15 +19237,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -19955,45 +19277,41 @@ local.get $3 i32.xor local.tee $4 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -20002,99 +19320,97 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $3 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $5 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $3 - local.get $6 + local.get $5 i32.const 12 i32.mul i32.add local.tee $3 local.get $1 - f32.store $0 + f32.store local.get $3 local.get $2 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $5 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $2 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $3 local.get $2 local.get $4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 local.get $3 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (param $0 i32) (param $1 f32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 f32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20111,12 +19427,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -20148,7 +19463,7 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -20160,95 +19475,93 @@ unreachable end local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.load offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) + (func $"~lib/map/Map#keys" (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 f32) - (local $4 i32) + (local $3 i32) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $4 - local.get $1 + i32.load offset=8 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $6 - local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 28 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store + local.get $6 i32.const 0 - i32.store $0 offset=4 - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 i32.const 268435455 i32.gt_u if @@ -20261,8 +19574,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $5 + local.get $5 i32.const 8 i32.le_u select @@ -20272,99 +19585,90 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $6 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 - local.get $2 + i32.store offset=12 + local.get $6 local.get $7 - i32.store $0 + i32.store + local.get $6 local.get $7 - if - local.get $2 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $7 - i32.store $0 offset=4 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 - local.get $8 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - i32.const 0 - local.set $0 + local.get $6 + i32.store offset=4 loop $for-loop|0 + local.get $2 local.get $5 - local.get $6 i32.lt_s if - local.get $4 - local.get $5 + local.get $3 + local.get $2 i32.const 12 i32.mul i32.add local.tee $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $2 - i32.store $0 - local.get $0 - local.tee $1 + local.get $6 + i32.store + local.get $1 + local.tee $0 i32.const 1 i32.add - local.set $0 + local.set $1 local.get $7 - f32.load $0 - local.set $3 - local.get $8 + f32.load + local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 0 - i32.store $0 - local.get $7 - local.get $2 - i32.store $0 - local.get $1 - local.get $2 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $0 + local.get $6 + i32.load offset=12 i32.ge_u if - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -20375,8 +19679,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.add local.tee $7 @@ -20384,47 +19688,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 + local.get $6 + i32.store + local.get $6 local.get $7 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $2 - i32.store $0 - local.get $2 - i32.load $0 offset=4 - local.get $1 + local.get $6 + i32.store + local.get $6 + i32.load offset=4 + local.get $0 i32.const 2 i32.shl i32.add - local.get $3 - f32.store $0 - local.get $7 + local.get $4 + f32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $5 + local.get $2 i32.const 1 i32.add - local.set $5 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 - local.get $0 + local.get $6 + i32.store + local.get $6 + local.get $1 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 return end i32.const 34688 @@ -20434,15 +19737,15 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f32) (param $2 f32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 f32) (param $2 f32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 f32) + (local $10 i32) (local $11 i32) (local $12 i32) global.get $~lib/memory/__stack_pointer @@ -20455,15 +19758,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -20477,63 +19779,57 @@ i32.const 668265263 i32.mul local.tee $3 - local.get $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul local.tee $3 - local.get $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul local.tee $3 - local.get $3 i32.const 16 i32.shr_u + local.get $3 i32.xor - local.tee $7 - call $~lib/map/Map#find + local.tee $8 + call $"~lib/map/Map#find" local.tee $3 if local.get $3 local.get $2 - f32.store $0 offset=4 + f32.store offset=4 else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $3 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -20542,21 +19838,21 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $6 + local.set $9 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -20566,76 +19862,75 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $9 i32.const 1 i32.add local.tee $3 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $11 - i32.store $0 + local.tee $10 + i32.store global.get $~lib/memory/__stack_pointer local.get $3 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $8 + local.tee $7 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $4 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 - local.set $5 + i32.load offset=8 + local.set $11 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 + local.get $11 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $9 + local.set $6 local.get $4 local.set $3 loop $while-continue|0 - local.get $5 - local.get $9 + local.get $6 + local.get $11 i32.ne if - local.get $5 - i32.load $0 offset=8 + local.get $11 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $3 - local.get $5 - f32.load $0 - local.tee $10 - f32.store $0 - local.get $3 - local.get $5 - f32.load $0 offset=4 - f32.store $0 offset=4 + local.get $11 + f32.load + local.tee $5 + f32.store local.get $3 local.get $11 - local.get $6 + f32.load offset=4 + f32.store offset=4 + local.get $3 local.get $10 + local.get $9 + local.get $5 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -20646,175 +19941,165 @@ i32.const 668265263 i32.mul local.tee $12 + local.get $12 i32.const 15 i32.shr_u - local.get $12 i32.xor i32.const -2048144777 i32.mul local.tee $12 + local.get $12 i32.const 13 i32.shr_u - local.get $12 i32.xor i32.const -1028477379 i32.mul local.tee $12 + local.get $12 i32.const 16 i32.shr_u - local.get $12 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $12 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $12 local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 12 i32.add local.set $3 end - local.get $5 + local.get $11 i32.const 12 i32.add - local.set $5 + local.set $11 br $while-continue|0 end end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 - local.get $3 - local.get $11 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store offset=12 local.get $0 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $0 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $10 + i32.store + local.get $0 + local.get $10 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $6 - i32.store $0 offset=4 - local.get $3 + local.get $9 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $4 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $4 - if - local.get $0 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $8 - i32.store $0 offset=12 - local.get $3 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $3 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.store $0 offset=8 - local.get $3 + i32.load offset=8 + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 + local.get $3 local.get $4 - local.get $5 i32.const 12 i32.mul i32.add - local.tee $4 + local.tee $3 local.get $1 - f32.store $0 - local.get $4 - local.get $2 - f32.store $0 offset=4 + f32.store local.get $3 + local.get $2 + f32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $5 - local.get $3 + i32.load + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + local.get $3 local.get $4 - local.get $5 - local.get $7 + local.get $8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 - local.get $4 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -20829,10 +20114,9 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 f32) + (func $"~lib/map/Map#delete" (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -20849,12 +20133,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -20886,7 +20169,7 @@ i32.shr_u local.get $2 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $2 i32.eqz if @@ -20898,60 +20181,56 @@ end local.get $2 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $2 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $2 - local.get $2 + i32.load offset=20 + local.tee $3 + local.get $3 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -20963,17 +20242,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $3 - call $~lib/map/Map#rehash + local.get $2 + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $0 i32) (local $1 f32) (local $2 i32) @@ -20992,11 +20271,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.const 24 - memory.fill $0 - local.get $0 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -21005,98 +20284,88 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 27 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $5 - local.get $2 - i32.store $0 - local.get $2 - if - local.get $5 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $4 + i32.store offset=8 + local.get $0 + local.get $4 + i32.store + local.get $0 + local.get $4 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $2 - local.get $5 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $5 - local.get $2 - i32.store $0 offset=8 - local.get $2 - if - local.get $5 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $4 + i32.store offset=8 + local.get $0 + local.get $4 + i32.store offset=8 + local.get $0 + local.get $4 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $5 - i32.store $0 offset=4 - local.get $5 - i32.const 4 - i32.store $0 offset=12 - local.get $2 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 4 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $2 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $2 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $5 - i32.store $0 + i32.store loop $for-loop|0 local.get $1 f32.const 100 f32.lt if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -21106,21 +20375,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 local.get $1 i32.trunc_sat_f32_s i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -21131,11 +20400,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $1 i32.trunc_sat_f32_s i32.const 10 @@ -21157,10 +20426,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -21179,11 +20448,11 @@ f32.lt if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -21194,11 +20463,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $1 i32.trunc_sat_f32_s i32.const 10 @@ -21213,21 +20482,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 local.get $1 i32.trunc_sat_f32_s i32.const 20 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -21238,11 +20507,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $1 i32.trunc_sat_f32_s i32.const 20 @@ -21264,10 +20533,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -21279,24 +20548,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 offset=4 local.get $0 - local.get $5 - call $~lib/map/Map#keys - local.tee $2 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $0 + call $"~lib/map/Map#keys" + local.tee $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - call $~lib/map/Map#values + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $"~lib/map/Map#values" local.tee $3 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -21306,105 +20573,94 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 29 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $6 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $6 local.get $7 - i32.store $0 + i32.store + local.get $6 local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 3 - i32.store $0 offset=4 - local.get $7 - local.get $0 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $6 local.get $7 - i32.store $0 offset=8 + i32.store offset=8 + local.get $6 local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 4 - i32.store $0 offset=12 - local.get $7 - local.get $0 - i32.store $0 offset=4 - local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=16 - local.get $7 - local.get $0 - i32.store $0 offset=4 - local.get $0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=20 - local.get $7 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 - local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $6 - i32.store $0 offset=20 + call $"~lib/map/Map#constructor" + local.tee $5 + i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/array/Array#get:length local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/array/Array#get:length + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $2 - i32.store $0 offset=4 - local.get $7 + local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -21413,15 +20669,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 0 - i32.store $0 - local.get $7 - local.get $2 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $4 + i32.store local.get $2 - i32.load $0 offset=12 + local.get $4 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -21432,34 +20687,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $2 - i32.store $0 - local.get $2 - i32.load $0 offset=4 local.get $4 + i32.store + local.get $4 + i32.load offset=4 + local.get $2 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $1 - local.get $7 + 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 $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 - local.get $4 + local.get $2 call $~lib/array/Array#__get local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -21470,14 +20724,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $7 i32.const 20 i32.sub f32.convert_i32_s - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -21488,34 +20742,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $6 + i32.store offset=4 + local.get $6 local.get $1 local.get $1 - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $5 + i32.store offset=4 + local.get $5 local.get $7 i32.const 20 i32.sub local.tee $7 local.get $7 - call $~lib/map/Map#set - local.get $4 + call $"~lib/map/Map#set" + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/map/Map#get:size + local.get $6 + i32.store offset=4 + local.get $6 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -21527,10 +20781,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 - call $~lib/map/Map#get:size + local.get $5 + i32.store offset=4 + local.get $5 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -21549,11 +20803,11 @@ f32.lt if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -21564,11 +20818,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $1 i32.trunc_sat_f32_s i32.const 20 @@ -21583,17 +20837,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -21610,10 +20864,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -21632,11 +20886,11 @@ f32.lt if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -21646,21 +20900,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 local.get $1 i32.trunc_sat_f32_s i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -21671,17 +20925,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -21698,10 +20952,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -21713,15 +20967,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#clear + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#get:size" if i32.const 0 i32.const 1568 @@ -21743,9 +20997,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (func $"~lib/map/Map#find" (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21762,33 +21015,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 i32.const 1 i32.and @@ -21797,7 +21047,7 @@ else local.get $1 local.get $0 - f64.load $0 + f64.load f64.eq end if @@ -21821,9 +21071,8 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map#has (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i64) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 f64) (result i32) + (local $2 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21840,17 +21089,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 i64.reinterpret_f64 - local.tee $3 + local.tee $2 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -21860,7 +21108,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $3 + local.get $2 i64.const 32 i64.shr_u i32.wrap_i64 @@ -21890,17 +21138,15 @@ i32.shr_u local.get $0 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#rehash" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i64) @@ -21926,13 +21172,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -21941,7 +21186,7 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $8 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 @@ -21953,19 +21198,19 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $9 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 4 i32.shl i32.add @@ -21978,20 +21223,20 @@ i32.ne if local.get $9 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.and i32.eqz if local.get $2 local.get $9 - f64.load $0 + f64.load local.tee $5 - f64.store $0 + f64.store local.get $2 local.get $9 - i32.load $0 offset=8 - i32.store $0 offset=8 + i32.load offset=8 + i32.store offset=8 local.get $2 local.get $8 local.get $1 @@ -22019,34 +21264,34 @@ i32.const 668265263 i32.mul local.tee $10 - local.get $10 i32.const 15 i32.shr_u + local.get $10 i32.xor i32.const -2048144777 i32.mul local.tee $10 - local.get $10 i32.const 13 i32.shr_u + local.get $10 i32.xor i32.const -1028477379 i32.mul local.tee $10 - local.get $10 i32.const 16 i32.shr_u + local.get $10 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $10 - i32.load $0 - i32.store $0 offset=12 + i32.load + i32.store offset=12 local.get $10 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 16 i32.add @@ -22060,71 +21305,61 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $8 - i32.store $0 + i32.store + local.get $0 local.get $8 - if - local.get $0 - local.get $8 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $7 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f64) (param $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 f64) (param $2 i32) (local $3 i64) (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -22141,15 +21376,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -22195,45 +21429,41 @@ local.get $4 i32.xor local.tee $5 - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $4 if local.get $4 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $6 - local.get $4 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $6 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $6 - local.get $4 + i32.load offset=20 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $6 + local.get $4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -22242,100 +21472,98 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $0 - i32.store $0 - local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $4 - i32.store $0 offset=8 - local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $7 + i32.load offset=16 + local.tee $6 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $4 - local.get $7 + local.get $6 i32.const 4 i32.shl i32.add local.tee $4 local.get $1 - f64.store $0 + f64.store local.get $4 local.get $2 - i32.store $0 offset=8 - local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $6 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $2 - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $4 local.get $2 local.get $5 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=12 + i32.load + i32.store offset=12 local.get $0 local.get $4 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i64) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 f64) (result i32) + (local $2 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22352,17 +21580,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 i64.reinterpret_f64 - local.tee $3 + local.tee $2 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22372,7 +21599,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $3 + local.get $2 i64.const 32 i64.shr_u i32.wrap_i64 @@ -22402,7 +21629,7 @@ i32.shr_u local.get $0 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -22414,95 +21641,93 @@ unreachable end local.get $0 - i32.load $0 offset=8 - local.set $0 + i32.load offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#keys (param $0 i32) (result i32) + (func $"~lib/map/Map#keys" (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 f64) - (local $4 i32) + (local $3 i32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $4 - local.get $1 + i32.load offset=8 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $6 - local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 31 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store + local.get $6 i32.const 0 - i32.store $0 offset=4 - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 i32.const 134217727 i32.gt_u if @@ -22515,8 +21740,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $5 + local.get $5 i32.const 8 i32.le_u select @@ -22526,99 +21751,90 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $6 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 - local.get $2 + i32.store offset=12 + local.get $6 local.get $7 - i32.store $0 + i32.store + local.get $6 local.get $7 - if - local.get $2 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $7 - i32.store $0 offset=4 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 - local.get $8 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - i32.const 0 - local.set $0 + local.get $6 + i32.store offset=4 loop $for-loop|0 + local.get $2 local.get $5 - local.get $6 i32.lt_s if - local.get $4 - local.get $5 + local.get $3 + local.get $2 i32.const 4 i32.shl i32.add local.tee $7 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $2 - i32.store $0 - local.get $0 - local.tee $1 + local.get $6 + i32.store + local.get $1 + local.tee $0 i32.const 1 i32.add - local.set $0 + local.set $1 local.get $7 - f64.load $0 - local.set $3 - local.get $8 + f64.load + local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 0 - i32.store $0 - local.get $7 - local.get $2 - i32.store $0 - local.get $1 - local.get $2 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $0 + local.get $6 + i32.load offset=12 i32.ge_u if - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -22629,8 +21845,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.add local.tee $7 @@ -22638,47 +21854,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 + local.get $6 + i32.store + local.get $6 local.get $7 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $2 - i32.store $0 - local.get $2 - i32.load $0 offset=4 - local.get $1 + local.get $6 + i32.store + local.get $6 + i32.load offset=4 + local.get $0 i32.const 3 i32.shl i32.add - local.get $3 - f64.store $0 - local.get $7 + local.get $4 + f64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $5 + local.get $2 i32.const 1 i32.add - local.set $5 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 - local.get $0 + local.get $6 + i32.store + local.get $6 + local.get $1 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 return end i32.const 34688 @@ -22688,250 +21903,58 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#rehash (param $0 i32) (param $1 i32) - (local $2 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 f64) (param $2 f64) (local $3 i32) - (local $4 i64) - (local $5 f64) + (local $4 i32) + (local $5 i64) (local $6 i32) - (local $7 i32) + (local $7 f64) (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 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i64.const 0 - i64.store $0 offset=8 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $7 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=8 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $9 - local.get $0 - i32.load $0 offset=16 - i32.const 24 - i32.mul - i32.add - local.set $6 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $6 - local.get $9 - i32.ne - if - local.get $9 - i32.load $0 offset=16 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $9 - f64.load $0 - local.tee $5 - f64.store $0 - local.get $2 - local.get $9 - f64.load $0 offset=8 - f64.store $0 offset=8 - local.get $2 - local.get $8 - local.get $1 - local.get $5 - i64.reinterpret_f64 - local.tee $4 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $4 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $10 - local.get $10 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $10 - local.get $10 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $10 - local.get $10 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $10 - i32.load $0 - i32.store $0 offset=16 - local.get $10 - local.get $2 - i32.store $0 - local.get $2 - i32.const 24 - i32.add - local.set $2 - end - local.get $9 - i32.const 24 - i32.add - local.set $9 - br $while-continue|0 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $8 - i32.store $0 offset=12 - local.get $0 - local.get $8 - i32.store $0 - local.get $8 - if - local.get $0 - local.get $8 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $3 - i32.store $0 offset=12 - local.get $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $7 - i32.store $0 offset=12 - local.get $1 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (param $0 i32) (param $1 f64) (param $2 f64) - (local $3 i32) - (local $4 i64) - (local $5 i32) - (local $6 i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $1 i64.reinterpret_f64 - local.tee $4 + local.tee $5 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -22941,7 +21964,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $4 + local.get $5 i64.const 32 i64.shr_u i32.wrap_i64 @@ -22952,67 +21975,41 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $5 + local.tee $3 + local.get $3 i32.const 15 i32.shr_u - local.get $5 i32.xor i32.const -2048144777 i32.mul - local.tee $5 + local.tee $3 + local.get $3 i32.const 13 i32.shr_u - local.get $5 i32.xor i32.const -1028477379 i32.mul - local.tee $5 + local.tee $3 + local.get $3 i32.const 16 i32.shr_u - local.get $5 i32.xor - local.set $5 - local.get $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - local.set $6 - local.get $3 - local.get $0 - i32.store $0 - local.get $6 - local.get $5 + local.tee $10 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $3 - block $__inlined_func$~lib/map/Map#find + block $"__inlined_func$~lib/map/Map#find$1418" loop $while-continue|0 local.get $3 if local.get $3 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $4 i32.const 1 i32.and if (result i32) @@ -23020,161 +22017,344 @@ else local.get $1 local.get $3 - f64.load $0 + f64.load f64.eq end if global.get $~lib/memory/__stack_pointer i32.const 4 i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/map/Map#find + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$~lib/map/Map#find$1418" + end + local.get $4 + i32.const -2 + i32.and + local.set $3 + br $while-continue|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $3 + end + local.get $3 + if + local.get $3 + local.get $2 + f64.store offset=8 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.add + local.tee $3 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $11 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $9 + i32.const 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=8 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $12 + local.get $0 + i32.load offset=16 + i32.const 24 + i32.mul + i32.add + local.set $8 + local.get $4 + local.set $3 + loop $while-continue|00 + local.get $8 + local.get $12 + i32.ne + if + local.get $12 + i32.load offset=16 + i32.const 1 + i32.and + i32.eqz + if + local.get $3 + local.get $12 + f64.load + local.tee $7 + f64.store + local.get $3 + local.get $12 + f64.load offset=8 + f64.store offset=8 + local.get $3 + local.get $11 + local.get $6 + local.get $7 + i64.reinterpret_f64 + local.tee $5 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.const 374761401 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.get $5 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $13 + local.get $13 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $13 + local.get $13 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $13 + local.get $13 + i32.const 16 + i32.shr_u + i32.xor + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $13 + i32.load + i32.store offset=16 + local.get $13 + local.get $3 + i32.store + local.get $3 + i32.const 24 + i32.add + local.set $3 + end + local.get $12 + i32.const 24 + i32.add + local.set $12 + br $while-continue|00 end - local.get $6 - i32.const -2 - i32.and - local.set $3 - br $while-continue|0 end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $3 - end - local.get $3 - if - local.get $3 - local.get $2 - f64.store $0 offset=8 - else - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=16 - local.set $6 - local.get $3 - local.get $0 - i32.store $0 - local.get $6 - local.get $0 - i32.load $0 offset=12 - i32.eq - if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store offset=12 local.get $0 - i32.store $0 offset=4 + local.get $11 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $6 - local.get $3 + local.get $11 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=8 local.get $0 local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.load $0 offset=4 - else - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=12 + local.get $0 + local.get $4 + i32.store offset=8 + local.get $0 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + local.get $9 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + local.get $0 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $6 - i32.store $0 offset=8 - local.get $3 + i32.load offset=8 + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $7 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 - local.get $6 - local.get $7 + i32.store offset=16 + local.get $3 + local.get $4 i32.const 24 i32.mul i32.add - local.tee $6 + local.tee $3 local.get $1 - f64.store $0 - local.get $6 - local.get $2 - f64.store $0 offset=8 + f64.store local.get $3 + local.get $2 + f64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $7 - local.get $3 + i32.load + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $6 - local.get $7 - local.get $5 + i32.store + local.get $3 + local.get $4 + local.get $10 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=16 + i32.load + i32.store offset=16 local.get $0 - local.get $6 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -23189,11 +22369,10 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#delete (param $0 i32) (param $1 f64) + (func $"~lib/map/Map#delete" (param $0 i32) (param $1 f64) (local $2 i64) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -23210,12 +22389,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -23260,7 +22438,7 @@ i32.shr_u local.get $3 i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $3 i32.eqz if @@ -23272,60 +22450,56 @@ end local.get $3 local.get $3 - i32.load $0 offset=12 + i32.load offset=12 i32.const 1 i32.or - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $4 - local.get $3 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + local.get $3 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $3 - local.get $3 + i32.load offset=20 + local.tee $4 + local.get $4 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -23337,17 +22511,17 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $4 - call $~lib/map/Map#rehash + local.get $3 + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric + (func $"std/map/testNumeric" (local $0 i32) (local $1 f64) (local $2 i32) @@ -23366,11 +22540,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.const 24 - memory.fill $0 - local.get $0 + memory.fill + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -23379,98 +22553,88 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 30 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $5 - local.get $2 - i32.store $0 - local.get $2 - if - local.get $5 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $4 + i32.store offset=8 + local.get $0 + local.get $4 + i32.store + local.get $0 + local.get $4 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $2 - local.get $5 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $5 - local.get $2 - i32.store $0 offset=8 - local.get $2 - if - local.get $5 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $4 + i32.store offset=8 + local.get $0 + local.get $4 + i32.store offset=8 + local.get $0 + local.get $4 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $2 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $2 - local.get $5 - i32.store $0 offset=4 - local.get $5 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $2 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $5 - i32.store $0 + i32.store loop $for-loop|0 local.get $1 f64.const 100 f64.lt if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -23480,21 +22644,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 local.get $1 i32.trunc_sat_f64_s i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23505,11 +22669,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $1 i32.trunc_sat_f64_s i32.const 10 @@ -23531,10 +22695,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -23552,12 +22716,12 @@ f64.const 100 f64.lt if - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23568,11 +22732,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $1 i32.trunc_sat_f64_s i32.const 10 @@ -23587,21 +22751,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 local.get $1 i32.trunc_sat_f64_s i32.const 20 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23612,11 +22776,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $1 i32.trunc_sat_f64_s i32.const 20 @@ -23638,10 +22802,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -23653,24 +22817,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 offset=4 local.get $0 - local.get $5 - call $~lib/map/Map#keys - local.tee $2 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $0 + call $"~lib/map/Map#keys" + local.tee $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - call $~lib/map/Map#values + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $"~lib/map/Map#values" local.tee $3 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -23680,105 +22842,94 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 32 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $6 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $6 local.get $7 - i32.store $0 + i32.store + local.get $6 local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 3 - i32.store $0 offset=4 - local.get $7 - local.get $0 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $6 local.get $7 - i32.store $0 offset=8 + i32.store offset=8 + local.get $6 local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 4 - i32.store $0 offset=12 - local.get $7 - local.get $0 - i32.store $0 offset=4 - local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=16 - local.get $7 - local.get $0 - i32.store $0 offset=4 - local.get $0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=20 - local.get $7 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 - local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $6 - i32.store $0 offset=20 + call $"~lib/map/Map#constructor" + local.tee $5 + i32.store offset=20 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/array/Array#get:length local.get $4 + i32.store offset=4 + local.get $4 + call $~lib/array/Array#get:length + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $2 - i32.store $0 offset=4 - local.get $7 + local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -23787,15 +22938,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 0 - i32.store $0 - local.get $7 - local.get $2 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $4 + i32.store local.get $2 - i32.load $0 offset=12 + local.get $4 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -23806,34 +22956,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $2 - i32.store $0 - local.get $2 - i32.load $0 offset=4 local.get $4 + i32.store + local.get $4 + i32.load offset=4 + local.get $2 i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $1 - local.get $7 + 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 $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 - local.get $4 + local.get $2 call $~lib/array/Array#__get local.set $7 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23844,14 +22993,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $7 i32.const 20 i32.sub f64.convert_i32_s - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23862,34 +23011,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $6 + i32.store offset=4 + local.get $6 local.get $1 local.get $1 - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $5 + i32.store offset=4 + local.get $5 local.get $7 i32.const 20 i32.sub local.tee $7 local.get $7 - call $~lib/map/Map#set - local.get $4 + call $"~lib/map/Map#set" + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/map/Map#get:size + local.get $6 + i32.store offset=4 + local.get $6 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -23901,10 +23050,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 - call $~lib/map/Map#get:size + local.get $5 + i32.store offset=4 + local.get $5 + call $"~lib/map/Map#get:size" i32.const 100 i32.ne if @@ -23923,11 +23072,11 @@ f64.lt if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -23938,11 +23087,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.get $1 i32.trunc_sat_f64_s i32.const 20 @@ -23957,17 +23106,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -23984,10 +23133,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -24006,11 +23155,11 @@ f64.lt if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -24020,21 +23169,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 local.get $1 i32.trunc_sat_f64_s i32.const 10 i32.add - call $~lib/map/Map#set + call $"~lib/map/Map#set" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" i32.eqz if i32.const 0 @@ -24045,17 +23194,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#delete + call $"~lib/map/Map#delete" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if i32.const 0 i32.const 1568 @@ -24072,10 +23221,10 @@ end end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#get:size" i32.const 50 i32.ne if @@ -24087,15 +23236,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#clear + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#clear" global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 - call $~lib/map/Map#get:size + local.get $0 + i32.store offset=4 + local.get $0 + call $"~lib/map/Map#get:size" if i32.const 0 i32.const 1568 @@ -24135,7 +23284,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.const 1073741820 i32.gt_u @@ -24152,79 +23301,11 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store 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) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) ) diff --git a/tests/compiler/std/math.debug.wat b/tests/compiler/std/math.debug.wat index 85725744ef..5589c2107b 100644 --- a/tests/compiler/std/math.debug.wat +++ b/tests/compiler/std/math.debug.wat @@ -1,34 +1,34 @@ (module - (type $f64_=>_f64 (func (param f64) (result f64))) - (type $f64_f64_f64_i32_=>_i32 (func (param f64 f64 f64 i32) (result i32))) - (type $f32_f32_f32_i32_=>_i32 (func (param f32 f32 f32 i32) (result i32))) - (type $f32_=>_f32 (func (param f32) (result f32))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $f64_f64_f64_f64_i32_=>_i32 (func (param f64 f64 f64 f64 i32) (result i32))) - (type $f32_f32_f32_f32_i32_=>_i32 (func (param f32 f32 f32 f32 i32) (result i32))) - (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) - (type $none_=>_f64 (func (result f64))) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $none_=>_none (func)) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) - (type $f64_f64_f64_=>_f64 (func (param f64 f64 f64) (result f64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $f32_=>_i32 (func (param f32) (result i32))) - (type $f32_i32_=>_f32 (func (param f32 i32) (result f32))) - (type $f32_f32_f32_=>_f32 (func (param f32 f32 f32) (result f32))) - (type $f64_i32_f64_f64_i32_=>_i32 (func (param f64 i32 f64 f64 i32) (result i32))) - (type $f32_i32_f32_f32_i32_=>_i32 (func (param f32 i32 f32 f32 i32) (result i32))) - (type $f64_i64_=>_i32 (func (param f64 i64) (result i32))) - (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $i64_=>_i64 (func (param i64) (result i64))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i64_=>_none (func (param i64))) - (type $none_=>_f32 (func (result f32))) - (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) - (type $f64_=>_none (func (param f64))) - (type $i64_i64_i64_i64_i64_i32_=>_i32 (func (param i64 i64 i64 i64 i64 i32) (result i32))) - (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func (param f64) (result f64))) + (type $1 (func (param f64 f64 f64 i32) (result i32))) + (type $2 (func (param f32 f32 f32 i32) (result i32))) + (type $3 (func (param f32) (result f32))) + (type $4 (func (param f64 f64) (result f64))) + (type $5 (func (param f64 f64 f64 f64 i32) (result i32))) + (type $6 (func (param f32 f32 f32 f32 i32) (result i32))) + (type $7 (func (param f32 f32) (result f32))) + (type $8 (func (result f64))) + (type $9 (func (param f64) (result i32))) + (type $10 (func)) + (type $11 (func (param f64 i32) (result f64))) + (type $12 (func (param f64 f64 f64) (result f64))) + (type $13 (func (param i32 i32 i32 i32))) + (type $14 (func (param f32) (result i32))) + (type $15 (func (param f32 i32) (result f32))) + (type $16 (func (param f32 f32 f32) (result f32))) + (type $17 (func (param f64 i32 f64 f64 i32) (result i32))) + (type $18 (func (param f32 i32 f32 f32 i32) (result i32))) + (type $19 (func (param f64 i64) (result i32))) + (type $20 (func (param f64 f64) (result i32))) + (type $21 (func (param i64) (result i64))) + (type $22 (func (param i32) (result i32))) + (type $23 (func (param i64))) + (type $24 (func (result f32))) + (type $25 (func (param f64 f64 i32) (result f64))) + (type $26 (func (param f64))) + (type $27 (func (param i64 i64 i64 i64 i64 i32) (result i32))) + (type $28 (func (param i64 i64) (result i64))) + (type $29 (func (param i32 i32) (result i32))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "Math.LN2" (global $~lib/bindings/dom/Math.LN2 f64)) (import "env" "Math.LN10" (global $~lib/bindings/dom/Math.LN10 f64)) @@ -113,18 +113,18 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 46112)) (global $~lib/memory/__heap_base i32 (i32.const 46112)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 64) "\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\r\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\r\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\r\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \r\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\r\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\r\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\r\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") - (data (i32.const 2112) "k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\re\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") - (data (i32.const 4160) "\be\f3\f8y\eca\f6?\de\aa\8c\80\f7{\d5\bf=\88\afJ\edq\f5?\dbm\c0\a7\f0\be\d2\bf\b0\10\f0\f09\95\f4?g:Q\7f\ae\1e\d0\bf\85\03\b8\b0\95\c9\f3?\e9$\82\a6\d81\cb\bf\a5d\88\0c\19\r\f3?Xw\c0\nOW\c6\bf\a0\8e\0b{\"^\f2?\00\81\9c\c7+\aa\c1\bf?4\1aJJ\bb\f1?^\0e\8c\cevN\ba\bf\ba\e5\8a\f0X#\f1?\cc\1caZ<\97\b1\bf\a7\00\99A?\95\f0?\1e\0c\e18\f4R\a2\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?\84Y\f2]\aa\a5\aa?\a0j\02\1f\b3\a4\ec?\b4.6\aaS^\bc?\e6\fcjW6 \eb?\08\db w\e5&\c5?-\aa\a1c\d1\c2\e9?pG\"\r\86\c2\cb?\edAx\03\e6\86\e8?\e1~\a0\c8\8b\05\d1?bHS\f5\dcg\e7?\t\ee\b6W0\04\d4?") - (data (i32.const 4416) "n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") - (data (i32.const 4608) ")\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") - (data (i32.const 4640) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 6688) "\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") - (data (i32.const 6944) "\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\r\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\r\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\r\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") - (data (i32.const 7968) "\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\r\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") - (data (i32.const 8992) "\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\r\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 9248) "\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\r\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\r\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \r\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\r\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\r\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\r\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") + (data $2 (i32.const 2112) "k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\re\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") + (data $3 (i32.const 4160) "\be\f3\f8y\eca\f6?\de\aa\8c\80\f7{\d5\bf=\88\afJ\edq\f5?\dbm\c0\a7\f0\be\d2\bf\b0\10\f0\f09\95\f4?g:Q\7f\ae\1e\d0\bf\85\03\b8\b0\95\c9\f3?\e9$\82\a6\d81\cb\bf\a5d\88\0c\19\r\f3?Xw\c0\nOW\c6\bf\a0\8e\0b{\"^\f2?\00\81\9c\c7+\aa\c1\bf?4\1aJJ\bb\f1?^\0e\8c\cevN\ba\bf\ba\e5\8a\f0X#\f1?\cc\1caZ<\97\b1\bf\a7\00\99A?\95\f0?\1e\0c\e18\f4R\a2\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?\84Y\f2]\aa\a5\aa?\a0j\02\1f\b3\a4\ec?\b4.6\aaS^\bc?\e6\fcjW6 \eb?\08\db w\e5&\c5?-\aa\a1c\d1\c2\e9?pG\"\r\86\c2\cb?\edAx\03\e6\86\e8?\e1~\a0\c8\8b\05\d1?bHS\f5\dcg\e7?\t\ee\b6W0\04\d4?") + (data $4 (i32.const 4416) "n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") + (data $5 (i32.const 4608) ")\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") + (data $6 (i32.const 4640) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data $7 (i32.const 6688) "\00\00\00\00\00\00\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") + (data $8 (i32.const 6944) "\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\r\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\r\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\r\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") + (data $9 (i32.const 7968) "\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\r\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") + (data $10 (i32.const 8992) "\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\r\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") + (data $11 (i32.const 9248) "\00\00\00\00\00\a0\f6?\00\00\00\00\00\00\00\00\00\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?\00\00\00\00\00\00\00\00\00\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?\00\00\00\00\00\00\00\00\00XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?\00\00\00\00\00\00\00\00\00\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?\00\00\00\00\00\00\00\00\00xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?\00\00\00\00\00\00\00\00\00`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?\00\00\00\00\00\00\00\00\00\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?\00\00\00\00\00\00\00\00\00HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?\00\00\00\00\00\00\00\00\00\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?\00\00\00\00\00\00\00\00\00 \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?\00\00\00\00\00\00\00\00\00\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?\00\00\00\00\00\00\00\00\00x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?\00\00\00\00\00\00\00\00\00\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?\00\00\00\00\00\00\00\00\00\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?\00\00\00\00\00\00\00\00\00H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?\00\00\00\00\00\00\00\00\00\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?\00\00\00\00\00\00\00\00\00\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?\00\00\00\00\00\00\00\00\00@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?\00\00\00\00\00\00\00\00\00`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?\00\00\00\00\00\00\00\00\00\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?\00\00\00\00\00\00\00\00\00\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?\00\00\00\00\00\00\00\00\00\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?\00\00\00\00\00\00\00\00\00\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?\00\00\00\00\00\00\00\00\00\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?\00\00\00\00\00\00\00\00\00\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?\00\00\00\00\00\00\00\00\00P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?\00\00\00\00\00\00\00\00\00\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?\00\00\00\00\00\00\00\00\00\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?\00\00\00\00\00\00\00\00\00\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?\00\00\00\00\00\00\00\00\00\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?\00\00\00\00\00\00\00\00\00\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?\00\00\00\00\00\00\00\00\00\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?\00\00\00\00\00\00\00\00\00`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?\00\00\00\00\00\00\00\00\00\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?\00\00\00\00\00\00\00\00\00\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?\00\00\00\00\00\00\00\00\00\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?\00\00\00\00\00\00\00\00\00@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?\00\00\00\00\00\00\00\00\00`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?\00\00\00\00\00\00\00\00\00@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?\00\00\00\00\00\00\00\00\00 \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?\00\00\00\00\00\00\00\00\00\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?\00\00\00\00\00\00\00\00\00\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?\00\00\00\00\00\00\00\00\00\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?\00\00\00\00\00\00\00\00\00\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?\00\00\00\00\00\00\00\00\00\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?\00\00\00\00\00\00\00\00\00\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?\00\00\00\00\00\00\00\00\00\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?\00\00\00\00\00\00\00\00\00\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?\00\00\00\00\00\00\00\00\00pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?\00\00\00\00\00\00\00\00\00PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?\00\00\00\00\00\00\00\00\00\009\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?\00\00\00\00\00\00\00\00\00\00\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?\00\00\00\00\00\00\00\00\00\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?\00\00\00\00\00\00\00\00\00\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?\00\00\00\00\00\00\00\00\00\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?\00\00\00\00\00\00\00\00\00\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?\00\00\00\00\00\00\00\00\00\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?\00\00\00\00\00\00\00\00\00\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?\00\00\00\00\00\00\00\00\00\00\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?\00\00\00\00\00\00\00\00\00\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?\00\00\00\00\00\00\00\00\00XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?\00\00\00\00\00\00\00\00\00`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?\00\00\00\00\00\00\00\00\00\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?\00\00\00\00\00\00\00\00\00\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?\00\00\00\00\00\00\00\00\00hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?\00\00\00\00\00\00\00\00\00\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?\00\00\00\00\00\00\00\00\00\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?\00\00\00\00\00\00\00\00\00`\d3\e1\f1\14\d3?\b8_f64 (func (param f64) (result f64))) - (type $f64_f64_f64_=>_i32 (func (param f64 f64 f64) (result i32))) - (type $f32_f32_f32_=>_i32 (func (param f32 f32 f32) (result i32))) - (type $f32_=>_f32 (func (param f32) (result f32))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) - (type $f64_f64_f64_f64_=>_i32 (func (param f64 f64 f64 f64) (result i32))) - (type $none_=>_f64 (func (result f64))) - (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) - (type $none_=>_none (func)) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $f32_f32_f32_f32_=>_i32 (func (param f32 f32 f32 f32) (result i32))) - (type $i64_=>_none (func (param i64))) - (type $f64_f64_i32_=>_f64 (func (param f64 f64 i32) (result f64))) - (type $f64_=>_none (func (param f64))) - (type $i64_i64_i64_i64_i64_=>_none (func (param i64 i64 i64 i64 i64))) - (type $i64_i64_=>_i64 (func (param i64 i64) (result i64))) + (type $0 (func (param f64) (result f64))) + (type $1 (func (param f64 f64 f64) (result i32))) + (type $2 (func (param f32 f32 f32) (result i32))) + (type $3 (func (param f32) (result f32))) + (type $4 (func (param f64 f64) (result f64))) + (type $5 (func (param f32 f32) (result f32))) + (type $6 (func (param f64 f64 f64 f64) (result i32))) + (type $7 (func (result f64))) + (type $8 (func (param f64 f64) (result i32))) + (type $9 (func (param f32 f32) (result i32))) + (type $10 (func)) + (type $11 (func (param f64 i32) (result f64))) + (type $12 (func (param i32 i32 i32 i32))) + (type $13 (func (param i64) (result i32))) + (type $14 (func (param f32 f32 f32 f32) (result i32))) + (type $15 (func (param i64))) + (type $16 (func (param f64 f64 i32) (result f64))) + (type $17 (func (param f64))) + (type $18 (func (param i64 i64 i64 i64 i64))) + (type $19 (func (param i64 i64) (result i64))) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "Math.LN2" (global $~lib/bindings/dom/Math.LN2 f64)) (import "env" "Math.LN10" (global $~lib/bindings/dom/Math.LN10 f64)) @@ -72,147 +72,147 @@ (global $~lib/math/NativeMath.sincos_sin (mut f64) (f64.const 0)) (global $~lib/math/NativeMath.sincos_cos (mut f64) (f64.const 0)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\16\00\00\00s\00t\00d\00/\00m\00a\00t\00h\00.\00t\00s") - (data (i32.const 1088) "\9f\de\e0\c3\f04\f7?\00\90\e6y\7f\cc\d7\bf\1f\e9,jx\13\f7?\00\00\r\c2\eeo\d7\bf\a0\b5\fa\08`\f2\f6?\00\e0Q\13\e3\13\d7\bf}\8c\13\1f\a6\d1\f6?\00x(8[\b8\d6\bf\d1\b4\c5\0bI\b1\f6?\00x\80\90U]\d6\bf\ba\0c/3G\91\f6?\00\00\18v\d0\02\d6\bf#B\"\18\9fq\f6?\00\90\90\86\ca\a8\d5\bf\d9\1e\a5\99OR\f6?\00P\03VCO\d5\bf\c4$\8f\aaV3\f6?\00@k\c37\f6\d4\bf\14\dc\9dk\b3\14\f6?\00P\a8\fd\a7\9d\d4\bfL\\\c6Rd\f6\f5?\00\a8\899\92E\d4\bfO,\91\b5g\d8\f5?\00\b8\b09\f4\ed\d3\bf\de\90[\cb\bc\ba\f5?\00p\8fD\ce\96\d3\bfx\1a\d9\f2a\9d\f5?\00\a0\bd\17\1e@\d3\bf\87VF\12V\80\f5?\00\80F\ef\e2\e9\d2\bf\d3k\e7\ce\97c\f5?\00\e008\1b\94\d2\bf\93\7f\a7\e2%G\f5?\00\88\da\8c\c5>\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\r\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\r\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \r\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\r\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\r\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\r\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") - (data (i32.const 3136) "k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\re\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") - (data (i32.const 5184) "\be\f3\f8y\eca\f6?\de\aa\8c\80\f7{\d5\bf=\88\afJ\edq\f5?\dbm\c0\a7\f0\be\d2\bf\b0\10\f0\f09\95\f4?g:Q\7f\ae\1e\d0\bf\85\03\b8\b0\95\c9\f3?\e9$\82\a6\d81\cb\bf\a5d\88\0c\19\r\f3?Xw\c0\nOW\c6\bf\a0\8e\0b{\"^\f2?\00\81\9c\c7+\aa\c1\bf?4\1aJJ\bb\f1?^\0e\8c\cevN\ba\bf\ba\e5\8a\f0X#\f1?\cc\1caZ<\97\b1\bf\a7\00\99A?\95\f0?\1e\0c\e18\f4R\a2\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?\84Y\f2]\aa\a5\aa?\a0j\02\1f\b3\a4\ec?\b4.6\aaS^\bc?\e6\fcjW6 \eb?\08\db w\e5&\c5?-\aa\a1c\d1\c2\e9?pG\"\r\86\c2\cb?\edAx\03\e6\86\e8?\e1~\a0\c8\8b\05\d1?bHS\f5\dcg\e7?\t\ee\b6W0\04\d4?") - (data (i32.const 5440) "n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") - (data (i32.const 5632) ")\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") - (data (i32.const 5678) "\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") - (data (i32.const 7718) "\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") - (data (i32.const 7968) "\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\r\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\r\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\r\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") - (data (i32.const 8992) "\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\r\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") - (data (i32.const 10016) "\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\r\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") - (data (i32.const 10277) "\a0\f6?") - (data (i32.const 10289) "\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?") - (data (i32.const 10321) "\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?") - (data (i32.const 10353) "XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?") - (data (i32.const 10385) "\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?") - (data (i32.const 10417) "xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?") - (data (i32.const 10449) "`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?") - (data (i32.const 10481) "\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?") - (data (i32.const 10513) "HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?") - (data (i32.const 10545) "\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?") - (data (i32.const 10577) " \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?") - (data (i32.const 10609) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?") - (data (i32.const 10641) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?") - (data (i32.const 10673) "x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?") - (data (i32.const 10705) "\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?") - (data (i32.const 10737) "\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?") - (data (i32.const 10769) "H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?") - (data (i32.const 10801) "\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?") - (data (i32.const 10833) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?") - (data (i32.const 10865) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?") - (data (i32.const 10897) "@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?") - (data (i32.const 10929) "`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?") - (data (i32.const 10961) "\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?") - (data (i32.const 10993) "\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?") - (data (i32.const 11025) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?") - (data (i32.const 11057) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?") - (data (i32.const 11089) "\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?") - (data (i32.const 11121) "\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?") - (data (i32.const 11153) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?") - (data (i32.const 11185) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?") - (data (i32.const 11217) "P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?") - (data (i32.const 11249) "\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?") - (data (i32.const 11281) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?") - (data (i32.const 11313) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?") - (data (i32.const 11345) "\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?") - (data (i32.const 11377) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?") - (data (i32.const 11409) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?") - (data (i32.const 11441) "\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?") - (data (i32.const 11473) "\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?") - (data (i32.const 12977) "`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?") - (data (i32.const 13009) "\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?") - (data (i32.const 13041) "\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?") - (data (i32.const 13073) "\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?") - (data (i32.const 13105) "@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?") - (data (i32.const 13137) "`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?") - (data (i32.const 13169) "@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?") - (data (i32.const 13201) " \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?") - (data (i32.const 13233) "\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?") - (data (i32.const 13265) "\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?") - (data (i32.const 13297) "\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?") - (data (i32.const 13329) "\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?") - (data (i32.const 13361) "\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?") - (data (i32.const 13393) "\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?") - (data (i32.const 13425) "\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?") - (data (i32.const 13457) "\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?") - (data (i32.const 13489) "pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?") - (data (i32.const 13521) "PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?") - (data (i32.const 13554) "9\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?") - (data (i32.const 13586) "\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?") - (data (i32.const 13617) "\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?") - (data (i32.const 13649) "\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?") - (data (i32.const 13681) "\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?") - (data (i32.const 13713) "\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?") - (data (i32.const 13745) "\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?") - (data (i32.const 13777) "\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?") - (data (i32.const 13810) "\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?") - (data (i32.const 13841) "\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?") - (data (i32.const 13873) "XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?") - (data (i32.const 13905) "`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?") - (data (i32.const 13937) "\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?") - (data (i32.const 13969) "\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?") - (data (i32.const 14001) "hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?") - (data (i32.const 14033) "\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?") - (data (i32.const 14065) "\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?") - (data (i32.const 14097) "`\d3\e1\f1\14\d3?\b8\d2\bf\83E\06B\ff*\f5?\00\90\')\e1\e9\d1\bf\df\bd\b2\db\"\0f\f5?\00\f8H+m\95\d1\bf\d7\de4G\8f\f3\f4?\00\f8\b9\9agA\d1\bf@(\de\cfC\d8\f4?\00\98\ef\94\d0\ed\d0\bf\c8\a3x\c0>\bd\f4?\00\10\db\18\a5\9a\d0\bf\8a%\e0\c3\7f\a2\f4?\00\b8cR\e6G\d0\bf4\84\d4$\05\88\f4?\00\f0\86E\"\eb\cf\bf\0b-\19\1b\cem\f4?\00\b0\17uJG\cf\bfT\189\d3\d9S\f4?\000\10=D\a4\ce\bfZ\84\b4D\':\f4?\00\b0\e9D\r\02\ce\bf\fb\f8\15A\b5 \f4?\00\f0w)\a2`\cd\bf\b1\f4>\da\82\07\f4?\00\90\95\04\01\c0\cc\bf\8f\feW]\8f\ee\f3?\00\10\89V) \cc\bf\e9L\0b\a0\d9\d5\f3?\00\10\81\8d\17\81\cb\bf+\c1\10\c0`\bd\f3?\00\d0\d3\cc\c9\e2\ca\bf\b8\dau+$\a5\f3?\00\90\12.@E\ca\bf\02\d0\9f\cd\"\8d\f3?\00\f0\1dhw\a8\c9\bf\1cz\84\c5[u\f3?\000Him\0c\c9\bf\e26\adI\ce]\f3?\00\c0E\a6 q\c8\bf@\d4M\98yF\f3?\000\14\b4\8f\d6\c7\bf$\cb\ff\ce\\/\f3?\00pb<\b8<\c7\bfI\r\a1uw\18\f3?\00`7\9b\9a\a3\c6\bf\909>7\c8\01\f3?\00\a0\b7T1\0b\c6\bfA\f8\95\bbN\eb\f2?\000$v}s\c5\bf\d1\a9\19\02\n\d5\f2?\000\c2\8f{\dc\c4\bf*\fd\b7\a8\f9\be\f2?\00\00\d2Q,F\c4\bf\ab\1b\0cz\1c\a9\f2?\00\00\83\bc\8a\b0\c3\bf0\b5\14`r\93\f2?\00\00Ik\99\1b\c3\bf\f5\a1WW\fa}\f2?\00@\a4\90T\87\c2\bf\bf;\1d\9b\b3h\f2?\00\a0y\f8\b9\f3\c1\bf\bd\f5\8f\83\9dS\f2?\00\a0,%\c8`\c1\bf;\08\c9\aa\b7>\f2?\00 \f7W\7f\ce\c0\bf\b6@\a9+\01*\f2?\00\a0\feI\dc<\c0\bf2A\cc\96y\15\f2?\00\80K\bc\bdW\bf\bf\9b\fc\d2\1d \01\f2?\00@@\96\087\be\bf\0bHMI\f4\ec\f1?\00@\f9>\98\17\bd\bfie\8fR\f5\d8\f1?\00\a0\d8Ng\f9\bb\bf|~W\11#\c5\f1?\00`/ y\dc\ba\bf\e9&\cbt|\b1\f1?\00\80(\e7\c3\c0\b9\bf\b6\1a,\0c\01\9e\f1?\00\c0r\b3F\a6\b8\bf\bdp\b6{\b0\8a\f1?\00\00\ac\b3\01\8d\b7\bf\b6\bc\ef%\8aw\f1?\00\008E\f1t\b6\bf\da1L5\8dd\f1?\00\80\87m\0e^\b5\bf\dd_\'\90\b9Q\f1?\00\e0\a1\de\\H\b4\bfL\d22\a4\0e?\f1?\00\a0jM\d93\b3\bf\da\f9\10r\8b,\f1?\00`\c5\f8y \b2\bf1\b5\ec(0\1a\f1?\00 b\98F\0e\b1\bf\af4\84\da\fb\07\f1?\00\00\d2jl\fa\af\bf\b3kN\0f\ee\f5\f0?\00@wJ\8d\da\ad\bf\ce\9f*]\06\e4\f0?\00\00\85\e4\ec\bc\ab\bf!\a5,cD\d2\f0?\00\c0\12@\89\a1\a9\bf\1a\98\e2|\a7\c0\f0?\00\c0\023X\88\a7\bf\d16\c6\83/\af\f0?\00\80\d6g^q\a5\bf9\13\a0\98\db\9d\f0?\00\80eI\8a\\\a3\bf\df\e7R\af\ab\8c\f0?\00@\15d\e3I\a1\bf\fb(N/\9f{\f0?\00\80\eb\82\c0r\9e\bf\19\8f5\8c\b5j\f0?\00\80RR\f1U\9a\bf,\f9\ec\a5\eeY\f0?\00\80\81\cfb=\96\bf\90,\d1\cdII\f0?\00\00\aa\8c\fb(\92\bf\a9\ad\f0\c6\c68\f0?\00\00\f9 {1\8c\bf\a92y\13e(\f0?\00\00\aa]5\19\84\bfHs\ea\'$\18\f0?\00\00\ec\c2\03\12x\bf\95\b1\14\06\04\08\f0?\00\00$y\t\04`\bf\1a\fa&\f7\1f\e0\ef?\00\00\90\84\f3\efo?t\eaa\c2\1c\a1\ef?\00\00=5A\dc\87?.\99\81\b0\10c\ef?\00\80\c2\c4\a3\ce\93?\cd\ad\ee<\f6%\ef?\00\00\89\14\c1\9f\9b?\e7\13\91\03\c8\e9\ee?\00\00\11\ce\d8\b0\a1?\ab\b1\cbx\80\ae\ee?\00\c0\01\d0[\8a\a5?\9b\0c\9d\a2\1at\ee?\00\80\d8@\83\\\a9?\b5\99\n\83\91:\ee?\00\80W\efj\'\ad?V\9a`\t\e0\01\ee?\00\c0\98\e5\98u\b0?\98\bbw\e5\01\ca\ed?\00 \r\e3\f5S\b2?\03\91|\0b\f2\92\ed?\00\008\8b\dd.\b4?\ce\\\fbf\ac\\\ed?\00\c0W\87Y\06\b6?\9d\de^\aa,\'\ed?\00\00j5v\da\b7?\cd,k>n\f2\ec?\00`\1cNC\ab\b9?\02y\a7\a2m\be\ec?\00`\r\bb\c7x\bb?m\087m&\8b\ec?\00 \e72\13C\bd?\04X]\bd\94X\ec?\00`\deq1\n\bf?\8c\9f\bb3\b5&\ec?\00@\91+\15g\c0??\e7\ec\ee\83\f5\eb?\00\b0\92\82\85G\c1?\c1\96\dbu\fd\c4\eb?\000\ca\cdn&\c2?(J\86\0c\1e\95\eb?\00P\c5\a6\d7\03\c3?,>\ef\c5\e2e\eb?\00\103<\c3\df\c3?\8b\88\c9gH7\eb?\00\80zk6\ba\c4?J0\1d!K\t\eb?\00\f0\d1(9\93\c5?~\ef\f2\85\e8\db\ea?\00\f0\18$\cdj\c6?\a2=`1\1d\af\ea?\00\90f\ec\f8@\c7?\a7X\d3?\e6\82\ea?\00\f0\1a\f5\c0\15\c8?\8bs\t\ef@W\ea?\00\80\f6T)\e9\c8?\'K\ab\90*,\ea?\00@\f8\026\bb\c9?\d1\f2\93\13\a0\01\ea?\00\00,\1c\ed\8b\ca?\1b<\db$\9f\d7\e9?\00\d0\01\\Q[\cb?\90\b1\c7\05%\ae\e9?\00\c0\bc\ccg)\cc?/\ce\97\f2.\85\e9?\00`H\d55\f6\cc?uK\a4\ee\ba\\\e9?\00\c0F4\bd\c1\cd?8H\e7\9d\c64\e9?\00\e0\cf\b8\01\8c\ce?\e6Rg/O\r\e9?\00\90\17\c0\tU\cf?\9d\d7\ff\8eR\e6\e8?\00\b8\1f\12l\0e\d0?|\00\cc\9f\ce\bf\e8?\00\d0\93\0e\b8q\d0?\0e\c3\be\da\c0\99\e8?\00p\86\9ek\d4\d0?\fb\17#\aa\'t\e8?\00\d0K3\876\d1?\08\9a\b3\ac\00O\e8?\00H#g\r\98\d1?U>e\e8I*\e8?\00\80\cc\e0\ff\f8\d1?`\02\f4\95\01\06\e8?\00hc\d7_Y\d2?)\a3\e0c%\e2\e7?\00\a8\14\t0\b9\d2?\ad\b5\dcw\b3\be\e7?\00`C\10r\18\d3?\c2%\97g\aa\9b\e7?\00\18\ecm&w\d3?W\06\17\f2\07y\e7?\000\af\fbO\d5\d3?\0c\13\d6\db\caV\e7?\00\e0/\e3\ee2\d4?") + (data $2 (i32.const 3136) "k\b6O\01\00\10\e6?<[B\91l\02~<\95\b4M\03\000\e6?A]\00H\ea\bf\8d\f6\05\eb\ff\ef\e6?S-\e2\1a\04\80~\bc\80\97\86\0e\00\10\e7?Ry\tqf\ff{<\12\e9g\fc\ff/\e7?$\87\bd&\e2\00\8c\89<\b9{F\13\000\e9?v\02\98KN\80\7f.\98\dd\ff\af\e9?7\93Z\8a\e0@\87\bcf\fbI\ed\ff\cf\e9?\00\e0\9b\c1\08\ce?O*\00\b0\ea?_?\ff<\04\fdi\bc\d1\1e\ae\d7\ff\cf\ea?\b4p\90\12\e7>\82\bcx\04Q\ee\ff\ef\ea?\a3\de\0e\e0>\06j<[\re\db\ff\0f\eb?\b9\n\1f8\c8\06ZO\86\d0E\ff\8a<@\16\87\f9\ff\8f\eb?\f9\c3\c2\96w\fe|\f0\0f\00\f0\f4?\1cS\85\0b\89\7f\97<\d1K\dc\12\00\10\f5?6\a4fqe\04`\c9\03\00\b0\f5?\c0\0c\bf\n\08A\9f\bc\bc\19I\1d\00\d0\f5?)G%\fb*\81\98\bc\89z\b8\e7\ff\ef\f5?\04i\ed\80\b7~\94\bc") + (data $3 (i32.const 5184) "\be\f3\f8y\eca\f6?\de\aa\8c\80\f7{\d5\bf=\88\afJ\edq\f5?\dbm\c0\a7\f0\be\d2\bf\b0\10\f0\f09\95\f4?g:Q\7f\ae\1e\d0\bf\85\03\b8\b0\95\c9\f3?\e9$\82\a6\d81\cb\bf\a5d\88\0c\19\r\f3?Xw\c0\nOW\c6\bf\a0\8e\0b{\"^\f2?\00\81\9c\c7+\aa\c1\bf?4\1aJJ\bb\f1?^\0e\8c\cevN\ba\bf\ba\e5\8a\f0X#\f1?\cc\1caZ<\97\b1\bf\a7\00\99A?\95\f0?\1e\0c\e18\f4R\a2\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?\84Y\f2]\aa\a5\aa?\a0j\02\1f\b3\a4\ec?\b4.6\aaS^\bc?\e6\fcjW6 \eb?\08\db w\e5&\c5?-\aa\a1c\d1\c2\e9?pG\"\r\86\c2\cb?\edAx\03\e6\86\e8?\e1~\a0\c8\8b\05\d1?bHS\f5\dcg\e7?\t\ee\b6W0\04\d4?") + (data $4 (i32.const 5440) "n\83\f9\a2\00\00\00\00\d1W\'\fc)\15DN\99\95b\db\c0\dd4\f5\abcQ\feA\90C<:n$\b7a\c5\bb\de\ea.I\06\e0\d2MB\1c\eb\1d\fe\1c\92\d1\t\f55\82\e8>\a7)\b1&p\9c\e9\84D\bb.9\d6\919A~_\b4\8b_\84\9c\f49S\83\ff\97\f8\1f;(\f9\bd\8b\11/\ef\0f\98\05\de\cf~6m\1fm\nZf?FO\b7\t\cb\'\c7\ba\'u-\ea_\9e\f79\07={\f1\e5\eb\b1_\fbk\ea\92R\8aF0\03V\08]\8d\1f \bc\cf\f0\abk{\fca\91\e3\a9\1d6\f4\9a_\85\99e\08\1b\e6^\80\d8\ff\8d@h\a0\14W\15\06\061\'sM") + (data $5 (i32.const 5632) ")\15DNn\83\f9\a2\c0\dd4\f5\d1W\'\fcA\90C<\99\95b\dba\c5\bb\de\abcQ\fe") + (data $6 (i32.const 5678) "\f0?n\bf\88\1aO;\9b<53\fb\a9=\f6\ef?]\dc\d8\9c\13`q\bca\80w>\9a\ec\ef?\d1f\87\10z^\90\bc\85\7fn\e8\15\e3\ef?\13\f6g5R\d2\8c\be\ef?m{\83]\a6\9a\97<\0f\89\f9lX\b5\ef?\fc\ef\fd\92\1a\b5\8e<\f7Gr+\92\ac\ef?\d1\9c/p=\be><\a2\d1\d32\ec\a3\ef?\0bn\90\894\03j\bc\1b\d3\fe\aff\9b\ef?\0e\bd/*RV\95\bcQ[\12\d0\01\93\ef?U\eaN\8c\ef\80P\bc\cc1l\c0\bd\8a\ef?\16\f4\d5\b9#\c9\91\bc\e0-\a9\ae\9a\82\ef?\afU\\\e9\e3\d3\80\f7\ec\9a<\aa\b9h1\87T\ef?\9d8\86\cb\82\e7\8f\bc\1d\d9\fc\"PM\ef?\8d\c3\a6DAo\8a<\d6\8cb\88;F\ef?}\04\e4\b0\05z\80<\96\dc}\91I?\ef?\94\a8\a8\e3\fd\8e\96<8bunz8\ef?}Ht\f2\18^\87\a9\af\0c\ef?\b6\ab\b0MuM\83<\15\b71\n\fe\06\ef?Lt\ac\e2\01B\86<1\d8L\fcp\01\ef?J\f8\d3]9\dd\8f<\ff\16d\b2\08\fc\ee?\04[\8e;\80\a3\86\bc\f1\9f\92_\c5\f6\ee?hPK\cc\edJ\92\bc\cb\a9:7\a7\f1\ee?\8e-Q\1b\f8\07\99\bcf\d8\05m\ae\ec\ee?\d26\94>\e8\d1q\bc\f7\9f\e54\db\e7\ee?\15\1b\ce\b3\19\19\99\bc\e5\a8\13\c3-\e3\ee?mL*\a7H\9f\85<\"4\12L\a6\de\ee?\8ai(z`\12\93\bc\1c\80\ac\04E\da\ee?[\89\17H\8f\a7X\bc*.\f7!\n\d6\ee?\1b\9aIg\9b,|\bc\97\a8P\d9\f5\d1\ee?\11\ac\c2`\edcC<-\89a`\08\ce\ee?\efd\06;\tf\96Z~d\1fx\bct_\ec\e8u\9f\ee?\b0}\8b\c0J\ee\86\bct\81\a5H\9a\9f\ee?\8a\e6U\1e2\19\86\bc\c9gBV\eb\9f\ee?\d3\d4\t^\cb\9c\90T\'\a4\ee?47;\f1\b6i\93\bc\13\ceL\99\89\a5\ee?\1e\ff\19:\84^\80\bc\ad\c7#F\1a\a7\ee?nWr\d8P\d4\94\bc\ed\92D\9b\d9\a8\ee?\00\8a\0e[g\ad\90<\99f\8a\d9\c7\aa\ee?\b4\ea\f0\c1/\b7\8d<\db\a0*B\e5\ac\ee?\ff\e7\c5\9c`\b6e\bc\8cD\b5\162\af\ee?D_\f3Y\83\f6{<6w\15\99\ae\b1\ee?\83=\1e\a7\1f\t\93\bc\c6\ff\91\0b[\b4\ee?)\1el\8b\b8\a9]\bc\e5\c5\cd\b07\b7\ee?Y\b9\90|\f9#l\bc\0fR\c8\cbD\ba\ee?\aa\f9\f4\"CC\92\bcPN\de\9f\82\bd\ee?K\8ef\d7l\ca\85\bc\ba\07\cap\f1\c0\ee?\'\ce\91+\fc\afq<\90\f0\a3\82\91\c4\ee?\bbs\n\e15\d2m<##\e3\19c\c8\ee?c\"b\"\04\c5\87\bce\e5]{f\cc\ee?\d51\e2\e3\86\1c\8b<3-J\ec\9b\d0\ee?\15\bb\bc\d3\d1\bb\91\bc]%>\b2\03\d5\ee?\d21\ee\9c1\cc\90\b4\07!\d5\82\bc_\9b{3\97|\ef?\c9\rG;\b9*\89\bc)\a1\f5\14F\86\ef?\d3\88:`\04\b6t<\f6?\8b\e7.\90\ef?qr\9dQ\ec\c5\83<\83L\c7\fbQ\9a\ef?\f0\91\d3\8f\12\f7\8f\bc\da\90\a4\a2\af\a4\ef?}t#\e2\98\ae\8d\bc\f1g\8e-H\af\ef?\08 \aaA\bc\c3\8e<\'Za\ee\1b\ba\ef?2\eb\a9\c3\94+\84<\97\bak7+\c5\ef?\ee\85\d11\a9d\8a<@En[v\d0\ef?\ed\e3;\e4\ba7\8e\bc\14\be\9c\ad\fd\db\ef?\9d\cd\91M;\89w<\d8\90\9e\81\c1\e7\ef?\89\cc`A\c1\05S<\f1q\8f+\c2\f3\ef?") + (data $7 (i32.const 7718) "\f0?t\85\15\d3\b0\d9\ef?\0f\89\f9lX\b5\ef?Q[\12\d0\01\93\ef?{Q}<\b8r\ef?\aa\b9h1\87T\ef?8bunz8\ef?\e1\de\1f\f5\9d\1e\ef?\15\b71\n\fe\06\ef?\cb\a9:7\a7\f1\ee?\"4\12L\a6\de\ee?-\89a`\08\ce\ee?\'*6\d5\da\bf\ee?\82O\9dV+\b4\ee?)TH\dd\07\ab\ee?\85U:\b0~\a4\ee?\cd;\7ff\9e\a0\ee?t_\ec\e8u\9f\ee?\87\01\ebs\14\a1\ee?\13\ceL\99\89\a5\ee?\db\a0*B\e5\ac\ee?\e5\c5\cd\b07\b7\ee?\90\f0\a3\82\91\c4\ee?]%>\b2\03\d5\ee?\ad\d3Z\99\9f\e8\ee?G^\fb\f2v\ff\ee?\9cR\85\dd\9b\19\ef?i\90\ef\dc 7\ef?\87\a4\fb\dc\18X\ef?_\9b{3\97|\ef?\da\90\a4\a2\af\a4\ef?@En[v\d0\ef?") + (data $8 (i32.const 7968) "\f8\ac\b1k($\f7?\00\b0\cd\ee_\t\e1\bf\a1\cc\d2f\f7\e1\f6?\00\d0v\bd\94\84\e0\bf\8a\d40\0e=\a1\f6?\00\f8\e8\aeC\01\e0\bf\85l\d02\eca\f6?\00@\0b6\c5\fe\de\bf\f8\98\11\95\fa#\f6?\00\e0\b7\1a\d9\fd\dd\bfl\02\cf\a4[\e7\f5?\00\90\c7\0c\ae\ff\dc\bf\b8O!Z\05\ac\f5?\00\a0\fd\118\04\dc\bf\1en\16\0f\edq\f5?\00\e0:2g\0b\db\bf5\f8\0bY\t9\f5?\00\b0-Z/\15\da\bf\dd\ada\edO\01\f5?\00`\f8Z\7f!\d9\bf\d0{H\8e\b8\ca\f4?\00\90q\b0M0\d8\bf\eeO3\b49\95\f4?\00\e0\a9\f9\89A\d7\bfi\d5\af\df\cb`\f4?\00\90\19\b5+U\d6\bfS\b9\e4Nf-\f4?\00\10\9b\a2#k\d5\bf\a6\d8\1d\11\01\fb\f3?\00\a0_\0fe\83\d4\bf6X\0c\b7\95\c9\f3?\00\a0\f67\e9\9d\d3\bfJ\fd\b6J\1c\99\f3?\00`\8dS\a1\ba\d2\bf\b5\99\e0\0c\8ei\f3?\00@\ca@\83\d9\d1\bf\b2\e7\13\82\e4:\f3?\00\e0@:\85\fa\d0\bf\b1\bd\85\19\19\r\f3?\000\e72\9c\1d\d0\bf\d7q\b2\ca%\e0\f2?\00`\fa\a2}\85\ce\bf\82\cd\13\cf\04\b4\f2?\00\80=c\c8\d3\cc\bfP\cb|,\b0\88\f2?\00\a0\14L\03&\cb\bf\e5M\94c\"^\f2?\00\e0O/\1c|\c9\bf\b1\15\86=V4\f2?\00\00\80?\02\d6\c7\bf8\af>\e3F\0b\f2?\00\e0\05\1a\a73\c6\bf\dd\a3\cd\fd\ee\e2\f1?\00\00W\e9\f5\94\c4\bf09\0bXJ\bb\f1?\00\a0\e0$\e4\f9\c2\bf\00\"\7f\84S\94\f1?\00\c0\fdZYb\c1\bf<\d7\d5\c0\06n\f1?\00\80\bdu\9a\9c\bf\bf\c2\e4\b7G_H\f1?\00\c0\f9[W{\bc\bf\d1\85\00\adX#\f1?\00\80\f4\0f\c6`\b9\bf\'\"S\0f\f0\fe\f0?\00\00\b6G\e2L\b6\bf\8f:\d0w \db\f0?\00@\01\b2x?\b3\bf\d9\80Y\d6\e6\b7\f0?\00\c0B\1a}8\b0\bf\8d@{\fe>\95\f0?\00\00\b5\08\92o\aa\bf\83;\c5\ca%s\f0?\00\00wO\95z\a4\bf\\\1b\r\e4\97Q\f0?\00\00\0c\c5\a8#\9d\bf\a2\8e \c1\910\f0?\00\00x)&j\91\bf!~\b3%\10\10\f0?\00\00\e8\d8\f8 w\bfk\a7\ca\f9~\c0\ef?\00\00P\b1S\fe\86?\84\f1\f6\d3eD\ef?\00\80\0f\e1\cc\1c\a1?\7f\10\84\9f\07\cc\ee?\00\80\8b\8c\fcM\ac?\e8Z\97\99:W\ee?\00@W\1e2\aa\b3?\e6=\bd\f0\d6\e5\ed?\00\80\8b\d0\a0\18\b9?\b38\ff\81\b6w\ed?\00@\04\da\e9r\be?C\e9Mr\b5\0c\ed?\00`\7fP\d2\dc\c1?cu\0e\dc\b2\a4\ec?\00\a0\de\03\abv\c4?Q\cb\d6\e8\8e?\ec?\00 \e2wC\07\c7?L\0c\02O+\dd\eb?\00@\a9\8b\de\8e\c9?\ca\15`\00l}\eb?\00\e0\d2j\b8\r\cc?\8f3.n6 \eb?\00\e0\ce\af\n\84\ce?9P)&p\c5\ea?\00\80g\b4\ny\d0?\dd1\'\bc\01m\ea?\00\c0\01h\05\ac\d1?\8b\f1?\bc\d3\16\ea?\00\e0\fe\d4\11\db\d2?\ad\fegI\d1\c2\e9?\00\80\c5NF\06\d4?\02\99|\f4\e4p\e9?\00\f0:\t\be-\d5?\f2\bc\829\fb \e9?\00\d0P \90Q\d6?\f1Y\f7\87\01\d3\e8?\00\f0\ea\cd\d2q\d7?m\f6\b9\eb\e5\86\e8?\00\90}\85\9c\8e\d8?\94\b9X\b6\97<\e8?\00`\e1U\01\a8\d9?\"\10\c6\ff\05\f4\e7?\00\d0\d3n\18\be\da?\ca\15\14\18\"\ad\e7?\00\e0\a0\ae\f2\d0\db?\8c\ff\9e\f9\dcg\e7?\00@\bf=\a4\e0\dc?") + (data $9 (i32.const 8992) "\8e\n\b9\12\00 \e6?\05\b6D\06\ab\04\89<\a64W\04\00`\e6?\a9\f7b\ea\9b\ffa<\c5\f2%\c3\ff\9f\e6?\ba\90<\cb\cf~\82<\04Z\b98\00\e0\e6?&\93sV\88\ff\88<\e3\94\99\e0\ff\1f\e7?\b1\82_\'@\fd\8a<\10\0eY\15\00`\e7?A\83#\b4u\fdr\bc\d5[e\12\00\a0\e7?v+$|\e6\08x<\a6\e9Y2\00\e0\e7?\b7\"\f6&\e4\08b\bc\d2\b2\b4\ed\ff\1f\e8?/\c9\a5\1eF\02\84\bc\c3\fc\fa-\00`\e8?\1f\9a\f2\a2\f4\f7m)\e0\ff\df\f2?\f9\a6\b2\da9|\9b<\82\f0\dc\f7\ff\1f\f3?TR\dcn3\f1}<`\8bZ\f0\ff_\f3?\eb1\cdLV\03\9e\bc\cc\ae\0e.\00\a0\f3?w\a4\d3K\e7\f0u<6\b2;\04\00\e0\f3?3\88\9d\14\cb}\9c<\ff\87\d1\02\00 \f4?(=-\cf\af\08~<\b1|8\r\00`\f4?\a6\99e\857\08\82<\89\9fV\04\00\a0\f4?\d2\bcO\90\\\fa\89\bc\f3C5\04\00\e0\f4?)S\17\ed%\11x\bc\0f\7f\02\cc\ff\1f\f5?\dcTw\84\d8\83\98\e90.\90\80\91\bc") + (data $10 (i32.const 10016) "\be\f3\f8y\eca\f6?\190\96[\c6\fe\de\bf=\88\afJ\edq\f5?\a4\fc\d42h\0b\db\bf\b0\10\f0\f09\95\f4?{\b7\1f\n\8bA\d7\bf\85\03\b8\b0\95\c9\f3?{\cfm\1a\e9\9d\d3\bf\a5d\88\0c\19\r\f3?1\b6\f2\f3\9b\1d\d0\bf\a0\8e\0b{\"^\f2?\f0z;\1b\1d|\c9\bf?4\1aJJ\bb\f1?\9f<\af\93\e3\f9\c2\bf\ba\e5\8a\f0X#\f1?\\\8dx\bf\cb`\b9\bf\a7\00\99A?\95\f0?\ce_G\b6\9do\aa\bf\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00\00\acG\9a\fd\8c`\ee?=\f5$\9f\ca8\b3?\a0j\02\1f\b3\a4\ec?\ba\918T\a9v\c4?\e6\fcjW6 \eb?\d2\e4\c4J\0b\84\ce?-\aa\a1c\d1\c2\e9?\1ce\c6\f0E\06\d4?\edAx\03\e6\86\e8?\f8\9f\1b,\9c\8e\d8?bHS\f5\dcg\e7?\cc{\b1N\a4\e0\dc?") + (data $11 (i32.const 10277) "\a0\f6?") + (data $11.1 (i32.const 10289) "\c8\b9\f2\82,\d6\bf\80V7($\b4\fa<\00\00\00\00\00\80\f6?") + (data $11.2 (i32.const 10321) "\08X\bf\bd\d1\d5\bf \f7\e0\d8\08\a5\1c\bd\00\00\00\00\00`\f6?") + (data $11.3 (i32.const 10353) "XE\17wv\d5\bfmP\b6\d5\a4b#\bd\00\00\00\00\00@\f6?") + (data $11.4 (i32.const 10385) "\f8-\87\ad\1a\d5\bf\d5g\b0\9e\e4\84\e6\bc\00\00\00\00\00 \f6?") + (data $11.5 (i32.const 10417) "xw\95_\be\d4\bf\e0>)\93i\1b\04\bd\00\00\00\00\00\00\f6?") + (data $11.6 (i32.const 10449) "`\1c\c2\8ba\d4\bf\cc\84LH/\d8\13=\00\00\00\00\00\e0\f5?") + (data $11.7 (i32.const 10481) "\a8\86\860\04\d4\bf:\0b\82\ed\f3B\dc<\00\00\00\00\00\c0\f5?") + (data $11.8 (i32.const 10513) "HiUL\a6\d3\bf`\94Q\86\c6\b1 =\00\00\00\00\00\a0\f5?") + (data $11.9 (i32.const 10545) "\80\98\9a\ddG\d3\bf\92\80\c5\d4MY%=\00\00\00\00\00\80\f5?") + (data $11.10 (i32.const 10577) " \e1\ba\e2\e8\d2\bf\d8+\b7\99\1e{&=\00\00\00\00\00`\f5?") + (data $11.11 (i32.const 10609) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00`\f5?") + (data $11.12 (i32.const 10641) "\88\de\13Z\89\d2\bf?\b0\cf\b6\14\ca\15=\00\00\00\00\00@\f5?") + (data $11.13 (i32.const 10673) "x\cf\fbA)\d2\bfv\daS($Z\16\bd\00\00\00\00\00 \f5?") + (data $11.14 (i32.const 10705) "\98i\c1\98\c8\d1\bf\04T\e7h\bc\af\1f\bd\00\00\00\00\00\00\f5?") + (data $11.15 (i32.const 10737) "\a8\ab\ab\\g\d1\bf\f0\a8\823\c6\1f\1f=\00\00\00\00\00\e0\f4?") + (data $11.16 (i32.const 10769) "H\ae\f9\8b\05\d1\bffZ\05\fd\c4\a8&\bd\00\00\00\00\00\c0\f4?") + (data $11.17 (i32.const 10801) "\90s\e2$\a3\d0\bf\0e\03\f4~\eek\0c\bd\00\00\00\00\00\a0\f4?") + (data $11.18 (i32.const 10833) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\a0\f4?") + (data $11.19 (i32.const 10865) "\d0\b4\94%@\d0\bf\7f-\f4\9e\b86\f0\bc\00\00\00\00\00\80\f4?") + (data $11.20 (i32.const 10897) "@^m\18\b9\cf\bf\87<\99\ab*W\r=\00\00\00\00\00`\f4?") + (data $11.21 (i32.const 10929) "`\dc\cb\ad\f0\ce\bf$\af\86\9c\b7&+=\00\00\00\00\00@\f4?") + (data $11.22 (i32.const 10961) "\f0*n\07\'\ce\bf\10\ff?TO/\17\bd\00\00\00\00\00 \f4?") + (data $11.23 (i32.const 10993) "\c0Ok!\\\cd\bf\1bh\ca\bb\91\ba!=\00\00\00\00\00\00\f4?") + (data $11.24 (i32.const 11025) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\00\f4?") + (data $11.25 (i32.const 11057) "\a0\9a\c7\f7\8f\cc\bf4\84\9fhOy\'=\00\00\00\00\00\e0\f3?") + (data $11.26 (i32.const 11089) "\90-t\86\c2\cb\bf\8f\b7\8b1\b0N\19=\00\00\00\00\00\c0\f3?") + (data $11.27 (i32.const 11121) "\c0\80N\c9\f3\ca\bff\90\cd?cN\ba<\00\00\00\00\00\a0\f3?") + (data $11.28 (i32.const 11153) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\a0\f3?") + (data $11.29 (i32.const 11185) "\b0\e2\1f\bc#\ca\bf\ea\c1F\dcd\8c%\bd\00\00\00\00\00\80\f3?") + (data $11.30 (i32.const 11217) "P\f4\9cZR\c9\bf\e3\d4\c1\04\d9\d1*\bd\00\00\00\00\00`\f3?") + (data $11.31 (i32.const 11249) "\d0 e\a0\7f\c8\bf\t\fa\db\7f\bf\bd+=\00\00\00\00\00@\f3?") + (data $11.32 (i32.const 11281) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00@\f3?") + (data $11.33 (i32.const 11313) "\e0\10\02\89\ab\c7\bfXJSr\90\db+=\00\00\00\00\00 \f3?") + (data $11.34 (i32.const 11345) "\d0\19\e7\0f\d6\c6\bff\e2\b2\a3j\e4\10\bd\00\00\00\00\00\00\f3?") + (data $11.35 (i32.const 11377) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\00\f3?") + (data $11.36 (i32.const 11409) "\90\a7p0\ff\c5\bf9P\10\9fC\9e\1e\bd\00\00\00\00\00\e0\f2?") + (data $11.37 (i32.const 11441) "\b0\a1\e3\e5&\c5\bf\8f[\07\90\8b\de \bd\00\00\00\00\00\c0\f2?") + (data $11.38 (i32.const 11473) "\80\cbl+M\c4\bf\11\0e\bd\00\00\00\00\00\e0\ed?") + (data $11.85 (i32.const 12977) "`F\d1;\97\b1?\9b\9e\rV]2%\bd\00\00\00\00\00\a0\ed?") + (data $11.86 (i32.const 13009) "\e0\d1\a7\f5\bd\b3?\d7N\db\a5^\c8,=\00\00\00\00\00`\ed?") + (data $11.87 (i32.const 13041) "\a0\97MZ\e9\b5?\1e\1d]<\06i,\bd\00\00\00\00\00@\ed?") + (data $11.88 (i32.const 13073) "\c0\ea\n\d3\00\b7?2\ed\9d\a9\8d\1e\ec<\00\00\00\00\00\00\ed?") + (data $11.89 (i32.const 13105) "@Y]^3\b9?\daG\bd:\\\11#=\00\00\00\00\00\c0\ec?") + (data $11.90 (i32.const 13137) "`\ad\8d\c8j\bb?\e5h\f7+\80\90\13\bd\00\00\00\00\00\a0\ec?") + (data $11.91 (i32.const 13169) "@\bc\01X\88\bc?\d3\acZ\c6\d1F&=\00\00\00\00\00`\ec?") + (data $11.92 (i32.const 13201) " \n\839\c7\be?\e0E\e6\afh\c0-\bd\00\00\00\00\00@\ec?") + (data $11.93 (i32.const 13233) "\e0\db9\91\e8\bf?\fd\n\a1O\d64%\bd\00\00\00\00\00\00\ec?") + (data $11.94 (i32.const 13265) "\e0\'\82\8e\17\c1?\f2\07-\cex\ef!=\00\00\00\00\00\e0\eb?") + (data $11.95 (i32.const 13297) "\f0#~+\aa\c1?4\998D\8e\a7,=\00\00\00\00\00\a0\eb?") + (data $11.96 (i32.const 13329) "\80\86\0ca\d1\c2?\a1\b4\81\cbl\9d\03=\00\00\00\00\00\80\eb?") + (data $11.97 (i32.const 13361) "\90\15\b0\fce\c3?\89rK#\a8/\c6<\00\00\00\00\00@\eb?") + (data $11.98 (i32.const 13393) "\b03\83=\91\c4?x\b6\fdTy\83%=\00\00\00\00\00 \eb?") + (data $11.99 (i32.const 13425) "\b0\a1\e4\e5\'\c5?\c7}i\e5\e83&=\00\00\00\00\00\e0\ea?") + (data $11.100 (i32.const 13457) "\10\8c\beNW\c6?x.<,\8b\cf\19=\00\00\00\00\00\c0\ea?") + (data $11.101 (i32.const 13489) "pu\8b\12\f0\c6?\e1!\9c\e5\8d\11%\bd\00\00\00\00\00\a0\ea?") + (data $11.102 (i32.const 13521) "PD\85\8d\89\c7?\05C\91p\10f\1c\bd\00\00\00\00\00`\ea?") + (data $11.103 (i32.const 13554) "9\eb\af\be\c8?\d1,\e9\aaT=\07\bd\00\00\00\00\00@\ea?") + (data $11.104 (i32.const 13586) "\f7\dcZZ\c9?o\ff\a0X(\f2\07=\00\00\00\00\00\00\ea?") + (data $11.105 (i32.const 13617) "\e0\8a<\ed\93\ca?i!VPCr(\bd\00\00\00\00\00\e0\e9?") + (data $11.106 (i32.const 13649) "\d0[W\d81\cb?\aa\e1\acN\8d5\0c\bd\00\00\00\00\00\c0\e9?") + (data $11.107 (i32.const 13681) "\e0;8\87\d0\cb?\b6\12TY\c4K-\bd\00\00\00\00\00\a0\e9?") + (data $11.108 (i32.const 13713) "\10\f0\c6\fbo\cc?\d2+\96\c5r\ec\f1\bc\00\00\00\00\00`\e9?") + (data $11.109 (i32.const 13745) "\90\d4\b0=\b1\cd?5\b0\15\f7*\ff*\bd\00\00\00\00\00@\e9?") + (data $11.110 (i32.const 13777) "\10\e7\ff\0eS\ce?0\f4A`\'\12\c2<\00\00\00\00\00 \e9?") + (data $11.111 (i32.const 13810) "\dd\e4\ad\f5\ce?\11\8e\bbe\15!\ca\bc\00\00\00\00\00\00\e9?") + (data $11.112 (i32.const 13841) "\b0\b3l\1c\99\cf?0\df\0c\ca\ec\cb\1b=\00\00\00\00\00\c0\e8?") + (data $11.113 (i32.const 13873) "XM`8q\d0?\91N\ed\16\db\9c\f8<\00\00\00\00\00\a0\e8?") + (data $11.114 (i32.const 13905) "`ag-\c4\d0?\e9\ea<\16\8b\18\'=\00\00\00\00\00\80\e8?") + (data $11.115 (i32.const 13937) "\e8\'\82\8e\17\d1?\1c\f0\a5c\0e!,\bd\00\00\00\00\00`\e8?") + (data $11.116 (i32.const 13969) "\f8\ac\cb\\k\d1?\81\16\a5\f7\cd\9a+=\00\00\00\00\00@\e8?") + (data $11.117 (i32.const 14001) "hZc\99\bf\d1?\b7\bdGQ\ed\a6,=\00\00\00\00\00 \e8?") + (data $11.118 (i32.const 14033) "\b8\0emE\14\d2?\ea\baF\ba\de\87\n=\00\00\00\00\00\e0\e7?") + (data $11.119 (i32.const 14065) "\90\dc|\f0\be\d2?\f4\04PJ\fa\9c*=\00\00\00\00\00\c0\e7?") + (data $11.120 (i32.const 14097) "`\d3\e1\f1\14\d3?\b8_f64 (func (param f64 f64) (result f64))) - (type $none_=>_none (func)) - (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $f64_f64_f64_=>_i32 (func (param f64 f64 f64) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) - (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) - (type $f32_f32_f32_=>_i32 (func (param f32 f32 f32) (result i32))) + (type $0 (func (param f64 f64) (result f64))) + (type $1 (func)) + (type $2 (func (param f64 f64) (result i32))) + (type $3 (func (param f64 f64 f64) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param f32 f32) (result f32))) + (type $6 (func (param f32 f32) (result i32))) + (type $7 (func (param f32 f32 f32) (result i32))) (import "mod" "mod" (func $std/mod/mod (param f64 f64) (result f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/mod/js i32 (i32.const 1)) @@ -14,7 +14,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "mod" (func $std/mod/mod)) diff --git a/tests/compiler/std/mod.release.wat b/tests/compiler/std/mod.release.wat index e472e4c835..1fbd3592bf 100644 --- a/tests/compiler/std/mod.release.wat +++ b/tests/compiler/std/mod.release.wat @@ -1,14 +1,14 @@ (module - (type $none_=>_none (func)) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $f64_f64_f64_=>_i32 (func (param f64 f64 f64) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $f32_f32_f32_=>_i32 (func (param f32 f32 f32) (result i32))) + (type $0 (func)) + (type $1 (func (param f64 f64) (result f64))) + (type $2 (func (param f64 f64 f64) (result i32))) + (type $3 (func (param i32 i32 i32 i32))) + (type $4 (func (param f32 f32 f32) (result i32))) (import "mod" "mod" (func $std/mod/mod (param f64 f64) (result f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00m\00o\00d\00.\00t\00s") (export "mod" (func $std/mod/mod)) (export "memory" (memory $0)) (start $~start) @@ -20,6 +20,7 @@ (local $7 i64) (local $8 i64) (local $9 i64) + (local $10 i64) block $__inlined_func$std/mod/check (result i32) block $__inlined_func$~lib/math/NativeMath.mod (result f64) local.get $0 @@ -36,25 +37,25 @@ drop local.get $1 i64.reinterpret_f64 - local.tee $6 + local.tee $8 i64.const 52 i64.shr_u i64.const 2047 i64.and - local.set $8 - local.get $6 + local.set $9 + local.get $8 i64.const 1 i64.shl - local.tee $5 + local.tee $6 i64.eqz local.get $0 i64.reinterpret_f64 - local.tee $7 + local.tee $5 i64.const 52 i64.shr_u i64.const 2047 i64.and - local.tee $9 + local.tee $10 i64.const 2047 i64.eq i32.or @@ -71,59 +72,63 @@ f64.div br $__inlined_func$~lib/math/NativeMath.mod end - local.get $7 + local.get $5 i64.const 1 i64.shl local.tee $3 - local.get $5 + local.get $6 i64.le_u if local.get $0 local.get $3 - local.get $5 + local.get $6 i64.ne f64.convert_i32_u f64.mul br $__inlined_func$~lib/math/NativeMath.mod end - local.get $9 + local.get $5 + i64.const 63 + i64.shr_u + local.set $7 + local.get $10 i64.eqz if (result i64) - local.get $7 + local.get $5 i64.const 1 - local.get $9 - local.get $7 + local.get $10 + local.get $5 i64.const 12 i64.shl i64.clz i64.sub - local.tee $9 + local.tee $10 i64.sub i64.shl else - local.get $7 + local.get $5 i64.const 4503599627370495 i64.and i64.const 4503599627370496 i64.or end local.set $3 - local.get $8 + local.get $9 i64.eqz if (result i64) - local.get $6 + local.get $8 i64.const 1 + local.get $9 local.get $8 - local.get $6 i64.const 12 i64.shl i64.clz i64.sub - local.tee $8 + local.tee $9 i64.sub i64.shl else - local.get $6 + local.get $8 i64.const 4503599627370495 i64.and i64.const 4503599627370496 @@ -131,8 +136,8 @@ end local.set $5 loop $while-continue|0 - local.get $8 local.get $9 + local.get $10 i64.lt_s if local.get $3 @@ -156,10 +161,10 @@ i64.const 1 i64.shl local.set $3 - local.get $9 + local.get $10 i64.const 1 i64.sub - local.set $9 + local.set $10 br $while-continue|0 end end @@ -180,7 +185,7 @@ i64.sub local.set $3 end - local.get $9 + local.get $10 local.get $3 i64.const 11 i64.shl @@ -188,28 +193,31 @@ local.tee $6 i64.sub local.set $5 - local.get $7 - i64.const -9223372036854775808 - i64.and local.get $3 local.get $6 i64.shl - local.tee $3 - i64.const 4503599627370496 - i64.sub - local.get $5 - i64.const 52 - i64.shl - i64.or - local.get $3 - i64.const 1 - local.get $5 - i64.sub - i64.shr_u + local.set $3 local.get $5 i64.const 0 i64.gt_s - select + if (result i64) + local.get $3 + i64.const 4503599627370496 + i64.sub + local.get $5 + i64.const 52 + i64.shl + i64.or + else + local.get $3 + i64.const 1 + local.get $5 + i64.sub + i64.shr_u + end + local.get $7 + i64.const 63 + i64.shl i64.or f64.reinterpret_i64 end @@ -238,7 +246,7 @@ f64.eq end if (result i32) - block $__inlined_func$std/mod/check0 (result i32) + block $__inlined_func$std/mod/check$1 (result i32) local.get $0 local.get $1 call $std/mod/mod @@ -248,7 +256,7 @@ local.get $2 local.get $2 f64.ne - br_if $__inlined_func$std/mod/check0 + br_if $__inlined_func$std/mod/check$1 drop f64.const 1 local.get $2 @@ -260,7 +268,7 @@ local.get $2 f64.const 0 f64.eq - br_if $__inlined_func$std/mod/check0 + br_if $__inlined_func$std/mod/check$1 drop local.get $0 local.get $2 @@ -277,8 +285,9 @@ (local $6 i32) (local $7 i32) (local $8 i32) - block $__inlined_func$std/mod/check (result i32) - block $__inlined_func$~lib/math/NativeMathf.mod (result f32) + (local $9 i32) + block $__inlined_func$std/mod/check$2 (result i32) + block $__inlined_func$~lib/math/NativeMathf.mod$1 (result f32) local.get $0 local.get $0 f32.trunc @@ -289,29 +298,29 @@ f32.abs f32.const 1 f32.eq - br_if $__inlined_func$~lib/math/NativeMathf.mod + br_if $__inlined_func$~lib/math/NativeMathf.mod$1 drop local.get $1 i32.reinterpret_f32 - local.tee $5 + local.tee $7 i32.const 23 i32.shr_u i32.const 255 i32.and - local.set $7 - local.get $5 + local.set $8 + local.get $7 i32.const 1 i32.shl - local.tee $4 + local.tee $5 i32.eqz local.get $0 i32.reinterpret_f32 - local.tee $6 + local.tee $4 i32.const 23 i32.shr_u i32.const 255 i32.and - local.tee $8 + local.tee $9 i32.const 255 i32.eq i32.or @@ -326,68 +335,72 @@ local.tee $0 local.get $0 f32.div - br $__inlined_func$~lib/math/NativeMathf.mod + br $__inlined_func$~lib/math/NativeMathf.mod$1 end - local.get $6 + local.get $4 i32.const 1 i32.shl local.tee $3 - local.get $4 + local.get $5 i32.le_u if local.get $0 local.get $3 - local.get $4 + local.get $5 i32.ne f32.convert_i32_u f32.mul - br $__inlined_func$~lib/math/NativeMathf.mod + br $__inlined_func$~lib/math/NativeMathf.mod$1 end - local.get $8 + local.get $4 + i32.const -2147483648 + i32.and + local.set $6 + local.get $9 if (result i32) - local.get $6 + local.get $4 i32.const 8388607 i32.and i32.const 8388608 i32.or else - local.get $6 + local.get $4 i32.const 1 - local.get $8 - local.get $6 + local.get $9 + local.get $4 i32.const 9 i32.shl i32.clz i32.sub - local.tee $8 + local.tee $9 i32.sub i32.shl end local.set $3 - local.get $7 + local.get $8 if (result i32) - local.get $5 + local.get $7 i32.const 8388607 i32.and i32.const 8388608 i32.or else - local.get $5 + local.get $7 i32.const 1 + local.get $8 local.get $7 - local.get $5 i32.const 9 i32.shl i32.clz i32.sub - local.tee $7 + local.tee $8 i32.sub i32.shl end local.set $4 loop $while-continue|0 - local.get $7 local.get $8 + local.get $9 i32.lt_s if local.get $3 @@ -400,7 +413,7 @@ local.get $3 local.get $4 i32.eq - br_if $__inlined_func$~lib/math/NativeMathf.mod + br_if $__inlined_func$~lib/math/NativeMathf.mod$1 drop local.get $3 local.get $4 @@ -411,10 +424,10 @@ i32.const 1 i32.shl local.set $3 - local.get $8 + local.get $9 i32.const 1 i32.sub - local.set $8 + local.set $9 br $while-continue|0 end end @@ -428,14 +441,14 @@ local.get $3 local.get $4 i32.eq - br_if $__inlined_func$~lib/math/NativeMathf.mod + br_if $__inlined_func$~lib/math/NativeMathf.mod$1 drop local.get $3 local.get $4 i32.sub local.set $3 end - local.get $8 + local.get $9 local.get $3 i32.const 8 i32.shl @@ -443,28 +456,29 @@ local.tee $5 i32.sub local.set $4 - local.get $6 - i32.const -2147483648 - i32.and local.get $3 local.get $5 i32.shl - local.tee $3 - i32.const 8388608 - i32.sub - local.get $4 - i32.const 23 - i32.shl - i32.or - local.get $3 - i32.const 1 - local.get $4 - i32.sub - i32.shr_u + local.set $3 local.get $4 i32.const 0 i32.gt_s - select + if (result i32) + local.get $3 + i32.const 8388608 + i32.sub + local.get $4 + i32.const 23 + i32.shl + i32.or + else + local.get $3 + i32.const 1 + local.get $4 + i32.sub + i32.shr_u + end + local.get $6 i32.or f32.reinterpret_i32 end @@ -474,7 +488,7 @@ local.get $2 local.get $2 f32.ne - br_if $__inlined_func$std/mod/check + br_if $__inlined_func$std/mod/check$2 drop f32.const 1 local.get $2 @@ -486,7 +500,7 @@ local.get $2 f32.const 0 f32.eq - br_if $__inlined_func$std/mod/check + br_if $__inlined_func$std/mod/check$2 drop local.get $0 local.get $2 diff --git a/tests/compiler/std/new.debug.wat b/tests/compiler/std/new.debug.wat index ec9b9d39f4..5979cb6867 100644 --- a/tests/compiler/std/new.debug.wat +++ b/tests/compiler/std/new.debug.wat @@ -1,15 +1,15 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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_f32_=>_none (func (param i32 f32))) - (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_f32_=>_i32 (func (param i32 f32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 f32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) + (type $10 (func (param i32 f32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/new/AClass.aStaticField (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -32,42 +32,42 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33208)) (global $~lib/memory/__heap_base i32 (i32.const 33208)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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 416) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $std/new/AClass#get:aField (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $std/new/AClass#set:aField (param $this i32) (param $aField i32) local.get $this local.get $aField - i32.store $0 + i32.store ) (func $std/new/AClass#set:anotherField (param $this i32) (param $anotherField f32) local.get $this local.get $anotherField - f32.store $0 offset=4 + f32.store offset=4 ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -81,7 +81,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -155,7 +155,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -225,11 +225,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -237,7 +237,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -369,7 +369,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -382,7 +382,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -398,34 +398,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -585,7 +585,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -608,7 +608,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -622,7 +622,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -645,7 +645,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -788,7 +788,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -874,7 +874,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -954,7 +954,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -988,7 +988,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1011,7 +1011,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1025,27 +1025,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1070,9 +1075,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1091,7 +1096,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1110,7 +1115,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1124,7 +1128,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1180,12 +1184,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1219,7 +1223,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1240,7 +1244,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1260,7 +1264,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1280,7 +1284,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1306,7 +1310,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1329,9 +1333,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1367,7 +1372,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1633,14 +1638,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1696,7 +1704,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1705,6 +1713,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1734,24 +1762,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1789,7 +1806,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1804,7 +1821,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1849,7 +1866,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1860,7 +1877,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1882,7 +1899,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1905,7 +1922,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1924,22 +1941,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1952,7 +1961,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1979,27 +1988,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2024,7 +2034,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2139,7 +2149,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2159,7 +2169,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2192,12 +2202,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2248,12 +2258,12 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $start:std/new - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2297,16 +2307,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2318,7 +2323,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/new/AClass $invalid end return @@ -2361,10 +2366,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2373,13 +2378,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $std/new/AClass#set:aField @@ -2387,7 +2392,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 f32.const 2 call $std/new/AClass#set:anotherField @@ -2395,13 +2400,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $std/new/AClass#get:aField i32.const 1 @@ -2411,7 +2416,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $value call $std/new/AClass#set:anotherField diff --git a/tests/compiler/std/new.release.wat b/tests/compiler/std/new.release.wat index dea36e1c16..012ec7a6db 100644 --- a/tests/compiler/std/new.release.wat +++ b/tests/compiler/std/new.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (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 $i32_=>_i32 (func (param i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (param 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)) @@ -20,17 +20,17 @@ (global $std/new/aClass (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34232)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1440) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -40,15 +40,15 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -58,7 +58,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -76,7 +76,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -84,137 +84,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34232 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$113 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34232 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$113 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1440 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1444 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -222,8 +242,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -235,10 +255,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -249,29 +269,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -279,10 +299,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -296,75 +316,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -386,7 +399,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -403,12 +416,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -425,17 +438,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -445,9 +458,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -472,13 +485,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -512,7 +525,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -568,19 +581,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -592,15 +605,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -608,23 +621,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -638,10 +653,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -649,23 +664,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -677,52 +691,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -730,7 +745,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -738,7 +753,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -749,10 +764,10 @@ end i32.const 34240 i32.const 0 - i32.store $0 + i32.store i32.const 35808 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -764,7 +779,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -782,7 +797,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -799,9 +814,10 @@ end i32.const 34240 i32.const 35812 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34240 global.set $~lib/rt/tlsf/ROOT @@ -831,7 +847,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -844,19 +860,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -867,7 +883,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -879,7 +895,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -892,12 +908,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -906,7 +918,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -917,26 +929,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -952,7 +964,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -968,7 +980,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -993,14 +1005,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1020,7 +1032,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1035,25 +1046,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1062,12 +1072,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1077,7 +1086,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1088,10 +1097,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1103,13 +1112,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1124,7 +1133,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1139,7 +1148,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $0 loop $do-loop|0 @@ -1151,16 +1160,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $0 i32.const 0 @@ -1168,8 +1173,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $0 - local.get $0 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1191,11 +1195,11 @@ local.tee $0 i32.eqz if - memory.size $0 + memory.size local.tee $0 i32.const 4 local.get $1 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $0 i32.const 16 i32.shl @@ -1214,12 +1218,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1230,9 +1234,10 @@ local.get $0 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $1 call $~lib/rt/tlsf/searchBlock @@ -1241,14 +1246,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1256,7 +1261,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1265,7 +1270,7 @@ local.get $0 call $~lib/rt/tlsf/removeBlock local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const -4 i32.and @@ -1281,7 +1286,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $0 i32.const 32 i32.add @@ -1291,7 +1296,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/rt/tlsf/insertBlock @@ -1300,54 +1305,54 @@ local.get $2 i32.const -2 i32.and - i32.store $0 + i32.store local.get $0 i32.const 4 i32.add local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $1 local.get $1 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $0 i32.const 4 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 8 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $0 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1359,7 +1364,7 @@ i32.add local.tee $0 i64.const 0 - i64.store $0 align=1 + i64.store align=1 local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1372,7 +1377,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/new/AClass $invalid end return @@ -1382,12 +1387,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1396,8 +1397,7 @@ ) (func $~start (local $0 i32) - (local $1 i32) - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34232 @@ -1407,26 +1407,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1445,71 +1445,50 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__new local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 f32.const 2 - f32.store $0 offset=4 + f32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $1 - i32.load $0 + i32.store offset=8 + local.get $0 + local.get $0 + i32.load i32.const 1 i32.add - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 - f32.const 3 - f32.store $0 offset=4 + i32.store offset=4 local.get $0 + f32.const 3 + f32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - global.set $std/new/aClass - ) - (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 $0 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 + global.set $std/new/aClass ) ) diff --git a/tests/compiler/std/object.debug.wat b/tests/compiler/std/object.debug.wat index 5df2cdbc16..b2cfc90f1a 100644 --- a/tests/compiler/std/object.debug.wat +++ b/tests/compiler/std/object.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_none (func)) - (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32 i32))) + (type $3 (func)) + (type $4 (func (param f64 f64) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param f32 f32) (result i32))) + (type $7 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $8 (func (param i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -17,13 +17,13 @@ (global $~lib/rt/stub/offset (mut i32) (i32.const 0)) (global $~lib/memory/__heap_base i32 (i32.const 316)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00.\00t\00s\00\00\00") - (data (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00.\00t\00s\00\00\00") + (data $1 (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -94,7 +94,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -146,9 +146,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -181,10 +181,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -275,7 +275,7 @@ (local $4 i32) (local $5 i32) (local $pagesWanted i32) - memory.size $0 + memory.size local.set $pagesBefore local.get $pagesBefore i32.const 16 @@ -313,12 +313,12 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -332,7 +332,7 @@ (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/stub/__alloc (param $size i32) (result i32) (local $block i32) @@ -386,22 +386,22 @@ (func $~lib/rt/common/OBJECT#set:gcInfo (param $this i32) (param $gcInfo i32) local.get $this local.get $gcInfo - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/common/OBJECT#set:gcInfo2 (param $this i32) (param $gcInfo2 i32) local.get $this local.get $gcInfo2 - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/common/OBJECT#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/common/OBJECT#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/stub/__new (param $size i32) (param $id i32) (result i32) (local $ptr i32) @@ -1190,7 +1190,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 5 @@ -1207,7 +1207,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 4 diff --git a/tests/compiler/std/object.release.wat b/tests/compiler/std/object.release.wat index 5aa4699d10..203637c32f 100644 --- a/tests/compiler/std/object.release.wat +++ b/tests/compiler/std/object.release.wat @@ -1,23 +1,23 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1a\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00.\00t\00s") - (data (i32.const 1084) "\1c") - (data (i32.const 1096) "\02\00\00\00\02\00\00\00a") - (data (i32.const 1116) "\1c") - (data (i32.const 1128) "\02\00\00\00\02\00\00\00b") - (data (i32.const 1148) "\1c") - (data (i32.const 1160) "\02\00\00\00\04\00\00\00a\00b") - (data (i32.const 1180) "\1c") - (data (i32.const 1192) "\02") - (data (i32.const 1212) "<") - (data (i32.const 1224) "\02\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 1276) "<") - (data (i32.const 1288) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1a\00\00\00s\00t\00d\00/\00o\00b\00j\00e\00c\00t\00.\00t\00s") + (data $1 (i32.const 1084) "\1c") + (data $1.1 (i32.const 1096) "\02\00\00\00\02\00\00\00a") + (data $2 (i32.const 1116) "\1c") + (data $2.1 (i32.const 1128) "\02\00\00\00\02\00\00\00b") + (data $3 (i32.const 1148) "\1c") + (data $3.1 (i32.const 1160) "\02\00\00\00\04\00\00\00a\00b") + (data $4 (i32.const 1180) "\1c") + (data $4.1 (i32.const 1192) "\02") + (data $5 (i32.const 1212) "<") + (data $5.1 (i32.const 1224) "\02\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 $6 (i32.const 1276) "<") + (data $6.1 (i32.const 1288) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00s\00t\00u\00b\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) @@ -44,14 +44,14 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne @@ -60,25 +60,29 @@ 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.set $2 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -99,7 +103,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$1 loop $while-continue|1 local.get $0 local.tee $3 @@ -109,17 +113,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$1 local.get $2 i32.const 2 i32.add @@ -210,7 +214,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size local.tee $1 i32.const 16 i32.shl @@ -235,12 +239,12 @@ local.get $1 i32.lt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $0 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -250,20 +254,20 @@ end i32.const 1340 i32.const 28 - i32.store $0 + i32.store i32.const 1344 i32.const 0 - i32.store $0 + i32.store i32.const 1348 i32.const 0 - i32.store $0 + i32.store i32.const 1352 i32.const 4 - i32.store $0 + i32.store i32.const 1356 i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size local.tee $1 i32.const 16 i32.shl @@ -288,12 +292,12 @@ local.get $1 i32.lt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $0 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -303,21 +307,21 @@ end i32.const 1372 i32.const 28 - i32.store $0 + i32.store i32.const 1376 i32.const 0 - i32.store $0 + i32.store i32.const 1380 i32.const 0 - i32.store $0 + i32.store i32.const 1384 i32.const 5 - i32.store $0 + i32.store i32.const 1388 i32.const 0 - i32.store $0 + i32.store i32.const 1384 - i32.load $0 + i32.load i32.const 5 i32.ne if @@ -329,7 +333,7 @@ unreachable end i32.const 1352 - i32.load $0 + i32.load i32.const 4 i32.ne if @@ -341,7 +345,7 @@ unreachable end i32.const 1384 - i32.load $0 + i32.load i32.const 5 i32.ne if diff --git a/tests/compiler/std/operator-overloading.debug.wat b/tests/compiler/std/operator-overloading.debug.wat index 0effb19c6b..3313be1958 100644 --- a/tests/compiler/std/operator-overloading.debug.wat +++ b/tests/compiler/std/operator-overloading.debug.wat @@ -1,14 +1,15 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result 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))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) + (type $10 (func (param i32 i32 i32 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)) @@ -98,18 +99,18 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33364)) (global $~lib/memory/__heap_base i32 (i32.const 33364)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 560) "\08\00\00\00 \00\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 $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00") + (data $9 (i32.const 492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00y\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 560) "\08\00\00\00 \00\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -117,12 +118,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -136,7 +137,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -210,7 +211,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -280,11 +281,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -292,7 +293,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -424,7 +425,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -437,7 +438,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -453,34 +454,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -640,7 +641,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -663,7 +664,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -677,7 +678,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -700,7 +701,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -843,7 +844,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -929,7 +930,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1009,7 +1010,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1043,7 +1044,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1066,7 +1067,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1080,27 +1081,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1125,9 +1131,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1146,7 +1152,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1165,7 +1171,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1179,7 +1184,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1235,12 +1240,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1274,7 +1279,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1295,7 +1300,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1315,7 +1320,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1335,7 +1340,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1361,7 +1366,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1384,9 +1389,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1422,7 +1428,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1688,14 +1694,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1751,7 +1760,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1760,6 +1769,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1789,24 +1818,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1844,7 +1862,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1859,7 +1877,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1904,7 +1922,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1915,7 +1933,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1937,7 +1955,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1960,7 +1978,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1979,22 +1997,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2007,7 +2017,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2034,27 +2044,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2079,7 +2090,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2194,7 +2205,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2214,7 +2225,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2247,12 +2258,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2303,27 +2314,27 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $std/operator-overloading/Tester#set:x (param $this i32) (param $x i32) local.get $this local.get $x - i32.store $0 + i32.store ) (func $std/operator-overloading/Tester#set:y (param $this i32) (param $y i32) local.get $this local.get $y - i32.store $0 offset=4 + i32.store offset=4 ) (func $std/operator-overloading/Tester#get:x (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $std/operator-overloading/Tester#get:y (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/math/ipow32 (param $x i32) (param $e i32) (result i32) (local $out i32) @@ -2546,52 +2557,52 @@ (func $std/operator-overloading/TesterInlineStatic#set:x (param $this i32) (param $x i32) local.get $this local.get $x - i32.store $0 + i32.store ) (func $std/operator-overloading/TesterInlineStatic#set:y (param $this i32) (param $y i32) local.get $this local.get $y - i32.store $0 offset=4 + i32.store offset=4 ) (func $std/operator-overloading/TesterInlineStatic#get:x (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $std/operator-overloading/TesterInlineStatic#get:y (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $std/operator-overloading/TesterInlineInstance#set:x (param $this i32) (param $x i32) local.get $this local.get $x - i32.store $0 + i32.store ) (func $std/operator-overloading/TesterInlineInstance#set:y (param $this i32) (param $y i32) local.get $this local.get $y - i32.store $0 offset=4 + i32.store offset=4 ) (func $std/operator-overloading/TesterInlineInstance#get:x (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $std/operator-overloading/TesterInlineInstance#get:y (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $std/operator-overloading/TesterElementAccess#set:x (param $this i32) (param $x i32) local.get $this local.get $x - i32.store $0 + i32.store ) (func $std/operator-overloading/TesterElementAccess#set:y (param $this i32) (param $y i32) local.get $this local.get $y - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -2643,9 +2654,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2678,10 +2689,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2708,11 +2719,11 @@ ) (func $std/operator-overloading/TesterElementAccess#get:x (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $std/operator-overloading/TesterElementAccess#get:y (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -3149,16 +3160,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -3173,7 +3179,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/operator-overloading/Tester $std/operator-overloading/TesterInlineStatic $std/operator-overloading/TesterInlineInstance $std/operator-overloading/TesterElementAccess $invalid end return @@ -3222,7 +3228,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3231,13 +3237,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $x call $std/operator-overloading/Tester#set:x @@ -3245,7 +3251,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $y call $std/operator-overloading/Tester#set:y @@ -3266,20 +3272,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.add @@ -3287,14 +3293,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.add @@ -3316,20 +3322,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.sub @@ -3337,14 +3343,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.sub @@ -3366,20 +3372,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.mul @@ -3387,14 +3393,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.mul @@ -3416,20 +3422,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.div_s @@ -3437,14 +3443,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.div_s @@ -3466,20 +3472,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.rem_s @@ -3487,14 +3493,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.rem_s @@ -3516,20 +3522,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x call $~lib/math/ipow32 @@ -3537,14 +3543,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y call $~lib/math/ipow32 @@ -3566,20 +3572,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.and @@ -3587,14 +3593,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.and @@ -3616,20 +3622,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.or @@ -3637,14 +3643,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.or @@ -3666,20 +3672,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.xor @@ -3687,14 +3693,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.xor @@ -3716,19 +3722,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.eq @@ -3737,14 +3743,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.eq @@ -3768,19 +3774,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.ne @@ -3789,14 +3795,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.ne @@ -3820,19 +3826,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.gt_s @@ -3841,14 +3847,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.gt_s @@ -3872,19 +3878,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.ge_s @@ -3893,14 +3899,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.ge_s @@ -3924,19 +3930,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.lt_s @@ -3945,14 +3951,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.lt_s @@ -3976,19 +3982,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x i32.le_s @@ -3997,14 +4003,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y i32.le_s @@ -4028,13 +4034,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $value local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $shift @@ -4043,7 +4049,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $shift @@ -4066,13 +4072,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $value local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $shift @@ -4081,7 +4087,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $shift @@ -4104,13 +4110,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $value local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:x local.get $shift @@ -4119,7 +4125,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/Tester#get:y local.get $shift @@ -4142,20 +4148,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $value local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:x local.get $value local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:y call $std/operator-overloading/Tester#constructor @@ -4176,14 +4182,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 i32.const 0 local.get $value local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:x i32.sub @@ -4192,7 +4198,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:y i32.sub @@ -4214,13 +4220,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $value local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:x i32.const -1 @@ -4229,7 +4235,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:y i32.const -1 @@ -4252,12 +4258,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $value local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:x i32.eqz @@ -4266,7 +4272,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:y i32.eqz @@ -4290,18 +4296,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $std/operator-overloading/Tester#get:x i32.const 1 @@ -4311,13 +4317,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $std/operator-overloading/Tester#get:y i32.const 1 @@ -4341,18 +4347,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $std/operator-overloading/Tester#get:x i32.const 1 @@ -4362,13 +4368,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $std/operator-overloading/Tester#get:y i32.const 1 @@ -4392,13 +4398,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:x i32.const 1 @@ -4407,7 +4413,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:y i32.const 1 @@ -4430,13 +4436,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:x i32.const 1 @@ -4445,7 +4451,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $std/operator-overloading/Tester#get:y i32.const 1 @@ -4468,7 +4474,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4477,13 +4483,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $x call $std/operator-overloading/TesterInlineStatic#set:x @@ -4491,7 +4497,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $y call $std/operator-overloading/TesterInlineStatic#set:y @@ -4512,7 +4518,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4521,13 +4527,13 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $x call $std/operator-overloading/TesterInlineInstance#set:x @@ -4535,7 +4541,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $y call $std/operator-overloading/TesterInlineInstance#set:y @@ -4556,7 +4562,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -4565,13 +4571,13 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $x call $std/operator-overloading/TesterElementAccess#set:x @@ -4579,7 +4585,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $y call $std/operator-overloading/TesterElementAccess#set:y @@ -4601,7 +4607,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -4639,7 +4645,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -4648,7 +4654,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -4666,14 +4672,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -4690,32 +4696,27 @@ (func $std/operator-overloading/TesterElementAccess#__set (param $this i32) (param $key i32) (param $value i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $key local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 512 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 call $~lib/string/String.__eq if local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $value call $std/operator-overloading/TesterElementAccess#set:x @@ -4724,45 +4725,40 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $value call $std/operator-overloading/TesterElementAccess#set:y end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $std/operator-overloading/TesterElementAccess#__get (param $this i32) (param $key i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $key local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 512 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 call $~lib/string/String.__eq if (result i32) local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/TesterElementAccess#get:x else @@ -4770,13 +4766,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $std/operator-overloading/TesterElementAccess#get:y end local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -4794,15 +4790,15 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 48 + i32.const 40 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 48 - memory.fill $0 - memory.size $0 + i32.const 40 + memory.fill + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -4833,13 +4829,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/a2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.add global.set $std/operator-overloading/a @@ -4847,7 +4843,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 3 @@ -4857,7 +4853,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 5 @@ -4888,13 +4884,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/s2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.sub global.set $std/operator-overloading/s @@ -4902,7 +4898,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 0 @@ -4912,7 +4908,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 6 @@ -4943,13 +4939,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/m2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.mul global.set $std/operator-overloading/m @@ -4957,7 +4953,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 6 @@ -4967,7 +4963,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 10 @@ -4998,13 +4994,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/d2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.div global.set $std/operator-overloading/d @@ -5012,7 +5008,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 2 @@ -5022,7 +5018,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 5 @@ -5053,13 +5049,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/f2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.mod global.set $std/operator-overloading/f @@ -5067,7 +5063,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 4 @@ -5077,7 +5073,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 0 @@ -5108,13 +5104,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/p2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.pow global.set $std/operator-overloading/p @@ -5122,7 +5118,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 16 @@ -5132,7 +5128,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 243 @@ -5163,13 +5159,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/n2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.and global.set $std/operator-overloading/n @@ -5177,7 +5173,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 15 @@ -5187,7 +5183,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 15 @@ -5218,13 +5214,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/o2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.or global.set $std/operator-overloading/o @@ -5232,7 +5228,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 65535 @@ -5242,7 +5238,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 255 @@ -5273,13 +5269,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/x2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.xor global.set $std/operator-overloading/x @@ -5287,7 +5283,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 65535 @@ -5297,7 +5293,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 255 @@ -5328,13 +5324,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/eq2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.equals global.set $std/operator-overloading/eq @@ -5364,13 +5360,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/eq4 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.equals global.set $std/operator-overloading/eqf @@ -5390,13 +5386,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/eq2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.notEquals global.set $std/operator-overloading/eq @@ -5416,13 +5412,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/eq4 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.notEquals global.set $std/operator-overloading/eqf @@ -5452,13 +5448,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/gt2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.greater global.set $std/operator-overloading/gt @@ -5488,13 +5484,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/gte2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.greaterEquals global.set $std/operator-overloading/gte @@ -5524,13 +5520,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/le2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.less global.set $std/operator-overloading/le @@ -5560,13 +5556,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 global.get $std/operator-overloading/leq2 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $std/operator-overloading/Tester.lessEquals global.set $std/operator-overloading/leq @@ -5591,7 +5587,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 3 call $std/operator-overloading/Tester.shr @@ -5600,7 +5596,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 1 @@ -5610,7 +5606,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 2 @@ -5636,7 +5632,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 3 call $std/operator-overloading/Tester.shu @@ -5645,7 +5641,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 536870911 @@ -5655,7 +5651,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 536870910 @@ -5681,7 +5677,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 3 call $std/operator-overloading/Tester.shl @@ -5690,7 +5686,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 8 @@ -5700,7 +5696,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 16 @@ -5726,7 +5722,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester.pos global.set $std/operator-overloading/pres @@ -5734,14 +5730,14 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x global.get $std/operator-overloading/pos local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.eq @@ -5750,14 +5746,14 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y global.get $std/operator-overloading/pos local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.eq @@ -5782,7 +5778,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester.neg global.set $std/operator-overloading/nres @@ -5790,7 +5786,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 0 @@ -5798,7 +5794,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.sub @@ -5808,7 +5804,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 0 @@ -5816,7 +5812,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.sub @@ -5842,7 +5838,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester.not global.set $std/operator-overloading/res @@ -5850,14 +5846,14 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x global.get $std/operator-overloading/not local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const -1 @@ -5868,14 +5864,14 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y global.get $std/operator-overloading/not local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const -1 @@ -5902,7 +5898,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester.excl global.set $std/operator-overloading/bres @@ -5911,7 +5907,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.eqz @@ -5920,7 +5916,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.eqz @@ -5958,7 +5954,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#inc global.set $std/operator-overloading/incdec @@ -5966,7 +5962,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 1 @@ -5976,7 +5972,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 2 @@ -5997,7 +5993,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#dec global.set $std/operator-overloading/incdec @@ -6005,7 +6001,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 0 @@ -6015,7 +6011,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 1 @@ -6040,12 +6036,12 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#postInc global.set $std/operator-overloading/incdec @@ -6055,7 +6051,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 0 @@ -6065,7 +6061,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 1 @@ -6086,7 +6082,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 1 @@ -6096,7 +6092,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 2 @@ -6116,12 +6112,12 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#postDec global.set $std/operator-overloading/incdec @@ -6131,7 +6127,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 1 @@ -6141,7 +6137,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 2 @@ -6162,7 +6158,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:x i32.const 0 @@ -6172,7 +6168,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/Tester#get:y i32.const 1 @@ -6197,19 +6193,14 @@ block $std/operator-overloading/TesterInlineStatic.postInc|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ais1 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 - local.get $9 local.tee $3 - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.get $3 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineStatic#get:x i32.const 1 @@ -6218,7 +6209,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineStatic#get:y i32.const 1 @@ -6236,24 +6227,24 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ais1 local.tee $4 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ais2 local.tee $5 - i32.store $0 offset=24 + i32.store offset=24 i32.const 0 local.get $4 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineStatic#get:x local.get $5 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineStatic#get:x i32.add @@ -6261,14 +6252,14 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineStatic#get:y local.get $5 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineStatic#get:y i32.add @@ -6280,7 +6271,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineStatic#get:x i32.const 4 @@ -6290,7 +6281,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineStatic#get:y i32.const 6 @@ -6316,13 +6307,13 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/aii1 local.tee $6 - i32.store $0 offset=28 + i32.store offset=28 i32.const 0 local.get $6 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineInstance#get:x i32.const 1 @@ -6331,7 +6322,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineInstance#get:y i32.const 1 @@ -6349,24 +6340,24 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/aii1 local.tee $7 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/aii2 local.tee $8 - i32.store $0 offset=36 + i32.store offset=36 i32.const 0 local.get $7 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineInstance#get:x local.get $8 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineInstance#get:x i32.add @@ -6374,14 +6365,14 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineInstance#get:y local.get $8 local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineInstance#get:y i32.add @@ -6393,7 +6384,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineInstance#get:x i32.const 4 @@ -6403,7 +6394,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterInlineInstance#get:y i32.const 6 @@ -6429,35 +6420,25 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 512 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 i32.const -1 call $std/operator-overloading/TesterElementAccess#__set global.get $std/operator-overloading/tea local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 544 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 i32.const -2 call $std/operator-overloading/TesterElementAccess#__set global.get $std/operator-overloading/tea local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterElementAccess#get:x i32.const -1 @@ -6475,14 +6456,9 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 512 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 call $std/operator-overloading/TesterElementAccess#__get i32.const -1 i32.eq @@ -6499,7 +6475,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $std/operator-overloading/TesterElementAccess#get:y i32.const -2 @@ -6517,14 +6493,9 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 544 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 call $std/operator-overloading/TesterElementAccess#__get i32.const -2 i32.eq @@ -6541,26 +6512,16 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 512 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 global.get $std/operator-overloading/tea local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=40 + i32.store offset=4 local.get $9 i32.const 512 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=44 - local.get $9 call $std/operator-overloading/TesterElementAccess#__get i32.const 1 i32.add @@ -6569,26 +6530,16 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 544 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 global.get $std/operator-overloading/tea local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=40 + i32.store offset=4 local.get $9 i32.const 544 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=44 - local.get $9 call $std/operator-overloading/TesterElementAccess#__get i32.const 1 i32.sub @@ -6597,14 +6548,9 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 512 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 call $std/operator-overloading/TesterElementAccess#__get i32.const 0 i32.eq @@ -6621,14 +6567,9 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 i32.const 544 - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 call $std/operator-overloading/TesterElementAccess#__get i32.const -3 i32.eq @@ -6642,7 +6583,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 48 + i32.const 40 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/std/operator-overloading.release.wat b/tests/compiler/std/operator-overloading.release.wat index 281b80699f..1efa8f2c5c 100644 --- a/tests/compiler/std/operator-overloading.release.wat +++ b/tests/compiler/std/operator-overloading.release.wat @@ -1,12 +1,13 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (result i32))) + (type $8 (func (param i32 i32 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)) @@ -87,23 +88,23 @@ (global $std/operator-overloading/tea (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34388)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "L") - (data (i32.const 1448) "\02\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s") - (data (i32.const 1516) "\1c") - (data (i32.const 1528) "\02\00\00\00\02\00\00\00x") - (data (i32.const 1548) "\1c") - (data (i32.const 1560) "\02\00\00\00\02\00\00\00y") - (data (i32.const 1584) "\08\00\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 $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) "L") + (data $8.1 (i32.const 1448) "\02\00\00\006\00\00\00s\00t\00d\00/\00o\00p\00e\00r\00a\00t\00o\00r\00-\00o\00v\00e\00r\00l\00o\00a\00d\00i\00n\00g\00.\00t\00s") + (data $9 (i32.const 1516) "\1c") + (data $9.1 (i32.const 1528) "\02\00\00\00\02\00\00\00x") + (data $10 (i32.const 1548) "\1c") + (data $10.1 (i32.const 1560) "\02\00\00\00\02\00\00\00y") + (data $11 (i32.const 1584) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -112,7 +113,7 @@ call $~lib/rt/__visit_globals global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -122,7 +123,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -140,7 +141,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -148,14 +149,166 @@ end end ) + (func $~lib/rt/itcms/__visit (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $1 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $1 + i32.load offset=8 + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + 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$334 + local.get $1 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34388 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$334 + end + local.get $1 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1584 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1588 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load offset=8 + local.set $0 + local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + 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 + ) (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 $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -167,10 +320,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -181,29 +334,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -211,10 +364,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -228,75 +381,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -318,7 +464,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -335,12 +481,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -357,17 +503,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -377,9 +523,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -404,13 +550,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -444,7 +590,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -500,19 +646,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -524,15 +670,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -540,23 +686,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -570,10 +718,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -581,23 +729,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -609,52 +756,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -662,7 +810,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -670,7 +818,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -681,10 +829,10 @@ end i32.const 34400 i32.const 0 - i32.store $0 + i32.store i32.const 35968 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -696,7 +844,7 @@ i32.const 34400 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -714,7 +862,7 @@ i32.const 34400 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -731,9 +879,10 @@ end i32.const 34400 i32.const 35972 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34400 global.set $~lib/rt/tlsf/ROOT @@ -763,7 +912,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -776,19 +925,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -799,7 +948,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -811,7 +960,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -824,12 +973,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -838,7 +983,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -849,26 +994,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -884,7 +1029,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -900,7 +1045,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -925,14 +1070,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -952,7 +1097,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -967,25 +1111,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -994,12 +1137,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1009,7 +1151,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1020,10 +1162,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1035,13 +1177,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1056,7 +1198,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1071,7 +1213,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$68 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1083,16 +1225,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$68 end local.get $1 i32.const 0 @@ -1100,8 +1238,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1123,11 +1260,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1146,12 +1283,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1162,9 +1299,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1173,14 +1311,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1188,7 +1326,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1197,7 +1335,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1213,7 +1351,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1223,7 +1361,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1232,54 +1370,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 8 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1291,7 +1429,7 @@ i32.add local.tee $0 i64.const 0 - i64.store $0 align=1 + i64.store align=1 local.get $0 ) (func $~lib/math/ipow32 (param $0 i32) (param $1 i32) (result i32) @@ -1485,366 +1623,366 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/a2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/a local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/s1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/s2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/s local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/m1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/m2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/m local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/d1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/d2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/d local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/f1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/f2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/f local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/p1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/p2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/p local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/n1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/n2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/n local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/o1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/o2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/o local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/x1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/x2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/x local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/eq1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/eq2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/eq3 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/eq4 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/gt1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/gt2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/gte1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/gte2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/le1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/le2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/leq1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/leq2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/shr local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/sres local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/shu local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/ures local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/shl local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/pos local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/pres local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/neg local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/nres local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/not local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/res local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/excl local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/incdec local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/tmp local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/ais1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/ais2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/ais local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/aii1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/aii2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/aii local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/operator-overloading/tea local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit ) (func $~lib/rt/__visit_members (param $0 i32) block $invalid @@ -1859,7 +1997,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/operator-overloading/Tester $std/operator-overloading/TesterInlineStatic $std/operator-overloading/TesterInlineInstance $std/operator-overloading/TesterElementAccess $invalid end return @@ -1869,12 +2007,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1892,7 +2026,6 @@ ) (func $std/operator-overloading/Tester#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1909,28 +2042,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $1 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -1938,7 +2069,6 @@ ) (func $std/operator-overloading/Tester.equals (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1955,50 +2085,41 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $3 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $3 + i32.store local.get $1 - i32.load $0 + i32.load i32.eq if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $0 - local.get $2 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.eq else i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/operator-overloading/Tester.notEquals (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2015,50 +2136,41 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $3 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $3 + i32.store local.get $1 - i32.load $0 + i32.load i32.ne if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $0 - local.get $2 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.ne else i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/operator-overloading/TesterInlineStatic#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2075,28 +2187,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $1 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2104,7 +2214,6 @@ ) (func $std/operator-overloading/TesterInlineInstance#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2121,28 +2230,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $1 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2171,7 +2278,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.const 1536 i32.eq @@ -2188,51 +2295,50 @@ i32.eqz br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $2 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1536 - i32.store $0 + i32.store local.get $2 i32.const 1532 - i32.load $0 + i32.load i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store i32.const 1536 local.set $3 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 1536 - i32.store $0 offset=4 + i32.store offset=4 + i32.const 1 local.get $0 local.tee $1 i32.const 7 i32.and - i32.eqz local.get $2 local.tee $0 i32.const 4 - i32.ge_u - i32.and + i32.lt_u + select + i32.eqz if loop $do-loop|0 local.get $1 - i64.load $0 + i64.load local.get $3 - i64.load $0 + i64.load i64.eq if local.get $1 @@ -2253,7 +2359,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$199 loop $while-continue|1 local.get $0 local.tee $2 @@ -2263,17 +2369,17 @@ local.get $2 if local.get $1 - i32.load16_u $0 + i32.load16_u local.tee $4 local.get $3 - i32.load16_u $0 + i32.load16_u local.tee $5 i32.sub local.set $2 local.get $4 local.get $5 i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl + br_if $__inlined_func$~lib/util/string/compareImpl$199 local.get $1 i32.const 2 i32.add @@ -2303,9 +2409,8 @@ i32.const 0 ) (func $std/operator-overloading/TesterElementAccess#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2320,41 +2425,36 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $3 - i32.const 1536 - i32.store $0 offset=4 + i32.store local.get $1 call $~lib/string/String.__eq if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 - i32.store $0 + i32.store else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $std/operator-overloading/TesterElementAccess#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2369,44 +2469,37 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - i32.const 1536 - i32.store $0 offset=4 + i32.store local.get $1 call $~lib/string/String.__eq if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $start:std/operator-overloading (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 48 + i32.const 40 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -2416,9 +2509,9 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 48 - memory.fill $0 - memory.size $0 + i32.const 40 + memory.fill + memory.size i32.const 16 i32.shl i32.const 34388 @@ -2428,26 +2521,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace i32.const 1 @@ -2461,11 +2554,11 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/a1 local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/a2 local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2475,60 +2568,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $3 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $3 + i32.store local.get $1 - i32.load $0 + i32.load i32.add - local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $0 - local.get $2 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $3 - local.get $0 + i32.store local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.add call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/a global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/a local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 3 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/a local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 5 i32.eq else @@ -2552,15 +2636,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/s2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/s1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/s2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2569,60 +2652,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.sub - local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.store local.get $0 - local.get $2 - i32.store $0 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.sub call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/s global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/s local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load if (result i32) i32.const 0 else global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/s local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 6 i32.eq end @@ -2644,15 +2718,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/m2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/m1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/m2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2661,60 +2734,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.mul - local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.store local.get $0 - local.get $2 - i32.store $0 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.mul call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/m global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/m local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 6 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/m local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 10 i32.eq else @@ -2738,15 +2802,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/d2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/d1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/d2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2755,60 +2818,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.div_s - local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.store local.get $0 - local.get $2 - i32.store $0 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.div_s call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/d global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/d local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 2 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/d local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 5 i32.eq else @@ -2832,15 +2886,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/f2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/f1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/f2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2849,60 +2902,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.rem_s - local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.store local.get $0 - local.get $2 - i32.store $0 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.rem_s call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/f global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/f local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 4 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/f local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else i32.const 1 end @@ -2923,15 +2967,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/p2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/p1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/p2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2940,60 +2983,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 - local.set $3 + i32.store local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 - call $~lib/math/ipow32 - local.set $0 + i32.load global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.load + call $~lib/math/ipow32 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 local.get $0 + i32.store + local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 call $~lib/math/ipow32 call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/p global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/p local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 16 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/p local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 243 i32.eq else @@ -3017,15 +3051,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/n2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/n1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/n2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3034,60 +3067,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.and - local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.store local.get $0 - local.get $2 - i32.store $0 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.and call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/n global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/n local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 15 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/n local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 15 i32.eq else @@ -3111,15 +3135,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/o2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/o1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/o2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3128,60 +3151,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.or - local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.store local.get $0 - local.get $2 - i32.store $0 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.or call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/o global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/o local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 65535 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/o local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 255 i32.eq else @@ -3205,15 +3219,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/x2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/x1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/x2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3222,60 +3235,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.xor - local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.store local.get $0 - local.get $2 - i32.store $0 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.xor call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/x global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/x local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 65535 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/x local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 255 i32.eq else @@ -3299,16 +3303,15 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/eq2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/eq1 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/eq2 local.tee $1 - i32.store $0 + i32.store offset=4 local.get $0 - global.get $std/operator-overloading/eq2 - local.tee $0 - i32.store $0 offset=4 local.get $1 - local.get $0 call $std/operator-overloading/Tester.equals global.set $std/operator-overloading/eq global.get $std/operator-overloading/eq @@ -3331,16 +3334,15 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/eq4 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/eq3 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/eq4 local.tee $1 - i32.store $0 + i32.store offset=4 local.get $0 - global.get $std/operator-overloading/eq4 - local.tee $0 - i32.store $0 offset=4 local.get $1 - local.get $0 call $std/operator-overloading/Tester.equals global.set $std/operator-overloading/eqf global.get $std/operator-overloading/eqf @@ -3353,16 +3355,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/eq1 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/eq2 local.tee $1 - i32.store $0 + i32.store offset=4 local.get $0 - global.get $std/operator-overloading/eq2 - local.tee $0 - i32.store $0 offset=4 local.get $1 - local.get $0 call $std/operator-overloading/Tester.notEquals global.set $std/operator-overloading/eq global.get $std/operator-overloading/eq @@ -3375,16 +3376,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/eq3 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/eq4 local.tee $1 - i32.store $0 + i32.store offset=4 local.get $0 - global.get $std/operator-overloading/eq4 - local.tee $0 - i32.store $0 offset=4 local.get $1 - local.get $0 call $std/operator-overloading/Tester.notEquals global.set $std/operator-overloading/eqf global.get $std/operator-overloading/eqf @@ -3407,15 +3407,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/gt2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/gt1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/gt2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3424,46 +3423,38 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.gt_s if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 local.get $0 - local.get $2 - i32.store $0 + i32.store + local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.gt_s else i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/gt global.get $std/operator-overloading/gt i32.const 1 @@ -3485,15 +3476,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/gte2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/gte1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/gte2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3502,46 +3492,38 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.ge_s if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 local.get $0 - local.get $2 - i32.store $0 + i32.store + local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.ge_s else i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/gte global.get $std/operator-overloading/gte i32.const 1 @@ -3563,15 +3545,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/le2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/le1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/le2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3580,46 +3561,38 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.lt_s if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 local.get $0 - local.get $2 - i32.store $0 + i32.store + local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.lt_s else i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/le global.get $std/operator-overloading/le i32.const 1 @@ -3641,15 +3614,14 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/leq2 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/leq1 - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/leq2 - local.tee $2 - i32.store $0 offset=4 - local.get $0 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3658,46 +3630,38 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - local.set $3 - local.get $0 - local.get $2 - i32.store $0 - local.get $3 - local.get $2 - i32.load $0 + i32.load i32.le_s if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 local.get $0 - local.get $2 - i32.store $0 + i32.store + local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.load $0 offset=4 + i32.store + local.get $1 + i32.load offset=4 i32.le_s else i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/leq global.get $std/operator-overloading/leq i32.const 1 @@ -3715,11 +3679,10 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/shr global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/shr - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3728,48 +3691,43 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 + i32.store + local.get $0 + i32.load i32.const 3 i32.shr_s - local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $2 - local.get $1 - i32.load $0 offset=4 + i32.store + local.get $0 + i32.load offset=4 i32.const 3 i32.shr_s call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/sres global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/sres local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 1 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/sres local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.eq else @@ -3789,11 +3747,10 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/shu global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/shu - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3802,48 +3759,43 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 + i32.store + local.get $0 + i32.load i32.const 3 i32.shr_u - local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $2 - local.get $1 - i32.load $0 offset=4 + i32.store + local.get $0 + i32.load offset=4 i32.const 3 i32.shr_u call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/ures global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ures local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 536870911 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ures local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 536870910 i32.eq else @@ -3863,11 +3815,10 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/shl global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/shl - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3876,48 +3827,43 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 + i32.store + local.get $0 + i32.load i32.const 3 i32.shl - local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $2 - local.get $1 - i32.load $0 offset=4 + i32.store + local.get $0 + i32.load offset=4 i32.const 3 i32.shl call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/sres global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/sres local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 8 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/sres local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 16 i32.eq else @@ -3937,11 +3883,10 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/pos global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/pos - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3950,60 +3895,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 - local.set $2 + i32.store local.get $0 - local.get $1 - i32.store $0 - local.get $2 - local.get $1 - i32.load $0 offset=4 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load offset=4 call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/pres global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/pres local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $0 + i32.load global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/pos local.tee $1 - i32.store $0 - local.get $0 + i32.store local.get $1 - i32.load $0 + i32.load i32.eq if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/pres - local.tee $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + local.tee $0 + i32.store local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/pos - local.tee $0 - i32.store $0 + local.tee $1 + i32.store local.get $1 - local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.eq else i32.const 0 @@ -4022,11 +3957,10 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/neg global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/neg - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4035,67 +3969,57 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 + i32.store i32.const 0 - local.get $1 - i32.load $0 + local.get $0 + i32.load i32.sub - local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $2 + i32.store i32.const 0 - local.get $1 - i32.load $0 offset=4 + local.get $0 + i32.load offset=4 i32.sub call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/nres global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/nres local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $0 + i32.load global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/neg local.tee $1 - i32.store $0 - local.get $0 + i32.store i32.const 0 local.get $1 - i32.load $0 + i32.load i32.sub i32.eq if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/nres - local.tee $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + local.tee $0 + i32.store local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/neg - local.tee $0 - i32.store $0 - local.get $1 + local.tee $1 + i32.store i32.const 0 - local.get $0 - i32.load $0 offset=4 + local.get $1 + i32.load offset=4 i32.sub i32.eq else @@ -4115,11 +4039,10 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/not global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/not - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4128,66 +4051,56 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 + i32.store + local.get $0 + i32.load i32.const -1 i32.xor - local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $2 - local.get $1 - i32.load $0 offset=4 + i32.store + local.get $0 + i32.load offset=4 i32.const -1 i32.xor call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/res global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/res local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $0 + i32.load global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/not local.tee $1 - i32.store $0 - local.get $0 + i32.store local.get $1 - i32.load $0 + i32.load i32.const -1 i32.xor i32.eq if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/res - local.tee $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 + local.tee $0 + i32.store local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/not - local.tee $0 - i32.store $0 + local.tee $1 + i32.store local.get $1 - local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 i32.xor i32.eq @@ -4208,11 +4121,10 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/excl global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/excl - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4221,47 +4133,44 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 + i32.store + local.get $0 + i32.load if (result i32) i32.const 1 else global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 + local.get $0 + i32.store + local.get $0 + i32.load offset=4 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 i32.eqz global.set $std/operator-overloading/bres global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/excl local.tee $0 - i32.store $0 + i32.store global.get $std/operator-overloading/bres local.get $0 - i32.load $0 + i32.load if (result i32) i32.const 1 else global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/excl local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 end i32.eqz i32.ne @@ -4289,11 +4198,10 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/incdec global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/incdec - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -4302,54 +4210,53 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 - local.get $1 - i32.load $0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load i32.const 1 i32.add - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 - local.get $1 - i32.load $0 offset=4 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load offset=4 i32.const 1 i32.add - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 global.set $std/operator-overloading/incdec global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 1 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.eq else @@ -4365,11 +4272,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/incdec - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -4378,54 +4284,53 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 - local.get $1 - i32.load $0 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load i32.const 1 i32.sub - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 - local.get $1 - i32.load $0 offset=4 + i32.store offset=4 + local.get $0 + local.get $0 + i32.load offset=4 i32.const 1 i32.sub - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 global.set $std/operator-overloading/incdec global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load if (result i32) i32.const 0 else global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.eq end @@ -4443,14 +4348,13 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/incdec global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/incdec - local.tee $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.store $0 + local.tee $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4459,50 +4363,45 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 + i32.store + local.get $0 + i32.load i32.const 1 i32.add - local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $2 - local.get $1 - i32.load $0 offset=4 + i32.store + local.get $0 + i32.load offset=4 i32.const 1 i32.add call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/incdec - local.get $1 + local.get $0 global.set $std/operator-overloading/tmp global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tmp local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load if (result i32) i32.const 0 else global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tmp local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.eq end @@ -4518,18 +4417,18 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 1 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.eq else @@ -4545,14 +4444,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/incdec - local.tee $1 - i32.store $0 offset=12 - local.get $0 - local.get $1 - i32.store $0 + local.tee $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -4561,50 +4459,45 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 + i32.store + local.get $0 + i32.load i32.const 1 i32.sub - local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $2 - local.get $1 - i32.load $0 offset=4 + i32.store + local.get $0 + i32.load offset=4 i32.const 1 i32.sub call $std/operator-overloading/Tester#constructor - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 global.set $std/operator-overloading/incdec - local.get $1 + local.get $0 global.set $std/operator-overloading/tmp global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tmp local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 1 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tmp local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.eq else @@ -4622,18 +4515,18 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load if (result i32) i32.const 0 else global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.eq end @@ -4651,27 +4544,21 @@ call $std/operator-overloading/TesterInlineStatic#constructor global.set $std/operator-overloading/ais1 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/ais1 - local.tee $1 - i32.store $0 + local.tee $0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=16 + i32.store local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 + i32.load i32.const 1 i32.add - local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $2 - local.get $1 - i32.load $0 offset=4 + i32.store + local.get $0 + i32.load offset=4 i32.const 1 i32.add call $std/operator-overloading/TesterInlineStatic#constructor @@ -4683,56 +4570,50 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ais1 local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ais2 local.tee $1 - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $2 + i32.load global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 + i32.store local.get $1 - i32.load $0 + i32.load i32.add - local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.load offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $0 + i32.store local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.add call $std/operator-overloading/TesterInlineStatic#constructor global.set $std/operator-overloading/ais global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ais local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 4 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ais local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 6 i32.eq else @@ -4752,24 +4633,21 @@ call $std/operator-overloading/TesterInlineInstance#constructor global.set $std/operator-overloading/aii1 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/aii1 - local.tee $1 - i32.store $0 offset=28 + local.tee $0 + i32.store offset=28 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 + i32.store + local.get $0 + i32.load i32.const 1 i32.add - local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 - local.get $2 - local.get $1 - i32.load $0 offset=4 + i32.store + local.get $0 + i32.load offset=4 i32.const 1 i32.add call $std/operator-overloading/TesterInlineInstance#constructor @@ -4781,56 +4659,50 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/aii1 local.tee $0 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/aii2 local.tee $1 - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $2 + i32.load global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 + i32.store local.get $1 - i32.load $0 + i32.load i32.add - local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.load offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $0 + i32.store local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.add call $std/operator-overloading/TesterInlineInstance#constructor global.set $std/operator-overloading/aii global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/aii local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const 4 i32.eq if (result i32) global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/aii local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 6 i32.eq else @@ -4854,28 +4726,26 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -4884,10 +4754,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tea local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1536 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1536 i32.const -1 @@ -4895,10 +4762,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tea local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1568 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1568 i32.const -2 @@ -4906,9 +4770,9 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tea local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load i32.const -1 i32.ne if @@ -4920,15 +4784,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/tea - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1536 - i32.store $0 offset=4 - local.get $1 - i32.const 1536 call $std/operator-overloading/TesterElementAccess#__get i32.const -1 i32.ne @@ -4943,9 +4803,9 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tea local.tee $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.ne if @@ -4957,15 +4817,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/tea - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1568 - i32.store $0 offset=4 - local.get $1 - i32.const 1568 call $std/operator-overloading/TesterElementAccess#__get i32.const -2 i32.ne @@ -4978,21 +4834,15 @@ unreachable end global.get $~lib/memory/__stack_pointer + global.get $std/operator-overloading/tea local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tea local.tee $1 - i32.store $0 + i32.store offset=4 local.get $0 i32.const 1536 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=40 - local.get $0 - i32.const 1536 - i32.store $0 offset=44 - local.get $1 - i32.const 1536 local.get $1 i32.const 1536 call $std/operator-overloading/TesterElementAccess#__get @@ -5002,17 +4852,11 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tea local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1568 - i32.store $0 offset=4 + i32.store global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tea local.tee $1 - i32.store $0 offset=40 - global.get $~lib/memory/__stack_pointer - i32.const 1568 - i32.store $0 offset=44 + i32.store offset=4 local.get $0 i32.const 1568 local.get $1 @@ -5024,10 +4868,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tea local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1536 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1536 call $std/operator-overloading/TesterElementAccess#__get @@ -5040,15 +4881,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/operator-overloading/tea - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1568 - i32.store $0 offset=4 - local.get $1 - i32.const 1568 call $std/operator-overloading/TesterElementAccess#__get i32.const -3 i32.ne @@ -5061,7 +4898,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 48 + i32.const 40 i32.add global.set $~lib/memory/__stack_pointer return @@ -5073,151 +4910,4 @@ 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 $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $1 - global.get $~lib/rt/itcms/iter - i32.eq - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $0 - i32.eqz - if - local.get $1 - i32.load $0 offset=8 - i32.eqz - local.get $1 - i32.const 34388 - i32.lt_u - i32.and - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $0 - i32.const 1584 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - i32.shl - i32.const 1588 - i32.add - i32.load $0 - i32.const 32 - i32.and - end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $0 - local.get $1 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 offset=8 - local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 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/std/pointer.debug.wat b/tests/compiler/std/pointer.debug.wat index 0f644caf57..9381398907 100644 --- a/tests/compiler/std/pointer.debug.wat +++ b/tests/compiler/std/pointer.debug.wat @@ -1,8 +1,8 @@ (module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func)) + (type $3 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/pointer/one (mut i32) (i32.const 0)) (global $std/pointer/two (mut i32) (i32.const 0)) @@ -14,7 +14,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) (global $~lib/memory/__heap_base i32 (i32.const 32828)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -22,20 +22,20 @@ (func $std/pointer/Entry#set:key (param $this i32) (param $key i32) local.get $this local.get $key - i32.store $0 + i32.store ) (func $std/pointer/Entry#set:val (param $this i32) (param $val i32) local.get $this local.get $val - i32.store $0 offset=4 + i32.store offset=4 ) (func $std/pointer/Entry#get:key (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $std/pointer/Entry#get:val (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $start:std/pointer (local $this i32) @@ -435,12 +435,12 @@ local.get $this|26 i32.const 0 i32.const 8 - memory.fill $0 + memory.fill else local.get $this|26 local.get $value i32.const 8 - memory.copy $0 $0 + memory.copy end block $std/pointer/Pointer#get:offset|inlined.8 (result i32) global.get $std/pointer/one @@ -525,7 +525,7 @@ i32.mul i32.add local.get $value|36 - f32.store $0 + f32.store global.get $std/pointer/buf local.set $this|37 i32.const 1 @@ -538,7 +538,7 @@ i32.mul i32.add local.get $value|39 - f32.store $0 + f32.store block $std/pointer/Pointer#get|inlined.0 (result f32) global.get $std/pointer/buf local.set $this|40 @@ -549,7 +549,7 @@ i32.const 4 i32.mul i32.add - f32.load $0 + f32.load br $std/pointer/Pointer#get|inlined.0 end f32.const 1.100000023841858 @@ -573,7 +573,7 @@ i32.const 4 i32.mul i32.add - f32.load $0 + f32.load br $std/pointer/Pointer#get|inlined.1 end f32.const 1.2000000476837158 @@ -597,7 +597,7 @@ i32.const 4 i32.mul i32.add - f32.load $0 + f32.load br $std/pointer/Pointer#get|inlined.2 end f32.const 1.100000023841858 @@ -621,7 +621,7 @@ i32.const 4 i32.mul i32.add - f32.load $0 + f32.load br $std/pointer/Pointer#get|inlined.3 end f32.const 1.2000000476837158 @@ -636,7 +636,7 @@ unreachable end i32.const 0 - f32.load $0 + f32.load f32.const 1.100000023841858 f32.eq i32.eqz @@ -649,7 +649,7 @@ unreachable end i32.const 4 - f32.load $0 + f32.load f32.const 1.2000000476837158 f32.eq i32.eqz @@ -673,7 +673,7 @@ i32.mul i32.add local.get $value|50 - f32.store $0 + f32.store block $std/pointer/Pointer#get|inlined.4 (result f32) global.get $std/pointer/buf local.set $this|51 @@ -684,7 +684,7 @@ i32.const 4 i32.mul i32.add - f32.load $0 + f32.load br $std/pointer/Pointer#get|inlined.4 end f32.const 1.2999999523162842 @@ -708,7 +708,7 @@ i32.const 4 i32.mul i32.add - f32.load $0 + f32.load br $std/pointer/Pointer#get|inlined.5 end f32.const 1.2999999523162842 @@ -723,7 +723,7 @@ unreachable end i32.const 8 - f32.load $0 + f32.load f32.const 1.2999999523162842 f32.eq i32.eqz @@ -743,14 +743,14 @@ drop local.get $this|55 local.get $value|56 - f32.store $0 + f32.store block $std/pointer/Pointer#get:value|inlined.0 (result f32) global.get $std/pointer/buf local.set $this|57 i32.const 0 drop local.get $this|57 - f32.load $0 + f32.load br $std/pointer/Pointer#get:value|inlined.0 end f32.const 1.399999976158142 @@ -765,7 +765,7 @@ unreachable end i32.const 0 - f32.load $0 + f32.load f32.const 1.399999976158142 f32.eq i32.eqz diff --git a/tests/compiler/std/pointer.release.wat b/tests/compiler/std/pointer.release.wat index 928fc6299b..d014421032 100644 --- a/tests/compiler/std/pointer.release.wat +++ b/tests/compiler/std/pointer.release.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/pointer/one (mut i32) (i32.const 0)) (global $std/pointer/two (mut i32) (i32.const 0)) @@ -8,8 +8,8 @@ (global $std/pointer/sub (mut i32) (i32.const 0)) (global $std/pointer/nextOne (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00s\00t\00d\00/\00p\00o\00i\00n\00t\00e\00r\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $start:std/pointer @@ -21,12 +21,12 @@ global.set $std/pointer/two i32.const 8 i32.const 1 - i32.store $0 + i32.store i32.const 12 i32.const 2 - i32.store $0 + i32.store i32.const 8 - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -38,7 +38,7 @@ unreachable end global.get $std/pointer/one - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -95,10 +95,9 @@ i32.add global.set $std/pointer/one global.get $std/pointer/one - local.tee $0 global.set $std/pointer/nextOne - local.get $0 global.get $std/pointer/nextOne + global.get $std/pointer/one i32.ne if i32.const 0 @@ -150,7 +149,7 @@ unreachable end global.get $std/pointer/two - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -162,7 +161,7 @@ unreachable end global.get $std/pointer/two - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -180,12 +179,12 @@ if local.get $0 local.get $1 - i64.load $0 align=1 - i64.store $0 align=1 + i64.load align=1 + i64.store align=1 else local.get $0 i64.const 0 - i64.store $0 align=1 + i64.store align=1 end global.get $std/pointer/one global.get $std/pointer/two @@ -199,7 +198,7 @@ unreachable end global.get $std/pointer/one - i32.load $0 + i32.load i32.const 1 i32.ne if @@ -211,7 +210,7 @@ unreachable end global.get $std/pointer/one - i32.load $0 offset=4 + i32.load offset=4 i32.const 2 i32.ne if @@ -224,12 +223,12 @@ end i32.const 0 f32.const 1.100000023841858 - f32.store $0 + f32.store i32.const 4 f32.const 1.2000000476837158 - f32.store $0 + f32.store i32.const 0 - f32.load $0 + f32.load f32.const 1.100000023841858 f32.ne if @@ -241,7 +240,7 @@ unreachable end i32.const 4 - f32.load $0 + f32.load f32.const 1.2000000476837158 f32.ne if @@ -253,7 +252,7 @@ unreachable end i32.const 0 - f32.load $0 + f32.load f32.const 1.100000023841858 f32.ne if @@ -265,7 +264,7 @@ unreachable end i32.const 4 - f32.load $0 + f32.load f32.const 1.2000000476837158 f32.ne if @@ -277,7 +276,7 @@ unreachable end i32.const 0 - f32.load $0 + f32.load f32.const 1.100000023841858 f32.ne if @@ -289,7 +288,7 @@ unreachable end i32.const 4 - f32.load $0 + f32.load f32.const 1.2000000476837158 f32.ne if @@ -302,9 +301,9 @@ end i32.const 8 f32.const 1.2999999523162842 - f32.store $0 + f32.store i32.const 8 - f32.load $0 + f32.load f32.const 1.2999999523162842 f32.ne if @@ -316,7 +315,7 @@ unreachable end i32.const 8 - f32.load $0 + f32.load f32.const 1.2999999523162842 f32.ne if @@ -328,7 +327,7 @@ unreachable end i32.const 8 - f32.load $0 + f32.load f32.const 1.2999999523162842 f32.ne if @@ -341,9 +340,9 @@ end i32.const 0 f32.const 1.399999976158142 - f32.store $0 + f32.store i32.const 0 - f32.load $0 + f32.load f32.const 1.399999976158142 f32.ne if @@ -355,7 +354,7 @@ unreachable end i32.const 0 - f32.load $0 + f32.load f32.const 1.399999976158142 f32.ne if diff --git a/tests/compiler/std/set.debug.wat b/tests/compiler/std/set.debug.wat index ea63fb3eac..3f49782b9d 100644 --- a/tests/compiler/std/set.debug.wat +++ b/tests/compiler/std/set.debug.wat @@ -1,34 +1,35 @@ (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_i64_=>_i32 (func (param i32 i64) (result i32))) - (type $i32_f32_=>_i32 (func (param i32 f32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_=>_i64 (func (param i32) (result i64))) - (type $i32_i64_=>_none (func (param i32 i64))) - (type $i32_i64_i32_=>_i32 (func (param i32 i64 i32) (result i32))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) - (type $none_=>_i32 (func (result i32))) - (type $f32_=>_i32 (func (param f32) (result i32))) - (type $i32_=>_f32 (func (param i32) (result f32))) - (type $i32_f32_=>_none (func (param i32 f32))) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $i32_=>_f64 (func (param i32) (result f64))) - (type $i32_f64_=>_none (func (param i32 f64))) - (type $i32_f32_i32_=>_i32 (func (param i32 f32 i32) (result i32))) - (type $i32_i32_f32_=>_none (func (param i32 i32 f32))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $i32_f64_i32_=>_i32 (func (param i32 f64 i32) (result i32))) - (type $i32_i32_f64_=>_none (func (param i32 i32 f64))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32) (result i32))) + (type $7 (func (param i32 i64) (result i32))) + (type $8 (func (param i32 f32) (result i32))) + (type $9 (func (param i32 f64) (result i32))) + (type $10 (func (param i32 i32 i32 i32))) + (type $11 (func (param i64) (result i32))) + (type $12 (func (param i32) (result i64))) + (type $13 (func (param i32 i64))) + (type $14 (func (param i32 i64 i32) (result i32))) + (type $15 (func (param i32 i32 i64))) + (type $16 (func (param i32 i32) (result i64))) + (type $17 (func (param i32 i32 i64) (result i32))) + (type $18 (func (result i32))) + (type $19 (func (param f32) (result i32))) + (type $20 (func (param i32) (result f32))) + (type $21 (func (param i32 f32))) + (type $22 (func (param f64) (result i32))) + (type $23 (func (param i32) (result f64))) + (type $24 (func (param i32 f64))) + (type $25 (func (param i32 f32 i32) (result i32))) + (type $26 (func (param i32 i32 f32))) + (type $27 (func (param i32 i32) (result f32))) + (type $28 (func (param i32 f64 i32) (result i32))) + (type $29 (func (param i32 i32 f64))) + (type $30 (func (param i32 i32) (result f64))) (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)) @@ -50,19 +51,19 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33492)) (global $~lib/memory/__heap_base i32 (i32.const 33492)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 624) "\18\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00H\08\00\00B\08\00\00H\00\00\00B\00\00\00\88\08\00\00\82\08\00\00\88\00\00\00\82\00\00\00\08\t\00\00\02\t\00\00\08\01\00\00\02\01\00\00\08\n\00\00\02\n\00\00\08\02\00\00\02\02\00\00\08\19\00\00\02\19\00\00\08\1a\00\00\02\1a\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $9 (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $10 (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $12 (i32.const 624) "\18\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00H\08\00\00B\08\00\00H\00\00\00B\00\00\00\88\08\00\00\82\08\00\00\88\00\00\00\82\00\00\00\08\t\00\00\02\t\00\00\08\01\00\00\02\01\00\00\08\n\00\00\02\n\00\00\08\02\00\00\02\02\00\00\08\19\00\00\02\19\00\00\08\1a\00\00\02\1a\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -70,12 +71,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -89,7 +90,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -163,7 +164,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -233,11 +234,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -245,7 +246,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -377,7 +378,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -390,7 +391,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -406,34 +407,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -593,7 +594,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -616,7 +617,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -630,7 +631,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -653,7 +654,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -796,7 +797,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -882,7 +883,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -962,7 +963,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -996,7 +997,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1019,7 +1020,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1033,27 +1034,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1078,9 +1084,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1099,7 +1105,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1118,7 +1124,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1132,7 +1137,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1188,12 +1193,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1227,7 +1232,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1248,7 +1253,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1268,7 +1273,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1288,7 +1293,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1314,7 +1319,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1337,9 +1342,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1375,7 +1381,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1641,14 +1647,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1704,7 +1713,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1713,6 +1722,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1742,24 +1771,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1797,7 +1815,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1812,7 +1830,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1857,7 +1875,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1868,7 +1886,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1890,7 +1908,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1913,7 +1931,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1932,22 +1950,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1960,7 +1970,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1987,27 +1997,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2032,7 +2043,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2147,7 +2158,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2167,7 +2178,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2200,12 +2211,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2256,7 +2267,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2331,7 +2342,7 @@ (func $~lib/set/Set#set:buckets (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 @@ -2340,12 +2351,12 @@ (func $~lib/set/Set#set:bucketsMask (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/set/Set#set:entries (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 @@ -2354,17 +2365,17 @@ (func $~lib/set/Set#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -2437,50 +2448,50 @@ ) (func $~lib/set/Set#get:buckets (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:bucketsMask (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:taggedNext (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:key (param $this i32) (result i32) local.get $this - i32.load8_s $0 + i32.load8_s ) (func $~lib/set/Set#get:entriesOffset (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/set/Set#get:entriesCapacity (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/set/Set#get:entriesCount (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $~lib/set/Set#get:entries (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#set:key (param $this i32) (param $key i32) local.get $this local.get $key - i32.store8 $0 + i32.store8 ) (func $~lib/set/SetEntry#set:taggedNext (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2489,33 +2500,33 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2559,18 +2570,18 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/Set#set:buckets (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 @@ -2579,12 +2590,12 @@ (func $~lib/set/Set#set:bucketsMask (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/set/Set#set:entries (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 @@ -2593,17 +2604,17 @@ (func $~lib/set/Set#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -2677,50 +2688,50 @@ ) (func $~lib/set/Set#get:buckets (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:bucketsMask (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:taggedNext (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:key (param $this i32) (result i32) local.get $this - i32.load8_u $0 + i32.load8_u ) (func $~lib/set/Set#get:entriesOffset (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/set/Set#get:entriesCapacity (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/set/Set#get:entriesCount (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $~lib/set/Set#get:entries (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#set:key (param $this i32) (param $key i32) local.get $this local.get $key - i32.store8 $0 + i32.store8 ) (func $~lib/set/SetEntry#set:taggedNext (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2729,30 +2740,30 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/Set#set:buckets (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 @@ -2761,12 +2772,12 @@ (func $~lib/set/Set#set:bucketsMask (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/set/Set#set:entries (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 @@ -2775,17 +2786,17 @@ (func $~lib/set/Set#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -2858,50 +2869,50 @@ ) (func $~lib/set/Set#get:buckets (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:bucketsMask (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:taggedNext (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:key (param $this i32) (result i32) local.get $this - i32.load16_s $0 + i32.load16_s ) (func $~lib/set/Set#get:entriesOffset (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/set/Set#get:entriesCapacity (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/set/Set#get:entriesCount (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $~lib/set/Set#get:entries (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#set:key (param $this i32) (param $key i32) local.get $this local.get $key - i32.store16 $0 + i32.store16 ) (func $~lib/set/SetEntry#set:taggedNext (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2910,30 +2921,30 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/Set#set:buckets (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 @@ -2942,12 +2953,12 @@ (func $~lib/set/Set#set:bucketsMask (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/set/Set#set:entries (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 @@ -2956,17 +2967,17 @@ (func $~lib/set/Set#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -3040,50 +3051,50 @@ ) (func $~lib/set/Set#get:buckets (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:bucketsMask (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:taggedNext (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:key (param $this i32) (result i32) local.get $this - i32.load16_u $0 + i32.load16_u ) (func $~lib/set/Set#get:entriesOffset (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/set/Set#get:entriesCapacity (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/set/Set#get:entriesCount (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $~lib/set/Set#get:entries (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#set:key (param $this i32) (param $key i32) local.get $this local.get $key - i32.store16 $0 + i32.store16 ) (func $~lib/set/SetEntry#set:taggedNext (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -3092,30 +3103,30 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/Set#set:buckets (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 @@ -3124,12 +3135,12 @@ (func $~lib/set/Set#set:bucketsMask (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/set/Set#set:entries (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 @@ -3138,17 +3149,17 @@ (func $~lib/set/Set#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -3220,50 +3231,50 @@ ) (func $~lib/set/Set#get:buckets (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:bucketsMask (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:taggedNext (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:key (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:entriesOffset (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/set/Set#get:entriesCapacity (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/set/Set#get:entriesCount (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $~lib/set/Set#get:entries (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#set:key (param $this i32) (param $key i32) local.get $this local.get $key - i32.store $0 + i32.store ) (func $~lib/set/SetEntry#set:taggedNext (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -3272,30 +3283,30 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/Set#set:buckets (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 @@ -3304,12 +3315,12 @@ (func $~lib/set/Set#set:bucketsMask (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/set/Set#set:entries (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 @@ -3318,17 +3329,17 @@ (func $~lib/set/Set#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -3400,50 +3411,50 @@ ) (func $~lib/set/Set#get:buckets (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:bucketsMask (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:taggedNext (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:key (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:entriesOffset (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/set/Set#get:entriesCapacity (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/set/Set#get:entriesCount (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $~lib/set/Set#get:entries (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#set:key (param $this i32) (param $key i32) local.get $this local.get $key - i32.store $0 + i32.store ) (func $~lib/set/SetEntry#set:taggedNext (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -3452,30 +3463,30 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/Set#set:buckets (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 @@ -3484,12 +3495,12 @@ (func $~lib/set/Set#set:bucketsMask (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/set/Set#set:entries (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 @@ -3498,17 +3509,17 @@ (func $~lib/set/Set#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) @@ -3597,50 +3608,50 @@ ) (func $~lib/set/Set#get:buckets (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:bucketsMask (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:taggedNext (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#get:key (param $this i32) (result i64) local.get $this - i64.load $0 + i64.load ) (func $~lib/set/Set#get:entriesOffset (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/set/Set#get:entriesCapacity (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/set/Set#get:entriesCount (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $~lib/set/Set#get:entries (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#set:key (param $this i32) (param $key i64) local.get $this local.get $key - i64.store $0 + i64.store ) (func $~lib/set/SetEntry#set:taggedNext (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -3649,30 +3660,30 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/Set#set:buckets (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 @@ -3681,12 +3692,12 @@ (func $~lib/set/Set#set:bucketsMask (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/set/Set#set:entries (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 @@ -3695,17 +3706,17 @@ (func $~lib/set/Set#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i64) (result i32) (local $key|1 i64) @@ -3794,50 +3805,50 @@ ) (func $~lib/set/Set#get:buckets (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:bucketsMask (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:taggedNext (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#get:key (param $this i32) (result i64) local.get $this - i64.load $0 + i64.load ) (func $~lib/set/Set#get:entriesOffset (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/set/Set#get:entriesCapacity (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/set/Set#get:entriesCount (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $~lib/set/Set#get:entries (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#set:key (param $this i32) (param $key i64) local.get $this local.get $key - i64.store $0 + i64.store ) (func $~lib/set/SetEntry#set:taggedNext (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -3846,30 +3857,30 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/Set#set:buckets (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 @@ -3878,12 +3889,12 @@ (func $~lib/set/Set#set:bucketsMask (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/set/Set#set:entries (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 @@ -3892,17 +3903,17 @@ (func $~lib/set/Set#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key f32) (result i32) (local $key|1 i32) @@ -3975,50 +3986,50 @@ ) (func $~lib/set/Set#get:buckets (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:bucketsMask (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:taggedNext (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:key (param $this i32) (result f32) local.get $this - f32.load $0 + f32.load ) (func $~lib/set/Set#get:entriesOffset (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/set/Set#get:entriesCapacity (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/set/Set#get:entriesCount (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $~lib/set/Set#get:entries (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#set:key (param $this i32) (param $key f32) local.get $this local.get $key - f32.store $0 + f32.store ) (func $~lib/set/SetEntry#set:taggedNext (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -4027,30 +4038,30 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/Set#set:buckets (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 @@ -4059,12 +4070,12 @@ (func $~lib/set/Set#set:bucketsMask (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/set/Set#set:entries (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 @@ -4073,17 +4084,17 @@ (func $~lib/set/Set#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/set/Set#set:entriesOffset (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/set/Set#set:entriesCount (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key f64) (result i32) (local $key|1 i64) @@ -4173,50 +4184,50 @@ ) (func $~lib/set/Set#get:buckets (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/set/Set#get:bucketsMask (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/set/SetEntry#get:taggedNext (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#get:key (param $this i32) (result f64) local.get $this - f64.load $0 + f64.load ) (func $~lib/set/Set#get:entriesOffset (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/set/Set#get:entriesCapacity (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/set/Set#get:entriesCount (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) (func $~lib/set/Set#get:entries (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/set/SetEntry#set:key (param $this i32) (param $key f64) local.get $this local.get $key - f64.store $0 + f64.store ) (func $~lib/set/SetEntry#set:taggedNext (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -4225,25 +4236,25 @@ (func $~lib/array/Array#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/array/Array#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/__collect i32.const 0 @@ -4292,7 +4303,7 @@ drop ) (func $start:std/set - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -4339,16 +4350,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/set/Set~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4360,7 +4366,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4380,7 +4386,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4400,7 +4406,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4420,7 +4426,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4440,7 +4446,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4460,7 +4466,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4480,7 +4486,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4500,7 +4506,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4520,7 +4526,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4540,7 +4546,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -4579,7 +4585,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $~lib/set/Set $~lib/array/Array $invalid end return @@ -4720,10 +4726,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -4732,13 +4738,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -4748,14 +4754,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 @@ -4765,7 +4771,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -4778,14 +4784,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -4793,7 +4799,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -4801,7 +4807,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -4824,12 +4830,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:buckets local.get $hashCode @@ -4837,14 +4843,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry @@ -4903,12 +4909,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key @@ -4945,10 +4951,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -4960,7 +4966,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -4977,12 +4983,12 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entries local.set $oldPtr @@ -4991,7 +4997,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entriesOffset block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) @@ -5037,11 +5043,11 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 8 @@ -5064,20 +5070,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:buckets local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask call $~lib/set/Set#set:bucketsMask @@ -5085,20 +5091,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:entries local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity call $~lib/set/Set#set:entriesCapacity @@ -5106,13 +5112,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#get:entriesCount call $~lib/set/Set#set:entriesOffset @@ -5134,7 +5140,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -5142,7 +5148,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $hashCode @@ -5155,14 +5161,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesOffset local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.eq @@ -5171,20 +5177,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -5197,7 +5203,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask else @@ -5205,7 +5211,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -5219,20 +5225,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entries local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesOffset local.tee $4 @@ -5256,13 +5262,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -5272,7 +5278,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:buckets local.get $hashCode @@ -5280,7 +5286,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.and @@ -5290,11 +5296,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $6 @@ -5314,12 +5320,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/set/Set#get:entriesCount local.set $1 @@ -5343,10 +5349,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -5355,13 +5361,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -5369,7 +5375,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -5377,7 +5383,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -5385,7 +5391,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -5418,7 +5424,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -5427,20 +5433,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -5448,7 +5454,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -5456,7 +5462,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -5487,12 +5493,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -5519,7 +5525,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -5569,10 +5575,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -5580,7 +5586,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -5596,13 +5602,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -5629,7 +5635,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -5640,7 +5646,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -5648,7 +5654,7 @@ i32.shl i32.add local.get $value - i32.store8 $0 + i32.store8 i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -5665,7 +5671,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 0 @@ -5675,7 +5681,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -5700,12 +5706,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entries local.set $start @@ -5713,7 +5719,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entriesOffset local.set $size @@ -5722,7 +5728,7 @@ local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -5751,7 +5757,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -5774,7 +5780,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -5796,12 +5802,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -5822,13 +5828,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -5844,14 +5850,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -5877,12 +5883,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key @@ -5911,13 +5917,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -5927,7 +5933,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -5942,7 +5948,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.tee $5 @@ -5956,14 +5962,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -5979,7 +5985,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask call $~lib/set/Set#rehash @@ -6002,12 +6008,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -6017,14 +6023,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 @@ -6034,7 +6040,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -6047,14 +6053,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -6062,7 +6068,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -6070,7 +6076,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -6097,12 +6103,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $set - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -6114,7 +6120,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -6132,7 +6138,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#add @@ -6141,7 +6147,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -6165,7 +6171,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -6190,7 +6196,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -6207,7 +6213,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#add @@ -6216,7 +6222,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -6240,7 +6246,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -6259,16 +6265,16 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#values local.tee $vals - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $index loop $for-loop|2 @@ -6277,7 +6283,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length i32.lt_s @@ -6286,13 +6292,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -6310,13 +6316,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -6333,14 +6339,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.eq @@ -6364,7 +6370,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -6381,7 +6387,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#delete @@ -6390,7 +6396,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -6415,7 +6421,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -6440,7 +6446,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -6458,7 +6464,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#add @@ -6467,7 +6473,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -6484,7 +6490,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#delete @@ -6493,7 +6499,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -6518,7 +6524,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -6536,14 +6542,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#clear local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 0 @@ -6571,10 +6577,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -6583,13 +6589,13 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -6599,14 +6605,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 @@ -6616,7 +6622,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -6629,14 +6635,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -6644,7 +6650,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -6652,7 +6658,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -6675,12 +6681,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:buckets local.get $hashCode @@ -6688,14 +6694,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry @@ -6756,12 +6762,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key @@ -6798,10 +6804,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -6813,7 +6819,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -6830,12 +6836,12 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entries local.set $oldPtr @@ -6844,7 +6850,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entriesOffset block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) @@ -6890,11 +6896,11 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 8 @@ -6917,20 +6923,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:buckets local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask call $~lib/set/Set#set:bucketsMask @@ -6938,20 +6944,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:entries local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity call $~lib/set/Set#set:entriesCapacity @@ -6959,13 +6965,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#get:entriesCount call $~lib/set/Set#set:entriesOffset @@ -6987,7 +6993,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -6995,7 +7001,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $hashCode @@ -7008,14 +7014,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesOffset local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.eq @@ -7024,20 +7030,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -7050,7 +7056,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask else @@ -7058,7 +7064,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -7072,20 +7078,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entries local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesOffset local.tee $4 @@ -7109,13 +7115,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -7125,7 +7131,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:buckets local.get $hashCode @@ -7133,7 +7139,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.and @@ -7143,11 +7149,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $6 @@ -7167,12 +7173,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/set/Set#get:entriesCount local.set $1 @@ -7196,10 +7202,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -7208,13 +7214,13 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -7222,7 +7228,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -7230,7 +7236,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -7238,7 +7244,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -7271,7 +7277,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -7280,20 +7286,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -7301,7 +7307,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -7309,7 +7315,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -7330,13 +7336,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -7363,7 +7369,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -7374,7 +7380,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -7382,7 +7388,7 @@ i32.shl i32.add local.get $value - i32.store8 $0 + i32.store8 i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -7399,7 +7405,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 0 @@ -7409,7 +7415,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -7434,12 +7440,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entries local.set $start @@ -7447,7 +7453,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entriesOffset local.set $size @@ -7456,7 +7462,7 @@ local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -7485,7 +7491,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -7508,7 +7514,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -7530,12 +7536,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -7556,13 +7562,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -7578,14 +7584,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -7611,12 +7617,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key @@ -7645,13 +7651,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -7661,7 +7667,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -7676,7 +7682,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.tee $5 @@ -7690,14 +7696,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -7713,7 +7719,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask call $~lib/set/Set#rehash @@ -7736,12 +7742,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -7751,14 +7757,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 @@ -7768,7 +7774,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -7781,14 +7787,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -7796,7 +7802,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -7804,7 +7810,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -7831,12 +7837,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $set - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -7848,7 +7854,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -7866,7 +7872,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#add @@ -7875,7 +7881,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -7899,7 +7905,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -7924,7 +7930,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -7941,7 +7947,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#add @@ -7950,7 +7956,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -7974,7 +7980,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -7993,16 +7999,16 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#values local.tee $vals - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $index loop $for-loop|2 @@ -8011,7 +8017,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length i32.lt_s @@ -8020,13 +8026,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -8044,13 +8050,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -8067,14 +8073,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.eq @@ -8098,7 +8104,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -8115,7 +8121,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#delete @@ -8124,7 +8130,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -8149,7 +8155,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -8174,7 +8180,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -8192,7 +8198,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#add @@ -8201,7 +8207,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -8218,7 +8224,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#delete @@ -8227,7 +8233,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -8252,7 +8258,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -8270,14 +8276,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#clear local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 0 @@ -8305,10 +8311,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -8317,13 +8323,13 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -8333,14 +8339,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 @@ -8350,7 +8356,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -8363,14 +8369,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -8378,7 +8384,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -8386,7 +8392,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -8409,12 +8415,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:buckets local.get $hashCode @@ -8422,14 +8428,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry @@ -8488,12 +8494,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key @@ -8530,10 +8536,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -8545,7 +8551,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -8562,12 +8568,12 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entries local.set $oldPtr @@ -8576,7 +8582,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entriesOffset block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) @@ -8622,11 +8628,11 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 8 @@ -8649,20 +8655,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:buckets local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask call $~lib/set/Set#set:bucketsMask @@ -8670,20 +8676,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:entries local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity call $~lib/set/Set#set:entriesCapacity @@ -8691,13 +8697,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#get:entriesCount call $~lib/set/Set#set:entriesOffset @@ -8719,7 +8725,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -8727,7 +8733,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $hashCode @@ -8740,14 +8746,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesOffset local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.eq @@ -8756,20 +8762,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -8782,7 +8788,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask else @@ -8790,7 +8796,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -8804,20 +8810,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entries local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesOffset local.tee $4 @@ -8841,13 +8847,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -8857,7 +8863,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:buckets local.get $hashCode @@ -8865,7 +8871,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.and @@ -8875,11 +8881,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $6 @@ -8899,12 +8905,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/set/Set#get:entriesCount local.set $1 @@ -8928,10 +8934,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -8940,13 +8946,13 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -8954,7 +8960,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -8962,7 +8968,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -8970,7 +8976,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -9003,7 +9009,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -9012,20 +9018,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -9033,7 +9039,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -9041,7 +9047,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -9062,13 +9068,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -9095,7 +9101,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -9106,7 +9112,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -9114,7 +9120,7 @@ i32.shl i32.add local.get $value - i32.store16 $0 + i32.store16 i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -9131,7 +9137,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 1 @@ -9141,7 +9147,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -9166,12 +9172,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entries local.set $start @@ -9179,7 +9185,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entriesOffset local.set $size @@ -9188,7 +9194,7 @@ local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -9217,7 +9223,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -9240,7 +9246,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -9262,12 +9268,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -9288,13 +9294,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -9310,14 +9316,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 0 drop @@ -9343,12 +9349,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key @@ -9377,13 +9383,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -9393,7 +9399,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -9408,7 +9414,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.tee $5 @@ -9422,14 +9428,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -9445,7 +9451,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask call $~lib/set/Set#rehash @@ -9468,12 +9474,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -9483,14 +9489,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 @@ -9500,7 +9506,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -9513,14 +9519,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -9528,7 +9534,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -9536,7 +9542,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -9563,12 +9569,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $set - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -9580,7 +9586,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -9598,7 +9604,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#add @@ -9607,7 +9613,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -9631,7 +9637,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -9656,7 +9662,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -9673,7 +9679,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#add @@ -9682,7 +9688,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -9706,7 +9712,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -9725,16 +9731,16 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#values local.tee $vals - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $index loop $for-loop|2 @@ -9743,7 +9749,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length i32.lt_s @@ -9752,13 +9758,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -9776,13 +9782,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -9799,14 +9805,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.eq @@ -9830,7 +9836,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -9847,7 +9853,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#delete @@ -9856,7 +9862,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -9881,7 +9887,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -9906,7 +9912,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -9924,7 +9930,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#add @@ -9933,7 +9939,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -9950,7 +9956,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#delete @@ -9959,7 +9965,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -9984,7 +9990,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -10002,14 +10008,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#clear local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 0 @@ -10037,10 +10043,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -10049,13 +10055,13 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -10065,14 +10071,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 @@ -10082,7 +10088,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -10095,14 +10101,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -10110,7 +10116,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -10118,7 +10124,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -10141,12 +10147,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:buckets local.get $hashCode @@ -10154,14 +10160,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry @@ -10222,12 +10228,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key @@ -10264,10 +10270,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -10279,7 +10285,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -10296,12 +10302,12 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entries local.set $oldPtr @@ -10310,7 +10316,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entriesOffset block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) @@ -10356,11 +10362,11 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 8 @@ -10383,20 +10389,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:buckets local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask call $~lib/set/Set#set:bucketsMask @@ -10404,20 +10410,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:entries local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity call $~lib/set/Set#set:entriesCapacity @@ -10425,13 +10431,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#get:entriesCount call $~lib/set/Set#set:entriesOffset @@ -10453,7 +10459,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -10461,7 +10467,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $hashCode @@ -10474,14 +10480,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesOffset local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.eq @@ -10490,20 +10496,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -10516,7 +10522,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask else @@ -10524,7 +10530,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -10538,20 +10544,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entries local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesOffset local.tee $4 @@ -10575,13 +10581,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -10591,7 +10597,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:buckets local.get $hashCode @@ -10599,7 +10605,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.and @@ -10609,11 +10615,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $6 @@ -10633,12 +10639,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/set/Set#get:entriesCount local.set $1 @@ -10662,10 +10668,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -10674,13 +10680,13 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -10688,7 +10694,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -10696,7 +10702,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -10704,7 +10710,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -10737,7 +10743,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10746,20 +10752,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -10767,7 +10773,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -10775,7 +10781,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -10796,13 +10802,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -10829,7 +10835,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -10840,7 +10846,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -10848,7 +10854,7 @@ i32.shl i32.add local.get $value - i32.store16 $0 + i32.store16 i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -10865,7 +10871,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 1 @@ -10875,7 +10881,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -10900,12 +10906,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entries local.set $start @@ -10913,7 +10919,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entriesOffset local.set $size @@ -10922,7 +10928,7 @@ local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -10951,7 +10957,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -10974,7 +10980,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -10996,12 +11002,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -11022,13 +11028,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -11044,14 +11050,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $value i32.const 0 drop @@ -11077,12 +11083,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key @@ -11111,13 +11117,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -11127,7 +11133,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -11142,7 +11148,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.tee $5 @@ -11156,14 +11162,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -11179,7 +11185,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask call $~lib/set/Set#rehash @@ -11202,12 +11208,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -11217,14 +11223,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 @@ -11234,7 +11240,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -11247,14 +11253,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -11262,7 +11268,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -11270,7 +11276,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -11297,12 +11303,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $set - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -11314,7 +11320,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -11332,7 +11338,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#add @@ -11341,7 +11347,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -11365,7 +11371,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -11390,7 +11396,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -11407,7 +11413,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#add @@ -11416,7 +11422,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -11440,7 +11446,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -11459,16 +11465,16 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#values local.tee $vals - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $index loop $for-loop|2 @@ -11477,7 +11483,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length i32.lt_s @@ -11486,13 +11492,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -11510,13 +11516,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -11533,14 +11539,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.eq @@ -11564,7 +11570,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -11581,7 +11587,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#delete @@ -11590,7 +11596,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -11615,7 +11621,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -11640,7 +11646,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -11658,7 +11664,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#add @@ -11667,7 +11673,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -11684,7 +11690,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#delete @@ -11693,7 +11699,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -11718,7 +11724,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -11736,14 +11742,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#clear local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 0 @@ -11771,10 +11777,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -11783,13 +11789,13 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -11799,14 +11805,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 @@ -11816,7 +11822,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -11829,14 +11835,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -11844,7 +11850,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -11852,7 +11858,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -11875,12 +11881,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:buckets local.get $hashCode @@ -11888,14 +11894,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry @@ -11952,12 +11958,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key @@ -11994,10 +12000,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -12009,7 +12015,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -12026,12 +12032,12 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entries local.set $oldPtr @@ -12040,7 +12046,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entriesOffset block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) @@ -12086,11 +12092,11 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 8 @@ -12113,20 +12119,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:buckets local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask call $~lib/set/Set#set:bucketsMask @@ -12134,20 +12140,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:entries local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity call $~lib/set/Set#set:entriesCapacity @@ -12155,13 +12161,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#get:entriesCount call $~lib/set/Set#set:entriesOffset @@ -12183,7 +12189,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -12191,7 +12197,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $hashCode @@ -12204,14 +12210,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesOffset local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.eq @@ -12220,20 +12226,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -12246,7 +12252,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask else @@ -12254,7 +12260,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -12268,20 +12274,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entries local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesOffset local.tee $4 @@ -12305,13 +12311,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -12321,7 +12327,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:buckets local.get $hashCode @@ -12329,7 +12335,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.and @@ -12339,11 +12345,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $6 @@ -12363,12 +12369,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/set/Set#get:entriesCount local.set $1 @@ -12392,10 +12398,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -12404,13 +12410,13 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -12418,7 +12424,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -12426,7 +12432,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -12434,7 +12440,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -12467,7 +12473,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -12476,20 +12482,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -12497,7 +12503,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -12505,7 +12511,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -12526,13 +12532,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -12559,7 +12565,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -12570,7 +12576,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -12578,7 +12584,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -12595,7 +12601,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 2 @@ -12605,7 +12611,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -12630,12 +12636,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entries local.set $start @@ -12643,7 +12649,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entriesOffset local.set $size @@ -12652,7 +12658,7 @@ local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -12681,7 +12687,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -12704,7 +12710,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -12726,12 +12732,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -12752,13 +12758,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -12774,14 +12780,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -12807,12 +12813,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key @@ -12841,13 +12847,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -12857,7 +12863,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -12872,7 +12878,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.tee $5 @@ -12886,14 +12892,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -12909,7 +12915,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask call $~lib/set/Set#rehash @@ -12932,12 +12938,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -12947,14 +12953,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 @@ -12964,7 +12970,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -12977,14 +12983,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -12992,7 +12998,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -13000,7 +13006,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -13027,12 +13033,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $set - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -13044,7 +13050,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -13062,7 +13068,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#add @@ -13071,7 +13077,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -13095,7 +13101,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -13120,7 +13126,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -13137,7 +13143,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#add @@ -13146,7 +13152,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -13170,7 +13176,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -13189,16 +13195,16 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#values local.tee $vals - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $index loop $for-loop|2 @@ -13207,7 +13213,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length i32.lt_s @@ -13216,13 +13222,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -13240,13 +13246,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -13263,14 +13269,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.eq @@ -13294,7 +13300,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -13311,7 +13317,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#delete @@ -13320,7 +13326,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -13345,7 +13351,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -13370,7 +13376,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -13388,7 +13394,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#add @@ -13397,7 +13403,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -13414,7 +13420,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#delete @@ -13423,7 +13429,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -13448,7 +13454,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -13466,14 +13472,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#clear local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 0 @@ -13501,10 +13507,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -13513,13 +13519,13 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -13529,14 +13535,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 @@ -13546,7 +13552,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -13559,14 +13565,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -13574,7 +13580,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -13582,7 +13588,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -13605,12 +13611,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:buckets local.get $hashCode @@ -13618,14 +13624,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry @@ -13682,12 +13688,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key @@ -13724,10 +13730,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -13739,7 +13745,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -13756,12 +13762,12 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entries local.set $oldPtr @@ -13770,7 +13776,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entriesOffset block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) @@ -13816,11 +13822,11 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 8 @@ -13843,20 +13849,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:buckets local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask call $~lib/set/Set#set:bucketsMask @@ -13864,20 +13870,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:entries local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity call $~lib/set/Set#set:entriesCapacity @@ -13885,13 +13891,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#get:entriesCount call $~lib/set/Set#set:entriesOffset @@ -13913,7 +13919,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -13921,7 +13927,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $hashCode @@ -13934,14 +13940,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesOffset local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.eq @@ -13950,20 +13956,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -13976,7 +13982,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask else @@ -13984,7 +13990,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -13998,20 +14004,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entries local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesOffset local.tee $4 @@ -14035,13 +14041,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -14051,7 +14057,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:buckets local.get $hashCode @@ -14059,7 +14065,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.and @@ -14069,11 +14075,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $6 @@ -14093,12 +14099,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/set/Set#get:entriesCount local.set $1 @@ -14122,10 +14128,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -14134,13 +14140,13 @@ i32.const 15 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -14148,7 +14154,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -14156,7 +14162,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -14164,7 +14170,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -14197,7 +14203,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -14206,20 +14212,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -14227,7 +14233,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -14235,7 +14241,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -14256,13 +14262,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -14289,7 +14295,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -14300,7 +14306,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -14308,7 +14314,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -14325,7 +14331,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 2 @@ -14335,7 +14341,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -14360,12 +14366,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entries local.set $start @@ -14373,7 +14379,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entriesOffset local.set $size @@ -14382,7 +14388,7 @@ local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -14411,7 +14417,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -14434,7 +14440,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -14456,12 +14462,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -14482,13 +14488,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -14504,14 +14510,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -14537,12 +14543,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key @@ -14571,13 +14577,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -14587,7 +14593,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -14602,7 +14608,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.tee $5 @@ -14616,14 +14622,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -14639,7 +14645,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask call $~lib/set/Set#rehash @@ -14662,12 +14668,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -14677,14 +14683,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 @@ -14694,7 +14700,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -14707,14 +14713,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -14722,7 +14728,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -14730,7 +14736,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -14757,12 +14763,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $set - i32.store $0 + i32.store i32.const 0 local.set $k loop $for-loop|0 @@ -14774,7 +14780,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -14792,7 +14798,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#add @@ -14801,7 +14807,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -14825,7 +14831,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -14850,7 +14856,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -14867,7 +14873,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#add @@ -14876,7 +14882,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -14900,7 +14906,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -14919,16 +14925,16 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#values local.tee $vals - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $index loop $for-loop|2 @@ -14937,7 +14943,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length i32.lt_s @@ -14946,13 +14952,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -14970,13 +14976,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -14993,14 +14999,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.eq @@ -15024,7 +15030,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -15041,7 +15047,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#delete @@ -15050,7 +15056,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -15075,7 +15081,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -15100,7 +15106,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -15118,7 +15124,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#add @@ -15127,7 +15133,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -15144,7 +15150,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#delete @@ -15153,7 +15159,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -15178,7 +15184,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -15196,14 +15202,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#clear local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 0 @@ -15231,10 +15237,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -15243,13 +15249,13 @@ i32.const 16 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -15259,14 +15265,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 @@ -15276,7 +15282,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -15289,14 +15295,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -15304,7 +15310,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -15312,7 +15318,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -15335,12 +15341,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:buckets local.get $hashCode @@ -15348,14 +15354,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry @@ -15412,12 +15418,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key @@ -15454,10 +15460,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -15469,7 +15475,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -15486,12 +15492,12 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entries local.set $oldPtr @@ -15500,7 +15506,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entriesOffset block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) @@ -15546,11 +15552,11 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 16 @@ -15573,20 +15579,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:buckets local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask call $~lib/set/Set#set:bucketsMask @@ -15594,20 +15600,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:entries local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity call $~lib/set/Set#set:entriesCapacity @@ -15615,13 +15621,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#get:entriesCount call $~lib/set/Set#set:entriesOffset @@ -15643,7 +15649,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -15651,7 +15657,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $hashCode @@ -15664,14 +15670,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesOffset local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.eq @@ -15680,20 +15686,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -15706,7 +15712,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask else @@ -15714,7 +15720,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -15728,20 +15734,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entries local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesOffset local.tee $4 @@ -15765,13 +15771,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -15781,7 +15787,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:buckets local.get $hashCode @@ -15789,7 +15795,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.and @@ -15799,11 +15805,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $6 @@ -15823,12 +15829,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/set/Set#get:entriesCount local.set $1 @@ -15852,10 +15858,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -15864,13 +15870,13 @@ i32.const 17 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -15878,7 +15884,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -15886,7 +15892,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -15894,7 +15900,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -15927,7 +15933,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -15936,20 +15942,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -15957,7 +15963,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -15965,7 +15971,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -15986,13 +15992,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -16019,7 +16025,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -16030,7 +16036,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -16038,7 +16044,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -16055,7 +16061,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 3 @@ -16065,7 +16071,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -16090,12 +16096,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entries local.set $start @@ -16103,7 +16109,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entriesOffset local.set $size @@ -16112,7 +16118,7 @@ local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -16141,7 +16147,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -16164,7 +16170,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -16186,12 +16192,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -16213,13 +16219,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -16235,14 +16241,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -16268,12 +16274,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key @@ -16302,13 +16308,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -16318,7 +16324,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -16333,7 +16339,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.tee $5 @@ -16347,14 +16353,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -16370,7 +16376,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask call $~lib/set/Set#rehash @@ -16393,12 +16399,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -16408,14 +16414,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 @@ -16425,7 +16431,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -16438,14 +16444,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -16453,7 +16459,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -16461,7 +16467,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -16488,12 +16494,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $set - i32.store $0 + i32.store i64.const 0 local.set $k loop $for-loop|0 @@ -16505,7 +16511,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -16523,7 +16529,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#add @@ -16532,7 +16538,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -16556,7 +16562,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -16581,7 +16587,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -16598,7 +16604,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#add @@ -16607,7 +16613,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -16631,7 +16637,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -16650,16 +16656,16 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#values local.tee $vals - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $index loop $for-loop|2 @@ -16668,7 +16674,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length i32.lt_s @@ -16677,13 +16683,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -16701,13 +16707,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -16724,14 +16730,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.eq @@ -16755,7 +16761,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -16772,7 +16778,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#delete @@ -16781,7 +16787,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -16806,7 +16812,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -16831,7 +16837,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -16849,7 +16855,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#add @@ -16858,7 +16864,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -16875,7 +16881,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#delete @@ -16884,7 +16890,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -16909,7 +16915,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -16927,14 +16933,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#clear local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 0 @@ -16962,10 +16968,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -16974,13 +16980,13 @@ i32.const 18 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -16990,14 +16996,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 @@ -17007,7 +17013,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -17020,14 +17026,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -17035,7 +17041,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -17043,7 +17049,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -17066,12 +17072,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:buckets local.get $hashCode @@ -17079,14 +17085,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry @@ -17143,12 +17149,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key @@ -17185,10 +17191,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -17200,7 +17206,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -17217,12 +17223,12 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entries local.set $oldPtr @@ -17231,7 +17237,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entriesOffset block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) @@ -17277,11 +17283,11 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 16 @@ -17304,20 +17310,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:buckets local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask call $~lib/set/Set#set:bucketsMask @@ -17325,20 +17331,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:entries local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity call $~lib/set/Set#set:entriesCapacity @@ -17346,13 +17352,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#get:entriesCount call $~lib/set/Set#set:entriesOffset @@ -17374,7 +17380,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -17382,7 +17388,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $hashCode @@ -17395,14 +17401,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesOffset local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.eq @@ -17411,20 +17417,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -17437,7 +17443,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask else @@ -17445,7 +17451,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -17459,20 +17465,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entries local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesOffset local.tee $4 @@ -17496,13 +17502,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -17512,7 +17518,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:buckets local.get $hashCode @@ -17520,7 +17526,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.and @@ -17530,11 +17536,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $6 @@ -17554,12 +17560,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/set/Set#get:entriesCount local.set $1 @@ -17583,10 +17589,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -17595,13 +17601,13 @@ i32.const 19 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -17609,7 +17615,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -17617,7 +17623,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -17625,7 +17631,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -17658,7 +17664,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -17667,20 +17673,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -17688,7 +17694,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -17696,7 +17702,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -17717,13 +17723,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -17750,7 +17756,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -17761,7 +17767,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -17769,7 +17775,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -17786,7 +17792,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 3 @@ -17796,7 +17802,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -17821,12 +17827,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entries local.set $start @@ -17834,7 +17840,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entriesOffset local.set $size @@ -17843,7 +17849,7 @@ local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -17872,7 +17878,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -17895,7 +17901,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -17917,12 +17923,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -17944,13 +17950,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -17966,14 +17972,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -17999,12 +18005,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key @@ -18033,13 +18039,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -18049,7 +18055,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -18064,7 +18070,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.tee $5 @@ -18078,14 +18084,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -18101,7 +18107,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask call $~lib/set/Set#rehash @@ -18124,12 +18130,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -18139,14 +18145,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 @@ -18156,7 +18162,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -18169,14 +18175,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -18184,7 +18190,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -18192,7 +18198,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -18219,12 +18225,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $set - i32.store $0 + i32.store i64.const 0 local.set $k loop $for-loop|0 @@ -18236,7 +18242,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -18254,7 +18260,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#add @@ -18263,7 +18269,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -18287,7 +18293,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -18312,7 +18318,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -18329,7 +18335,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#add @@ -18338,7 +18344,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -18362,7 +18368,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -18381,16 +18387,16 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#values local.tee $vals - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $index loop $for-loop|2 @@ -18399,7 +18405,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length i32.lt_s @@ -18408,13 +18414,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -18432,13 +18438,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -18455,14 +18461,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.eq @@ -18486,7 +18492,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -18503,7 +18509,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#delete @@ -18512,7 +18518,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -18537,7 +18543,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -18562,7 +18568,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -18580,7 +18586,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#add @@ -18589,7 +18595,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -18606,7 +18612,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#delete @@ -18615,7 +18621,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -18640,7 +18646,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -18658,14 +18664,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#clear local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 0 @@ -18693,10 +18699,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -18705,13 +18711,13 @@ i32.const 20 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -18721,14 +18727,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 @@ -18738,7 +18744,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -18751,14 +18757,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -18766,7 +18772,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -18774,7 +18780,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -18797,12 +18803,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:buckets local.get $hashCode @@ -18810,14 +18816,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry @@ -18874,12 +18880,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key @@ -18916,10 +18922,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -18931,7 +18937,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -18948,12 +18954,12 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entries local.set $oldPtr @@ -18962,7 +18968,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entriesOffset block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) @@ -19008,11 +19014,11 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 8 @@ -19035,20 +19041,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:buckets local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask call $~lib/set/Set#set:bucketsMask @@ -19056,20 +19062,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:entries local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity call $~lib/set/Set#set:entriesCapacity @@ -19077,13 +19083,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#get:entriesCount call $~lib/set/Set#set:entriesOffset @@ -19105,7 +19111,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -19113,7 +19119,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $hashCode @@ -19126,14 +19132,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesOffset local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.eq @@ -19142,20 +19148,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -19168,7 +19174,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask else @@ -19176,7 +19182,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -19190,20 +19196,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entries local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesOffset local.tee $4 @@ -19227,13 +19233,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -19243,7 +19249,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:buckets local.get $hashCode @@ -19251,7 +19257,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.and @@ -19261,11 +19267,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $6 @@ -19285,12 +19291,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/set/Set#get:entriesCount local.set $1 @@ -19314,10 +19320,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -19326,13 +19332,13 @@ i32.const 21 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -19340,7 +19346,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -19348,7 +19354,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -19356,7 +19362,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -19389,7 +19395,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -19398,20 +19404,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -19419,7 +19425,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -19427,7 +19433,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -19448,13 +19454,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -19481,7 +19487,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -19492,7 +19498,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -19500,7 +19506,7 @@ i32.shl i32.add local.get $value - f32.store $0 + f32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -19517,7 +19523,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 2 @@ -19527,7 +19533,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -19552,12 +19558,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entries local.set $start @@ -19565,7 +19571,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entriesOffset local.set $size @@ -19574,7 +19580,7 @@ local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -19603,7 +19609,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -19626,7 +19632,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -19648,12 +19654,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -19675,13 +19681,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -19697,14 +19703,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -19730,12 +19736,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key @@ -19764,13 +19770,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -19780,7 +19786,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -19795,7 +19801,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.tee $5 @@ -19809,14 +19815,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -19832,7 +19838,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask call $~lib/set/Set#rehash @@ -19855,12 +19861,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -19870,14 +19876,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 @@ -19887,7 +19893,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -19900,14 +19906,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -19915,7 +19921,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -19923,7 +19929,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -19950,12 +19956,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $set - i32.store $0 + i32.store f32.const 0 local.set $k loop $for-loop|0 @@ -19967,7 +19973,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -19985,7 +19991,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#add @@ -19994,7 +20000,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -20018,7 +20024,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -20043,7 +20049,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -20060,7 +20066,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#add @@ -20069,7 +20075,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -20093,7 +20099,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -20112,16 +20118,16 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#values local.tee $vals - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $index loop $for-loop|2 @@ -20130,7 +20136,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length i32.lt_s @@ -20139,13 +20145,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -20163,13 +20169,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -20186,14 +20192,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.eq @@ -20217,7 +20223,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -20234,7 +20240,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#delete @@ -20243,7 +20249,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -20268,7 +20274,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -20293,7 +20299,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -20311,7 +20317,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#add @@ -20320,7 +20326,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -20337,7 +20343,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#delete @@ -20346,7 +20352,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -20371,7 +20377,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -20389,14 +20395,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#clear local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 0 @@ -20424,10 +20430,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -20436,13 +20442,13 @@ i32.const 22 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -20452,14 +20458,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 @@ -20469,7 +20475,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -20482,14 +20488,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -20497,7 +20503,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -20505,7 +20511,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -20528,12 +20534,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:buckets local.get $hashCode @@ -20541,14 +20547,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry @@ -20605,12 +20611,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key @@ -20647,10 +20653,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -20662,7 +20668,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -20679,12 +20685,12 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entries local.set $oldPtr @@ -20693,7 +20699,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/set/Set#get:entriesOffset block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) @@ -20739,11 +20745,11 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 16 @@ -20766,20 +20772,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:buckets local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask call $~lib/set/Set#set:bucketsMask @@ -20787,20 +20793,20 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#set:entries local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity call $~lib/set/Set#set:entriesCapacity @@ -20808,13 +20814,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 call $~lib/set/Set#get:entriesCount call $~lib/set/Set#set:entriesOffset @@ -20836,7 +20842,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -20844,7 +20850,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $hashCode @@ -20857,14 +20863,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesOffset local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.eq @@ -20873,20 +20879,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -20899,7 +20905,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask else @@ -20907,7 +20913,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -20921,20 +20927,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entries local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesOffset local.tee $4 @@ -20958,13 +20964,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -20974,7 +20980,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:buckets local.get $hashCode @@ -20982,7 +20988,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.and @@ -20992,11 +20998,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 + i32.load call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $6 @@ -21016,12 +21022,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/set/Set#get:entriesCount local.set $1 @@ -21045,10 +21051,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -21057,13 +21063,13 @@ i32.const 23 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:buffer @@ -21071,7 +21077,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart @@ -21079,7 +21085,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength @@ -21087,7 +21093,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/array/Array#set:length_ @@ -21120,7 +21126,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -21129,20 +21135,20 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=12 local.get $6 call $~lib/array/Array#set:buffer local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart @@ -21150,7 +21156,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength @@ -21158,7 +21164,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $length call $~lib/array/Array#set:length_ @@ -21179,13 +21185,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -21212,7 +21218,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -21223,7 +21229,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -21231,7 +21237,7 @@ i32.shl i32.add local.get $value - f64.store $0 + f64.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -21248,7 +21254,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $newLength i32.const 3 @@ -21258,7 +21264,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $newLength call $~lib/array/Array#set:length_ @@ -21283,12 +21289,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entries local.set $start @@ -21296,7 +21302,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/set/Set#get:entriesOffset local.set $size @@ -21305,7 +21311,7 @@ local.get $size call $~lib/array/Array#constructor local.tee $values - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $length i32.const 0 @@ -21334,7 +21340,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length local.tee $7 @@ -21357,7 +21363,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $length call $~lib/array/Array#set:length @@ -21379,12 +21385,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -21406,13 +21412,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -21428,14 +21434,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -21461,12 +21467,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $key local.get $key @@ -21495,13 +21501,13 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/set/Set#get:entriesCount i32.const 1 @@ -21511,7 +21517,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:bucketsMask i32.const 1 @@ -21526,7 +21532,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.tee $5 @@ -21540,14 +21546,14 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCount local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/set/Set#get:entriesCapacity i32.const 3 @@ -21563,7 +21569,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $halfBucketsMask call $~lib/set/Set#rehash @@ -21586,12 +21592,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -21601,14 +21607,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:buckets local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.const 1 @@ -21618,7 +21624,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 4 @@ -21631,14 +21637,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/set/Set#set:entries local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 4 call $~lib/set/Set#set:entriesCapacity @@ -21646,7 +21652,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesOffset @@ -21654,7 +21660,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/set/Set#set:entriesCount @@ -21681,12 +21687,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $set - i32.store $0 + i32.store f64.const 0 local.set $k loop $for-loop|0 @@ -21698,7 +21704,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -21716,7 +21722,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#add @@ -21725,7 +21731,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k call $~lib/set/Set#has @@ -21749,7 +21755,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -21774,7 +21780,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -21791,7 +21797,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#add @@ -21800,7 +21806,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|2 call $~lib/set/Set#has @@ -21824,7 +21830,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 100 @@ -21843,16 +21849,16 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#values local.tee $vals - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $index loop $for-loop|2 @@ -21861,7 +21867,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/array/Array#get:length i32.lt_s @@ -21870,13 +21876,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -21894,13 +21900,13 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $vals local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=16 + i32.store offset=16 local.get $8 local.get $index call $~lib/array/Array#__get @@ -21917,14 +21923,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.eq @@ -21948,7 +21954,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -21965,7 +21971,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#delete @@ -21974,7 +21980,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|6 call $~lib/set/Set#has @@ -21999,7 +22005,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -22024,7 +22030,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -22042,7 +22048,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#add @@ -22051,7 +22057,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -22068,7 +22074,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#delete @@ -22077,7 +22083,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $k|7 call $~lib/set/Set#has @@ -22102,7 +22108,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 50 @@ -22120,14 +22126,14 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#clear local.get $set local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/set/Set#get:size i32.const 0 @@ -22156,12 +22162,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:buckets local.get $cookie @@ -22170,7 +22176,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:entries local.set $entries @@ -22193,14 +22199,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -22220,12 +22226,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:buckets local.get $cookie @@ -22234,7 +22240,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:entries local.set $entries @@ -22257,14 +22263,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -22284,12 +22290,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:buckets local.get $cookie @@ -22298,7 +22304,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:entries local.set $entries @@ -22321,14 +22327,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -22348,12 +22354,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:buckets local.get $cookie @@ -22362,7 +22368,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:entries local.set $entries @@ -22385,14 +22391,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -22412,12 +22418,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:buckets local.get $cookie @@ -22426,7 +22432,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:entries local.set $entries @@ -22449,14 +22455,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -22476,12 +22482,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:buckets local.get $cookie @@ -22490,7 +22496,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:entries local.set $entries @@ -22513,14 +22519,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -22540,12 +22546,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:buckets local.get $cookie @@ -22554,7 +22560,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:entries local.set $entries @@ -22577,14 +22583,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -22604,12 +22610,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:buckets local.get $cookie @@ -22618,7 +22624,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:entries local.set $entries @@ -22641,14 +22647,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -22668,12 +22674,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:buckets local.get $cookie @@ -22682,7 +22688,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:entries local.set $entries @@ -22705,14 +22711,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -22732,12 +22738,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:buckets local.get $cookie @@ -22746,7 +22752,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/set/Set#get:entries local.set $entries @@ -22769,14 +22775,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -22796,7 +22802,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.gt_u @@ -22813,7 +22819,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index 0f138139c4..22fd0d652b 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -1,26 +1,26 @@ (module - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i64_=>_none (func (param i32 i64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i64_i32_=>_i32 (func (param i32 i64 i32) (result i32))) - (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) - (type $i32_f32_=>_none (func (param i32 f32))) - (type $i32_f64_=>_none (func (param i32 f64))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) - (type $i32_f32_i32_=>_i32 (func (param i32 f32 i32) (result i32))) - (type $i32_f32_=>_i32 (func (param i32 f32) (result i32))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $i32_f64_i32_=>_i32 (func (param i32 f64 i32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func)) + (type $3 (func (result i32))) + (type $4 (func (param i32))) + (type $5 (func (param i32) (result i32))) + (type $6 (func (param i32 i32 i32) (result i32))) + (type $7 (func (param i32 i64))) + (type $8 (func (param i32 i32 i32))) + (type $9 (func (param i32 i32 i32 i32))) + (type $10 (func (param i32 i32 i64))) + (type $11 (func (param i32 i64 i32) (result i32))) + (type $12 (func (param i32 i64) (result i32))) + (type $13 (func (param i32 i32) (result i64))) + (type $14 (func (param i32 f32))) + (type $15 (func (param i32 f64))) + (type $16 (func (param i32 f32 i32) (result i32))) + (type $17 (func (param i32 f32) (result i32))) + (type $18 (func (param i32 i32) (result f32))) + (type $19 (func (param i32 f64 i32) (result i32))) + (type $20 (func (param i32 f64) (result i32))) + (type $21 (func (param i32 i32) (result f64))) (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)) @@ -34,39 +34,39 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34516)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\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) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1484) "<") - (data (i32.const 1496) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1548) ",") - (data (i32.const 1560) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s") - (data (i32.const 1596) ",") - (data (i32.const 1608) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1648) "\18\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00H\08\00\00B\08\00\00H\00\00\00B\00\00\00\88\08\00\00\82\08\00\00\88\00\00\00\82\00\00\00\08\t\00\00\02\t\00\00\08\01\00\00\02\01\00\00\08\n\00\00\02\n\00\00\08\02\00\00\02\02\00\00\08\19\00\00\02\19\00\00\08\1a\00\00\02\1a") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1436) ",") + (data $8.1 (i32.const 1448) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $9 (i32.const 1484) "<") + (data $9.1 (i32.const 1496) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $10 (i32.const 1548) ",") + (data $10.1 (i32.const 1560) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00s\00e\00t\00.\00t\00s") + (data $11 (i32.const 1596) ",") + (data $11.1 (i32.const 1608) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $12 (i32.const 1648) "\18\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00H\08\00\00B\08\00\00H\00\00\00B\00\00\00\88\08\00\00\82\08\00\00\88\00\00\00\82\00\00\00\08\t\00\00\02\t\00\00\08\01\00\00\02\01\00\00\08\n\00\00\02\n\00\00\08\02\00\00\02\02\00\00\08\19\00\00\02\19\00\00\08\1a\00\00\02\1a") (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 + call $~lib/rt/itcms/__visit i32.const 1456 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -76,7 +76,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -94,7 +94,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -111,7 +111,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -125,16 +125,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$904 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34516 @@ -149,10 +149,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$904 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -165,20 +165,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -187,7 +187,7 @@ else local.get $1 i32.const 1648 - i32.load $0 + i32.load i32.gt_u if i32.const 1248 @@ -202,13 +202,13 @@ i32.shl i32.const 1652 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -218,21 +218,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -240,8 +264,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -253,10 +277,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -267,29 +291,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -297,10 +321,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -314,75 +338,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -404,7 +421,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -421,12 +438,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -443,17 +460,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -463,9 +480,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -490,13 +507,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -530,7 +547,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -586,19 +603,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -610,15 +627,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -626,23 +643,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -656,10 +675,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -667,23 +686,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -695,52 +713,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -748,7 +767,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -756,7 +775,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -767,10 +786,10 @@ end i32.const 34528 i32.const 0 - i32.store $0 + i32.store i32.const 36096 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -782,7 +801,7 @@ i32.const 34528 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -800,7 +819,7 @@ i32.const 34528 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -817,9 +836,10 @@ end i32.const 34528 i32.const 36100 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34528 global.set $~lib/rt/tlsf/ROOT @@ -849,7 +869,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -862,19 +882,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -885,7 +905,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -897,7 +917,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -910,12 +930,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -924,7 +940,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -935,26 +951,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -970,7 +986,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -986,7 +1002,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1011,14 +1027,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1038,7 +1054,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1053,25 +1068,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1080,12 +1094,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1093,47 +1106,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1144,7 +1159,7 @@ if i32.const 0 i32.const 1392 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1154,7 +1169,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1171,10 +1186,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1190,13 +1205,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1211,7 +1226,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1238,7 +1253,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1250,16 +1265,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1267,8 +1278,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1295,34 +1305,60 @@ if i32.const 1056 i32.const 1392 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1330,21 +1366,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1357,12 +1378,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1373,9 +1394,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1385,7 +1407,7 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1393,14 +1415,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1409,8 +1431,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1419,95 +1441,95 @@ if i32.const 0 i32.const 1392 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1520,14 +1542,67 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load 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 + ) + (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 @@ -1536,7 +1611,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner1 $invalid end return @@ -1546,12 +1621,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end unreachable @@ -1565,29 +1636,20 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=8 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1603,19 +1665,14 @@ i32.lt_s br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1630,7 +1687,7 @@ unreachable ) (func $~start - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34516 @@ -1640,26 +1697,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace call $std/set/testNumeric @@ -1725,81 +1782,72 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -1807,7 +1855,6 @@ ) (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1824,33 +1871,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.const 1 i32.and @@ -1858,7 +1902,7 @@ i32.const 0 else local.get $0 - i32.load8_u $0 + i32.load8_u local.get $1 i32.const 255 i32.and @@ -1886,7 +1930,6 @@ i32.const 0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1903,12 +1946,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -1943,12 +1985,10 @@ call $~lib/set/Set#find i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) @@ -1974,13 +2014,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -1988,59 +2027,58 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 - i32.store $0 + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $6 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $6 + local.get $7 i32.ne if local.get $4 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - i32.load8_s $0 + i32.load8_s local.tee $8 - i32.store8 $0 + i32.store8 local.get $2 - local.get $7 + local.get $5 local.get $1 local.get $8 - i32.extend8_s i32.const -1028477379 i32.mul i32.const 374761394 @@ -2050,34 +2088,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 8 i32.add @@ -2091,61 +2129,52 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $7 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $1 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -2154,7 +2183,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2171,12 +2199,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -2213,37 +2240,33 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $2 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 + local.get $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -2252,15 +2275,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 @@ -2269,69 +2292,66 @@ call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $2 - local.get $4 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 - local.get $2 - local.get $5 + i32.store offset=16 + local.get $4 i32.const 3 i32.shl i32.add local.tee $2 local.get $1 - i32.store8 $0 - local.get $4 + i32.store8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $1 local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2339,7 +2359,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/set/Set#get:size (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2356,20 +2375,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $0 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) @@ -2390,15 +2406,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $5 local.get $2 i32.shr_u @@ -2419,9 +2434,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $4 i32.const 8 local.get $1 @@ -2451,12 +2466,12 @@ select local.set $1 end - block $__inlined_func$~lib/rt/itcms/__renew + block $__inlined_func$~lib/rt/itcms/__renew$893 local.get $4 i32.const 20 i32.sub local.tee $3 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -2466,26 +2481,26 @@ if local.get $3 local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $4 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew + br $__inlined_func$~lib/rt/itcms/__renew$893 end local.get $1 local.get $3 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $2 local.get $4 local.get $1 local.get $3 - i32.load $0 offset=16 + i32.load offset=16 local.tee $3 local.get $1 local.get $3 i32.lt_u select - memory.copy $0 $0 + memory.copy end local.get $2 local.get $4 @@ -2493,20 +2508,17 @@ if local.get $0 local.get $2 - i32.store $0 + i32.store local.get $0 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 local.get $2 - if - local.get $0 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link end local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2531,15 +2543,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -2563,22 +2574,21 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add local.get $2 - i32.store8 $0 - local.get $3 + i32.store8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2601,7 +2611,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 0 @@ -2609,17 +2619,16 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2636,23 +2645,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2669,15 +2674,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -2688,24 +2692,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_s $0 - local.set $0 - local.get $2 + i32.load8_s + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2722,12 +2722,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -2771,60 +2770,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.or - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 - local.get $0 - i32.store $0 - local.get $2 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -2836,9 +2831,9 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 + local.get $1 call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer @@ -2864,72 +2859,63 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -2943,10 +2929,6 @@ (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 @@ -2957,24 +2939,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 20 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $9 - i32.store $0 + local.tee $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -2985,16 +2966,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -3005,17 +2986,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -3028,17 +3009,17 @@ unreachable end i32.const 50 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -3050,16 +3031,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -3070,17 +3051,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -3093,11 +3074,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.tee $4 - local.get $9 - i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -3106,22 +3086,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=8 - local.set $1 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=16 - local.set $10 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -3130,44 +3110,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 5 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $5 i32.const 1073741820 i32.gt_u if @@ -3180,80 +3161,77 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $5 + local.get $5 i32.const 8 i32.le_u select - local.tee $7 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 + local.get $7 + i32.store offset=12 local.get $6 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $6 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $11 - i32.store $0 offset=4 - local.get $8 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $7 - i32.store $0 offset=8 - local.get $8 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $10 - i32.store $0 offset=12 - local.get $8 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|00 local.get $2 - local.get $10 + local.get $5 i32.lt_s if - local.get $1 + local.get $4 local.get $2 i32.const 3 i32.shl i32.add - local.tee $5 - i32.load $0 offset=4 + local.tee $7 + i32.load offset=4 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 - local.get $5 - i32.load8_s $0 + local.get $7 + i32.load8_s call $~lib/array/Array#__set local.get $0 i32.const 1 @@ -3269,7 +3247,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 call $~lib/array/Array#set:length @@ -3277,32 +3255,32 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 local.get $6 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 + i32.const 0 + local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $9 - i32.store $0 offset=4 local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 - local.get $9 + i32.store offset=16 + local.get $1 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -3315,34 +3293,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size local.get $0 i32.ne @@ -3355,17 +3332,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -3377,16 +3354,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -3396,17 +3373,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -3419,17 +3396,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -3440,16 +3417,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -3461,16 +3438,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -3480,17 +3457,17 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -3503,14 +3480,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size if i32.const 0 @@ -3552,88 +3529,78 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3650,12 +3617,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -3691,12 +3657,10 @@ call $~lib/set/Set#find i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) @@ -3722,13 +3686,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -3736,56 +3699,56 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 - i32.store $0 + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $6 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $6 + local.get $7 i32.ne if local.get $4 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - i32.load8_u $0 + i32.load8_u local.tee $8 - i32.store8 $0 + i32.store8 local.get $2 - local.get $7 + local.get $5 local.get $1 local.get $8 i32.const -1028477379 @@ -3797,34 +3760,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 8 i32.add @@ -3838,61 +3801,52 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $7 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $1 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -3901,7 +3855,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3918,12 +3871,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -3961,37 +3913,33 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $2 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 + local.get $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -4000,15 +3948,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 @@ -4017,69 +3965,66 @@ call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $2 - local.get $4 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 - local.get $2 - local.get $5 + i32.store offset=16 + local.get $4 i32.const 3 i32.shl i32.add local.tee $2 local.get $1 - i32.store8 $0 - local.get $4 + i32.store8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $1 local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -4087,7 +4032,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4104,15 +4048,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -4123,24 +4066,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_u $0 - local.set $0 - local.get $2 + i32.load8_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -4157,12 +4096,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -4207,60 +4145,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.or - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -4272,9 +4206,9 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 + local.get $1 call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer @@ -4291,10 +4225,6 @@ (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 @@ -4305,24 +4235,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 20 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $9 - i32.store $0 + local.tee $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -4333,16 +4262,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -4353,17 +4282,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -4376,17 +4305,17 @@ unreachable end i32.const 50 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -4398,16 +4327,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -4418,17 +4347,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -4441,11 +4370,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.tee $4 - local.get $9 - i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -4454,22 +4382,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=8 - local.set $1 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=16 - local.set $10 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -4478,44 +4406,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 7 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store local.get $6 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $5 i32.const 1073741820 i32.gt_u if @@ -4528,80 +4457,77 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $5 + local.get $5 i32.const 8 i32.le_u select - local.tee $7 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 + local.get $7 + i32.store offset=12 local.get $6 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $6 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $11 - i32.store $0 offset=4 - local.get $8 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $7 - i32.store $0 offset=8 - local.get $8 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $10 - i32.store $0 offset=12 - local.get $8 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|00 local.get $2 - local.get $10 + local.get $5 i32.lt_s if - local.get $1 + local.get $4 local.get $2 i32.const 3 i32.shl i32.add - local.tee $5 - i32.load $0 offset=4 + local.tee $7 + i32.load offset=4 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 - local.get $5 - i32.load8_u $0 + local.get $7 + i32.load8_u call $~lib/array/Array#__set local.get $0 i32.const 1 @@ -4617,7 +4543,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 call $~lib/array/Array#set:length @@ -4625,32 +4551,32 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 local.get $6 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 + i32.const 0 + local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $9 - i32.store $0 offset=4 local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 - local.get $9 + i32.store offset=16 + local.get $1 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -4663,34 +4589,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size local.get $0 i32.ne @@ -4703,17 +4628,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -4725,16 +4650,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -4744,17 +4669,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -4767,17 +4692,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -4788,16 +4713,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -4809,16 +4734,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -4828,17 +4753,17 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -4851,14 +4776,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size if i32.const 0 @@ -4900,81 +4825,72 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 8 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -4982,7 +4898,6 @@ ) (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4999,33 +4914,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.const 1 i32.and @@ -5033,7 +4945,7 @@ i32.const 0 else local.get $0 - i32.load16_u $0 + i32.load16_u local.get $1 i32.const 65535 i32.and @@ -5061,7 +4973,6 @@ i32.const 0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5078,12 +4989,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -5118,12 +5028,10 @@ call $~lib/set/Set#find i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) @@ -5149,13 +5057,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -5163,59 +5070,58 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 - i32.store $0 + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $6 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $6 + local.get $7 i32.ne if local.get $4 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - i32.load16_s $0 + i32.load16_s local.tee $8 - i32.store16 $0 + i32.store16 local.get $2 - local.get $7 + local.get $5 local.get $1 local.get $8 - i32.extend16_s i32.const -1028477379 i32.mul i32.const 374761395 @@ -5225,34 +5131,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 8 i32.add @@ -5266,61 +5172,52 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $7 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $1 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -5329,7 +5226,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -5346,12 +5242,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -5388,37 +5283,33 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $2 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 + local.get $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -5427,15 +5318,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 @@ -5444,69 +5335,66 @@ call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $2 - local.get $4 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 - local.get $2 - local.get $5 + i32.store offset=16 + local.get $4 i32.const 3 i32.shl i32.add local.tee $2 local.get $1 - i32.store16 $0 - local.get $4 + i32.store16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $1 local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -5531,15 +5419,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -5563,24 +5450,23 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add local.get $2 - i32.store16 $0 - local.get $3 + i32.store16 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -5603,7 +5489,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 1 @@ -5611,17 +5497,16 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -5638,15 +5523,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -5657,26 +5541,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $0 - local.get $2 + i32.load16_s + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -5693,12 +5573,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -5742,60 +5621,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.or - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -5807,9 +5682,9 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 + local.get $1 call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer @@ -5826,10 +5701,6 @@ (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 @@ -5840,24 +5711,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 20 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $9 - i32.store $0 + local.tee $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -5868,16 +5738,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -5888,17 +5758,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -5911,17 +5781,17 @@ unreachable end i32.const 50 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -5933,16 +5803,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -5953,17 +5823,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -5976,11 +5846,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.tee $4 - local.get $9 - i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -5989,22 +5858,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=8 - local.set $1 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=16 - local.set $10 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -6013,44 +5882,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 9 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $5 i32.const 536870910 i32.gt_u if @@ -6063,82 +5933,79 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $5 + local.get $5 i32.const 8 i32.le_u select i32.const 1 i32.shl - local.tee $7 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 + local.get $7 + i32.store offset=12 local.get $6 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $6 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $11 - i32.store $0 offset=4 - local.get $8 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $7 - i32.store $0 offset=8 - local.get $8 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $10 - i32.store $0 offset=12 - local.get $8 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|00 local.get $2 - local.get $10 + local.get $5 i32.lt_s if - local.get $1 + local.get $4 local.get $2 i32.const 3 i32.shl i32.add - local.tee $5 - i32.load $0 offset=4 + local.tee $7 + i32.load offset=4 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 - local.get $5 - i32.load16_s $0 + local.get $7 + i32.load16_s call $~lib/array/Array#__set local.get $0 i32.const 1 @@ -6154,7 +6021,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 call $~lib/array/Array#set:length @@ -6162,32 +6029,32 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 local.get $6 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 + i32.const 0 + local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $9 - i32.store $0 offset=4 local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 - local.get $9 + i32.store offset=16 + local.get $1 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -6200,34 +6067,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size local.get $0 i32.ne @@ -6240,17 +6106,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -6262,16 +6128,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -6281,17 +6147,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -6304,17 +6170,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -6325,16 +6191,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -6346,16 +6212,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -6365,17 +6231,17 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -6388,14 +6254,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size if i32.const 0 @@ -6437,88 +6303,78 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 10 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6535,12 +6391,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -6576,12 +6431,10 @@ call $~lib/set/Set#find i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) @@ -6607,13 +6460,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -6621,56 +6473,56 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 - i32.store $0 + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $6 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $6 + local.get $7 i32.ne if local.get $4 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - i32.load16_u $0 + i32.load16_u local.tee $8 - i32.store16 $0 + i32.store16 local.get $2 - local.get $7 + local.get $5 local.get $1 local.get $8 i32.const -1028477379 @@ -6682,34 +6534,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 8 i32.add @@ -6723,61 +6575,52 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $7 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $1 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -6786,7 +6629,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -6803,12 +6645,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -6846,37 +6687,33 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $2 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 + local.get $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -6885,15 +6722,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 @@ -6902,69 +6739,66 @@ call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $2 - local.get $4 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 - local.get $2 - local.get $5 + i32.store offset=16 + local.get $4 i32.const 3 i32.shl i32.add local.tee $2 local.get $1 - i32.store16 $0 - local.get $4 + i32.store16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $1 local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -6972,7 +6806,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6989,15 +6822,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -7008,26 +6840,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $0 - local.get $2 + i32.load16_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -7044,12 +6872,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -7094,60 +6921,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.or - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -7159,9 +6982,9 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 + local.get $1 call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer @@ -7178,10 +7001,6 @@ (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 @@ -7192,24 +7011,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 20 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $9 - i32.store $0 + local.tee $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -7220,16 +7038,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -7240,17 +7058,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -7263,17 +7081,17 @@ unreachable end i32.const 50 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -7285,16 +7103,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -7305,17 +7123,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -7328,11 +7146,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.tee $4 - local.get $9 - i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -7341,22 +7158,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=8 - local.set $1 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=16 - local.set $10 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -7365,44 +7182,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 11 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store local.get $6 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $5 i32.const 536870910 i32.gt_u if @@ -7415,82 +7233,79 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $5 + local.get $5 i32.const 8 i32.le_u select i32.const 1 i32.shl - local.tee $7 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 + local.get $7 + i32.store offset=12 local.get $6 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $6 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $11 - i32.store $0 offset=4 - local.get $8 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $7 - i32.store $0 offset=8 - local.get $8 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $10 - i32.store $0 offset=12 - local.get $8 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|00 local.get $2 - local.get $10 + local.get $5 i32.lt_s if - local.get $1 + local.get $4 local.get $2 i32.const 3 i32.shl i32.add - local.tee $5 - i32.load $0 offset=4 + local.tee $7 + i32.load offset=4 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 - local.get $5 - i32.load16_u $0 + local.get $7 + i32.load16_u call $~lib/array/Array#__set local.get $0 i32.const 1 @@ -7506,7 +7321,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 call $~lib/array/Array#set:length @@ -7514,32 +7329,32 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 local.get $6 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 + i32.const 0 + local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $9 - i32.store $0 offset=4 local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 - local.get $9 + i32.store offset=16 + local.get $1 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -7552,34 +7367,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size local.get $0 i32.ne @@ -7592,17 +7406,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -7614,16 +7428,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -7633,17 +7447,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -7656,17 +7470,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -7677,16 +7491,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -7698,16 +7512,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -7717,17 +7531,17 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -7740,14 +7554,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size if i32.const 0 @@ -7789,81 +7603,72 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 12 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -7871,7 +7676,6 @@ ) (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7888,33 +7692,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.const 1 i32.and @@ -7923,7 +7724,7 @@ else local.get $1 local.get $0 - i32.load $0 + i32.load i32.eq end if @@ -7948,7 +7749,6 @@ i32.const 0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -7965,12 +7765,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -8004,12 +7803,10 @@ call $~lib/set/Set#find i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) @@ -8035,13 +7832,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -8049,56 +7845,56 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 - i32.store $0 + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $6 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $6 + local.get $7 i32.ne if local.get $4 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - i32.load $0 + i32.load local.tee $8 - i32.store $0 + i32.store local.get $2 - local.get $7 + local.get $5 local.get $1 local.get $8 i32.const -1028477379 @@ -8110,34 +7906,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 8 i32.add @@ -8151,61 +7947,52 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $7 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $1 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -8214,7 +8001,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -8231,12 +8017,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -8272,37 +8057,33 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $2 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 + local.get $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -8311,15 +8092,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 @@ -8328,69 +8109,66 @@ call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $2 - local.get $4 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 - local.get $2 - local.get $5 + i32.store offset=16 + local.get $4 i32.const 3 i32.shl i32.add local.tee $2 local.get $1 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $1 local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -8415,15 +8193,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -8447,24 +8224,23 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -8487,7 +8263,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 2 @@ -8495,17 +8271,16 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8522,15 +8297,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -8541,26 +8315,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -8577,12 +8347,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -8625,60 +8394,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.or - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -8690,9 +8455,9 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 + local.get $1 call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer @@ -8709,10 +8474,6 @@ (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 @@ -8723,24 +8484,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 20 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $9 - i32.store $0 + local.tee $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -8751,16 +8511,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -8771,17 +8531,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -8794,17 +8554,17 @@ unreachable end i32.const 50 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -8816,16 +8576,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -8836,17 +8596,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -8859,11 +8619,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.tee $4 - local.get $9 - i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -8872,22 +8631,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=8 - local.set $1 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=16 - local.set $10 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -8896,44 +8655,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 13 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 + i32.store + local.get $6 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $5 i32.const 268435455 i32.gt_u if @@ -8946,82 +8706,79 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $5 + local.get $5 i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $7 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 + local.get $7 + i32.store offset=12 local.get $6 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $6 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $11 - i32.store $0 offset=4 - local.get $8 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $7 - i32.store $0 offset=8 - local.get $8 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $10 - i32.store $0 offset=12 - local.get $8 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|00 local.get $2 - local.get $10 + local.get $5 i32.lt_s if - local.get $1 + local.get $4 local.get $2 i32.const 3 i32.shl i32.add - local.tee $5 - i32.load $0 offset=4 + local.tee $7 + i32.load offset=4 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 - local.get $5 - i32.load $0 + local.get $7 + i32.load call $~lib/array/Array#__set local.get $0 i32.const 1 @@ -9037,7 +8794,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 call $~lib/array/Array#set:length @@ -9045,32 +8802,32 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 local.get $6 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 + i32.const 0 + local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $9 - i32.store $0 offset=4 local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 - local.get $9 + i32.store offset=16 + local.get $1 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -9083,34 +8840,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size local.get $0 i32.ne @@ -9123,17 +8879,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -9145,16 +8901,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -9164,17 +8920,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -9187,17 +8943,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -9208,16 +8964,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -9229,16 +8985,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -9248,17 +9004,17 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -9271,14 +9027,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size if i32.const 0 @@ -9320,81 +9076,72 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 14 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -9402,7 +9149,6 @@ ) (func $~lib/set/Set#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -9419,33 +9165,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.const 1 i32.and @@ -9454,7 +9197,7 @@ else local.get $1 local.get $0 - i32.load $0 + i32.load i32.eq end if @@ -9479,7 +9222,6 @@ i32.const 0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -9496,12 +9238,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -9535,12 +9276,10 @@ call $~lib/set/Set#find i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) @@ -9566,13 +9305,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -9580,56 +9318,56 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 - i32.store $0 + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $6 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $6 + local.get $7 i32.ne if local.get $4 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - i32.load $0 + i32.load local.tee $8 - i32.store $0 + i32.store local.get $2 - local.get $7 + local.get $5 local.get $1 local.get $8 i32.const -1028477379 @@ -9641,34 +9379,34 @@ i32.const 668265263 i32.mul local.tee $8 + local.get $8 i32.const 15 i32.shr_u - local.get $8 i32.xor i32.const -2048144777 i32.mul local.tee $8 + local.get $8 i32.const 13 i32.shr_u - local.get $8 i32.xor i32.const -1028477379 i32.mul local.tee $8 + local.get $8 i32.const 16 i32.shr_u - local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $8 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $8 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 8 i32.add @@ -9682,61 +9420,52 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $7 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $0 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $1 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -9745,7 +9474,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9762,12 +9490,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -9803,37 +9530,33 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $2 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 + local.get $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -9842,15 +9565,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 @@ -9859,69 +9582,66 @@ call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $2 - local.get $4 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 - local.get $2 - local.get $5 + i32.store offset=16 + local.get $4 i32.const 3 i32.shl i32.add local.tee $2 local.get $1 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 + i32.load local.set $1 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $1 local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -9929,7 +9649,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -9946,15 +9665,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -9965,26 +9683,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -10001,12 +9715,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -10049,60 +9762,56 @@ end local.get $1 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.or - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + local.get $1 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $1 - local.get $1 + i32.load offset=20 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $1 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -10114,9 +9823,9 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $2 + local.get $1 call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer @@ -10133,10 +9842,6 @@ (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 @@ -10147,24 +9852,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 20 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $9 - i32.store $0 + local.tee $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -10175,16 +9879,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -10195,17 +9899,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -10218,17 +9922,17 @@ unreachable end i32.const 50 - local.set $1 + local.set $0 loop $for-loop|1 - local.get $1 + local.get $0 i32.const 100 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -10240,16 +9944,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -10260,17 +9964,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -10283,11 +9987,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.tee $4 - local.get $9 - i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -10296,22 +9999,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=8 - local.set $1 - local.get $5 - local.get $9 - i32.store $0 - local.get $9 - i32.load $0 offset=16 - local.set $10 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -10320,44 +10023,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $6 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 15 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store local.get $6 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=8 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 - i32.store $0 offset=12 - local.get $10 + i32.store offset=12 + local.get $5 i32.const 268435455 i32.gt_u if @@ -10370,82 +10074,79 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $10 - local.get $10 + local.get $5 + local.get $5 i32.const 8 i32.le_u select i32.const 2 i32.shl - local.tee $7 + local.tee $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=8 + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $11 - i32.store $0 offset=12 + local.get $7 + i32.store offset=12 local.get $6 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $6 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $7 + i32.store + local.get $6 + local.get $7 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $11 - i32.store $0 offset=4 - local.get $8 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $7 - i32.store $0 offset=8 - local.get $8 + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - local.get $10 - i32.store $0 offset=12 - local.get $8 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 + i32.const 0 + local.set $0 loop $for-loop|00 local.get $2 - local.get $10 + local.get $5 i32.lt_s if - local.get $1 + local.get $4 local.get $2 i32.const 3 i32.shl i32.add - local.tee $5 - i32.load $0 offset=4 + local.tee $7 + i32.load offset=4 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 - local.get $5 - i32.load $0 + local.get $7 + i32.load call $~lib/array/Array#__set local.get $0 i32.const 1 @@ -10461,7 +10162,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $0 call $~lib/array/Array#set:length @@ -10469,32 +10170,32 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 local.get $6 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 + i32.const 0 + local.set $2 loop $for-loop|2 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/array/Array#get:length - local.get $3 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $9 - i32.store $0 offset=4 local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 - local.get $9 + i32.store offset=16 + local.get $1 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -10507,34 +10208,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 local.get $6 - local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size local.get $0 i32.ne @@ -10547,17 +10247,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -10569,16 +10269,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -10588,17 +10288,17 @@ 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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -10611,17 +10311,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 global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -10632,16 +10332,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has i32.eqz if @@ -10653,16 +10353,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 call $~lib/set/Set#has if i32.const 0 @@ -10672,17 +10372,17 @@ 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|4 end end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -10695,14 +10395,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $9 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size if i32.const 0 @@ -10744,81 +10444,72 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 16 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -10826,7 +10517,6 @@ ) (func $~lib/set/Set#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -10843,33 +10533,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 1 i32.and @@ -10878,7 +10565,7 @@ else local.get $1 local.get $0 - i64.load $0 + i64.load i64.eq end if @@ -10903,7 +10590,6 @@ i32.const 0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -10920,12 +10606,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -10971,19 +10656,17 @@ call $~lib/set/Set#find i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) - (local $6 i32) + (local $5 i32) + (local $6 i64) (local $7 i32) (local $8 i32) (local $9 i32) @@ -11003,13 +10686,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -11017,58 +10699,58 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store $0 + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $6 + local.tee $7 i32.const 4 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 4 i32.shl i32.add - local.set $7 + local.set $8 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $7 + local.get $8 i32.ne if local.get $4 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - i64.load $0 - local.tee $5 - i64.store $0 + i64.load + local.tee $6 + i64.store local.get $2 - local.get $8 - local.get $1 local.get $5 + local.get $1 + local.get $6 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -11078,7 +10760,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $5 + local.get $6 i64.const 32 i64.shr_u i32.wrap_i64 @@ -11090,34 +10772,34 @@ i32.const 668265263 i32.mul local.tee $9 - local.get $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 - local.get $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 - local.get $9 i32.const 16 i32.shr_u + local.get $9 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $9 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $9 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 16 i32.add @@ -11131,61 +10813,52 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $8 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - local.get $8 - i32.store $0 - local.get $8 - if - local.get $0 - local.get $8 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $6 - i32.store $0 offset=12 - local.get $1 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -11194,7 +10867,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11211,12 +10883,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -11264,37 +10935,33 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -11303,15 +10970,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 @@ -11320,69 +10987,66 @@ call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $4 - local.get $3 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $4 - local.get $5 i32.const 4 i32.shl i32.add - local.tee $4 + local.tee $3 local.get $1 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $5 - local.get $3 + i32.load + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + local.get $3 local.get $4 - local.get $5 local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 - local.get $4 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -11407,15 +11071,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if local.get $1 @@ -11439,24 +11102,23 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add local.get $2 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -11479,7 +11141,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 3 @@ -11487,10 +11149,10 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -11498,7 +11160,6 @@ ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) (local $2 i64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11515,15 +11176,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -11534,27 +11194,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $2 - local.get $3 + i64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -11571,12 +11227,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -11631,60 +11286,56 @@ end local.get $2 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $2 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $2 - local.get $2 + i32.load offset=20 + local.tee $3 + local.get $3 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -11696,9 +11347,9 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $3 + local.get $2 call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer @@ -11724,80 +11375,71 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) (func $std/set/testNumeric (local $0 i32) - (local $1 i64) - (local $2 i32) + (local $1 i32) + (local $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) @@ -11805,9 +11447,6 @@ (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 @@ -11818,24 +11457,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 20 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $10 - i32.store $0 + local.tee $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $2 i64.const 100 i64.lt_s if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -11846,16 +11484,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 - call $~lib/set/Set#add + i32.store offset=4 + local.get $1 + local.get $2 + call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -11866,17 +11504,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -11889,17 +11527,17 @@ unreachable end i64.const 50 - local.set $1 + local.set $2 loop $for-loop|1 - local.get $1 + local.get $2 i64.const 100 i64.lt_s if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -11911,16 +11549,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -11931,17 +11569,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -11954,11 +11592,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.tee $5 - local.get $10 - i32.store $0 offset=4 - local.get $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -11967,22 +11604,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 - local.get $10 - i32.store $0 - local.get $10 - i32.load $0 offset=8 - local.set $4 - local.get $6 - local.get $10 - i32.store $0 - local.get $10 - i32.load $0 offset=16 - local.set $11 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -11991,44 +11628,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 i64.const 0 - i64.store $0 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $7 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 17 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store + local.get $8 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 local.get $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 local.get $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 i32.const 0 - i32.store $0 offset=12 - local.get $11 + i32.store offset=12 + local.get $6 i32.const 134217727 i32.gt_u if @@ -12041,130 +11679,125 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $11 - local.get $11 + local.get $6 + local.get $6 i32.const 8 i32.le_u select i32.const 3 i32.shl - local.tee $8 + local.tee $9 i32.const 1 call $~lib/rt/itcms/__new - local.tee $12 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=12 - local.get $7 - local.get $12 - i32.store $0 - local.get $12 - if - local.get $7 - local.get $12 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $7 - i32.store $0 offset=4 - local.get $7 - local.get $12 - i32.store $0 offset=4 - local.get $9 local.get $7 - i32.store $0 offset=4 + i32.store offset=12 + local.get $8 local.get $7 + i32.store local.get $8 - i32.store $0 offset=8 - local.get $9 local.get $7 - i32.store $0 offset=4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 local.get $7 - local.get $11 - i32.store $0 offset=12 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 loop $for-loop|00 - local.get $2 - local.get $11 + local.get $3 + local.get $6 i32.lt_s if - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.const 4 i32.shl i32.add - local.tee $6 - i32.load $0 offset=8 + local.tee $7 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 local.get $0 - local.get $6 - i64.load $0 + local.get $7 + i64.load call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|00 end end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $7 - i32.store $0 offset=8 + local.get $8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 + i32.const 0 + local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 call $~lib/array/Array#get:length local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $10 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=16 - local.get $10 - local.get $7 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=16 + local.get $1 + local.get $8 local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#has @@ -12178,14 +11811,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=16 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=16 local.get $0 - local.get $7 + local.get $8 local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add @@ -12198,14 +11830,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size local.get $0 i32.ne @@ -12218,17 +11850,17 @@ unreachable end i64.const 0 - local.set $1 + local.set $2 loop $for-loop|3 - local.get $1 + local.get $2 i64.const 50 i64.lt_s if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -12240,16 +11872,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -12259,17 +11891,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -12282,17 +11914,17 @@ unreachable end i64.const 0 - local.set $1 + local.set $2 loop $for-loop|4 - local.get $1 + local.get $2 i64.const 50 i64.lt_s if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -12303,16 +11935,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -12324,16 +11956,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -12343,17 +11975,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -12366,14 +11998,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size if i32.const 0 @@ -12415,81 +12047,72 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 18 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -12497,7 +12120,6 @@ ) (func $~lib/set/Set#find (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12514,33 +12136,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 1 i32.and @@ -12549,7 +12168,7 @@ else local.get $1 local.get $0 - i64.load $0 + i64.load i64.eq end if @@ -12574,7 +12193,6 @@ i32.const 0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12591,12 +12209,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -12642,19 +12259,17 @@ call $~lib/set/Set#find i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) - (local $6 i32) + (local $5 i32) + (local $6 i64) (local $7 i32) (local $8 i32) (local $9 i32) @@ -12674,13 +12289,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -12688,58 +12302,58 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store $0 + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $6 + local.tee $7 i32.const 4 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 4 i32.shl i32.add - local.set $7 + local.set $8 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $7 + local.get $8 i32.ne if local.get $4 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - i64.load $0 - local.tee $5 - i64.store $0 + i64.load + local.tee $6 + i64.store local.get $2 - local.get $8 - local.get $1 local.get $5 + local.get $1 + local.get $6 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -12749,7 +12363,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $5 + local.get $6 i64.const 32 i64.shr_u i32.wrap_i64 @@ -12761,34 +12375,34 @@ i32.const 668265263 i32.mul local.tee $9 - local.get $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 - local.get $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 - local.get $9 i32.const 16 i32.shr_u + local.get $9 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $9 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $9 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 16 i32.add @@ -12802,61 +12416,52 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $8 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - local.get $8 - i32.store $0 - local.get $8 - if - local.get $0 - local.get $8 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $6 - i32.store $0 offset=12 - local.get $1 + local.get $7 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -12865,7 +12470,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -12882,12 +12486,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -12935,37 +12538,33 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -12974,15 +12573,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 @@ -12991,69 +12590,66 @@ call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $4 - local.get $3 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $4 - local.get $5 i32.const 4 i32.shl i32.add - local.tee $4 + local.tee $3 local.get $1 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $5 - local.get $3 + i32.load + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + local.get $3 local.get $4 - local.get $5 local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 - local.get $4 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -13062,7 +12658,6 @@ ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i64) (local $2 i64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13079,15 +12674,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -13098,27 +12692,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $2 - local.get $3 + i64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/set/Set#delete (param $0 i32) (param $1 i64) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -13135,12 +12725,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -13195,60 +12784,56 @@ end local.get $2 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $2 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $2 - local.get $2 + i32.load offset=20 + local.tee $3 + local.get $3 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -13260,9 +12845,9 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $3 + local.get $2 call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer @@ -13272,8 +12857,8 @@ ) (func $std/set/testNumeric (local $0 i32) - (local $1 i64) - (local $2 i32) + (local $1 i32) + (local $2 i64) (local $3 i32) (local $4 i32) (local $5 i32) @@ -13281,9 +12866,6 @@ (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 @@ -13294,24 +12876,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 i32.const 20 - memory.fill $0 - local.get $4 + memory.fill + global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $10 - i32.store $0 + local.tee $1 + i32.store loop $for-loop|0 - local.get $1 + local.get $2 i64.const 100 i64.lt_u if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -13322,16 +12903,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -13342,17 +12923,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -13365,17 +12946,17 @@ unreachable end i64.const 50 - local.set $1 + local.set $2 loop $for-loop|1 - local.get $1 + local.get $2 i64.const 100 i64.lt_u if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -13387,16 +12968,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -13407,17 +12988,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -13430,11 +13011,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.tee $5 - local.get $10 - i32.store $0 offset=4 - local.get $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -13443,22 +13023,22 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 - local.get $10 - i32.store $0 - local.get $10 - i32.load $0 offset=8 - local.set $4 - local.get $6 - local.get $10 - i32.store $0 - local.get $10 - i32.load $0 offset=16 - local.set $11 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load offset=16 + local.set $6 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer @@ -13467,44 +13047,45 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 i64.const 0 - i64.store $0 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $7 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 19 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 + i32.const 0 + i32.store + local.get $8 i32.const 0 - i32.store $0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 local.get $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 local.get $8 - local.get $7 - i32.store $0 offset=4 - local.get $7 i32.const 0 - i32.store $0 offset=12 - local.get $11 + i32.store offset=12 + local.get $6 i32.const 134217727 i32.gt_u if @@ -13517,130 +13098,125 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $11 - local.get $11 + local.get $6 + local.get $6 i32.const 8 i32.le_u select i32.const 3 i32.shl - local.tee $8 + local.tee $9 i32.const 1 call $~lib/rt/itcms/__new - local.tee $12 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.tee $7 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=12 - local.get $7 - local.get $12 - i32.store $0 - local.get $12 - if - local.get $7 - local.get $12 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $9 local.get $7 - i32.store $0 offset=4 - local.get $7 - local.get $12 - i32.store $0 offset=4 - local.get $9 - local.get $7 - i32.store $0 offset=4 + i32.store offset=12 + local.get $8 local.get $7 + i32.store local.get $8 - i32.store $0 offset=8 - local.get $9 local.get $7 - i32.store $0 offset=4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 local.get $7 - local.get $11 - i32.store $0 offset=12 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 local.get $9 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=4 + local.get $8 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 loop $for-loop|00 - local.get $2 - local.get $11 + local.get $3 + local.get $6 i32.lt_s if - local.get $4 - local.get $2 + local.get $5 + local.get $3 i32.const 4 i32.shl i32.add - local.tee $6 - i32.load $0 offset=8 + local.tee $7 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 local.get $0 - local.get $6 - i64.load $0 + local.get $7 + i64.load call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 + local.set $3 br $for-loop|00 end end global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 + local.get $8 + i32.store + local.get $8 local.get $0 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $7 - i32.store $0 offset=8 + local.get $8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 + i32.const 0 + local.set $3 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 call $~lib/array/Array#get:length local.get $3 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $10 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=16 - local.get $10 - local.get $7 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=16 + local.get $1 + local.get $8 local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#has @@ -13654,14 +13230,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=16 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=16 local.get $0 - local.get $7 + local.get $8 local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add @@ -13674,14 +13249,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/set/Set#get:size local.set $0 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size local.get $0 i32.ne @@ -13694,17 +13269,17 @@ unreachable end i64.const 0 - local.set $1 + local.set $2 loop $for-loop|3 - local.get $1 + local.get $2 i64.const 50 i64.lt_u if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -13716,16 +13291,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -13735,17 +13310,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|3 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -13758,17 +13333,17 @@ unreachable end i64.const 0 - local.set $1 + local.set $2 loop $for-loop|4 - local.get $1 + local.get $2 i64.const 50 i64.lt_u if global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -13779,16 +13354,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has i32.eqz if @@ -13800,16 +13375,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $1 + i32.store offset=4 + local.get $1 + local.get $2 call $~lib/set/Set#has if i32.const 0 @@ -13819,17 +13394,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + local.get $2 i64.const 1 i64.add - local.set $1 + local.set $2 br $for-loop|4 end end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -13842,14 +13417,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/set/Set#get:size if i32.const 0 @@ -13891,81 +13466,72 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 20 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -13973,7 +13539,6 @@ ) (func $~lib/set/Set#find (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13990,33 +13555,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.const 1 i32.and @@ -14025,7 +13587,7 @@ else local.get $1 local.get $0 - f32.load $0 + f32.load f32.eq end if @@ -14050,7 +13612,6 @@ i32.const 0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 f32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14067,12 +13628,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -14107,12 +13667,10 @@ call $~lib/set/Set#find i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) @@ -14120,8 +13678,8 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 f32) - (local $8 i32) + (local $7 i32) + (local $8 f32) (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 16 @@ -14139,13 +13697,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -14153,58 +13710,58 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 - i32.store $0 + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shl i32.add - local.set $6 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $6 + local.get $7 i32.ne if local.get $4 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - f32.load $0 - local.tee $7 - f32.store $0 + f32.load + local.tee $8 + f32.store local.get $2 - local.get $8 + local.get $5 local.get $1 - local.get $7 + local.get $8 i32.reinterpret_f32 i32.const -1028477379 i32.mul @@ -14215,34 +13772,34 @@ i32.const 668265263 i32.mul local.tee $9 + local.get $9 i32.const 15 i32.shr_u - local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 + local.get $9 i32.const 13 i32.shr_u - local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 + local.get $9 i32.const 16 i32.shr_u - local.get $9 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $9 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $9 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 8 i32.add @@ -14256,61 +13813,52 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $8 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - local.get $8 - i32.store $0 - local.get $8 - if - local.get $0 - local.get $8 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $1 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -14319,7 +13867,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -14336,12 +13883,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -14378,37 +13924,33 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $4 - local.get $3 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $3 + i32.load offset=20 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $4 + local.get $3 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -14417,15 +13959,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 @@ -14434,69 +13976,66 @@ call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $4 - local.get $3 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $5 + i32.load offset=16 + local.tee $4 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $4 - local.get $5 i32.const 3 i32.shl i32.add - local.tee $4 + local.tee $3 local.get $1 - f32.store $0 - local.get $3 + f32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $5 - local.get $3 + i32.load + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + local.get $3 local.get $4 - local.get $5 local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=4 + i32.load + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 + local.get $3 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -14506,84 +14045,84 @@ (func $~lib/set/Set#values (param $0 i32) (result 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) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $4 - local.get $1 + i32.load offset=8 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $6 - local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 21 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store + local.get $6 i32.const 0 - i32.store $0 offset=4 - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 + i32.store offset=4 + local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 i32.const 268435455 i32.gt_u if @@ -14596,9 +14135,9 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 - i32.const 8 + local.get $5 + local.get $5 + i32.const 8 i32.le_u select i32.const 2 @@ -14607,99 +14146,90 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $6 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 - local.get $2 + i32.store offset=12 + local.get $6 local.get $7 - i32.store $0 + i32.store + local.get $6 local.get $7 - if - local.get $2 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $7 - i32.store $0 offset=4 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 - local.get $8 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - i32.const 0 - local.set $0 + local.get $6 + i32.store offset=4 loop $for-loop|0 + local.get $2 local.get $5 - local.get $6 i32.lt_s if - local.get $4 - local.get $5 + local.get $3 + local.get $2 i32.const 3 i32.shl i32.add local.tee $7 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $2 - i32.store $0 - local.get $0 - local.tee $1 + local.get $6 + i32.store + local.get $1 + local.tee $0 i32.const 1 i32.add - local.set $0 + local.set $1 local.get $7 - f32.load $0 - local.set $3 - local.get $8 + f32.load + local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 0 - i32.store $0 - local.get $7 - local.get $2 - i32.store $0 - local.get $1 - local.get $2 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $0 + local.get $6 + i32.load offset=12 i32.ge_u if - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -14710,8 +14240,8 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.add local.tee $7 @@ -14719,47 +14249,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 + local.get $6 + i32.store + local.get $6 local.get $7 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $2 - i32.store $0 - local.get $2 - i32.load $0 offset=4 - local.get $1 + local.get $6 + i32.store + local.get $6 + i32.load offset=4 + local.get $0 i32.const 2 i32.shl i32.add - local.get $3 - f32.store $0 - local.get $7 + local.get $4 + f32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $5 + local.get $2 i32.const 1 i32.add - local.set $5 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 - local.get $0 + local.get $6 + i32.store + local.get $6 + local.get $1 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 return end i32.const 34544 @@ -14771,7 +14300,6 @@ ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f32) (local $2 f32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14788,15 +14316,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -14807,27 +14334,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.set $2 - local.get $3 + f32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/set/Set#delete (param $0 i32) (param $1 f32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -14844,12 +14367,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -14893,60 +14415,56 @@ end local.get $2 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.or - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $2 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $2 - local.get $2 + i32.load offset=20 + local.tee $3 + local.get $3 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $4 - local.get $2 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -14958,9 +14476,9 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $3 + local.get $2 call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer @@ -14974,7 +14492,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -14991,23 +14508,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 20 - memory.fill $0 - local.get $2 + memory.fill + global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store $0 + local.tee $0 + i32.store loop $for-loop|0 local.get $1 f32.const 100 f32.lt if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has if @@ -15019,15 +14535,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has i32.eqz @@ -15047,9 +14563,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -15069,9 +14585,9 @@ f32.lt if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has i32.eqz @@ -15084,15 +14600,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has i32.eqz @@ -15112,9 +14628,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -15127,37 +14643,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $3 - i32.store $0 offset=4 - local.get $2 - local.get $3 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 call $~lib/set/Set#values - local.tee $4 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $2 - i32.store $0 offset=12 + local.tee $4 + i32.store offset=12 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/array/Array#get:length - local.get $0 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $3 - i32.store $0 offset=4 - local.get $5 - local.get $4 - i32.store $0 offset=16 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $3 - local.get $4 + i32.store offset=16 local.get $0 + local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -15170,36 +14684,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $2 - i32.store $0 offset=4 - local.get $5 local.get $4 - i32.store $0 offset=16 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=16 local.get $4 - local.get $0 + local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/set/Set#get:size - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/set/Set#get:size local.get $0 + i32.store offset=4 + local.get $0 + call $~lib/set/Set#get:size + local.get $2 i32.ne if i32.const 0 @@ -15217,9 +14730,9 @@ f32.lt if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has i32.eqz @@ -15232,15 +14745,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has if @@ -15259,9 +14772,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -15281,9 +14794,9 @@ f32.lt if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has if @@ -15295,15 +14808,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has i32.eqz @@ -15316,15 +14829,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has if @@ -15343,9 +14856,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -15358,14 +14871,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size if i32.const 0 @@ -15399,81 +14912,72 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 22 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -15481,7 +14985,6 @@ ) (func $~lib/set/Set#find (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15498,33 +15001,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 1 i32.and @@ -15533,7 +15033,7 @@ else local.get $1 local.get $0 - f64.load $0 + f64.load f64.eq end if @@ -15558,8 +15058,7 @@ i32.const 0 ) (func $~lib/set/Set#has (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15576,17 +15075,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 i64.reinterpret_f64 - local.tee $3 + local.tee $2 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -15596,7 +15094,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $3 + local.get $2 i64.const 32 i64.shr_u i32.wrap_i64 @@ -15629,12 +15127,10 @@ call $~lib/set/Set#find i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/set/Set#rehash (param $0 i32) (param $1 i32) (local $2 i32) @@ -15642,9 +15138,9 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 f64) - (local $8 i64) - (local $9 i32) + (local $7 i32) + (local $8 f64) + (local $9 i64) (local $10 i32) global.get $~lib/memory/__stack_pointer i32.const 16 @@ -15662,13 +15158,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 i32.const 1 i32.add @@ -15676,60 +15171,60 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $9 - i32.store $0 + local.tee $5 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $5 + local.tee $6 i32.const 4 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 4 i32.shl i32.add - local.set $6 + local.set $7 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $6 + local.get $7 i32.ne if local.get $4 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - f64.load $0 - local.tee $7 - f64.store $0 + f64.load + local.tee $8 + f64.store local.get $2 - local.get $9 + local.get $5 local.get $1 - local.get $7 + local.get $8 i64.reinterpret_f64 - local.tee $8 + local.tee $9 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -15739,7 +15234,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $8 + local.get $9 i64.const 32 i64.shr_u i32.wrap_i64 @@ -15751,34 +15246,34 @@ i32.const 668265263 i32.mul local.tee $10 - local.get $10 i32.const 15 i32.shr_u + local.get $10 i32.xor i32.const -2048144777 i32.mul local.tee $10 - local.get $10 i32.const 13 i32.shr_u + local.get $10 i32.xor i32.const -1028477379 i32.mul local.tee $10 - local.get $10 i32.const 16 i32.shr_u + local.get $10 i32.xor i32.and i32.const 2 i32.shl i32.add local.tee $10 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $10 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 16 i32.add @@ -15792,61 +15287,52 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $9 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=12 local.get $0 - local.get $9 - i32.store $0 - local.get $9 - if - local.get $0 - local.get $9 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $5 + i32.store + local.get $0 + local.get $5 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $1 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $1 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -15856,7 +15342,6 @@ (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -15873,12 +15358,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -15928,37 +15412,33 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $5 - local.get $4 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $4 + i32.load offset=20 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -15967,15 +15447,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 @@ -15984,69 +15464,66 @@ call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $5 - local.get $4 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $6 + i32.load offset=16 + local.tee $5 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 local.get $5 - local.get $6 i32.const 4 i32.shl i32.add - local.tee $5 + local.tee $4 local.get $1 - f64.store $0 - local.get $4 + f64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $6 - local.get $4 + i32.load + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store + local.get $4 local.get $5 - local.get $6 local.get $3 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 + local.get $4 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -16056,84 +15533,84 @@ (func $~lib/set/Set#values (param $0 i32) (result 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) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $4 - local.get $1 + i32.load offset=8 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $6 - local.get $1 + i32.load offset=16 + local.set $5 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 23 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store + local.get $6 i32.const 0 - i32.store $0 offset=4 - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 - i32.store $0 offset=12 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 local.get $6 + i32.const 0 + i32.store offset=12 + local.get $5 i32.const 134217727 i32.gt_u if @@ -16146,8 +15623,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $5 + local.get $5 i32.const 8 i32.le_u select @@ -16157,99 +15634,90 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $7 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $6 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 - local.get $2 + i32.store offset=12 + local.get $6 local.get $7 - i32.store $0 + i32.store + local.get $6 local.get $7 - if - local.get $2 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 local.get $7 - i32.store $0 offset=4 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 - local.get $8 + i32.store offset=4 + local.get $6 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - i32.const 0 - local.set $0 + local.get $6 + i32.store offset=4 loop $for-loop|0 + local.get $2 local.get $5 - local.get $6 i32.lt_s if - local.get $4 - local.get $5 + local.get $3 + local.get $2 i32.const 4 i32.shl i32.add local.tee $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $2 - i32.store $0 - local.get $0 - local.tee $1 + local.get $6 + i32.store + local.get $1 + local.tee $0 i32.const 1 i32.add - local.set $0 + local.set $1 local.get $7 - f64.load $0 - local.set $3 - local.get $8 + f64.load + local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 i32.const 0 - i32.store $0 - local.get $7 - local.get $2 - i32.store $0 - local.get $1 - local.get $2 - i32.load $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $0 + local.get $6 + i32.load offset=12 i32.ge_u if - local.get $1 + local.get $0 i32.const 0 i32.lt_s if @@ -16259,9 +15727,9 @@ i32.const 22 call $~lib/builtins/abort unreachable - end - local.get $2 - local.get $1 + end + local.get $6 + local.get $0 i32.const 1 i32.add local.tee $7 @@ -16269,47 +15737,46 @@ i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 + local.get $6 + i32.store + local.get $6 local.get $7 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $2 - i32.store $0 - local.get $2 - i32.load $0 offset=4 - local.get $1 + local.get $6 + i32.store + local.get $6 + i32.load offset=4 + local.get $0 i32.const 3 i32.shl i32.add - local.get $3 - f64.store $0 - local.get $7 + local.get $4 + f64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end - local.get $5 + local.get $2 i32.const 1 i32.add - local.set $5 + local.set $2 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 - local.get $0 + local.get $6 + i32.store + local.get $6 + local.get $1 call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $6 return end i32.const 34544 @@ -16321,7 +15788,6 @@ ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result f64) (local $2 f64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -16338,15 +15804,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1248 @@ -16357,28 +15822,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $2 - local.get $3 + f64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/set/Set#delete (param $0 i32) (param $1 f64) (local $2 i64) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -16395,12 +15856,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -16457,60 +15917,56 @@ end local.get $3 local.get $3 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.sub - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shr_u - local.set $4 - local.get $3 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + local.get $3 i32.const 1 i32.add i32.const 4 local.get $0 - i32.load $0 offset=20 - local.tee $3 - local.get $3 + i32.load offset=20 + local.tee $4 + local.get $4 i32.const 4 i32.lt_u select i32.ge_u if (result i32) global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=20 - local.set $5 - local.get $3 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -16522,9 +15978,9 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - local.get $4 + local.get $3 call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer @@ -16538,7 +15994,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -16555,23 +16010,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 20 - memory.fill $0 - local.get $2 + memory.fill + global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $3 - i32.store $0 + local.tee $0 + i32.store loop $for-loop|0 local.get $1 f64.const 100 f64.lt if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has if @@ -16583,15 +16037,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has i32.eqz @@ -16611,9 +16065,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -16633,9 +16087,9 @@ f64.lt if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has i32.eqz @@ -16648,15 +16102,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has i32.eqz @@ -16676,9 +16130,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size i32.const 100 i32.ne @@ -16691,37 +16145,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $3 - i32.store $0 offset=4 - local.get $2 - local.get $3 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 call $~lib/set/Set#values - local.tee $4 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $2 - i32.store $0 offset=12 + local.tee $4 + i32.store offset=12 loop $for-loop|2 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/array/Array#get:length - local.get $0 + local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $3 - i32.store $0 offset=4 - local.get $5 - local.get $4 - i32.store $0 offset=16 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $3 - local.get $4 + i32.store offset=16 local.get $0 + local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#has i32.eqz @@ -16734,36 +16186,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $2 - i32.store $0 offset=4 - local.get $5 local.get $4 - i32.store $0 offset=16 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=16 local.get $4 - local.get $0 + local.get $3 + local.get $2 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $4 + i32.store offset=4 + local.get $4 call $~lib/set/Set#get:size - local.set $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/set/Set#get:size local.get $0 + i32.store offset=4 + local.get $0 + call $~lib/set/Set#get:size + local.get $2 i32.ne if i32.const 0 @@ -16781,9 +16232,9 @@ f64.lt if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has i32.eqz @@ -16796,15 +16247,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has if @@ -16823,9 +16274,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -16845,9 +16296,9 @@ f64.lt if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has if @@ -16859,15 +16310,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#add global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has i32.eqz @@ -16880,15 +16331,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#delete global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 local.get $1 call $~lib/set/Set#has if @@ -16907,9 +16358,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size i32.const 50 i32.ne @@ -16922,14 +16373,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $0 + i32.store offset=4 + local.get $0 call $~lib/set/Set#get:size if i32.const 0 @@ -16962,7 +16413,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.const 1073741820 i32.gt_u @@ -16979,79 +16430,11 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store 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) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) ) diff --git a/tests/compiler/std/static-array.debug.wat b/tests/compiler/std/static-array.debug.wat index 4376463cde..cfc3928c0c 100644 --- a/tests/compiler/std/static-array.debug.wat +++ b/tests/compiler/std/static-array.debug.wat @@ -1,19 +1,19 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $i32_i32_f32_=>_none (func (param i32 i32 f32))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) - (type $i32_i32_f64_=>_none (func (param i32 i32 f64))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (func (result i32))) + (type $9 (func (param i32 i32) (result i64))) + (type $10 (func (param i32 i32 i64))) + (type $11 (func (param i32 i32) (result f32))) + (type $12 (func (param i32 i32 f32))) + (type $13 (func (param i32 i32) (result f64))) + (type $14 (func (param i32 i32 f64))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/static-array/i i32 (i32.const 64)) (global $std/static-array/I i32 (i32.const 160)) @@ -39,68 +39,68 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33732)) (global $~lib/memory/__heap_base i32 (i32.const 33732)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00 \00\00\00 \00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00p\00\00\00p\00\00\00\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\c0?\00\00 @\00\00\00\00") - (data (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\10\00\00\00\d0\00\00\00\d0\00\00\00\08\00\00\00\02\00\00\00\00\00\00\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\10\00\00\00\00\00\00\00\00\00\f4?\00\00\00\00\00\00\02@\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\10\00\00\00 \01\00\00 \01\00\00\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00-\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 720) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 752) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 780) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 832) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 860) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 928) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\n\00\00\02\19\00\00\02\1a\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00 \00\00\00 \00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 92) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 140) ",\00\00\00\00\00\00\00\00\00\00\00\05\00\00\00\10\00\00\00p\00\00\00p\00\00\00\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\08\00\00\00\00\00\c0?\00\00 @\00\00\00\00") + (data $5 (i32.const 220) ",\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\10\00\00\00\d0\00\00\00\d0\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\10\00\00\00\00\00\00\00\00\00\f4?\00\00\00\00\00\00\02@\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\07\00\00\00\10\00\00\00 \01\00\00 \01\00\00\10\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00-\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") + (data $9 (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $11 (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $12 (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $13 (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $14 (i32.const 720) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 752) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 780) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $17 (i32.const 832) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $18 (i32.const 860) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $19 (i32.const 928) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\n\00\00\02\19\00\00\02\1a\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -114,7 +114,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -188,7 +188,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -258,7 +258,7 @@ ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -266,7 +266,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 448 @@ -398,7 +398,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -423,34 +423,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -610,7 +610,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -633,7 +633,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -647,7 +647,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -670,7 +670,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -813,7 +813,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -899,7 +899,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -979,7 +979,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1013,7 +1013,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1036,7 +1036,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1050,27 +1050,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 880 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1095,9 +1100,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1116,7 +1121,7 @@ if i32.const 0 i32.const 880 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1135,7 +1140,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1149,7 +1153,7 @@ if i32.const 0 i32.const 880 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1205,12 +1209,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1244,7 +1248,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1265,7 +1269,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1285,7 +1289,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1305,7 +1309,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1331,7 +1335,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1354,9 +1358,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1392,7 +1397,7 @@ if i32.const 0 i32.const 880 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1658,14 +1663,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1721,7 +1729,7 @@ if i32.const 608 i32.const 880 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1730,6 +1738,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1759,24 +1787,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1814,7 +1831,7 @@ if i32.const 0 i32.const 880 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1829,7 +1846,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1874,7 +1891,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1885,7 +1902,7 @@ if i32.const 0 i32.const 880 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1907,7 +1924,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1930,7 +1947,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1949,22 +1966,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1977,7 +1986,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2004,27 +2013,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2049,7 +2059,7 @@ if i32.const 0 i32.const 880 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2164,7 +2174,7 @@ if i32.const 0 i32.const 880 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2184,7 +2194,7 @@ if i32.const 0 i32.const 880 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2217,7 +2227,7 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2268,13 +2278,13 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2318,7 +2328,7 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) @@ -2393,46 +2403,46 @@ (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2480,20 +2490,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2505,7 +2510,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2517,7 +2522,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2529,7 +2534,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2552,7 +2557,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $invalid end return @@ -2613,12 +2618,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -2639,13 +2644,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2661,14 +2666,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -2700,12 +2705,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -2732,7 +2737,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -2782,10 +2787,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -2793,7 +2798,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2809,13 +2814,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2842,7 +2847,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -2853,7 +2858,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -2861,7 +2866,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -2878,12 +2883,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -2905,13 +2910,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2927,14 +2932,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -2956,13 +2961,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -2989,7 +2994,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -3000,7 +3005,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -3008,7 +3013,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -3025,12 +3030,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -3052,13 +3057,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3074,14 +3079,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -3103,13 +3108,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3136,7 +3141,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -3147,7 +3152,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -3155,7 +3160,7 @@ i32.shl i32.add local.get $value - f32.store $0 + f32.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -3172,12 +3177,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -3199,13 +3204,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3221,14 +3226,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -3250,13 +3255,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -3283,7 +3288,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -3294,7 +3299,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index @@ -3302,7 +3307,7 @@ i32.shl i32.add local.get $value - f64.store $0 + f64.store i32.const 0 drop global.get $~lib/memory/__stack_pointer @@ -3316,10 +3321,6 @@ (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3327,13 +3328,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/static-array/i - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -3347,11 +3348,11 @@ unreachable end global.get $std/static-array/i - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 call $~lib/array/Array#__get i32.const 1 @@ -3366,11 +3367,11 @@ unreachable end global.get $std/static-array/i - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 1 call $~lib/array/Array#__get i32.const 2 @@ -3384,7 +3385,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3402,20 +3403,20 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace global.get $std/static-array/i - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 i32.const 2 call $~lib/array/Array#__set global.get $std/static-array/i - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -3430,11 +3431,11 @@ unreachable end global.get $std/static-array/I - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -3448,11 +3449,11 @@ unreachable end global.get $std/static-array/I - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 call $~lib/array/Array#__get i64.const 3 @@ -3467,11 +3468,11 @@ unreachable end global.get $std/static-array/I - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 1 call $~lib/array/Array#__get i64.const 4 @@ -3486,20 +3487,20 @@ unreachable end global.get $std/static-array/I - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 i64.const 4 call $~lib/array/Array#__set global.get $std/static-array/I - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 call $~lib/array/Array#__get i64.const 4 @@ -3514,11 +3515,11 @@ unreachable end global.get $std/static-array/f - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -3532,11 +3533,11 @@ unreachable end global.get $std/static-array/f - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 call $~lib/array/Array#__get f32.const 1.5 @@ -3551,11 +3552,11 @@ unreachable end global.get $std/static-array/f - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 1 call $~lib/array/Array#__get f32.const 2.5 @@ -3570,20 +3571,20 @@ unreachable end global.get $std/static-array/f - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 f32.const 2.5 call $~lib/array/Array#__set global.get $std/static-array/f - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 call $~lib/array/Array#__get f32.const 2.5 @@ -3598,11 +3599,11 @@ unreachable end global.get $std/static-array/F - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -3616,11 +3617,11 @@ unreachable end global.get $std/static-array/F - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 call $~lib/array/Array#__get f64.const 1.25 @@ -3635,11 +3636,11 @@ unreachable end global.get $std/static-array/F - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 1 call $~lib/array/Array#__get f64.const 2.25 @@ -3654,20 +3655,20 @@ unreachable end global.get $std/static-array/F - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 f64.const 2.25 call $~lib/array/Array#__set global.get $std/static-array/F - local.set $8 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $8 + local.get $4 + i32.store + local.get $4 i32.const 0 call $~lib/array/Array#__get f64.const 2.25 @@ -3695,14 +3696,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -3721,14 +3722,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -3747,14 +3748,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -3773,14 +3774,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie diff --git a/tests/compiler/std/static-array.release.wat b/tests/compiler/std/static-array.release.wat index 7b54aac30a..263534f48a 100644 --- a/tests/compiler/std/static-array.release.wat +++ b/tests/compiler/std/static-array.release.wat @@ -1,15 +1,15 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_i64 (func (param i32) (result i64))) - (type $i32_=>_f32 (func (param i32) (result f32))) - (type $i32_=>_f64 (func (param i32) (result f64))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (func (param i32 i32) (result i32))) + (type $8 (func (param i32) (result i64))) + (type $9 (func (param i32) (result f32))) + (type $10 (func (param i32) (result f64))) (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)) @@ -23,62 +23,62 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34756)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\01\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 1068) ",") - (data (i32.const 1080) "\04\00\00\00\10\00\00\00 \04\00\00 \04\00\00\08\00\00\00\02") - (data (i32.const 1116) ",") - (data (i32.const 1128) "\01\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04") - (data (i32.const 1164) ",") - (data (i32.const 1176) "\05\00\00\00\10\00\00\00p\04\00\00p\04\00\00\10\00\00\00\02") - (data (i32.const 1212) "\1c") - (data (i32.const 1224) "\01\00\00\00\08\00\00\00\00\00\c0?\00\00 @") - (data (i32.const 1244) ",") - (data (i32.const 1256) "\06\00\00\00\10\00\00\00\d0\04\00\00\d0\04\00\00\08\00\00\00\02") - (data (i32.const 1292) ",") - (data (i32.const 1304) "\01\00\00\00\10") - (data (i32.const 1318) "\f4?\00\00\00\00\00\00\02@") - (data (i32.const 1340) ",") - (data (i32.const 1352) "\07\00\00\00\10\00\00\00 \05\00\00 \05\00\00\10\00\00\00\02") - (data (i32.const 1388) "<") - (data (i32.const 1400) "\02\00\00\00&\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00-\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1452) "<") - (data (i32.const 1464) "\02\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 1516) ",") - (data (i32.const 1528) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1564) ",") - (data (i32.const 1576) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1612) "<") - (data (i32.const 1624) "\02\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 1676) "<") - (data (i32.const 1688) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1804) ",") - (data (i32.const 1816) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1884) "<") - (data (i32.const 1896) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1952) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\n\00\00\02\19\00\00\02\1a") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\01\00\00\00\08\00\00\00\01\00\00\00\02") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\04\00\00\00\10\00\00\00 \04\00\00 \04\00\00\08\00\00\00\02") + (data $2 (i32.const 1116) ",") + (data $2.1 (i32.const 1128) "\01\00\00\00\10\00\00\00\03\00\00\00\00\00\00\00\04") + (data $3 (i32.const 1164) ",") + (data $3.1 (i32.const 1176) "\05\00\00\00\10\00\00\00p\04\00\00p\04\00\00\10\00\00\00\02") + (data $4 (i32.const 1212) "\1c") + (data $4.1 (i32.const 1224) "\01\00\00\00\08\00\00\00\00\00\c0?\00\00 @") + (data $5 (i32.const 1244) ",") + (data $5.1 (i32.const 1256) "\06\00\00\00\10\00\00\00\d0\04\00\00\d0\04\00\00\08\00\00\00\02") + (data $6 (i32.const 1292) ",") + (data $6.1 (i32.const 1304) "\01\00\00\00\10") + (data $6.2 (i32.const 1318) "\f4?\00\00\00\00\00\00\02@") + (data $7 (i32.const 1340) ",") + (data $7.1 (i32.const 1352) "\07\00\00\00\10\00\00\00 \05\00\00 \05\00\00\10\00\00\00\02") + (data $8 (i32.const 1388) "<") + (data $8.1 (i32.const 1400) "\02\00\00\00&\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00-\00a\00r\00r\00a\00y\00.\00t\00s") + (data $9 (i32.const 1452) "<") + (data $9.1 (i32.const 1464) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $10 (i32.const 1516) ",") + (data $10.1 (i32.const 1528) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $11 (i32.const 1564) ",") + (data $11.1 (i32.const 1576) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $12 (i32.const 1612) "<") + (data $12.1 (i32.const 1624) "\02\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 $13 (i32.const 1676) "<") + (data $13.1 (i32.const 1688) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $16 (i32.const 1804) ",") + (data $16.1 (i32.const 1816) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $18 (i32.const 1884) "<") + (data $18.1 (i32.const 1896) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $19 (i32.const 1952) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\n\00\00\02\19\00\00\02\1a") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1184 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1264 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1360 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1472 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1584 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1632 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -88,7 +88,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -106,7 +106,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -123,7 +123,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -137,16 +137,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$155 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 34756 @@ -161,10 +161,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$155 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -177,20 +177,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -199,7 +199,7 @@ else local.get $1 i32.const 1952 - i32.load $0 + i32.load i32.gt_u if i32.const 1472 @@ -214,13 +214,13 @@ i32.shl i32.const 1956 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -230,21 +230,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -252,8 +276,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -265,10 +289,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -279,29 +303,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -309,10 +333,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -326,75 +350,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -416,7 +433,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -433,12 +450,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -455,17 +472,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -475,9 +492,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -502,13 +519,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -542,7 +559,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -598,19 +615,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -622,15 +639,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -638,23 +655,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1904 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -668,10 +687,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -679,23 +698,22 @@ if i32.const 0 i32.const 1904 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -707,52 +725,53 @@ if i32.const 0 i32.const 1904 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -760,7 +779,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -768,7 +787,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -779,10 +798,10 @@ end i32.const 34768 i32.const 0 - i32.store $0 + i32.store i32.const 36336 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -794,7 +813,7 @@ i32.const 34768 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -812,7 +831,7 @@ i32.const 34768 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -829,9 +848,10 @@ end i32.const 34768 i32.const 36340 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34768 global.set $~lib/rt/tlsf/ROOT @@ -861,7 +881,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -874,19 +894,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -897,7 +917,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -909,7 +929,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -922,12 +942,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -936,7 +952,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -947,26 +963,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -982,7 +998,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -998,7 +1014,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1023,14 +1039,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1050,7 +1066,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1065,25 +1080,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1904 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1092,12 +1106,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1105,47 +1118,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1156,7 +1171,7 @@ if i32.const 0 i32.const 1904 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1166,7 +1181,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1183,10 +1198,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1202,13 +1217,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1904 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1223,14 +1238,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end end ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $folding-inner0 block $invalid block $~lib/arraybuffer/ArrayBufferView @@ -1240,7 +1254,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid end return @@ -1250,12 +1264,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end unreachable @@ -1276,19 +1286,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1298,7 +1303,6 @@ call $start:std/static-array ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1315,23 +1319,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array#__get (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1348,15 +1348,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store local.get $0 i32.const 1100 - i32.load $0 + i32.load i32.ge_u if i32.const 1472 @@ -1367,22 +1366,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 1088 - i32.store $0 + i32.store i32.const 1092 - i32.load $0 + i32.load local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $1 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (local $2 i32) @@ -1409,14 +1405,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 local.get $1 i32.shr_u @@ -1436,8 +1431,8 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - block $__inlined_func$~lib/rt/itcms/__renew + i32.store + block $__inlined_func$~lib/rt/itcms/__renew$145 i32.const 1073741820 local.get $2 i32.const 1 @@ -1458,28 +1453,28 @@ select local.tee $3 local.get $0 - i32.load $0 + i32.load local.tee $2 i32.const 20 i32.sub - local.tee $6 - i32.load $0 + local.tee $4 + i32.load i32.const -4 i32.and i32.const 16 i32.sub i32.le_u if - local.get $6 + local.get $4 local.get $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $2 local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew + br $__inlined_func$~lib/rt/itcms/__renew$145 end - local.get $6 - i32.load $0 offset=12 - local.set $7 + local.get $4 + i32.load offset=12 + local.set $6 local.get $3 i32.const 1073741804 i32.ge_u @@ -1495,7 +1490,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1507,16 +1502,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1524,14 +1515,13 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $1 i32.add global.set $~lib/rt/itcms/threshold end @@ -1542,7 +1532,7 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $4 + local.set $7 local.get $3 i32.const 16 i32.add @@ -1552,34 +1542,60 @@ if i32.const 1632 i32.const 1904 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end - local.get $4 - i32.const 12 - local.get $1 - i32.const 19 - i32.add - i32.const -16 - i32.and - i32.const 4 - i32.sub + local.get $7 local.get $1 i32.const 12 i32.le_u - select + if (result i32) + i32.const 12 + else + local.get $1 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $8 call $~lib/rt/tlsf/searchBlock local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 + local.get $8 + i32.const 256 + i32.ge_u + if (result i32) + local.get $8 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $8 + i32.const 1 + i32.const 27 + local.get $8 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $8 + end + else + local.get $8 + end i32.const 4 - local.get $4 - i32.load $0 offset=1568 + local.get $7 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1587,21 +1603,6 @@ i32.sub i32.ne i32.shl - local.get $8 - i32.const 1 - i32.const 27 - local.get $8 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $8 - local.get $8 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1614,27 +1615,28 @@ local.get $5 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $5 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - local.get $4 + local.get $7 local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory - local.get $4 + local.get $7 local.get $8 call $~lib/rt/tlsf/searchBlock local.tee $1 @@ -1642,7 +1644,7 @@ if i32.const 0 i32.const 1904 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1650,24 +1652,24 @@ end local.get $8 local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1904 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $4 + local.get $7 local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 - local.set $5 + i32.load + local.set $9 local.get $8 i32.const 4 i32.add @@ -1676,95 +1678,95 @@ if i32.const 0 i32.const 1904 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $5 + local.get $9 i32.const -4 i32.and local.get $8 i32.sub - local.tee $9 + local.tee $5 i32.const 16 i32.ge_u if local.get $1 local.get $8 - local.get $5 + local.get $9 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $8 i32.add - local.tee $5 - local.get $9 + local.tee $8 + local.get $5 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 - local.get $4 - local.get $5 + i32.store + local.get $7 + local.get $8 call $~lib/rt/tlsf/insertBlock else local.get $1 - local.get $5 + local.get $9 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add - local.tee $4 - local.get $4 - i32.load $0 + local.tee $5 + local.get $5 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 - local.get $7 - i32.store $0 offset=12 + local.get $6 + i32.store offset=12 local.get $1 local.get $3 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace - local.tee $4 - i32.load $0 offset=8 - local.set $5 + local.tee $5 + i32.load offset=8 + local.set $6 local.get $1 - local.get $4 + local.get $5 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - local.get $5 - i32.store $0 offset=8 - local.get $5 + local.get $6 + i32.store offset=8 + local.get $6 local.get $1 - local.get $5 - i32.load $0 offset=4 + local.get $6 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + local.get $5 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1777,18 +1779,18 @@ local.tee $1 i32.const 0 local.get $3 - memory.fill $0 + memory.fill local.get $1 local.get $2 local.get $3 - local.get $6 - i32.load $0 offset=16 + local.get $4 + i32.load offset=16 local.tee $4 local.get $3 local.get $4 i32.lt_u select - memory.copy $0 $0 + memory.copy end local.get $1 local.get $2 @@ -1796,10 +1798,10 @@ if local.get $0 local.get $1 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 if local.get $0 @@ -1817,7 +1819,7 @@ i32.const 20 i32.sub local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.eq @@ -1825,7 +1827,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and local.tee $2 @@ -1853,7 +1855,7 @@ end local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -1862,7 +1864,6 @@ ) (func $~lib/array/Array#__get (param $0 i32) (result i64) (local $1 i64) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1879,15 +1880,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1184 - i32.store $0 + i32.store local.get $0 i32.const 1196 - i32.load $0 + i32.load i32.ge_u if i32.const 1472 @@ -1898,26 +1898,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 1184 - i32.store $0 + i32.store i32.const 1188 - i32.load $0 + i32.load local.get $0 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $1 - local.get $2 + i64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) (func $~lib/array/Array#__get (param $0 i32) (result f32) (local $1 f32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1934,15 +1930,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1264 - i32.store $0 + i32.store local.get $0 i32.const 1276 - i32.load $0 + i32.load i32.ge_u if i32.const 1472 @@ -1953,26 +1948,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 1264 - i32.store $0 + i32.store i32.const 1268 - i32.load $0 + i32.load local.get $0 i32.const 2 i32.shl i32.add - f32.load $0 - local.set $1 - local.get $2 + f32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) (func $~lib/array/Array#__get (param $0 i32) (result f64) (local $1 f64) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1989,15 +1980,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1360 - i32.store $0 + i32.store local.get $0 i32.const 1372 - i32.load $0 + i32.load i32.ge_u if i32.const 1472 @@ -2008,25 +1998,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 1360 - i32.store $0 + i32.store i32.const 1364 - i32.load $0 + i32.load local.get $0 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $1 - local.get $2 + f64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) (func $start:std/static-array - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2037,12 +2023,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store i32.const 1088 call $~lib/array/Array#get:length i32.const 2 @@ -2057,7 +2042,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store i32.const 0 call $~lib/array/Array#__get i32.const 1 @@ -2072,7 +2057,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store i32.const 1 call $~lib/array/Array#__get i32.const 2 @@ -2085,7 +2070,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34756 @@ -2095,33 +2080,32 @@ global.set $~lib/rt/itcms/threshold i32.const 1748 i32.const 1744 - i32.store $0 + i32.store i32.const 1752 i32.const 1744 - i32.store $0 + i32.store i32.const 1744 global.set $~lib/rt/itcms/pinSpace i32.const 1780 i32.const 1776 - i32.store $0 + i32.store i32.const 1784 i32.const 1776 - i32.store $0 + i32.store i32.const 1776 global.set $~lib/rt/itcms/toSpace i32.const 1860 i32.const 1856 - i32.store $0 + i32.store i32.const 1864 i32.const 1856 - i32.store $0 + i32.store i32.const 1856 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1088 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2130,14 +2114,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store i32.const 1100 - i32.load $0 + i32.load i32.eqz if i32.const 1088 @@ -2145,26 +2128,25 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store i32.const 1100 i32.const 1 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1088 - i32.store $0 + i32.store i32.const 1092 - i32.load $0 + i32.load i32.const 2 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 + i32.store i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -2179,7 +2161,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1184 - i32.store $0 + i32.store i32.const 1184 call $~lib/array/Array#get:length i32.const 2 @@ -2194,7 +2176,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1184 - i32.store $0 + i32.store i32.const 0 call $~lib/array/Array#__get i64.const 3 @@ -2209,7 +2191,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1184 - i32.store $0 + i32.store i32.const 1 call $~lib/array/Array#__get i64.const 4 @@ -2223,10 +2205,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1184 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2235,14 +2216,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1184 - i32.store $0 + i32.store i32.const 1196 - i32.load $0 + i32.load i32.eqz if i32.const 1184 @@ -2250,26 +2230,25 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer i32.const 1184 - i32.store $0 + i32.store i32.const 1196 i32.const 1 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1184 - i32.store $0 + i32.store i32.const 1188 - i32.load $0 + i32.load i64.const 4 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1184 - i32.store $0 + i32.store i32.const 0 call $~lib/array/Array#__get i64.const 4 @@ -2284,7 +2263,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1264 - i32.store $0 + i32.store i32.const 1264 call $~lib/array/Array#get:length i32.const 2 @@ -2299,7 +2278,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1264 - i32.store $0 + i32.store i32.const 0 call $~lib/array/Array#__get f32.const 1.5 @@ -2314,7 +2293,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1264 - i32.store $0 + i32.store i32.const 1 call $~lib/array/Array#__get f32.const 2.5 @@ -2328,10 +2307,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1264 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2340,14 +2318,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1264 - i32.store $0 + i32.store i32.const 1276 - i32.load $0 + i32.load i32.eqz if i32.const 1264 @@ -2355,26 +2332,25 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer i32.const 1264 - i32.store $0 + i32.store i32.const 1276 i32.const 1 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1264 - i32.store $0 + i32.store i32.const 1268 - i32.load $0 + i32.load f32.const 2.5 - f32.store $0 - local.get $0 + f32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1264 - i32.store $0 + i32.store i32.const 0 call $~lib/array/Array#__get f32.const 2.5 @@ -2389,7 +2365,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1360 - i32.store $0 + i32.store i32.const 1360 call $~lib/array/Array#get:length i32.const 2 @@ -2404,7 +2380,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1360 - i32.store $0 + i32.store i32.const 0 call $~lib/array/Array#__get f64.const 1.25 @@ -2419,7 +2395,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1360 - i32.store $0 + i32.store i32.const 1 call $~lib/array/Array#__get f64.const 2.25 @@ -2433,10 +2409,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1360 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2445,14 +2420,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1360 - i32.store $0 + i32.store i32.const 1372 - i32.load $0 + i32.load i32.eqz if i32.const 1360 @@ -2460,26 +2434,25 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer i32.const 1360 - i32.store $0 + i32.store i32.const 1372 i32.const 1 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1360 - i32.store $0 + i32.store i32.const 1364 - i32.load $0 + i32.load f64.const 2.25 - f64.store $0 - local.get $0 + f64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1360 - i32.store $0 + i32.store i32.const 0 call $~lib/array/Array#__get f64.const 2.25 @@ -2505,23 +2478,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/std/staticarray.debug.wat b/tests/compiler/std/staticarray.debug.wat index 91f0a53256..65ff72d2fc 100644 --- a/tests/compiler/std/staticarray.debug.wat +++ b/tests/compiler/std/staticarray.debug.wat @@ -1,19 +1,20 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 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_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32))) - (type $i32_i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32 i32))) - (type $i32_f64_i32_=>_i32 (func (param i32 f64 i32) (result i32))) - (type $i32_f32_i32_=>_i32 (func (param i32 f32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32 i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32))) + (type $7 (func)) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (result i32))) + (type $10 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $11 (func (param i32 i32 i32 i32 i32))) + (type $12 (func (param i32 i32 i64) (result i32))) + (type $13 (func (param i32 i32 i32 i32 i32 i32))) + (type $14 (func (param i32 f64 i32) (result i32))) + (type $15 (func (param i32 f32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/staticarray/arr1 i32 (i32.const 32)) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) @@ -39,86 +40,91 @@ (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) (global $std/staticarray/maxVal (mut i32) (i32.const 0)) (global $~lib/builtins/u32.MAX_VALUE i32 (i32.const -1)) - (global $~lib/rt/__rtti_base i32 (i32.const 2704)) - (global $~lib/memory/__data_end i32 (i32.const 2776)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35544)) - (global $~lib/memory/__heap_base i32 (i32.const 35544)) + (global $~lib/rt/__rtti_base i32 (i32.const 2864)) + (global $~lib/memory/__data_end i32 (i32.const 2936)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35704)) + (global $~lib/memory/__heap_base i32 (i32.const 35704)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 684) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00") - (data (i32.const 732) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 780) "\1c\00\00\00\00\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 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") - (data (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 876) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00n\00t\00\00\00\00\00\00\00") - (data (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00b\00i\00s\00o\00n\00\00\00") - (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00c\00a\00m\00e\00l\00\00\00") - (data (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00d\00u\00c\00k\00\00\00\00\00") - (data (i32.const 1036) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00e\00l\00e\00p\00h\00a\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1084) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\14\00\00\00\a0\03\00\00\c0\03\00\00\e0\03\00\00\00\04\00\00 \04\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1132) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1260) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\14\00\00\00\a0\03\00\00\c0\03\00\00\e0\03\00\00\00\04\00\00 \04\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1308) "\1c\00\00\00\00\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 1340) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00f\00o\00o\00\00\00\00\00\00\00") - (data (i32.const 1372) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00P\05\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1404) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\14\00\00\00\a0\03\00\00\c0\03\00\00\e0\03\00\00\00\04\00\00 \04\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1452) "\1c\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") - (data (i32.const 1484) "\1c\00\00\00\00\00\00\00\00\00\00\00\0b\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") - (data (i32.const 1516) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\02\00\00\00\t\00\00\00\t\00\00\00") - (data (i32.const 1548) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1596) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00F\00i\00r\00e\00\00\00\00\00") - (data (i32.const 1628) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00i\00r\00\00\00\00\00\00\00") - (data (i32.const 1660) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00W\00a\00t\00e\00r\00\00\00") - (data (i32.const 1692) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\0c\00\00\00P\06\00\00p\06\00\00\90\06\00\00") - (data (i32.const 1724) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1756) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1788) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00F\00i\00r\00e\00,\00A\00i\00r\00,\00W\00a\00t\00e\00r\00") - (data (i32.const 1836) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00F\00i\00r\00e\00A\00i\00r\00W\00a\00t\00e\00r\00\00\00\00\00") - (data (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1916) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00F\00i\00r\00e\00-\00A\00i\00r\00-\00W\00a\00t\00e\00r\00") - (data (i32.const 1964) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00+\00 \00\00\00\00\00\00\00") - (data (i32.const 1996) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00F\00i\00r\00e\00 \00+\00 \00A\00i\00r\00 \00+\00 \00W\00a\00t\00e\00r\00\00\00\00\00\00\00\00\00") - (data (i32.const 2060) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2092) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 2124) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2172) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") - (data (i32.const 2204) "\1c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2236) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2268) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2620) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2704) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00$\t\00\00 \00\00\00\04A\00\00\02\t\00\00\04A\00\00\02A\00\00$\1a\00\00$\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00") + (data $3 (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 236) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $5 (i32.const 268) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00") + (data $6 (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $11 (i32.const 544) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 572) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $13 (i32.const 636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $14 (i32.const 684) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05\00\00\00\00\00\00\00") + (data $15 (i32.const 732) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $16 (i32.const 780) "\1c\00\00\00\00\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 $17 (i32.const 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data $18 (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\04\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 876) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $20 (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data $21 (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data $22 (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\08\00\00\00\a0\03\00\00\c0\03\00\00\00\00\00\00") + (data $23 (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\003\00\00\00\00\00\00\00\00\00\00\00") + (data $24 (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\04\00\00\00\00\04\00\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 1068) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00n\00t\00\00\00\00\00\00\00") + (data $26 (i32.const 1100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00b\00i\00s\00o\00n\00\00\00") + (data $27 (i32.const 1132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00c\00a\00m\00e\00l\00\00\00") + (data $28 (i32.const 1164) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00d\00u\00c\00k\00\00\00\00\00") + (data $29 (i32.const 1196) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00e\00l\00e\00p\00h\00a\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $30 (i32.const 1244) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\14\00\00\00@\04\00\00`\04\00\00\80\04\00\00\a0\04\00\00\c0\04\00\00\00\00\00\00\00\00\00\00") + (data $31 (i32.const 1292) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $32 (i32.const 1420) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\14\00\00\00@\04\00\00`\04\00\00\80\04\00\00\a0\04\00\00\c0\04\00\00\00\00\00\00\00\00\00\00") + (data $33 (i32.const 1468) "\1c\00\00\00\00\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 $34 (i32.const 1500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00f\00o\00o\00\00\00\00\00\00\00") + (data $35 (i32.const 1532) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\04\00\00\00\f0\05\00\00\00\00\00\00\00\00\00\00") + (data $36 (i32.const 1564) ",\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\14\00\00\00@\04\00\00`\04\00\00\80\04\00\00\a0\04\00\00\c0\04\00\00\00\00\00\00\00\00\00\00") + (data $37 (i32.const 1612) "\1c\00\00\00\00\00\00\00\00\00\00\00\n\00\00\00\08\00\00\00\00\00\00\00\00\00\f8\7f\00\00\00\00") + (data $38 (i32.const 1644) "\1c\00\00\00\00\00\00\00\00\00\00\00\0b\00\00\00\04\00\00\00\00\00\c0\7f\00\00\00\00\00\00\00\00") + (data $39 (i32.const 1676) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\02\00\00\00\t\00\00\00\t\00\00\00") + (data $40 (i32.const 1708) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $41 (i32.const 1756) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00F\00i\00r\00e\00\00\00\00\00") + (data $42 (i32.const 1788) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00i\00r\00\00\00\00\00\00\00") + (data $43 (i32.const 1820) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00W\00a\00t\00e\00r\00\00\00") + (data $44 (i32.const 1852) "\1c\00\00\00\00\00\00\00\00\00\00\00\08\00\00\00\0c\00\00\00\f0\06\00\00\10\07\00\000\07\00\00") + (data $45 (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $46 (i32.const 1916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data $47 (i32.const 1948) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00F\00i\00r\00e\00,\00A\00i\00r\00,\00W\00a\00t\00e\00r\00") + (data $48 (i32.const 1996) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00F\00i\00r\00e\00A\00i\00r\00W\00a\00t\00e\00r\00\00\00\00\00") + (data $49 (i32.const 2044) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data $50 (i32.const 2076) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00F\00i\00r\00e\00-\00A\00i\00r\00-\00W\00a\00t\00e\00r\00") + (data $51 (i32.const 2124) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00+\00 \00\00\00\00\00\00\00") + (data $52 (i32.const 2156) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00F\00i\00r\00e\00 \00+\00 \00A\00i\00r\00 \00+\00 \00W\00a\00t\00e\00r\00\00\00\00\00\00\00\00\00") + (data $53 (i32.const 2220) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $54 (i32.const 2252) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $55 (i32.const 2284) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $56 (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00") + (data $57 (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\0c\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $58 (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\r\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $59 (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $60 (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data $61 (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $62 (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data $63 (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data $64 (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data $65 (i32.const 2620) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $66 (i32.const 2652) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data $67 (i32.const 2684) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data $68 (i32.const 2716) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") + (data $69 (i32.const 2748) "\1c\00\00\00\00\00\00\00\00\00\00\00\0e\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") + (data $70 (i32.const 2780) ",\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $71 (i32.const 2828) "\1c\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") + (data $72 (i32.const 2864) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00$\t\00\00 \00\00\00\04A\00\00\02\t\00\00\04A\00\00\02A\00\00$\1a\00\00$\19\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 15 15 funcref) (elem $0 (i32.const 1) $start:std/staticarray~anonymous|0 $start:std/staticarray~anonymous|1 $start:std/staticarray~anonymous|2 $start:std/staticarray~anonymous|3 $start:std/staticarray~anonymous|4 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $start:std/staticarray~anonymous|7 $start:std/staticarray~anonymous|8 $start:std/staticarray~anonymous|9 $start:std/staticarray~anonymous|10 $start:std/staticarray~anonymous|11 $start:std/staticarray~anonymous|12 $~lib/util/sort/COMPARATOR~anonymous|0) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/staticarray/StaticArray#get:length (param $this i32) (result i32) local.get $this @@ -136,23 +142,23 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 0 drop ) (func $~lib/rt/common/OBJECT#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -166,7 +172,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -240,7 +246,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -310,11 +316,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -322,7 +328,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 64 @@ -454,7 +460,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -467,7 +473,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -483,34 +489,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -670,7 +676,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -693,7 +699,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -707,7 +713,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -730,7 +736,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -873,7 +879,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -959,7 +965,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1039,7 +1045,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1073,7 +1079,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1096,7 +1102,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1110,27 +1116,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 592 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1155,9 +1166,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1176,7 +1187,7 @@ if i32.const 0 i32.const 592 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1195,7 +1206,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1209,7 +1219,7 @@ if i32.const 0 i32.const 592 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1265,12 +1275,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1304,7 +1314,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1325,7 +1335,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1345,7 +1355,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1365,7 +1375,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1391,7 +1401,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1414,9 +1424,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1452,7 +1463,7 @@ if i32.const 0 i32.const 592 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1718,14 +1729,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1781,7 +1795,7 @@ if i32.const 320 i32.const 592 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1790,6 +1804,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1819,24 +1853,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1874,7 +1897,7 @@ if i32.const 0 i32.const 592 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1889,7 +1912,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1934,7 +1957,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1945,7 +1968,7 @@ if i32.const 0 i32.const 592 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1967,7 +1990,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1990,7 +2013,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2009,22 +2032,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2037,7 +2052,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2064,27 +2079,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2109,7 +2125,7 @@ if i32.const 0 i32.const 592 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2224,7 +2240,7 @@ if i32.const 0 i32.const 592 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2244,7 +2260,7 @@ if i32.const 0 i32.const 592 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2277,12 +2293,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2333,7 +2349,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2348,7 +2364,7 @@ local.get $buffer local.get $data local.get $size - memory.copy $0 $0 + memory.copy end local.get $buffer return @@ -2436,7 +2452,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -2446,11 +2462,11 @@ ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/staticarray/StaticArray<~lib/string/String>#get:length (param $this i32) (result i32) local.get $this @@ -2511,9 +2527,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2546,10 +2562,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2576,11 +2592,11 @@ ) (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/staticarray/StaticArray#get:length (param $this i32) (result i32) local.get $this @@ -2692,7 +2708,7 @@ i32.sub i32.const 2 i32.shl - memory.fill $0 + memory.fill end return end @@ -2707,7 +2723,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store local.get $start i32.const 1 i32.add @@ -2769,15 +2785,15 @@ i32.add local.set $back local.get $front - i32.load $0 + i32.load local.set $temp local.get $front local.get $back - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $back local.get $temp - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -2812,15 +2828,15 @@ ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2864,14 +2880,14 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $start:std/staticarray~anonymous|3 (param $x i32) (param $y i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $x @@ -2968,14 +2984,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $b local.get $b local.set $min @@ -2986,8 +3002,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 0 i32.le_s if @@ -3011,15 +3027,15 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 0 i32.gt_s if @@ -3029,7 +3045,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=8 + i32.store offset=8 local.get $j i32.const 1 i32.sub @@ -3047,7 +3063,7 @@ i32.shl i32.add local.get $max - i32.store $0 offset=8 + i32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -3059,15 +3075,15 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 0 i32.gt_s if @@ -3077,7 +3093,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=4 + i32.store offset=4 local.get $j i32.const 1 i32.sub @@ -3095,7 +3111,7 @@ i32.shl i32.add local.get $min - i32.store $0 offset=4 + i32.store offset=4 local.get $i i32.const 2 i32.add @@ -3122,7 +3138,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $ptr local.get $j i32.const 1 @@ -3131,12 +3147,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 0 i32.gt_s if @@ -3150,18 +3166,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 31 i32.shr_u else @@ -3187,7 +3203,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $tmp local.get $ptr local.get $i @@ -3199,8 +3215,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.add @@ -3211,7 +3227,7 @@ i32.shl i32.add local.get $tmp - i32.store $0 + i32.store local.get $k i32.const 1 i32.sub @@ -3230,18 +3246,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 0 i32.ge_s else @@ -3348,8 +3364,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.sub @@ -3376,8 +3392,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $j i32.const 1 i32.add @@ -3397,22 +3413,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $buffer local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 0 i32.lt_s if @@ -3422,7 +3438,7 @@ i32.shl i32.add local.get $a - i32.store $0 + i32.store local.get $j i32.const 1 i32.sub @@ -3434,7 +3450,7 @@ i32.shl i32.add local.get $b - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -3535,7 +3551,7 @@ i32.const 656 local.get $0 call $~lib/rt/itcms/__visit - i32.const 1152 + i32.const 1312 local.get $0 call $~lib/rt/itcms/__visit i32.const 320 @@ -3548,16 +3564,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/staticarray/StaticArray#__visit (param $this i32) (param $cookie i32) (local $cur i32) @@ -3580,7 +3591,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -3606,7 +3617,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3637,7 +3648,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -3663,7 +3674,7 @@ ) (func $~lib/array/Array<~lib/string/String>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3675,7 +3686,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3687,7 +3698,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3699,7 +3710,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3711,7 +3722,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3723,7 +3734,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -3755,7 +3766,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $std/staticarray/Ref $~lib/staticarray/StaticArray $~lib/array/Array $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $invalid end return @@ -3832,8 +3843,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 35568 - i32.const 35616 + i32.const 35728 + i32.const 35776 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3850,13 +3861,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/staticarray/StaticArray#get:length i32.ge_u @@ -3873,7 +3884,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -3895,13 +3906,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/staticarray/StaticArray#get:length i32.ge_u @@ -3917,7 +3928,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index local.get $value @@ -3936,7 +3947,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3945,18 +3956,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3974,12 +3985,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -4002,12 +4013,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $source local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length local.set $length @@ -4020,7 +4031,7 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 drop local.get $out @@ -4028,11 +4039,11 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.get $outSize - memory.copy $0 $0 + memory.copy local.get $out local.set $4 global.get $~lib/memory/__stack_pointer @@ -4052,13 +4063,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -4074,14 +4085,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -4111,12 +4122,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/staticarray/StaticArray#get:length local.set $sourceLen @@ -4124,7 +4135,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/staticarray/StaticArray#get:length local.set $otherLen @@ -4152,7 +4163,7 @@ global.get $~lib/memory/__stack_pointer local.get $this local.tee $out - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 drop i32.const 1 @@ -4164,7 +4175,7 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.set $outStart local.get $other @@ -4176,7 +4187,7 @@ local.get $outStart local.get $thisStart local.get $sourceSize - memory.copy $0 $0 + memory.copy local.get $outStart local.get $sourceSize i32.add @@ -4184,7 +4195,7 @@ local.get $otherLen i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $out local.set $10 global.get $~lib/memory/__stack_pointer @@ -4194,6 +4205,163 @@ local.get $10 return ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/staticarray/StaticArray<~lib/string/String>> (param $this i32) (param $other i32) (result i32) + (local $sourceLen i32) + (local $otherLen i32) + (local $outLen i32) + (local $sourceSize i32) + (local $out i32) + (local $outStart i32) + (local $otherStart i32) + (local $thisStart i32) + (local $offset i32) + (local $ref i32) + (local $otherSize i32) + (local $offset|13 i32) + (local $ref|14 i32) + (local $15 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $15 + i32.store + local.get $15 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + local.set $sourceLen + local.get $other + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $15 + i32.store + local.get $15 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + local.set $otherLen + local.get $sourceLen + local.get $otherLen + i32.add + local.set $outLen + local.get $outLen + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 656 + i32.const 128 + i32.const 178 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $sourceLen + i32.const 2 + i32.shl + local.set $sourceSize + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $out + i32.store offset=4 + i32.const 0 + drop + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $outLen + i32.const 2 + i32.shl + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store offset=4 + local.get $out + local.set $outStart + local.get $other + local.set $otherStart + local.get $this + local.set $thisStart + i32.const 1 + drop + i32.const 0 + local.set $offset + loop $for-loop|0 + local.get $offset + local.get $sourceSize + i32.lt_u + if + local.get $thisStart + local.get $offset + i32.add + i32.load + local.set $ref + local.get $outStart + local.get $offset + i32.add + local.get $ref + i32.store + local.get $out + local.get $ref + i32.const 1 + call $~lib/rt/itcms/__link + local.get $offset + i32.const 4 + i32.add + local.set $offset + br $for-loop|0 + end + end + local.get $outStart + local.get $sourceSize + i32.add + local.set $outStart + local.get $otherLen + i32.const 2 + i32.shl + local.set $otherSize + i32.const 0 + local.set $offset|13 + loop $for-loop|1 + local.get $offset|13 + local.get $otherSize + i32.lt_u + if + local.get $otherStart + local.get $offset|13 + i32.add + i32.load + local.set $ref|14 + local.get $outStart + local.get $offset|13 + i32.add + local.get $ref|14 + i32.store + local.get $out + local.get $ref|14 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $offset|13 + i32.const 4 + i32.add + local.set $offset|13 + br $for-loop|1 + end + end + local.get $out + local.set $15 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $15 + return + ) (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> (param $this i32) (param $start i32) (param $end i32) (result i32) (local $length i32) (local $4 i32) @@ -4220,12 +4388,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $20 global.get $~lib/memory/__stack_pointer local.get $20 - i32.store $0 + i32.store local.get $20 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length local.set $length @@ -4303,7 +4471,7 @@ global.get $~lib/memory/__stack_pointer local.get $this local.tee $out - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 drop i32.const 1 @@ -4313,7 +4481,7 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.set $outStart i32.const 1 @@ -4328,13 +4496,13 @@ local.get $sourceStart local.get $off i32.add - i32.load $0 + i32.load local.set $ref local.get $outStart local.get $off i32.add local.get $ref - i32.store $0 + i32.store local.get $outStart local.get $ref i32.const 1 @@ -4364,7 +4532,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -4384,7 +4552,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $start local.get $end @@ -4406,13 +4574,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.ge_u @@ -4430,9 +4598,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -4441,7 +4609,7 @@ local.get $value i32.eqz if - i32.const 1152 + i32.const 1312 i32.const 128 i32.const 82 i32.const 40 @@ -4467,7 +4635,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -4505,7 +4673,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -4514,7 +4682,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -4532,14 +4700,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -4562,12 +4730,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array<~lib/string/String>#get:length_ local.set $1 @@ -4600,12 +4768,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $15 global.get $~lib/memory/__stack_pointer local.get $15 - i32.store $0 + i32.store local.get $15 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length local.set $sourceLen @@ -4613,7 +4781,7 @@ local.set $15 global.get $~lib/memory/__stack_pointer local.get $15 - i32.store $0 + i32.store local.get $15 call $~lib/array/Array<~lib/string/String>#get:length local.set $otherLen @@ -4641,7 +4809,7 @@ global.get $~lib/memory/__stack_pointer local.get $this local.tee $out - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop global.get $~lib/memory/__stack_pointer @@ -4651,12 +4819,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.set $15 global.get $~lib/memory/__stack_pointer local.get $15 - i32.store $0 + i32.store local.get $15 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $outStart @@ -4664,7 +4832,7 @@ local.set $15 global.get $~lib/memory/__stack_pointer local.get $15 - i32.store $0 + i32.store local.get $15 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $otherStart @@ -4682,13 +4850,13 @@ local.get $thisStart local.get $offset i32.add - i32.load $0 + i32.load local.set $ref local.get $outStart local.get $offset i32.add local.get $ref - i32.store $0 + i32.store local.get $out local.get $ref i32.const 1 @@ -4718,13 +4886,13 @@ local.get $otherStart local.get $offset|13 i32.add - i32.load $0 + i32.load local.set $ref|14 local.get $outStart local.get $offset|13 i32.add local.get $ref|14 - i32.store $0 + i32.store local.get $out local.get $ref|14 i32.const 1 @@ -4757,12 +4925,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length local.set $length @@ -4812,17 +4980,17 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $value local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/string/String.__eq if @@ -4860,20 +5028,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 0 drop local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $value local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $fromIndex call $~lib/staticarray/StaticArray<~lib/string/String>#indexOf @@ -4900,14 +5068,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/staticarray/StaticArray#get:length local.set $length @@ -4957,7 +5125,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $elem local.get $elem local.get $value @@ -5012,14 +5180,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/staticarray/StaticArray#get:length local.set $length @@ -5069,7 +5237,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $elem local.get $elem local.get $value @@ -5123,12 +5291,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/staticarray/StaticArray#get:length local.set $length @@ -5178,7 +5346,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $value i32.eq if @@ -5217,12 +5385,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/staticarray/StaticArray#get:length local.set $length @@ -5268,7 +5436,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $value i32.eq if @@ -5306,7 +5474,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -5321,7 +5489,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/staticarray/StaticArray#get:length local.set $fromIndex @@ -5330,7 +5498,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $value local.get $fromIndex @@ -5361,10 +5529,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $length i32.const 1 i32.sub @@ -5373,7 +5541,7 @@ i32.const 0 i32.lt_s if - i32.const 1744 + i32.const 1904 local.set $13 global.get $~lib/memory/__stack_pointer i32.const 16 @@ -5387,14 +5555,14 @@ if global.get $~lib/memory/__stack_pointer local.get $dataStart - i32.load $0 + i32.load local.tee $4 - i32.store $0 + i32.store local.get $4 if (result i32) local.get $4 else - i32.const 1744 + i32.const 1904 end local.set $13 global.get $~lib/memory/__stack_pointer @@ -5419,9 +5587,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -5431,7 +5599,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length i32.add @@ -5450,7 +5618,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length local.set $sepLen @@ -5465,7 +5633,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i|11 loop $for-loop|1 @@ -5479,9 +5647,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -5490,7 +5658,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length local.set $valueLen @@ -5503,7 +5671,7 @@ local.get $valueLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $valueLen i32.add @@ -5520,7 +5688,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -5539,9 +5707,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -5556,12 +5724,12 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy end local.get $result local.set $13 @@ -5581,7 +5749,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 0 drop i32.const 0 @@ -5599,14 +5767,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinStringArray local.set $2 @@ -5620,29 +5788,24 @@ (func $~lib/staticarray/StaticArray<~lib/string/String>#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $1 - i32.const 1776 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + i32.store local.get $1 + i32.const 1936 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -5657,7 +5820,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this @@ -5665,7 +5828,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/staticarray/StaticArray#get:length local.get $value @@ -5690,7 +5853,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -5712,7 +5875,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $value local.get $start @@ -5734,13 +5897,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/staticarray/StaticArray#get:length call $~lib/util/bytes/REVERSE @@ -5784,14 +5947,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $ptr local.get $this local.set $26 global.get $~lib/memory/__stack_pointer local.get $26 - i32.store $0 + i32.store local.get $26 call $~lib/staticarray/StaticArray#get:length local.set $len @@ -5905,7 +6068,7 @@ local.get $count i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $this local.set $26 global.get $~lib/memory/__stack_pointer @@ -5924,7 +6087,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -5942,7 +6105,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $target local.get $start @@ -5963,21 +6126,18 @@ (local $result i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/staticarray/StaticArray#get:length local.set $len @@ -5988,12 +6148,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/array/Array#get:dataStart local.set $outStart @@ -6009,19 +6169,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) local.set $result local.get $outStart local.get $i @@ -6029,7 +6189,7 @@ i32.shl i32.add local.get $result - i32.store $0 + i32.store i32.const 0 drop local.get $i @@ -6042,7 +6202,7 @@ local.get $out local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $7 @@ -6053,20 +6213,20 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store i32.const 0 local.set $i local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/staticarray/StaticArray#get:length local.set $len @@ -6080,19 +6240,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.load + call_indirect (type $5) local.get $i i32.const 1 i32.add @@ -6101,7 +6261,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -6124,12 +6284,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -6156,7 +6316,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -6206,10 +6366,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -6217,7 +6377,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6235,12 +6395,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length_ local.set $oldLen @@ -6259,7 +6419,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:dataStart local.get $oldLen @@ -6267,12 +6427,12 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $len call $~lib/array/Array#set:length_ @@ -6292,16 +6452,13 @@ (local $value i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 @@ -6309,14 +6466,14 @@ i32.const 0 call $~lib/rt/__newArray local.tee $result - i32.store $0 + i32.store i32.const 0 local.set $i local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/staticarray/StaticArray#get:length local.set $len @@ -6330,7 +6487,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value local.get $value local.get $i @@ -6338,19 +6495,19 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=4 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) if local.get $result local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $value call $~lib/array/Array#push @@ -6366,7 +6523,7 @@ local.get $result local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $6 @@ -6378,13 +6535,13 @@ (local $len i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $initialValue local.set $acc i32.const 0 @@ -6393,7 +6550,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/staticarray/StaticArray#get:length local.set $len @@ -6408,19 +6565,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store local.get $6 i32.const 4 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $4) local.set $acc local.get $i i32.const 1 @@ -6432,7 +6589,7 @@ local.get $acc local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $6 @@ -6443,20 +6600,20 @@ (local $i i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $initialValue local.set $acc local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/staticarray/StaticArray#get:length i32.const 1 @@ -6473,19 +6630,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 4 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $4) local.set $acc local.get $i i32.const 1 @@ -6497,7 +6654,7 @@ local.get $acc local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $5 @@ -6508,20 +6665,20 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store i32.const 0 local.set $i local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/staticarray/StaticArray#get:length local.set $len @@ -6535,24 +6692,24 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) if i32.const 1 local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -6568,7 +6725,7 @@ i32.const 0 local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -6579,20 +6736,20 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store i32.const 0 local.set $i local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/staticarray/StaticArray#get:length local.set $len @@ -6606,25 +6763,25 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) i32.eqz if i32.const 0 local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -6640,7 +6797,7 @@ i32.const 1 local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -6651,20 +6808,20 @@ (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store i32.const 0 local.set $i local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/staticarray/StaticArray#get:length local.set $len @@ -6678,24 +6835,24 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store local.get $4 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) if local.get $i local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -6711,7 +6868,7 @@ i32.const -1 local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -6721,18 +6878,18 @@ (local $i i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/staticarray/StaticArray#get:length i32.const 1 @@ -6748,24 +6905,24 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store local.get $3 i32.const 3 global.set $~argumentsLength local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $3) if local.get $i local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $3 @@ -6781,7 +6938,7 @@ i32.const -1 local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $3 @@ -6821,16 +6978,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -6840,7 +6994,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -6865,18 +7019,18 @@ br $break|0 end local.get $ptr - i32.load $0 + i32.load local.set $a local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 0 i32.gt_s local.set $c @@ -6885,22 +7039,22 @@ local.get $a local.get $c select - i32.store $0 + i32.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i32.load $0 offset=8 + i32.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 0 i32.gt_s local.set $c @@ -6909,27 +7063,27 @@ local.get $a local.get $c select - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - i32.store $0 offset=8 + i32.store offset=8 end local.get $ptr - i32.load $0 + i32.load local.set $a|7 local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $2) i32.const 0 i32.gt_s local.set $c|9 @@ -6938,15 +7092,15 @@ local.get $a|7 local.get $c|9 select - i32.store $0 + i32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -6961,11 +7115,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -7008,7 +7162,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -7032,7 +7186,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -7063,7 +7217,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -7087,7 +7241,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -7122,7 +7276,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -7145,7 +7299,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -7158,7 +7312,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -7167,7 +7321,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -7178,7 +7332,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -7193,14 +7347,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -7222,7 +7376,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -7235,7 +7389,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -7244,7 +7398,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -7260,7 +7414,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -7273,20 +7427,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/staticarray/StaticArray#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -7307,10 +7461,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -7327,23 +7481,23 @@ i32.const 4 i32.le_u drop - i32.const 2688 + i32.const 2848 br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/staticarray/StaticArray#sort local.set $2 @@ -7408,19 +7562,19 @@ (local $51 i32) (local $52 i32) global.get $~lib/memory/__stack_pointer - i32.const 100 + i32.const 104 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 100 - memory.fill $0 + i32.const 104 + memory.fill global.get $std/staticarray/arr1 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -7439,7 +7593,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 3 @@ -7457,7 +7611,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 i32.const 4 @@ -7466,7 +7620,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -7500,7 +7654,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -7519,7 +7673,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 3 @@ -7537,7 +7691,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 i32.const 4 @@ -7546,7 +7700,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -7561,7 +7715,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -7584,7 +7738,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#__get @@ -7603,7 +7757,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -7622,7 +7776,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 call $~lib/staticarray/StaticArray#__get @@ -7641,7 +7795,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 3 @@ -7659,7 +7813,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 i32.const 8 @@ -7668,7 +7822,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -7689,7 +7843,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -7710,7 +7864,7 @@ i32.const 0 call $~lib/rt/__newBuffer local.tee $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 0 @@ -7732,12 +7886,12 @@ i32.const 3 call $~lib/staticarray/StaticArray#constructor local.tee $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 3 @@ -7759,7 +7913,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#get:length i32.lt_s @@ -7768,7 +7922,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 local.get $4 call $~lib/staticarray/StaticArray#__get @@ -7796,30 +7950,30 @@ i32.const 7 i32.const 704 call $~lib/rt/__newArray - local.tee $7 - i32.store $0 offset=12 + local.tee $6 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $6 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray.fromArray - local.tee $8 - i32.store $0 offset=16 - local.get $8 + local.tee $7 + i32.store offset=16 + local.get $7 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#get:length - local.get $7 + local.get $6 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/array/Array#get:length i32.eq @@ -7833,33 +7987,33 @@ unreachable end i32.const 0 - local.set $9 + local.set $8 loop $for-loop|1 - local.get $9 - local.get $7 + local.get $8 + local.get $6 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/array/Array#get:length i32.lt_s if - local.get $8 + local.get $7 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - local.get $9 + local.get $8 call $~lib/staticarray/StaticArray#__get - local.get $7 + local.get $6 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - local.get $9 + local.get $8 call $~lib/array/Array#__get i32.eq i32.eqz @@ -7871,10 +8025,10 @@ call $~lib/builtins/abort unreachable end - local.get $9 + local.get $8 i32.const 1 i32.add - local.set $9 + local.set $8 br $for-loop|1 end end @@ -7887,16 +8041,16 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray.fromArray - local.tee $8 - i32.store $0 offset=16 - local.get $8 + local.tee $7 + i32.store offset=16 + local.get $7 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 0 @@ -7915,14 +8069,14 @@ i32.const 4 i32.const 832 call $~lib/rt/__newBuffer - local.tee $13 - i32.store $0 offset=20 + local.tee $11 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $11 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 4 i32.const 4 @@ -7931,16 +8085,16 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> - local.tee $15 - i32.store $0 offset=28 - local.get $15 + local.tee $13 + i32.store offset=28 + local.get $13 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 3 @@ -7955,11 +8109,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $13 + local.get $11 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 i32.const 4 @@ -7968,23 +8122,23 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> - local.tee $15 - i32.store $0 offset=28 - local.get $15 + local.tee $13 + i32.store offset=28 + local.get $13 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#get:length - local.get $13 + local.get $11 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#get:length i32.eq @@ -7998,38 +8152,82 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 i32.const 8 - i32.const 1104 + i32.const 8 + i32.const 992 call $~lib/rt/__newBuffer - local.tee $18 - i32.store $0 offset=32 + local.tee $16 + i32.store offset=32 global.get $~lib/memory/__stack_pointer + local.get $16 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store + local.get $52 + i32.const 4 + i32.const 8 + i32.const 1056 + call $~lib/rt/__newBuffer + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store offset=24 + local.get $52 + call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/staticarray/StaticArray<~lib/string/String>> + local.tee $18 + i32.store offset=36 local.get $18 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store + local.get $52 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 76 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.const 8 + i32.const 1264 + call $~lib/rt/__newBuffer + local.tee $20 + i32.store offset=40 + global.get $~lib/memory/__stack_pointer + local.get $20 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store local.get $52 i32.const 0 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs - local.tee $19 - i32.store $0 offset=36 - local.get $19 + local.tee $21 + i32.store offset=44 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.eq @@ -8037,84 +8235,84 @@ if i32.const 0 i32.const 192 - i32.const 78 + i32.const 83 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 - local.set $20 + local.set $22 loop $for-loop|2 + local.get $22 local.get $20 - local.get $18 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.lt_s if - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 + i32.store offset=48 local.get $52 - local.get $20 + local.get $22 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - local.get $19 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 + i32.store offset=48 local.get $52 - local.get $20 + local.get $22 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 192 - i32.const 81 + i32.const 86 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $20 + local.get $22 i32.const 1 i32.add - local.set $20 + local.set $22 br $for-loop|2 end end global.get $~lib/memory/__stack_pointer - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 i32.const 3 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $19 - i32.store $0 offset=36 - local.get $19 + local.tee $21 + i32.store offset=44 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 2 @@ -8123,95 +8321,85 @@ if i32.const 0 i32.const 192 - i32.const 85 + i32.const 90 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $19 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 + i32.store offset=24 local.get $52 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 960 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 1120 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 192 - i32.const 86 + i32.const 91 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $19 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 + i32.store offset=24 local.get $52 i32.const 1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 992 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 1152 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 192 - i32.const 87 + i32.const 92 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs - local.tee $19 - i32.store $0 offset=36 - local.get $19 + local.tee $21 + i32.store offset=44 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 @@ -8221,35 +8409,35 @@ if i32.const 0 i32.const 192 - i32.const 90 + i32.const 95 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 i32.const 50 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $19 - i32.store $0 offset=36 - local.get $19 + local.tee $21 + i32.store offset=44 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.eq @@ -8257,30 +8445,30 @@ if i32.const 0 i32.const 192 - i32.const 93 + i32.const 98 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 100 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs - local.tee $19 - i32.store $0 offset=36 - local.get $19 + local.tee $21 + i32.store offset=44 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 0 @@ -8289,30 +8477,30 @@ if i32.const 0 i32.const 192 - i32.const 96 + i32.const 101 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const -1 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs - local.tee $19 - i32.store $0 offset=36 - local.get $19 + local.tee $21 + i32.store offset=44 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 @@ -8321,57 +8509,52 @@ if i32.const 0 i32.const 192 - i32.const 99 + i32.const 104 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $19 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 + i32.store offset=24 local.get $52 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 1056 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 1216 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 192 - i32.const 100 + i32.const 105 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const -2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $19 - i32.store $0 offset=36 - local.get $19 + local.tee $21 + i32.store offset=44 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 0 @@ -8380,28 +8563,28 @@ if i32.const 0 i32.const 192 - i32.const 103 + i32.const 108 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $18 + local.get $20 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $19 - i32.store $0 offset=36 - local.get $19 + local.tee $21 + i32.store offset=44 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 @@ -8410,36 +8593,31 @@ if i32.const 0 i32.const 192 - i32.const 106 + i32.const 111 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $19 + local.get $21 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 + i32.store offset=24 local.get $52 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 992 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 1152 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 192 - i32.const 107 + i32.const 112 i32.const 3 call $~lib/builtins/abort unreachable @@ -8447,42 +8625,42 @@ global.get $~lib/memory/__stack_pointer i32.const 20 i32.const 8 - i32.const 1280 + i32.const 1440 call $~lib/rt/__newBuffer - local.tee $22 - i32.store $0 offset=44 + local.tee $24 + i32.store offset=52 global.get $~lib/memory/__stack_pointer - local.get $22 + local.get $24 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 i32.const 2 i32.const 9 - i32.const 1328 + i32.const 1488 call $~lib/rt/__newArray local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> - local.tee $25 - i32.store $0 offset=48 - local.get $25 + local.tee $26 + i32.store offset=56 + local.get $26 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/array/Array<~lib/string/String>#get:length - local.get $22 + local.get $24 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.eq @@ -8490,7 +8668,7 @@ if i32.const 0 i32.const 192 - i32.const 117 + i32.const 122 i32.const 3 call $~lib/builtins/abort unreachable @@ -8498,37 +8676,37 @@ i32.const 1 drop global.get $~lib/memory/__stack_pointer - local.get $22 + local.get $24 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 i32.const 2 i32.const 9 - i32.const 1392 + i32.const 1552 call $~lib/rt/__newArray local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> - local.tee $25 - i32.store $0 offset=48 - local.get $25 + local.tee $26 + i32.store offset=56 + local.get $26 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/array/Array<~lib/string/String>#get:length - local.get $22 + local.get $24 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 @@ -8538,7 +8716,7 @@ if i32.const 0 i32.const 192 - i32.const 121 + i32.const 126 i32.const 3 call $~lib/builtins/abort unreachable @@ -8548,22 +8726,17 @@ global.get $~lib/memory/__stack_pointer i32.const 20 i32.const 8 - i32.const 1424 + i32.const 1584 call $~lib/rt/__newBuffer local.tee $29 - i32.store $0 offset=52 + i32.store offset=60 local.get $29 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 960 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 1120 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes i32.const 1 @@ -8572,7 +8745,7 @@ if i32.const 0 i32.const 192 - i32.const 128 + i32.const 133 i32.const 3 call $~lib/builtins/abort unreachable @@ -8581,14 +8754,9 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 1360 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 1520 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes i32.const 0 @@ -8597,7 +8765,7 @@ if i32.const 0 i32.const 192 - i32.const 129 + i32.const 134 i32.const 3 call $~lib/builtins/abort unreachable @@ -8606,14 +8774,9 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 1056 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 1216 i32.const 5 call $~lib/staticarray/StaticArray<~lib/string/String>#includes i32.const 0 @@ -8622,7 +8785,7 @@ if i32.const 0 i32.const 192 - i32.const 130 + i32.const 135 i32.const 3 call $~lib/builtins/abort unreachable @@ -8631,14 +8794,9 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 1056 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 1216 i32.const -1 call $~lib/staticarray/StaticArray<~lib/string/String>#includes i32.const 1 @@ -8647,19 +8805,19 @@ if i32.const 0 i32.const 192 - i32.const 131 + i32.const 136 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 8 i32.const 10 - i32.const 1472 + i32.const 1632 call $~lib/rt/__newBuffer local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 f64.const nan:0x8000000000000 i32.const 0 @@ -8670,19 +8828,19 @@ if i32.const 0 i32.const 192 - i32.const 133 + i32.const 138 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 4 i32.const 11 - i32.const 1504 + i32.const 1664 call $~lib/rt/__newBuffer local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 f32.const nan:0x400000 i32.const 0 @@ -8693,7 +8851,7 @@ if i32.const 0 i32.const 192 - i32.const 134 + i32.const 139 i32.const 3 call $~lib/builtins/abort unreachable @@ -8701,15 +8859,15 @@ global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 - i32.const 1536 + i32.const 1696 call $~lib/rt/__newBuffer local.tee $33 - i32.store $0 offset=56 + i32.store offset=64 local.get $33 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 i32.const 0 @@ -8720,7 +8878,7 @@ if i32.const 0 i32.const 192 - i32.const 140 + i32.const 145 i32.const 3 call $~lib/builtins/abort unreachable @@ -8729,7 +8887,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 7 i32.const 0 @@ -8740,7 +8898,7 @@ if i32.const 0 i32.const 192 - i32.const 141 + i32.const 146 i32.const 3 call $~lib/builtins/abort unreachable @@ -8749,7 +8907,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 9 i32.const 2 @@ -8760,7 +8918,7 @@ if i32.const 0 i32.const 192 - i32.const 142 + i32.const 147 i32.const 3 call $~lib/builtins/abort unreachable @@ -8769,7 +8927,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 i32.const -1 @@ -8780,7 +8938,7 @@ if i32.const 0 i32.const 192 - i32.const 143 + i32.const 148 i32.const 3 call $~lib/builtins/abort unreachable @@ -8789,7 +8947,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 i32.const -3 @@ -8800,7 +8958,7 @@ if i32.const 0 i32.const 192 - i32.const 144 + i32.const 149 i32.const 3 call $~lib/builtins/abort unreachable @@ -8808,15 +8966,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 4 - i32.const 1568 + i32.const 1728 call $~lib/rt/__newBuffer local.tee $35 - i32.store $0 offset=60 + i32.store offset=68 local.get $35 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 i32.const 1 @@ -8829,7 +8987,7 @@ if i32.const 0 i32.const 192 - i32.const 150 + i32.const 155 i32.const 3 call $~lib/builtins/abort unreachable @@ -8838,7 +8996,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 7 i32.const 1 @@ -8851,7 +9009,7 @@ if i32.const 0 i32.const 192 - i32.const 151 + i32.const 156 i32.const 3 call $~lib/builtins/abort unreachable @@ -8860,7 +9018,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 i32.const 3 @@ -8871,7 +9029,7 @@ if i32.const 0 i32.const 192 - i32.const 152 + i32.const 157 i32.const 3 call $~lib/builtins/abort unreachable @@ -8880,7 +9038,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 i32.const 2 @@ -8891,7 +9049,7 @@ if i32.const 0 i32.const 192 - i32.const 153 + i32.const 158 i32.const 3 call $~lib/builtins/abort unreachable @@ -8900,7 +9058,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 i32.const -2 @@ -8911,7 +9069,7 @@ if i32.const 0 i32.const 192 - i32.const 154 + i32.const 159 i32.const 3 call $~lib/builtins/abort unreachable @@ -8920,7 +9078,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 i32.const -1 @@ -8931,7 +9089,7 @@ if i32.const 0 i32.const 192 - i32.const 155 + i32.const 160 i32.const 3 call $~lib/builtins/abort unreachable @@ -8939,40 +9097,30 @@ global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 8 - i32.const 1712 + i32.const 1872 call $~lib/rt/__newBuffer local.tee $37 - i32.store $0 offset=64 + i32.store offset=72 local.get $37 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 - local.get $52 - i32.const 1776 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=68 + i32.store offset=24 local.get $52 + i32.const 1936 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 1808 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 1968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 192 - i32.const 161 + i32.const 166 i32.const 3 call $~lib/builtins/abort unreachable @@ -8981,32 +9129,22 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 - local.get $52 - i32.const 1744 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=68 + i32.store offset=24 local.get $52 + i32.const 1904 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 1856 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 2016 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 192 - i32.const 162 + i32.const 167 i32.const 3 call $~lib/builtins/abort unreachable @@ -9015,32 +9153,22 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 - local.get $52 - i32.const 1904 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=68 + i32.store offset=24 local.get $52 + i32.const 2064 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 1936 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 2096 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 192 - i32.const 163 + i32.const 168 i32.const 3 call $~lib/builtins/abort unreachable @@ -9049,32 +9177,22 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 - local.get $52 - i32.const 1984 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=68 + i32.store offset=24 local.get $52 + i32.const 2144 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 - local.get $52 - i32.const 2016 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=24 + i32.store local.get $52 + i32.const 2176 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 192 - i32.const 164 + i32.const 169 i32.const 3 call $~lib/builtins/abort unreachable @@ -9083,38 +9201,33 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 - local.get $52 - i32.const 1776 - local.set $52 - global.get $~lib/memory/__stack_pointer - local.get $52 - i32.store $0 offset=68 + i32.store offset=48 local.get $52 + i32.const 1936 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 local.get $37 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=40 + i32.store offset=48 local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#toString local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 192 - i32.const 165 + i32.const 170 i32.const 3 call $~lib/builtins/abort unreachable @@ -9122,15 +9235,15 @@ global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 4 - i32.const 2080 + i32.const 2240 call $~lib/rt/__newBuffer local.tee $39 - i32.store $0 offset=72 + i32.store offset=76 local.get $39 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 i32.const 1 @@ -9143,7 +9256,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#__get @@ -9153,7 +9266,7 @@ if i32.const 0 i32.const 192 - i32.const 173 + i32.const 178 i32.const 3 call $~lib/builtins/abort unreachable @@ -9162,7 +9275,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -9172,7 +9285,7 @@ if i32.const 0 i32.const 192 - i32.const 174 + i32.const 179 i32.const 3 call $~lib/builtins/abort unreachable @@ -9180,15 +9293,15 @@ global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 - i32.const 2112 + i32.const 2272 call $~lib/rt/__newBuffer local.tee $41 - i32.store $0 offset=76 + i32.store offset=80 local.get $41 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/staticarray/StaticArray#reverse drop @@ -9196,7 +9309,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#__get @@ -9206,7 +9319,7 @@ if i32.const 0 i32.const 192 - i32.const 182 + i32.const 187 i32.const 3 call $~lib/builtins/abort unreachable @@ -9215,7 +9328,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -9225,7 +9338,7 @@ if i32.const 0 i32.const 192 - i32.const 183 + i32.const 188 i32.const 3 call $~lib/builtins/abort unreachable @@ -9234,7 +9347,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 call $~lib/staticarray/StaticArray#__get @@ -9244,7 +9357,7 @@ if i32.const 0 i32.const 192 - i32.const 184 + i32.const 189 i32.const 3 call $~lib/builtins/abort unreachable @@ -9252,15 +9365,15 @@ global.get $~lib/memory/__stack_pointer i32.const 20 i32.const 4 - i32.const 2144 + i32.const 2304 call $~lib/rt/__newBuffer local.tee $43 - i32.store $0 offset=80 + i32.store offset=84 local.get $43 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 i32.const 3 @@ -9273,7 +9386,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#__get @@ -9283,7 +9396,7 @@ if i32.const 0 i32.const 192 - i32.const 192 + i32.const 197 i32.const 3 call $~lib/builtins/abort unreachable @@ -9292,7 +9405,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -9302,7 +9415,7 @@ if i32.const 0 i32.const 192 - i32.const 193 + i32.const 198 i32.const 3 call $~lib/builtins/abort unreachable @@ -9311,7 +9424,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 call $~lib/staticarray/StaticArray#__get @@ -9321,7 +9434,7 @@ if i32.const 0 i32.const 192 - i32.const 194 + i32.const 199 i32.const 3 call $~lib/builtins/abort unreachable @@ -9330,7 +9443,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 3 call $~lib/staticarray/StaticArray#__get @@ -9340,7 +9453,7 @@ if i32.const 0 i32.const 192 - i32.const 195 + i32.const 200 i32.const 3 call $~lib/builtins/abort unreachable @@ -9349,7 +9462,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 4 call $~lib/staticarray/StaticArray#__get @@ -9359,7 +9472,7 @@ if i32.const 0 i32.const 192 - i32.const 196 + i32.const 201 i32.const 3 call $~lib/builtins/abort unreachable @@ -9367,31 +9480,31 @@ global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 - i32.const 2192 + i32.const 2352 call $~lib/rt/__newBuffer local.tee $45 - i32.store $0 offset=84 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $45 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2224 + i32.const 2384 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#map local.tee $46 - i32.store $0 offset=88 + i32.store offset=92 local.get $46 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 call $~lib/array/Array#__get @@ -9401,7 +9514,7 @@ if i32.const 0 i32.const 192 - i32.const 205 + i32.const 210 i32.const 3 call $~lib/builtins/abort unreachable @@ -9410,7 +9523,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/array/Array#__get @@ -9420,7 +9533,7 @@ if i32.const 0 i32.const 192 - i32.const 206 + i32.const 211 i32.const 3 call $~lib/builtins/abort unreachable @@ -9429,7 +9542,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 call $~lib/array/Array#__get @@ -9439,7 +9552,7 @@ if i32.const 0 i32.const 192 - i32.const 207 + i32.const 212 i32.const 3 call $~lib/builtins/abort unreachable @@ -9448,13 +9561,13 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2256 + i32.const 2416 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#forEach global.get $std/staticarray/maxVal @@ -9464,7 +9577,7 @@ if i32.const 0 i32.const 192 - i32.const 211 + i32.const 216 i32.const 3 call $~lib/builtins/abort unreachable @@ -9474,22 +9587,22 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2288 + i32.const 2448 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#filter local.tee $47 - i32.store $0 offset=92 + i32.store offset=96 local.get $47 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 call $~lib/array/Array#get:length i32.const 2 @@ -9498,7 +9611,7 @@ if i32.const 0 i32.const 192 - i32.const 215 + i32.const 220 i32.const 3 call $~lib/builtins/abort unreachable @@ -9507,7 +9620,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 call $~lib/array/Array#__get @@ -9517,7 +9630,7 @@ if i32.const 0 i32.const 192 - i32.const 216 + i32.const 221 i32.const 3 call $~lib/builtins/abort unreachable @@ -9526,7 +9639,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/array/Array#__get @@ -9536,7 +9649,7 @@ if i32.const 0 i32.const 192 - i32.const 217 + i32.const 222 i32.const 3 call $~lib/builtins/abort unreachable @@ -9545,13 +9658,13 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2320 + i32.const 2480 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#reduce @@ -9563,7 +9676,7 @@ if i32.const 0 i32.const 192 - i32.const 221 + i32.const 226 i32.const 3 call $~lib/builtins/abort unreachable @@ -9572,13 +9685,13 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2352 + i32.const 2512 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#reduceRight @@ -9590,7 +9703,7 @@ if i32.const 0 i32.const 192 - i32.const 225 + i32.const 230 i32.const 3 call $~lib/builtins/abort unreachable @@ -9599,20 +9712,20 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2384 + i32.const 2544 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#some i32.eqz if i32.const 0 i32.const 192 - i32.const 228 + i32.const 233 i32.const 3 call $~lib/builtins/abort unreachable @@ -9621,13 +9734,13 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2416 + i32.const 2576 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#some i32.eqz @@ -9635,7 +9748,7 @@ if i32.const 0 i32.const 192 - i32.const 229 + i32.const 234 i32.const 3 call $~lib/builtins/abort unreachable @@ -9644,20 +9757,20 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2448 + i32.const 2608 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#every i32.eqz if i32.const 0 i32.const 192 - i32.const 232 + i32.const 237 i32.const 3 call $~lib/builtins/abort unreachable @@ -9666,13 +9779,13 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2480 + i32.const 2640 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#every i32.eqz @@ -9680,7 +9793,7 @@ if i32.const 0 i32.const 192 - i32.const 233 + i32.const 238 i32.const 3 call $~lib/builtins/abort unreachable @@ -9689,13 +9802,13 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2512 + i32.const 2672 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#findIndex i32.const 1 @@ -9704,7 +9817,7 @@ if i32.const 0 i32.const 192 - i32.const 236 + i32.const 241 i32.const 3 call $~lib/builtins/abort unreachable @@ -9713,13 +9826,13 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2544 + i32.const 2704 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#findIndex i32.const -1 @@ -9728,7 +9841,7 @@ if i32.const 0 i32.const 192 - i32.const 237 + i32.const 242 i32.const 3 call $~lib/builtins/abort unreachable @@ -9737,13 +9850,13 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2576 + i32.const 2736 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#findLastIndex i32.const 1 @@ -9752,7 +9865,7 @@ if i32.const 0 i32.const 192 - i32.const 240 + i32.const 245 i32.const 3 call $~lib/builtins/abort unreachable @@ -9761,13 +9874,13 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 - i32.const 2608 + i32.const 2768 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store offset=24 local.get $52 call $~lib/staticarray/StaticArray#findLastIndex i32.const -1 @@ -9776,7 +9889,7 @@ if i32.const 0 i32.const 192 - i32.const 241 + i32.const 246 i32.const 3 call $~lib/builtins/abort unreachable @@ -9784,15 +9897,15 @@ global.get $~lib/memory/__stack_pointer i32.const 16 i32.const 4 - i32.const 2640 + i32.const 2800 call $~lib/rt/__newBuffer local.tee $51 - i32.store $0 offset=96 + i32.store offset=100 local.get $51 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 global.set $~argumentsLength @@ -9803,7 +9916,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#__get @@ -9813,7 +9926,7 @@ if i32.const 0 i32.const 192 - i32.const 250 + i32.const 255 i32.const 3 call $~lib/builtins/abort unreachable @@ -9822,7 +9935,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -9832,7 +9945,7 @@ if i32.const 0 i32.const 192 - i32.const 251 + i32.const 256 i32.const 3 call $~lib/builtins/abort unreachable @@ -9841,7 +9954,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 2 call $~lib/staticarray/StaticArray#__get @@ -9851,7 +9964,7 @@ if i32.const 0 i32.const 192 - i32.const 252 + i32.const 257 i32.const 3 call $~lib/builtins/abort unreachable @@ -9860,7 +9973,7 @@ local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 + i32.store local.get $52 i32.const 3 call $~lib/staticarray/StaticArray#__get @@ -9870,7 +9983,7 @@ if i32.const 0 i32.const 192 - i32.const 253 + i32.const 258 i32.const 3 call $~lib/builtins/abort unreachable @@ -9879,7 +9992,7 @@ global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 100 + i32.const 104 i32.add global.set $~lib/memory/__stack_pointer ) @@ -9892,14 +10005,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -9921,14 +10034,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $cur @@ -9937,7 +10050,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length_ i32.const 2 @@ -9950,7 +10063,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -9969,7 +10082,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:buffer local.get $cookie @@ -9988,12 +10101,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env local.get $cookie @@ -10012,12 +10125,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#get:_env local.get $cookie @@ -10036,12 +10149,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#get:_env local.get $cookie @@ -10060,12 +10173,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env local.get $cookie @@ -10084,12 +10197,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env local.get $cookie @@ -10108,7 +10221,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -10117,7 +10230,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -10138,7 +10251,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.const 2 @@ -10161,7 +10274,7 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -10187,7 +10300,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -10198,27 +10311,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/staticarray.release.wat b/tests/compiler/std/staticarray.release.wat index 21bca5a439..f04e217e60 100644 --- a/tests/compiler/std/staticarray.release.wat +++ b/tests/compiler/std/staticarray.release.wat @@ -1,16 +1,16 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param 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_=>_none (func (param i32 i32 i32 i32 i32))) - (type $i32_i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32 i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32) (result i32))) + (type $7 (func (param i32) (result i32))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (result i32))) + (type $10 (func (param i32 i32 i64))) + (type $11 (func (param i32 i32 i32 i32 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)) @@ -26,138 +26,148 @@ (global $std/staticarray/arr4 (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) (global $std/staticarray/maxVal (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36568)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36728)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 1068) "<") - (data (i32.const 1080) "\02\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 1132) "<") - (data (i32.const 1144) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1196) "<") - (data (i32.const 1208) "\02\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1260) "\1c") - (data (i32.const 1272) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 1292) "\1c") - (data (i32.const 1304) "\04\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07") - (data (i32.const 1324) "<") - (data (i32.const 1336) "\02\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 1388) "<") - (data (i32.const 1400) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1516) ",") - (data (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1596) "<") - (data (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1660) ",") - (data (i32.const 1672) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1708) ",") - (data (i32.const 1720) "\01\00\00\00\18\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") - (data (i32.const 1756) ",") - (data (i32.const 1768) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1804) "\1c") - (data (i32.const 1816) "\01") - (data (i32.const 1836) "\1c") - (data (i32.const 1848) "\04\00\00\00\08\00\00\00\01\00\00\00\02") - (data (i32.const 1868) "\1c") - (data (i32.const 1880) "\04\00\00\00\04\00\00\00\01") - (data (i32.const 1900) "\1c") - (data (i32.const 1912) "\04") - (data (i32.const 1932) "\1c") - (data (i32.const 1944) "\02\00\00\00\06\00\00\00a\00n\00t") - (data (i32.const 1964) "\1c") - (data (i32.const 1976) "\02\00\00\00\n\00\00\00b\00i\00s\00o\00n") - (data (i32.const 1996) "\1c") - (data (i32.const 2008) "\02\00\00\00\n\00\00\00c\00a\00m\00e\00l") - (data (i32.const 2028) "\1c") - (data (i32.const 2040) "\02\00\00\00\08\00\00\00d\00u\00c\00k") - (data (i32.const 2060) ",") - (data (i32.const 2072) "\02\00\00\00\10\00\00\00e\00l\00e\00p\00h\00a\00n\00t") - (data (i32.const 2108) ",") - (data (i32.const 2120) "\08\00\00\00\14\00\00\00\a0\07\00\00\c0\07\00\00\e0\07\00\00\00\08\00\00 \08") - (data (i32.const 2156) "|") - (data (i32.const 2168) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 2284) ",") - (data (i32.const 2296) "\08\00\00\00\14\00\00\00\a0\07\00\00\c0\07\00\00\e0\07\00\00\00\08\00\00 \08") - (data (i32.const 2332) "\1c") - (data (i32.const 2344) "\01") - (data (i32.const 2364) "\1c") - (data (i32.const 2376) "\02\00\00\00\06\00\00\00f\00o\00o") - (data (i32.const 2396) "\1c") - (data (i32.const 2408) "\01\00\00\00\04\00\00\00P\t") - (data (i32.const 2428) ",") - (data (i32.const 2440) "\08\00\00\00\14\00\00\00\a0\07\00\00\c0\07\00\00\e0\07\00\00\00\08\00\00 \08") - (data (i32.const 2476) "\1c") - (data (i32.const 2488) "\n\00\00\00\08") - (data (i32.const 2502) "\f8\7f") - (data (i32.const 2508) "\1c") - (data (i32.const 2520) "\0b\00\00\00\04\00\00\00\00\00\c0\7f") - (data (i32.const 2540) "\1c") - (data (i32.const 2552) "\04\00\00\00\0c\00\00\00\02\00\00\00\t\00\00\00\t") - (data (i32.const 2572) ",") - (data (i32.const 2584) "\04\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02") - (data (i32.const 2620) "\1c") - (data (i32.const 2632) "\02\00\00\00\08\00\00\00F\00i\00r\00e") - (data (i32.const 2652) "\1c") - (data (i32.const 2664) "\02\00\00\00\06\00\00\00A\00i\00r") - (data (i32.const 2684) "\1c") - (data (i32.const 2696) "\02\00\00\00\n\00\00\00W\00a\00t\00e\00r") - (data (i32.const 2716) "\1c") - (data (i32.const 2728) "\08\00\00\00\0c\00\00\00P\n\00\00p\n\00\00\90\n") - (data (i32.const 2748) "\1c") - (data (i32.const 2760) "\02") - (data (i32.const 2780) "\1c") - (data (i32.const 2792) "\02\00\00\00\02\00\00\00,") - (data (i32.const 2812) ",") - (data (i32.const 2824) "\02\00\00\00\1c\00\00\00F\00i\00r\00e\00,\00A\00i\00r\00,\00W\00a\00t\00e\00r") - (data (i32.const 2860) ",") - (data (i32.const 2872) "\02\00\00\00\18\00\00\00F\00i\00r\00e\00A\00i\00r\00W\00a\00t\00e\00r") - (data (i32.const 2908) "\1c") - (data (i32.const 2920) "\02\00\00\00\02\00\00\00-") - (data (i32.const 2940) ",") - (data (i32.const 2952) "\02\00\00\00\1c\00\00\00F\00i\00r\00e\00-\00A\00i\00r\00-\00W\00a\00t\00e\00r") - (data (i32.const 2988) "\1c") - (data (i32.const 3000) "\02\00\00\00\06\00\00\00 \00+\00 ") - (data (i32.const 3020) "<") - (data (i32.const 3032) "\02\00\00\00$\00\00\00F\00i\00r\00e\00 \00+\00 \00A\00i\00r\00 \00+\00 \00W\00a\00t\00e\00r") - (data (i32.const 3084) "\1c") - (data (i32.const 3096) "\04\00\00\00\08") - (data (i32.const 3116) "\1c") - (data (i32.const 3128) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 3148) ",") - (data (i32.const 3160) "\04\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 3196) "\1c") - (data (i32.const 3208) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 3228) "\1c") - (data (i32.const 3240) "\0c\00\00\00\08\00\00\00\01") - (data (i32.const 3260) "\1c") - (data (i32.const 3272) "\r\00\00\00\08\00\00\00\02") - (data (i32.const 3292) "\1c") - (data (i32.const 3304) "\0e\00\00\00\08\00\00\00\03") - (data (i32.const 3324) "\1c") - (data (i32.const 3336) "\0f\00\00\00\08\00\00\00\04") - (data (i32.const 3356) "\1c") - (data (i32.const 3368) "\0f\00\00\00\08\00\00\00\05") - (data (i32.const 3388) "\1c") - (data (i32.const 3400) "\0e\00\00\00\08\00\00\00\06") - (data (i32.const 3420) "\1c") - (data (i32.const 3432) "\0e\00\00\00\08\00\00\00\07") - (data (i32.const 3452) "\1c") - (data (i32.const 3464) "\0e\00\00\00\08\00\00\00\08") - (data (i32.const 3484) "\1c") - (data (i32.const 3496) "\0e\00\00\00\08\00\00\00\t") - (data (i32.const 3516) "\1c") - (data (i32.const 3528) "\0e\00\00\00\08\00\00\00\n") - (data (i32.const 3548) "\1c") - (data (i32.const 3560) "\0e\00\00\00\08\00\00\00\0b") - (data (i32.const 3580) "\1c") - (data (i32.const 3592) "\0e\00\00\00\08\00\00\00\0c") - (data (i32.const 3612) "\1c") - (data (i32.const 3624) "\0e\00\00\00\08\00\00\00\r") - (data (i32.const 3644) ",") - (data (i32.const 3656) "\04\00\00\00\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") - (data (i32.const 3692) "\1c") - (data (i32.const 3704) "\10\00\00\00\08\00\00\00\0e") - (data (i32.const 3728) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00$\t\00\00 \00\00\00\04A\00\00\02\t\00\00\04A\00\00\02A\00\00$\1a\00\00$\19") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $1 (i32.const 1068) "<") + (data $1.1 (i32.const 1080) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") + (data $3 (i32.const 1196) "<") + (data $3.1 (i32.const 1208) "\02\00\00\00$\00\00\00s\00t\00d\00/\00s\00t\00a\00t\00i\00c\00a\00r\00r\00a\00y\00.\00t\00s") + (data $4 (i32.const 1260) "\1c") + (data $4.1 (i32.const 1272) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $5 (i32.const 1292) "\1c") + (data $5.1 (i32.const 1304) "\04\00\00\00\0c\00\00\00\05\00\00\00\06\00\00\00\07") + (data $6 (i32.const 1324) "<") + (data $6.1 (i32.const 1336) "\02\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 $7 (i32.const 1388) "<") + (data $7.1 (i32.const 1400) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $10 (i32.const 1516) ",") + (data $10.1 (i32.const 1528) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $12 (i32.const 1596) "<") + (data $12.1 (i32.const 1608) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $13 (i32.const 1660) ",") + (data $13.1 (i32.const 1672) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $14 (i32.const 1708) ",") + (data $14.1 (i32.const 1720) "\01\00\00\00\18\00\00\00\00\00\00\00\01\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\05") + (data $15 (i32.const 1756) ",") + (data $15.1 (i32.const 1768) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $16 (i32.const 1804) "\1c") + (data $16.1 (i32.const 1816) "\01") + (data $17 (i32.const 1836) "\1c") + (data $17.1 (i32.const 1848) "\04\00\00\00\08\00\00\00\01\00\00\00\02") + (data $18 (i32.const 1868) "\1c") + (data $18.1 (i32.const 1880) "\04\00\00\00\04\00\00\00\01") + (data $19 (i32.const 1900) "\1c") + (data $19.1 (i32.const 1912) "\04") + (data $20 (i32.const 1932) "\1c") + (data $20.1 (i32.const 1944) "\02\00\00\00\02\00\00\001") + (data $21 (i32.const 1964) "\1c") + (data $21.1 (i32.const 1976) "\02\00\00\00\02\00\00\002") + (data $22 (i32.const 1996) "\1c") + (data $22.1 (i32.const 2008) "\08\00\00\00\08\00\00\00\a0\07\00\00\c0\07") + (data $23 (i32.const 2028) "\1c") + (data $23.1 (i32.const 2040) "\02\00\00\00\02\00\00\003") + (data $24 (i32.const 2060) "\1c") + (data $24.1 (i32.const 2072) "\08\00\00\00\04\00\00\00\00\08") + (data $25 (i32.const 2092) "\1c") + (data $25.1 (i32.const 2104) "\02\00\00\00\06\00\00\00a\00n\00t") + (data $26 (i32.const 2124) "\1c") + (data $26.1 (i32.const 2136) "\02\00\00\00\n\00\00\00b\00i\00s\00o\00n") + (data $27 (i32.const 2156) "\1c") + (data $27.1 (i32.const 2168) "\02\00\00\00\n\00\00\00c\00a\00m\00e\00l") + (data $28 (i32.const 2188) "\1c") + (data $28.1 (i32.const 2200) "\02\00\00\00\08\00\00\00d\00u\00c\00k") + (data $29 (i32.const 2220) ",") + (data $29.1 (i32.const 2232) "\02\00\00\00\10\00\00\00e\00l\00e\00p\00h\00a\00n\00t") + (data $30 (i32.const 2268) ",") + (data $30.1 (i32.const 2280) "\08\00\00\00\14\00\00\00@\08\00\00`\08\00\00\80\08\00\00\a0\08\00\00\c0\08") + (data $31 (i32.const 2316) "|") + (data $31.1 (i32.const 2328) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") + (data $32 (i32.const 2444) ",") + (data $32.1 (i32.const 2456) "\08\00\00\00\14\00\00\00@\08\00\00`\08\00\00\80\08\00\00\a0\08\00\00\c0\08") + (data $33 (i32.const 2492) "\1c") + (data $33.1 (i32.const 2504) "\01") + (data $34 (i32.const 2524) "\1c") + (data $34.1 (i32.const 2536) "\02\00\00\00\06\00\00\00f\00o\00o") + (data $35 (i32.const 2556) "\1c") + (data $35.1 (i32.const 2568) "\01\00\00\00\04\00\00\00\f0\t") + (data $36 (i32.const 2588) ",") + (data $36.1 (i32.const 2600) "\08\00\00\00\14\00\00\00@\08\00\00`\08\00\00\80\08\00\00\a0\08\00\00\c0\08") + (data $37 (i32.const 2636) "\1c") + (data $37.1 (i32.const 2648) "\n\00\00\00\08") + (data $37.2 (i32.const 2662) "\f8\7f") + (data $38 (i32.const 2668) "\1c") + (data $38.1 (i32.const 2680) "\0b\00\00\00\04\00\00\00\00\00\c0\7f") + (data $39 (i32.const 2700) "\1c") + (data $39.1 (i32.const 2712) "\04\00\00\00\0c\00\00\00\02\00\00\00\t\00\00\00\t") + (data $40 (i32.const 2732) ",") + (data $40.1 (i32.const 2744) "\04\00\00\00\10\00\00\00\02\00\00\00\05\00\00\00\t\00\00\00\02") + (data $41 (i32.const 2780) "\1c") + (data $41.1 (i32.const 2792) "\02\00\00\00\08\00\00\00F\00i\00r\00e") + (data $42 (i32.const 2812) "\1c") + (data $42.1 (i32.const 2824) "\02\00\00\00\06\00\00\00A\00i\00r") + (data $43 (i32.const 2844) "\1c") + (data $43.1 (i32.const 2856) "\02\00\00\00\n\00\00\00W\00a\00t\00e\00r") + (data $44 (i32.const 2876) "\1c") + (data $44.1 (i32.const 2888) "\08\00\00\00\0c\00\00\00\f0\n\00\00\10\0b\00\000\0b") + (data $45 (i32.const 2908) "\1c") + (data $45.1 (i32.const 2920) "\02") + (data $46 (i32.const 2940) "\1c") + (data $46.1 (i32.const 2952) "\02\00\00\00\02\00\00\00,") + (data $47 (i32.const 2972) ",") + (data $47.1 (i32.const 2984) "\02\00\00\00\1c\00\00\00F\00i\00r\00e\00,\00A\00i\00r\00,\00W\00a\00t\00e\00r") + (data $48 (i32.const 3020) ",") + (data $48.1 (i32.const 3032) "\02\00\00\00\18\00\00\00F\00i\00r\00e\00A\00i\00r\00W\00a\00t\00e\00r") + (data $49 (i32.const 3068) "\1c") + (data $49.1 (i32.const 3080) "\02\00\00\00\02\00\00\00-") + (data $50 (i32.const 3100) ",") + (data $50.1 (i32.const 3112) "\02\00\00\00\1c\00\00\00F\00i\00r\00e\00-\00A\00i\00r\00-\00W\00a\00t\00e\00r") + (data $51 (i32.const 3148) "\1c") + (data $51.1 (i32.const 3160) "\02\00\00\00\06\00\00\00 \00+\00 ") + (data $52 (i32.const 3180) "<") + (data $52.1 (i32.const 3192) "\02\00\00\00$\00\00\00F\00i\00r\00e\00 \00+\00 \00A\00i\00r\00 \00+\00 \00W\00a\00t\00e\00r") + (data $53 (i32.const 3244) "\1c") + (data $53.1 (i32.const 3256) "\04\00\00\00\08") + (data $54 (i32.const 3276) "\1c") + (data $54.1 (i32.const 3288) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $55 (i32.const 3308) ",") + (data $55.1 (i32.const 3320) "\04\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $56 (i32.const 3356) "\1c") + (data $56.1 (i32.const 3368) "\04\00\00\00\0c\00\00\00\01\00\00\00\02\00\00\00\03") + (data $57 (i32.const 3388) "\1c") + (data $57.1 (i32.const 3400) "\0c\00\00\00\08\00\00\00\01") + (data $58 (i32.const 3420) "\1c") + (data $58.1 (i32.const 3432) "\r\00\00\00\08\00\00\00\02") + (data $59 (i32.const 3452) "\1c") + (data $59.1 (i32.const 3464) "\0e\00\00\00\08\00\00\00\03") + (data $60 (i32.const 3484) "\1c") + (data $60.1 (i32.const 3496) "\0f\00\00\00\08\00\00\00\04") + (data $61 (i32.const 3516) "\1c") + (data $61.1 (i32.const 3528) "\0f\00\00\00\08\00\00\00\05") + (data $62 (i32.const 3548) "\1c") + (data $62.1 (i32.const 3560) "\0e\00\00\00\08\00\00\00\06") + (data $63 (i32.const 3580) "\1c") + (data $63.1 (i32.const 3592) "\0e\00\00\00\08\00\00\00\07") + (data $64 (i32.const 3612) "\1c") + (data $64.1 (i32.const 3624) "\0e\00\00\00\08\00\00\00\08") + (data $65 (i32.const 3644) "\1c") + (data $65.1 (i32.const 3656) "\0e\00\00\00\08\00\00\00\t") + (data $66 (i32.const 3676) "\1c") + (data $66.1 (i32.const 3688) "\0e\00\00\00\08\00\00\00\n") + (data $67 (i32.const 3708) "\1c") + (data $67.1 (i32.const 3720) "\0e\00\00\00\08\00\00\00\0b") + (data $68 (i32.const 3740) "\1c") + (data $68.1 (i32.const 3752) "\0e\00\00\00\08\00\00\00\0c") + (data $69 (i32.const 3772) "\1c") + (data $69.1 (i32.const 3784) "\0e\00\00\00\08\00\00\00\r") + (data $70 (i32.const 3804) ",") + (data $70.1 (i32.const 3816) "\04\00\00\00\10\00\00\00\00\00\00\00\03\00\00\00\02\00\00\00\01") + (data $71 (i32.const 3852) "\1c") + (data $71.1 (i32.const 3864) "\10\00\00\00\08\00\00\00\0e") + (data $72 (i32.const 3888) "\11\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00$\t\00\00 \00\00\00\04A\00\00\02\t\00\00\04A\00\00\02A\00\00$\1a\00\00$\19") (table $0 15 15 funcref) (elem $0 (i32.const 1) $start:std/staticarray~anonymous|0 $start:std/staticarray~anonymous|1 $start:std/staticarray~anonymous|2 $start:std/staticarray~anonymous|3 $start:std/staticarray~anonymous|3 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $start:std/staticarray~anonymous|7 $start:std/staticarray~anonymous|8 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $~lib/util/sort/COMPARATOR~anonymous|0) (export "memory" (memory $0)) @@ -166,32 +176,32 @@ (local $0 i32) (local $1 i32) i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1280 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $std/staticarray/arr3 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/staticarray/arr4 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1680 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - i32.const 2176 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit + i32.const 2336 + call $~lib/rt/itcms/__visit i32.const 1344 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -201,7 +211,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -219,7 +229,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -236,7 +246,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -250,19 +260,19 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$267 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 - i32.const 36568 + i32.const 36728 i32.lt_u i32.and i32.eqz @@ -274,10 +284,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$267 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -290,20 +300,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -311,8 +321,8 @@ i32.const 1 else local.get $1 - i32.const 3728 - i32.load $0 + i32.const 3888 + i32.load i32.gt_u if i32.const 1088 @@ -325,15 +335,15 @@ local.get $1 i32.const 2 i32.shl - i32.const 3732 + i32.const 3892 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -343,21 +353,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -365,8 +399,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -378,10 +412,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -392,29 +426,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -422,10 +456,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -439,75 +473,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -529,7 +556,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -546,12 +573,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -568,17 +595,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -588,9 +615,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -615,13 +642,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -655,7 +682,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -711,19 +738,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -735,15 +762,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -751,23 +778,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1616 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -781,10 +810,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -792,23 +821,22 @@ if i32.const 0 i32.const 1616 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -820,52 +848,53 @@ if i32.const 0 i32.const 1616 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -873,7 +902,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -881,7 +910,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -890,12 +919,12 @@ if unreachable end - i32.const 36576 + i32.const 36736 i32.const 0 - i32.store $0 - i32.const 38144 + i32.store + i32.const 38304 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -904,10 +933,10 @@ local.get $0 i32.const 2 i32.shl - i32.const 36576 + i32.const 36736 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -922,10 +951,10 @@ i32.add i32.const 2 i32.shl - i32.const 36576 + i32.const 36736 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -940,20 +969,21 @@ br $for-loop|0 end end - i32.const 36576 - i32.const 38148 - memory.size $0 - i32.const 16 - i32.shl + i32.const 36736 + i32.const 38308 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory - i32.const 36576 + i32.const 36736 global.set $~lib/rt/tlsf/ROOT ) (func $~lib/rt/tlsf/__free (param $0 i32) (local $1 i32) (local $2 i32) local.get $0 - i32.const 36568 + i32.const 36728 i32.lt_u if return @@ -964,7 +994,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $2 local.get $0 i32.const 4 i32.sub @@ -979,25 +1008,24 @@ i32.const 1 else local.get $1 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1616 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $1 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $2 + i32.store local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -1026,7 +1054,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1039,19 +1067,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -1062,7 +1090,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1074,7 +1102,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -1083,16 +1111,12 @@ local.set $0 loop $while-continue|0 local.get $0 - i32.const 36568 + i32.const 36728 i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -1101,7 +1125,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1112,26 +1136,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1147,7 +1171,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1163,7 +1187,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1183,19 +1207,19 @@ unreachable end local.get $0 - i32.const 36568 + i32.const 36728 i32.lt_u if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1211,12 +1235,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1224,47 +1247,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1275,7 +1300,7 @@ if i32.const 0 i32.const 1616 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1285,7 +1310,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1302,10 +1327,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1321,13 +1346,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1616 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1342,7 +1367,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1358,34 +1383,60 @@ if i32.const 1344 i32.const 1616 - i32.const 458 + i32.const 461 i32.const 29 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 + if (result i32) + i32.const 12 + else + local.get $1 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $3 call $~lib/rt/tlsf/searchBlock local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 + local.get $3 + i32.const 256 + i32.ge_u + if (result i32) + local.get $3 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $3 + i32.const 1 + i32.const 27 + local.get $3 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $3 + end + else + local.get $3 + end i32.const 4 local.get $0 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1393,21 +1444,6 @@ i32.sub i32.ne i32.shl - local.get $3 - i32.const 1 - i32.const 27 - local.get $3 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $3 - local.get $3 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1420,12 +1456,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1436,9 +1472,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $0 local.get $3 @@ -1448,7 +1485,7 @@ if i32.const 0 i32.const 1616 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1456,14 +1493,14 @@ end local.get $3 local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1616 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1472,7 +1509,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.set $4 local.get $3 i32.const 4 @@ -1482,7 +1519,7 @@ if i32.const 0 i32.const 1616 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -1502,7 +1539,7 @@ i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add @@ -1514,7 +1551,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $0 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1523,21 +1560,21 @@ local.get $4 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $0 local.get $0 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 ) @@ -1559,7 +1596,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1571,16 +1608,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1588,14 +1621,13 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $2 i32.add global.set $~lib/rt/itcms/threshold end @@ -1612,36 +1644,36 @@ call $~lib/rt/tlsf/allocateBlock local.tee $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1654,36 +1686,79 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $~lib/staticarray/StaticArray#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store $0 - local.get $2 + i32.eqz if - local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + return end - ) - (func $start:std/staticarray~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 1 - i32.add - ) - (func $start:std/staticarray~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) - global.get $std/staticarray/maxVal - local.tee $1 local.get $0 - local.get $0 - local.get $1 + i32.eqz + if + i32.const 0 + i32.const 1408 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $start:std/staticarray~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 1 + i32.add + ) + (func $start:std/staticarray~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) + global.get $std/staticarray/maxVal + local.tee $1 + local.get $0 + local.get $0 + local.get $1 i32.lt_s select global.set $std/staticarray/maxVal @@ -1718,7 +1793,8 @@ i32.const 3 i32.gt_s ) - (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + (local $4 i32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -1730,157 +1806,151 @@ i32.sub i32.const 1 i32.add - local.tee $5 + local.tee $4 local.get $3 i32.sub i32.const 1 i32.and i32.sub - local.get $5 + local.get $4 i32.const 1 i32.and local.get $3 select i32.add - local.set $7 + local.set $6 loop $for-loop|0 local.get $2 - local.get $7 + local.get $6 i32.ge_s if local.get $0 - local.get $7 + local.get $6 i32.const 2 i32.shl i32.add local.tee $3 - i32.load $0 offset=4 - local.tee $6 - local.set $5 + i32.load offset=4 + local.tee $5 + local.set $4 local.get $3 - i32.load $0 + i32.load local.set $3 i32.const 2 global.set $~argumentsLength local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.get $5 + i32.const 3872 + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if local.get $3 - local.set $5 - local.get $6 + local.set $4 + local.get $5 local.set $3 end - local.get $7 + local.get $6 i32.const 1 i32.sub - local.set $6 + local.set $5 loop $while-continue|1 local.get $1 - local.get $6 + local.get $5 i32.le_s if block $while-break|1 local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $8 + local.tee $8 + i32.load + local.set $7 i32.const 2 global.set $~argumentsLength - local.get $8 + local.get $7 local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 3872 + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add local.get $8 - i32.store $0 offset=8 - local.get $6 + local.get $7 + i32.store offset=8 + local.get $5 i32.const 1 i32.sub - local.set $6 + local.set $5 br $while-continue|1 end end end local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add local.get $3 - i32.store $0 offset=8 + i32.store offset=8 loop $while-continue|2 local.get $1 - local.get $6 + local.get $5 i32.le_s if block $while-break|2 local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $3 + local.tee $3 + i32.load + local.set $7 i32.const 2 global.set $~argumentsLength - local.get $3 - local.get $5 + local.get $7 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 3872 + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add local.get $3 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $5 i32.const 1 i32.sub - local.set $6 + local.set $5 br $while-continue|2 end end end local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - local.get $5 - i32.store $0 offset=4 - local.get $7 + local.get $4 + i32.store offset=4 + local.get $6 i32.const 2 i32.add - local.set $7 + local.set $6 br $for-loop|0 end end ) - (func $~lib/util/sort/extendRunRight (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/sort/extendRunRight (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) local.get $1 local.get $2 i32.eq @@ -1893,65 +1963,57 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 + i32.load local.get $0 local.get $1 i32.const 1 i32.add - local.tee $4 + local.tee $3 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $6 + i32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 3872 + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if loop $while-continue|0 local.get $2 - local.get $4 + local.get $3 i32.gt_s if (result i32) local.get $0 - local.get $4 + local.get $3 i32.const 2 i32.shl i32.add - local.tee $5 - i32.load $0 offset=4 - local.set $6 - local.get $5 - i32.load $0 - local.set $5 + local.tee $4 + i32.load offset=4 + local.get $4 + i32.load i32.const 2 global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 3872 + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else i32.const 0 end if - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $while-continue|0 end end - local.get $4 + local.get $3 local.set $2 loop $while-continue|1 local.get $1 @@ -1963,25 +2025,25 @@ i32.const 2 i32.shl i32.add - local.tee $3 - i32.load $0 + local.tee $4 + i32.load local.set $5 - local.get $3 + local.get $4 local.get $0 local.get $2 i32.const 2 i32.shl i32.add - local.tee $3 - i32.load $0 - i32.store $0 + local.tee $4 + i32.load + i32.store local.get $1 i32.const 1 i32.add local.set $1 - local.get $3 + local.get $4 local.get $5 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.sub @@ -1992,55 +2054,51 @@ else loop $while-continue|2 local.get $2 - local.get $4 + local.get $3 i32.gt_s if (result i32) local.get $0 - local.get $4 + local.get $3 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 - local.set $5 + i32.load offset=4 local.get $1 - i32.load $0 - local.set $1 + i32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 3872 + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else i32.const 0 end if - local.get $4 + local.get $3 i32.const 1 i32.add - local.set $4 + local.set $3 br $while-continue|2 end end end - local.get $4 + local.get $3 ) - (func $~lib/util/sort/mergeRuns (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (func $~lib/util/sort/mergeRuns (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 i32) local.get $2 i32.const 1 i32.sub - local.tee $6 + local.tee $5 local.get $3 i32.add - local.set $7 - local.get $6 + local.set $6 + local.get $5 i32.const 1 i32.add local.set $2 @@ -2055,40 +2113,40 @@ local.tee $2 i32.const 2 i32.shl - local.tee $8 + local.tee $7 local.get $4 i32.add local.get $0 - local.get $8 + local.get $7 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store br $for-loop|0 end end loop $for-loop|1 local.get $3 - local.get $6 + local.get $5 i32.gt_s if local.get $4 - local.get $7 local.get $6 + local.get $5 i32.sub i32.const 2 i32.shl i32.add local.get $0 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $6 + i32.load offset=4 + i32.store + local.get $5 i32.const 1 i32.add - local.set $6 + local.set $5 br $for-loop|1 end end @@ -2098,26 +2156,26 @@ i32.le_s if local.get $4 - local.get $6 + local.get $5 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $7 + i32.load + local.set $6 local.get $4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $8 + i32.load + local.set $7 i32.const 2 global.set $~argumentsLength + local.get $6 local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 3872 + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -2126,20 +2184,20 @@ i32.const 2 i32.shl i32.add - local.get $7 - i32.store $0 local.get $6 + i32.store + local.get $5 i32.const 1 i32.sub - local.set $6 + local.set $5 else local.get $0 local.get $1 i32.const 2 i32.shl i32.add - local.get $8 - i32.store $0 + local.get $7 + i32.store local.get $2 i32.const 1 i32.add @@ -2165,7 +2223,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.add local.set $1 loop $while-continue|0 @@ -2174,11 +2232,11 @@ i32.lt_u if local.get $0 - i32.load $0 + i32.load local.tee $2 if local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $0 i32.const 4 @@ -2211,7 +2269,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $std/staticarray/Ref $~lib/staticarray/StaticArray $~lib/array/Array $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $invalid end return @@ -2221,12 +2279,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -2242,12 +2296,12 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store br $folding-inner1 end local.get $0 @@ -2259,25 +2313,24 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl i32.add @@ -2288,11 +2341,11 @@ i32.lt_u if local.get $1 - i32.load $0 + i32.load local.tee $3 if local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $1 i32.const 4 @@ -2311,14 +2364,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -2330,31 +2379,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2364,34 +2408,32 @@ call $start:std/staticarray ) (func $~lib/staticarray/StaticArray#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.ge_u @@ -2408,42 +2450,38 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 + i32.load global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/staticarray/StaticArray#__set (param $0 i32) (param $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 1 @@ -2457,13 +2495,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -2477,34 +2514,33 @@ global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -2513,15 +2549,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2529,45 +2564,41 @@ local.get $0 return end - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/staticarray/StaticArray.fromArray (param $0 i32) (result i32) (local $1 i32) @@ -2577,75 +2608,72 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 i32.shl - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 4 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 + local.tee $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 + i32.store local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load offset=4 + local.get $1 + memory.copy + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1088 @@ -2656,70 +2684,65 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $2 - local.get $3 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.tee $4 - local.get $2 + local.tee $2 + local.get $3 i32.add - local.tee $3 + local.tee $4 i32.const 268435455 i32.gt_u if @@ -2731,37 +2754,36 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 offset=4 - local.get $5 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.const 2 i32.shl i32.const 4 call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - local.get $3 + local.tee $4 + i32.store offset=4 + local.get $4 local.get $0 - local.get $2 + local.get $3 i32.const 2 i32.shl local.tee $0 - memory.copy $0 $0 + memory.copy local.get $0 - local.get $3 + local.get $4 i32.add local.get $1 - local.get $4 + local.get $2 i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $4 ) (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -2772,37 +2794,36 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $3 + local.set $4 local.get $0 local.get $1 i32.const 0 i32.lt_s if (result i32) local.get $1 - local.get $3 + local.get $4 i32.add local.tee $1 i32.const 0 @@ -2812,28 +2833,29 @@ select else local.get $1 - local.get $3 + local.get $4 local.get $1 - local.get $3 + local.get $4 i32.lt_s select end - local.tee $4 + local.tee $5 i32.const 2 i32.shl i32.add - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + i32.const 0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $2 i32.const 0 i32.lt_s if (result i32) local.get $2 - local.get $3 + local.get $4 i32.add local.tee $0 i32.const 0 @@ -2843,13 +2865,13 @@ select else local.get $2 - local.get $3 + local.get $4 local.get $2 - local.get $3 + local.get $4 i32.lt_s select end - local.get $4 + local.get $5 i32.sub local.tee $0 i32.const 0 @@ -2859,38 +2881,33 @@ select i32.const 2 i32.shl - local.tee $1 + local.tee $0 i32.const 8 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 offset=4 - i32.const 0 - local.set $0 + i32.store offset=4 loop $while-continue|0 local.get $0 local.get $1 - i32.lt_u + i32.gt_u if - local.get $0 + local.get $1 local.get $2 i32.add - local.get $0 - local.get $5 - i32.add - i32.load $0 - local.tee $3 - i32.store $0 + local.get $1 local.get $3 - if - local.get $2 - local.get $3 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 + i32.add + i32.load + local.tee $4 + i32.store + local.get $2 + local.get $4 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $1 i32.const 4 i32.add - local.set $0 + local.set $1 br $while-continue|0 end end @@ -2907,11 +2924,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2919,7 +2936,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -2937,47 +2954,43 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/staticarray/StaticArray<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.ge_u @@ -2995,13 +3008,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if - i32.const 2176 + i32.const 2336 i32.const 1152 i32.const 82 i32.const 40 @@ -3024,11 +3037,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3036,7 +3049,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -3056,55 +3069,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -3125,7 +3140,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$106 loop $while-continue|1 local.get $0 local.tee $3 @@ -3135,17 +3150,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$106 local.get $2 i32.const 2 i32.add @@ -3186,39 +3201,38 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $4 - local.get $3 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.tee $3 - local.get $4 + local.tee $2 + local.get $3 i32.add - local.tee $5 + local.tee $4 i32.const 268435455 i32.gt_u if @@ -3229,66 +3243,64 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $3 i32.const 2 i32.shl - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $0 - i32.store $0 offset=4 - local.get $6 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.const 9 i32.const 0 call $~lib/rt/__newArray - local.tee $5 - i32.store $0 offset=4 + local.tee $3 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 - i32.load $0 offset=4 - local.set $6 + local.get $3 + i32.store + local.get $3 + i32.load offset=4 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 offset=4 - local.set $7 + i32.load offset=4 + local.set $6 + i32.const 0 + local.set $1 loop $for-loop|0 - local.get $2 - local.get $4 + local.get $1 + local.get $5 i32.lt_u if - local.get $2 - local.get $6 + local.get $1 + local.get $4 i32.add local.get $0 - local.get $2 + local.get $1 i32.add - i32.load $0 - local.tee $1 - i32.store $0 + i32.load + local.tee $7 + i32.store + local.get $3 + local.get $7 + i32.const 1 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $5 - local.get $1 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 i32.const 4 i32.add - local.set $2 + local.set $1 br $for-loop|0 end end local.get $4 - local.get $6 + local.get $5 i32.add local.set $1 - local.get $3 + local.get $2 i32.const 2 i32.shl local.set $2 @@ -3303,18 +3315,15 @@ local.get $1 i32.add local.get $0 - local.get $7 + local.get $6 i32.add - i32.load $0 - local.tee $3 - i32.store $0 + i32.load + local.tee $4 + i32.store local.get $3 - if - local.get $5 - local.get $3 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $4 + i32.const 1 + call $~lib/rt/itcms/__link local.get $0 i32.const 4 i32.add @@ -3326,57 +3335,54 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $3 ) (func $~lib/staticarray/StaticArray<~lib/string/String>#includes (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $3 + 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 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - block $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf + i32.store + block $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf$274 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.tee $4 + local.tee $3 i32.eqz local.get $2 - local.get $4 + local.get $3 i32.ge_s i32.or if @@ -3386,14 +3392,14 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $2 - br $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf + br $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf$274 end local.get $2 i32.const 0 i32.lt_s if local.get $2 - local.get $4 + local.get $3 i32.add local.tee $2 i32.const 0 @@ -3405,23 +3411,22 @@ end loop $while-continue|0 local.get $2 - local.get $4 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $3 - i32.store $0 - local.get $5 + i32.load + local.tee $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + local.get $4 local.get $1 call $~lib/string/String.__eq if @@ -3429,7 +3434,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf + br $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf$274 end local.get $2 i32.const 1 @@ -3454,8 +3459,8 @@ i32.ge_s return end - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3468,27 +3473,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u local.tee $3 @@ -3530,7 +3534,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $1 i32.eq if @@ -3561,27 +3565,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u local.tee $3 @@ -3620,7 +3623,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $1 i32.eq if @@ -3651,11 +3654,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3663,7 +3666,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -3676,28 +3679,26 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u local.set $2 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/staticarray/StaticArray#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/util/string/joinStringArray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -3710,23 +3711,22 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $1 i32.const 1 i32.sub @@ -3738,24 +3738,23 @@ i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - i32.const 2768 + i32.const 2928 return end local.get $5 i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.load $0 + i32.load local.tee $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 2768 + i32.const 2928 local.get $0 select return @@ -3771,19 +3770,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 if global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $6 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.add @@ -3799,15 +3798,14 @@ i32.const 0 local.set $4 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $2 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $1 @@ -3819,7 +3817,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $3 loop $for-loop|1 @@ -3833,14 +3831,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 if global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 local.get $4 i32.const 1 @@ -3850,13 +3848,13 @@ local.get $7 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $7 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $4 local.get $7 i32.add @@ -3873,7 +3871,7 @@ local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $1 local.get $4 i32.add @@ -3892,14 +3890,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 local.get $4 i32.const 1 @@ -3909,10 +3907,10 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - memory.copy $0 $0 + memory.copy end global.get $~lib/memory/__stack_pointer i32.const 16 @@ -3922,49 +3920,45 @@ ) (func $~lib/staticarray/StaticArray<~lib/string/String>#join (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $0 - local.get $3 + local.get $2 local.get $1 call $~lib/util/string/joinStringArray - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/staticarray/StaticArray#filter (param $0 i32) (result i32) (local $1 i32) @@ -3978,106 +3972,99 @@ (local $9 i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 7 i32.const 0 call $~lib/rt/__newArray - local.tee $6 - i32.store $0 + local.tee $10 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $8 + local.set $7 loop $for-loop|0 - local.get $8 - local.get $10 + local.get $7 + local.get $9 i32.gt_s if local.get $0 - local.get $10 + local.get $9 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $9 + i32.load + local.set $8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 3 global.set $~argumentsLength + local.get $8 local.get $9 - local.get $10 local.get $0 - i32.const 3312 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.const 3472 + i32.load + call_indirect (type $1) if global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $6 - i32.store $0 offset=4 - local.get $1 + local.get $10 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 - local.get $6 - i32.store $0 - local.get $6 - i32.load $0 offset=12 - local.tee $7 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 + i32.load offset=12 + local.tee $6 i32.const 1 i32.add local.tee $5 local.set $3 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 - local.get $6 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store local.get $3 - local.get $6 - i32.load $0 offset=8 + local.get $10 + i32.load offset=8 local.tee $1 i32.const 2 i32.shr_u @@ -4095,9 +4082,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - block $__inlined_func$~lib/rt/itcms/__renew + local.get $10 + i32.store + block $__inlined_func$~lib/rt/itcms/__renew$224 i32.const 1073741820 local.get $1 i32.const 1 @@ -4122,13 +4109,13 @@ i32.lt_u select local.tee $4 - local.get $6 - i32.load $0 + local.get $10 + i32.load local.tee $1 i32.const 20 i32.sub local.tee $3 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -4137,92 +4124,88 @@ if local.get $3 local.get $4 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew + br $__inlined_func$~lib/rt/itcms/__renew$224 end local.get $4 local.get $3 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $2 local.get $1 local.get $4 local.get $3 - i32.load $0 offset=16 + i32.load offset=16 local.tee $3 local.get $3 local.get $4 i32.gt_u select - memory.copy $0 $0 + memory.copy end local.get $1 local.get $2 i32.ne if - local.get $6 + local.get $10 local.get $2 - i32.store $0 - local.get $6 + i32.store + local.get $10 local.get $2 - i32.store $0 offset=4 + i32.store offset=4 + local.get $10 local.get $2 - if - local.get $6 - local.get $2 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link end - local.get $6 + local.get $10 local.get $4 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 + local.get $10 + i32.store + local.get $10 + i32.load offset=4 local.get $6 - i32.store $0 - local.get $6 - i32.load $0 offset=4 - local.get $7 i32.const 2 i32.shl i32.add - local.get $9 - i32.store $0 - local.get $1 - local.get $6 - i32.store $0 - local.get $6 + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store + local.get $10 local.get $5 - i32.store $0 offset=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 end - local.get $10 + local.get $9 i32.const 1 i32.add - local.set $10 + local.set $9 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $10 return end - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4233,31 +4216,30 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u local.set $3 @@ -4271,22 +4253,20 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $4 + i32.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 1 @@ -4300,7 +4280,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 @@ -4310,31 +4290,30 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u local.set $3 @@ -4348,23 +4327,21 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $4 + i32.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 @@ -4378,7 +4355,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 1 @@ -4388,31 +4365,30 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u local.set $3 @@ -4426,22 +4402,20 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $4 + i32.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -4455,7 +4429,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const -1 @@ -4464,31 +4438,30 @@ (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 1 @@ -4504,22 +4477,20 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $3 + i32.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store i32.const 3 global.set $~argumentsLength - local.get $3 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -4533,12 +4504,13 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const -1 ) - (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -4548,31 +4520,27 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 i64) + (local $12 i64) + (local $13 i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -4595,94 +4563,94 @@ br $break|0 end local.get $0 - i32.load $0 + i32.load local.set $1 local.get $0 - i32.load $0 offset=4 - local.set $3 + i32.load offset=4 + local.set $2 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $3 + local.get $2 local.get $1 local.get $1 - local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 3872 + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s - local.tee $4 + local.tee $3 select - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $5 + i32.load offset=8 + local.set $4 i32.const 2 global.set $~argumentsLength - local.get $0 - local.get $5 local.get $1 + local.get $2 local.get $3 - local.get $4 select local.tee $1 - local.get $1 - local.get $5 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.get $4 + i32.const 3872 + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s - local.tee $3 + local.set $2 + local.get $0 + local.get $4 + local.get $1 + local.get $2 select - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - local.get $5 - local.get $3 + local.get $4 + local.get $2 select - i32.store $0 offset=8 + i32.store offset=8 end local.get $0 - i32.load $0 + i32.load local.set $1 local.get $0 - i32.load $0 offset=4 - local.set $3 + i32.load offset=4 + local.set $2 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $3 + local.get $2 local.get $1 local.get $1 - local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 3872 + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s - local.tee $2 + local.tee $3 select - i32.store $0 + i32.store local.get $0 local.get $1 - local.get $3 local.get $2 + local.get $3 select - i32.store $0 offset=4 + i32.store offset=4 br $folding-inner0 end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + i32.const 3872 + i32.store local.get $0 i32.const 0 local.get $1 i32.const 1 i32.sub i32.const 0 - local.get $2 call $~lib/util/sort/insertionSort br $folding-inner0 end @@ -4690,43 +4658,43 @@ local.get $1 i32.clz i32.sub - local.tee $4 + local.tee $3 i32.const 2 i32.shl - local.tee $5 + local.tee $4 i32.const 1 i32.shl - local.set $6 + local.set $5 global.get $~lib/rt/tlsf/ROOT i32.eqz if call $~lib/rt/tlsf/initialize end - local.get $5 + local.get $4 global.get $~lib/rt/tlsf/ROOT - local.get $6 + local.get $5 call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.tee $10 + local.tee $9 i32.add - local.set $11 + local.set $10 loop $for-loop|1 + local.get $2 local.get $3 - local.get $4 i32.lt_u if - local.get $10 - local.get $3 + local.get $9 + local.get $2 i32.const 2 i32.shl i32.add i32.const -1 - i32.store $0 - local.get $3 + i32.store + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|1 end end @@ -4742,17 +4710,16 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.set $12 + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + i32.const 3872 + i32.store local.get $0 i32.const 0 local.get $1 i32.const 1 i32.sub - local.tee $9 - local.get $2 + local.tee $8 call $~lib/util/sort/extendRunRight local.tee $4 i32.const 1 @@ -4762,137 +4729,130 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + i32.const 3872 + i32.store local.get $0 i32.const 0 i32.const 31 - local.get $9 - local.get $9 + local.get $8 + local.get $8 i32.const 31 i32.ge_s select local.tee $4 local.get $1 - local.get $2 call $~lib/util/sort/insertionSort end i32.const 0 local.set $1 i32.const 0 - local.set $3 + local.set $2 loop $while-continue|2 local.get $4 - local.get $9 + local.get $8 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + i32.const 3872 + i32.store local.get $0 local.get $4 i32.const 1 i32.add - local.tee $6 - local.get $9 - local.get $2 - call $~lib/util/sort/extendRunRight local.tee $5 - local.get $6 + local.get $8 + call $~lib/util/sort/extendRunRight + local.tee $3 + local.get $5 i32.sub i32.const 1 i32.add - local.tee $7 + local.tee $6 i32.const 32 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 + i32.const 3872 + i32.store local.get $0 - local.get $6 - local.get $9 - local.get $6 + local.get $5 + local.get $8 + local.get $5 i32.const 31 i32.add - local.tee $5 - local.get $5 - local.get $9 + local.tee $3 + local.get $3 + local.get $8 i32.gt_s select - local.tee $5 - local.get $7 - local.get $2 + local.tee $3 + local.get $6 call $~lib/util/sort/insertionSort end - local.get $3 - local.get $6 + local.get $2 + local.get $5 i32.add i64.extend_i32_u i64.const 30 i64.shl - local.get $9 + local.get $8 i32.const 1 i32.add i64.extend_i32_u - local.tee $13 + local.tee $12 i64.div_u + local.get $3 local.get $5 - local.get $6 i32.add i32.const 1 i32.add i64.extend_i32_u i64.const 30 i64.shl - local.get $13 + local.get $12 i64.div_u i64.xor i32.wrap_i64 i32.clz - local.set $7 + local.set $6 loop $for-loop|3 local.get $1 - local.get $7 + local.get $6 i32.gt_u if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $13 + local.get $9 i32.add - i32.load $0 - local.tee $8 + local.tee $14 + i32.load + local.tee $7 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $14 - local.get $11 + local.get $10 + local.get $13 i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + i32.const 3872 + i32.store local.get $0 - local.get $8 - local.get $3 - local.get $4 - local.get $12 + local.get $7 local.get $2 + local.get $4 + local.get $11 call $~lib/util/sort/mergeRuns - local.get $10 local.get $14 - i32.add i32.const -1 - i32.store $0 - local.get $8 - local.set $3 + i32.store + local.get $7 + local.set $2 end local.get $1 i32.const 1 @@ -4901,24 +4861,24 @@ br $for-loop|3 end end - local.get $7 + local.get $6 i32.const 2 i32.shl local.tee $1 - local.get $10 + local.get $9 i32.add - local.get $3 - i32.store $0 + local.get $2 + i32.store local.get $1 - local.get $11 + local.get $10 i32.add local.get $4 - i32.store $0 - local.get $6 - local.set $3 + i32.store local.get $5 + local.set $2 + local.get $3 local.set $4 - local.get $7 + local.get $6 local.set $1 br $while-continue|2 end @@ -4926,34 +4886,32 @@ loop $for-loop|4 local.get $1 if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $2 + local.get $9 i32.add - i32.load $0 + i32.load local.tee $3 i32.const -1 i32.ne if - local.get $11 - local.get $1 - i32.const 2 - i32.shl + local.get $2 + local.get $10 i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 + i32.const 3872 + i32.store local.get $0 local.get $3 - local.get $4 - local.get $9 - local.get $12 local.get $2 + local.get $8 + local.get $11 call $~lib/util/sort/mergeRuns end local.get $1 @@ -4963,49 +4921,48 @@ br $for-loop|4 end end - local.get $12 + local.get $11 call $~lib/rt/tlsf/__free - local.get $10 + local.get $9 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $start:std/staticarray (local $0 i32) (local $1 i32) - (local $2 f64) - (local $3 f32) - (local $4 i32) + (local $2 i32) + (local $3 f64) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 100 + i32.const 104 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.const 100 - memory.fill $0 - local.get $4 + i32.const 104 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1056 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -5021,9 +4978,9 @@ end global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1052 - i32.load $0 + i32.load i32.const 2 i32.shr_u i32.const 3 @@ -5038,13 +4995,13 @@ end global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1056 i32.const 4 call $~lib/staticarray/StaticArray#__set global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1056 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -5059,7 +5016,7 @@ unreachable end i32.const 1048 - i32.load $0 + i32.load i32.const 4 i32.ne if @@ -5072,7 +5029,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 1280 - i32.store $0 + i32.store i32.const 1280 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -5088,9 +5045,9 @@ end global.get $~lib/memory/__stack_pointer i32.const 1280 - i32.store $0 + i32.store i32.const 1276 - i32.load $0 + i32.load i32.const 2 i32.shr_u i32.const 3 @@ -5105,13 +5062,13 @@ end global.get $~lib/memory/__stack_pointer i32.const 1280 - i32.store $0 + i32.store i32.const 1280 i32.const 4 call $~lib/staticarray/StaticArray#__set global.get $~lib/memory/__stack_pointer i32.const 1280 - i32.store $0 + i32.store i32.const 1280 i32.const 1 call $~lib/staticarray/StaticArray#__get @@ -5125,52 +5082,52 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl - i32.const 36568 + i32.const 36728 i32.sub i32.const 1 i32.shr_u global.set $~lib/rt/itcms/threshold i32.const 1460 i32.const 1456 - i32.store $0 + i32.store i32.const 1464 i32.const 1456 - i32.store $0 + i32.store i32.const 1456 global.set $~lib/rt/itcms/pinSpace i32.const 1492 i32.const 1488 - i32.store $0 + i32.store i32.const 1496 i32.const 1488 - i32.store $0 + i32.store i32.const 1488 global.set $~lib/rt/itcms/toSpace i32.const 1572 i32.const 1568 - i32.store $0 + i32.store i32.const 1576 i32.const 1568 - i32.store $0 + i32.store i32.const 1568 global.set $~lib/rt/itcms/fromSpace i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.const 1312 i32.const 12 - memory.copy $0 $0 - local.get $4 + memory.copy + local.get $5 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $4 - i32.store $0 - local.get $4 + local.tee $5 + i32.store + local.get $5 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -5185,9 +5142,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $4 - i32.store $0 - local.get $4 + local.tee $5 + i32.store + local.get $5 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -5202,9 +5159,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $4 - i32.store $0 - local.get $4 + local.tee $5 + i32.store + local.get $5 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 7 @@ -5219,12 +5176,12 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $4 - i32.store $0 - local.get $4 + local.tee $5 + i32.store + local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 3 @@ -5239,16 +5196,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $4 - i32.store $0 - local.get $4 + local.tee $5 + i32.store + local.get $5 i32.const 8 call $~lib/staticarray/StaticArray#__set global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $4 - i32.store $0 - local.get $4 + local.tee $5 + i32.store + local.get $5 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 8 @@ -5264,17 +5221,17 @@ i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.const 1312 i32.const 12 - memory.copy $0 $0 - local.get $4 + memory.copy + local.get $5 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $4 - i32.store $0 - local.get $4 + local.tee $5 + i32.store + local.get $5 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -5291,55 +5248,61 @@ i32.const 8 i32.const 6 call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=4 - local.get $4 - i32.const 0 + local.tee $5 + i32.store offset=4 + local.get $5 call $std/staticarray/Ref#constructor - call $~lib/staticarray/StaticArray#__uset - local.get $4 + local.tee $6 + i32.store + local.get $5 + local.get $6 i32.const 1 + call $~lib/rt/itcms/__link + local.get $5 call $std/staticarray/Ref#constructor - call $~lib/staticarray/StaticArray#__uset - local.get $4 + local.tee $6 + i32.store offset=4 + local.get $5 + local.get $6 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $5 global.set $std/staticarray/arr4 i32.const 0 global.set $std/staticarray/arr3 i32.const 0 global.set $std/staticarray/arr4 global.get $~lib/memory/__stack_pointer - local.tee $4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $5 - i32.store $0 offset=8 + local.get $6 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $6 + i32.store + local.get $6 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 3 @@ -5354,22 +5317,22 @@ end loop $for-loop|0 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $1 - local.get $5 + local.get $6 + i32.store + local.get $0 + local.get $6 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 - local.get $1 + local.get $6 + i32.store + local.get $6 + local.get $0 call $~lib/staticarray/StaticArray#__get if i32.const 0 @@ -5379,10 +5342,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 @@ -5391,32 +5354,32 @@ i32.const 7 i32.const 1728 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=12 + local.tee $0 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 call $~lib/staticarray/StaticArray.fromArray - local.tee $4 - i32.store $0 offset=16 + local.tee $5 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $5 + i32.store + local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $0 + i32.store + local.get $0 call $~lib/array/Array#get:length - local.get $5 + local.get $6 i32.ne if i32.const 0 @@ -5428,27 +5391,27 @@ end loop $for-loop|1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array#get:length local.get $0 + i32.store + local.get $0 + call $~lib/array/Array#get:length + local.get $1 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $0 + local.get $5 + i32.store + local.get $5 + local.get $1 call $~lib/staticarray/StaticArray#__get - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 local.get $0 + i32.store + local.get $0 + local.get $1 call $~lib/array/Array#__get - local.get $5 + local.get $6 i32.ne if i32.const 0 @@ -5458,15 +5421,14 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 0 i32.const 7 i32.const 1824 @@ -5474,19 +5436,18 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 call $~lib/staticarray/StaticArray.fromArray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u if @@ -5498,44 +5459,41 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 8 i32.const 4 call $~lib/rt/itcms/__new local.tee $1 i32.const 1856 - i64.load $0 align=1 - i64.store $0 align=1 - local.get $0 + i64.load align=1 + i64.store align=1 local.get $1 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 4 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.const 1888 - i32.load $0 align=1 - i32.store $0 align=1 + i32.load align=1 + i32.store align=1 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=24 - local.get $0 + local.get $5 + i32.store offset=24 local.get $1 - local.get $4 + local.get $5 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> local.tee $0 - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 3 @@ -5549,43 +5507,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 4 call $~lib/rt/itcms/__new - local.tee $4 + local.tee $5 i32.const 1920 i32.const 0 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=24 - local.get $0 + local.get $5 + i32.store offset=24 local.get $1 - local.get $4 + local.get $5 call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> local.tee $0 - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.ne @@ -5598,93 +5553,256 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 20 + i32.const 8 i32.const 8 call $~lib/rt/itcms/__new local.tee $1 - i32.const 2128 - i32.const 20 - memory.copy $0 $0 - local.get $0 + i32.const 2016 + i64.load align=1 + i64.store align=1 local.get $1 - i32.store $0 offset=32 + i32.store offset=32 + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - i32.const 0 - global.set $~argumentsLength - local.get $0 local.get $1 - i32.const 0 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs - local.tee $4 - i32.store $0 offset=36 + i32.store + i32.const 4 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $6 + i32.const 2080 + i32.load align=1 + i32.store align=1 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $6 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3960 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $6 + i32.store + local.get $6 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - i32.ne + local.tee $7 + local.get $0 + i32.add + local.tee $8 + i32.const 268435455 + i32.gt_u if - i32.const 0 - i32.const 1216 - i32.const 78 - i32.const 3 + i32.const 1680 + i32.const 1152 + i32.const 178 + i32.const 7 call $~lib/builtins/abort unreachable end - i32.const 0 + local.get $0 + i32.const 2 + i32.shl local.set $0 - loop $for-loop|2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 2 + i32.shl + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store offset=4 + loop $for-loop|03 local.get $0 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.lt_s + local.get $2 + i32.gt_u if - global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $8 + i32.add local.get $1 - i32.store $0 offset=40 + local.get $2 + i32.add + i32.load + local.tee $9 + i32.store + local.get $8 + local.get $9 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $for-loop|03 + end + end + local.get $0 + local.get $8 + i32.add + local.set $1 + local.get $7 + i32.const 2 + i32.shl + local.set $2 + i32.const 0 + local.set $0 + loop $for-loop|14 + local.get $0 + local.get $2 + i32.lt_u + if + local.get $0 local.get $1 + i32.add + local.get $0 + local.get $6 + i32.add + i32.load + local.tee $7 + i32.store + local.get $8 + local.get $7 + i32.const 1 + call $~lib/rt/itcms/__link local.get $0 + i32.const 4 + i32.add + local.set $0 + br $for-loop|14 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=36 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + local.get $8 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 2 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 76 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $2 + i32.const 2288 + i32.const 20 + memory.copy + local.get $2 + i32.store offset=40 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs + local.tee $0 + i32.store offset=44 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 2 + i32.shr_u + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 2 + i32.shr_u + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 83 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $1 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $1 + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 2 + i32.shr_u + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=48 + local.get $2 + local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=40 - local.get $4 local.get $0 + i32.store offset=48 + local.get $0 + local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=24 + i32.store offset=24 local.get $5 local.get $6 call $~lib/string/String.__eq @@ -5692,36 +5810,35 @@ if i32.const 0 i32.const 1216 - i32.const 81 + i32.const 86 i32.const 5 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.tee $0 - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 1 i32.const 3 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $0 - i32.store $0 offset=36 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 2 @@ -5729,91 +5846,82 @@ if i32.const 0 i32.const 1216 - i32.const 85 + i32.const 90 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=40 + i32.store offset=24 local.get $0 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 1984 - i32.store $0 offset=24 - local.get $4 - i32.const 1984 + local.get $1 + i32.store + local.get $1 + i32.const 2144 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1216 - i32.const 86 + i32.const 91 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=40 + i32.store offset=24 local.get $0 i32.const 1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2016 - i32.store $0 offset=24 + i32.store local.get $0 - i32.const 2016 + i32.const 2176 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1216 - i32.const 87 + i32.const 92 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 1 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 - i32.store $0 offset=36 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 1 @@ -5822,99 +5930,94 @@ if i32.const 0 i32.const 1216 - i32.const 90 + i32.const 95 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 0 i32.const 50 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $0 - i32.store $0 offset=36 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.ne if i32.const 0 i32.const 1216 - i32.const 93 + i32.const 98 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 100 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 - i32.store $0 offset=36 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u if i32.const 0 i32.const 1216 - i32.const 96 + i32.const 101 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 + local.get $2 + i32.store i32.const 1 global.set $~argumentsLength - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const -1 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 - i32.store $0 offset=36 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 1 @@ -5922,82 +6025,77 @@ if i32.const 0 i32.const 1216 - i32.const 99 + i32.const 104 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=40 + i32.store offset=24 local.get $0 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2080 - i32.store $0 offset=24 + i32.store local.get $0 - i32.const 2080 + i32.const 2240 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1216 - i32.const 100 + i32.const 105 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const -2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $0 - i32.store $0 offset=36 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u if i32.const 0 i32.const 1216 - i32.const 103 + i32.const 108 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $0 - local.get $1 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $0 - i32.store $0 offset=36 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 1 @@ -6005,123 +6103,112 @@ if i32.const 0 i32.const 1216 - i32.const 106 + i32.const 111 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=40 + i32.store offset=24 local.get $0 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2016 - i32.store $0 offset=24 + i32.store local.get $0 - i32.const 2016 + i32.const 2176 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1216 - i32.const 107 + i32.const 112 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 20 i32.const 8 call $~lib/rt/itcms/__new local.tee $1 - i32.const 2304 + i32.const 2464 i32.const 20 - memory.copy $0 $0 - local.get $0 + memory.copy local.get $1 - i32.store $0 offset=44 + i32.store offset=52 global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 9 - i32.const 2352 + i32.const 2512 call $~lib/rt/__newArray - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=24 - local.get $0 + local.get $2 + i32.store offset=24 local.get $1 - local.get $4 + local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> local.tee $0 - i32.store $0 offset=48 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length - local.set $0 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.ne if i32.const 0 i32.const 1216 - i32.const 117 + i32.const 122 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 9 - i32.const 2416 + i32.const 2576 call $~lib/rt/__newArray - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=24 - local.get $0 + local.get $2 + i32.store offset=24 local.get $1 - local.get $4 + local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> local.tee $0 - i32.store $0 offset=48 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length - local.set $0 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 1 @@ -6130,32 +6217,26 @@ if i32.const 0 i32.const 1216 - i32.const 121 + i32.const 126 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 20 i32.const 8 call $~lib/rt/itcms/__new local.tee $1 - i32.const 2448 + i32.const 2608 i32.const 20 - memory.copy $0 $0 - local.get $0 + memory.copy local.get $1 - i32.store $0 offset=52 + i32.store offset=60 global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 - local.get $0 - i32.const 1984 - i32.store $0 offset=24 + i32.store local.get $1 - i32.const 1984 + i32.const 2144 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes i32.const 1 @@ -6163,58 +6244,46 @@ if i32.const 0 i32.const 1216 - i32.const 128 + i32.const 133 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 - local.get $0 - i32.const 2384 - i32.store $0 offset=24 + i32.store local.get $1 - i32.const 2384 + i32.const 2544 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#includes if i32.const 0 i32.const 1216 - i32.const 129 + i32.const 134 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 - local.get $0 - i32.const 2080 - i32.store $0 offset=24 + i32.store local.get $1 - i32.const 2080 + i32.const 2240 i32.const 5 call $~lib/staticarray/StaticArray<~lib/string/String>#includes if i32.const 0 i32.const 1216 - i32.const 130 + i32.const 135 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 - local.get $0 - i32.const 2080 - i32.store $0 offset=24 + i32.store local.get $1 - i32.const 2080 + i32.const 2240 i32.const -1 call $~lib/staticarray/StaticArray<~lib/string/String>#includes i32.const 1 @@ -6222,72 +6291,67 @@ if i32.const 0 i32.const 1216 - i32.const 131 + i32.const 136 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#includes (result i32) + block $__inlined_func$~lib/staticarray/StaticArray#includes$276 (result i32) i32.const 8 i32.const 10 call $~lib/rt/itcms/__new - local.tee $1 - i32.const 2496 - i64.load $0 align=1 - i64.store $0 align=1 + local.tee $0 + i32.const 2656 + i64.load align=1 + i64.store align=1 global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $1 - i32.store $0 + local.get $0 + i32.store i32.const 0 - local.set $0 - local.get $4 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 - local.get $1 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 3 i32.shr_u - local.tee $4 + local.tee $2 i32.eqz - local.tee $5 - local.get $5 - i32.or if global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$~lib/staticarray/StaticArray#includes + br $__inlined_func$~lib/staticarray/StaticArray#includes$276 end loop $while-continue|0 - local.get $0 - local.get $4 + local.get $1 + local.get $2 i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.tee $2 - local.get $2 + f64.load + local.tee $3 + local.get $3 f64.ne if global.get $~lib/memory/__stack_pointer @@ -6295,12 +6359,12 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/staticarray/StaticArray#includes + br $__inlined_func$~lib/staticarray/StaticArray#includes$276 end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $while-continue|0 end end @@ -6314,72 +6378,67 @@ if i32.const 0 i32.const 1216 - i32.const 133 + i32.const 138 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#includes (result i32) + block $__inlined_func$~lib/staticarray/StaticArray#includes$277 (result i32) i32.const 4 i32.const 11 call $~lib/rt/itcms/__new - local.tee $1 - i32.const 2528 - i32.load $0 align=1 - i32.store $0 align=1 + local.tee $0 + i32.const 2688 + i32.load align=1 + i32.store align=1 global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $1 - i32.store $0 + local.get $0 + i32.store i32.const 0 - local.set $0 - local.get $4 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 - local.get $1 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.tee $4 + local.tee $2 i32.eqz - local.tee $5 - local.get $5 - i32.or if global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - br $__inlined_func$~lib/staticarray/StaticArray#includes + br $__inlined_func$~lib/staticarray/StaticArray#includes$277 end - loop $while-continue|07 - local.get $0 - local.get $4 + loop $while-continue|030 + local.get $1 + local.get $2 i32.lt_s if - local.get $1 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.tee $3 - local.get $3 + f32.load + local.tee $4 + local.get $4 f32.ne if global.get $~lib/memory/__stack_pointer @@ -6387,13 +6446,13 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 1 - br $__inlined_func$~lib/staticarray/StaticArray#includes + br $__inlined_func$~lib/staticarray/StaticArray#includes$277 end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|07 + local.set $1 + br $while-continue|030 end end global.get $~lib/memory/__stack_pointer @@ -6406,26 +6465,24 @@ if i32.const 0 i32.const 1216 - i32.const 134 + i32.const 139 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 12 i32.const 4 call $~lib/rt/itcms/__new local.tee $1 - i32.const 2560 + i32.const 2720 i32.const 12 - memory.copy $0 $0 - local.get $0 + memory.copy local.get $1 - i32.store $0 offset=56 + i32.store offset=64 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.const 0 @@ -6433,14 +6490,14 @@ if i32.const 0 i32.const 1216 - i32.const 140 + i32.const 145 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 7 i32.const 0 @@ -6450,14 +6507,14 @@ if i32.const 0 i32.const 1216 - i32.const 141 + i32.const 146 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 9 i32.const 2 @@ -6467,14 +6524,14 @@ if i32.const 0 i32.const 1216 - i32.const 142 + i32.const 147 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.const -1 @@ -6484,14 +6541,14 @@ if i32.const 0 i32.const 1216 - i32.const 143 + i32.const 148 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.const -3 @@ -6499,26 +6556,24 @@ if i32.const 0 i32.const 1216 - i32.const 144 + i32.const 149 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 16 i32.const 4 call $~lib/rt/itcms/__new local.tee $1 - i32.const 2592 + i32.const 2752 i32.const 16 - memory.copy $0 $0 - local.get $0 + memory.copy local.get $1 - i32.store $0 offset=60 + i32.store offset=68 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store i32.const 1 global.set $~argumentsLength local.get $1 @@ -6529,14 +6584,14 @@ if i32.const 0 i32.const 1216 - i32.const 150 + i32.const 155 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store i32.const 1 global.set $~argumentsLength local.get $1 @@ -6547,14 +6602,14 @@ if i32.const 0 i32.const 1216 - i32.const 151 + i32.const 156 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.const 3 @@ -6564,14 +6619,14 @@ if i32.const 0 i32.const 1216 - i32.const 152 + i32.const 157 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.const 2 @@ -6579,14 +6634,14 @@ if i32.const 0 i32.const 1216 - i32.const 153 + i32.const 158 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.const -2 @@ -6594,14 +6649,14 @@ if i32.const 0 i32.const 1216 - i32.const 154 + i32.const 159 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.const -1 @@ -6611,185 +6666,147 @@ if i32.const 0 i32.const 1216 - i32.const 155 + i32.const 160 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 12 i32.const 8 call $~lib/rt/itcms/__new local.tee $1 - i32.const 2736 + i32.const 2896 i32.const 12 - memory.copy $0 $0 - local.get $0 + memory.copy local.get $1 - i32.store $0 offset=64 + i32.store offset=72 global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=40 - local.get $0 - i32.const 2800 - i32.store $0 offset=68 + i32.store offset=24 local.get $1 - i32.const 2800 + i32.const 2960 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2832 - i32.store $0 offset=24 + i32.store local.get $0 - i32.const 2832 + i32.const 2992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1216 - i32.const 161 + i32.const 166 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=40 - local.get $0 - i32.const 2768 - i32.store $0 offset=68 + i32.store offset=24 local.get $1 - i32.const 2768 + i32.const 2928 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2880 - i32.store $0 offset=24 + i32.store local.get $0 - i32.const 2880 + i32.const 3040 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1216 - i32.const 162 + i32.const 167 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=40 - local.get $0 - i32.const 2928 - i32.store $0 offset=68 + i32.store offset=24 local.get $1 - i32.const 2928 + i32.const 3088 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2960 - i32.store $0 offset=24 + i32.store local.get $0 - i32.const 2960 + i32.const 3120 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1216 - i32.const 163 + i32.const 168 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=40 - local.get $0 - i32.const 3008 - i32.store $0 offset=68 + i32.store offset=24 local.get $1 - i32.const 3008 + i32.const 3168 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3040 - i32.store $0 offset=24 + i32.store local.get $0 - i32.const 3040 + i32.const 3200 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1216 - i32.const 164 + i32.const 169 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $1 - i32.store $0 offset=40 - local.get $0 - i32.const 2800 - i32.store $0 offset=68 + i32.store offset=48 local.get $1 - i32.const 2800 + i32.const 2960 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=40 + i32.store offset=48 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $4 - i32.const 2800 - i32.store $0 offset=4 + i32.store local.get $1 - i32.const 2800 + i32.const 2960 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=24 + i32.store offset=24 local.get $0 local.get $1 call $~lib/string/String.__eq @@ -6797,131 +6814,84 @@ if i32.const 0 i32.const 1216 - i32.const 165 + i32.const 170 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 8 i32.const 4 call $~lib/rt/itcms/__new - local.tee $4 - i32.const 3104 - i64.load $0 align=1 - i64.store $0 align=1 - local.get $0 - local.get $4 - i32.store $0 offset=72 + local.tee $1 + i32.const 3264 + i64.load align=1 + i64.store align=1 + local.get $1 + i32.store offset=76 global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $4 - i32.store $0 - i32.const 1 - local.set $1 + local.get $1 + i32.store i32.const 2 global.set $~argumentsLength - i32.const 0 - local.set $0 - local.get $5 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - i32.const 2147483647 - local.set $0 - end + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $4 - i32.store $0 - local.get $5 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 - local.get $4 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + i32.const 1 + local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.tee $5 - local.get $1 - i32.add - local.get $1 - local.get $5 - local.get $1 - local.get $5 - i32.lt_s - select - local.get $1 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - local.get $5 - i32.add - local.get $0 - local.get $5 - local.get $0 - local.get $5 - i32.lt_s - select - local.get $0 - i32.const 0 - i32.lt_s + local.tee $2 + local.get $2 + i32.const 1 + i32.gt_u select local.set $0 - loop $for-loop|011 + loop $for-loop|032 local.get $0 - local.get $1 - i32.gt_s + local.get $2 + i32.lt_s if - local.get $4 local.get $1 + local.get $0 i32.const 2 i32.shl i32.add i32.const 1 - i32.store $0 - local.get $1 + i32.store + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|011 + local.set $0 + br $for-loop|032 end end global.get $~lib/memory/__stack_pointer @@ -6933,23 +6903,23 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 0 call $~lib/staticarray/StaticArray#__get if i32.const 0 i32.const 1216 - i32.const 173 + i32.const 178 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -6957,94 +6927,90 @@ if i32.const 0 i32.const 1216 - i32.const 174 + i32.const 179 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $4 - i32.const 3136 + local.tee $1 + i32.const 3296 i32.const 12 - memory.copy $0 $0 - local.get $0 - local.get $4 - i32.store $0 offset=76 + memory.copy + local.get $1 + i32.store offset=80 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 - local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 - local.get $4 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.tee $0 + local.tee $2 i32.const 1 i32.gt_u if i32.const 0 - local.set $1 - local.get $0 + local.set $0 + local.get $2 i32.const 1 i32.shr_u local.set $5 - local.get $0 + local.get $2 i32.const 1 i32.sub - local.set $0 - loop $while-continue|017 - local.get $1 + local.set $2 + loop $while-continue|035 + local.get $0 local.get $5 i32.lt_u if - local.get $4 local.get $1 + local.get $0 i32.const 2 i32.shl i32.add local.tee $6 - i32.load $0 + i32.load local.set $7 local.get $6 - local.get $4 - local.get $0 local.get $1 + local.get $2 + local.get $0 i32.sub i32.const 2 i32.shl i32.add local.tee $6 - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $6 local.get $7 - i32.store $0 - local.get $1 + i32.store + local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|017 + local.set $0 + br $while-continue|035 end end end @@ -7053,9 +7019,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -7063,15 +7029,15 @@ if i32.const 0 i32.const 1216 - i32.const 182 + i32.const 187 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 2 @@ -7079,15 +7045,15 @@ if i32.const 0 i32.const 1216 - i32.const 183 + i32.const 188 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -7095,131 +7061,99 @@ if i32.const 0 i32.const 1216 - i32.const 184 + i32.const 189 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 20 i32.const 4 call $~lib/rt/itcms/__new - local.tee $4 - i32.const 3168 + local.tee $1 + i32.const 3328 i32.const 20 - memory.copy $0 $0 - local.get $0 - local.get $4 - i32.store $0 offset=80 + memory.copy + local.get $1 + i32.store offset=84 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 + local.get $1 + i32.store i32.const 2 global.set $~argumentsLength - i32.const 0 - local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $1of1 - block $0of1 - block $outOfRange56 - global.get $~argumentsLength - i32.const 2 - i32.sub - br_table $0of1 $1of1 $outOfRange56 - end - unreachable - end - i32.const 2147483647 - local.set $1 - end + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 - local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 - local.get $4 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + local.get $1 + i32.const 3 local.get $1 - local.get $4 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u local.tee $0 local.get $0 - local.get $1 - i32.gt_s - select - local.set $1 - local.get $4 - local.get $4 - i32.const 3 - local.get $0 - local.get $0 i32.const 3 i32.gt_u select - local.tee $5 + local.tee $2 i32.const 2 i32.shl i32.add - local.get $1 + local.get $0 i32.const 0 i32.lt_s if (result i32) local.get $0 - local.get $1 + local.get $0 i32.add - local.tee $1 + local.tee $5 i32.const 0 - local.get $1 + local.get $5 i32.const 0 i32.gt_s select else - local.get $1 local.get $0 - local.get $0 - local.get $1 - i32.gt_s - select end - local.get $5 + local.get $2 i32.sub - local.tee $1 + local.tee $2 local.get $0 local.get $0 - local.get $1 + local.get $2 i32.gt_s select i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -7229,9 +7163,9 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -7239,15 +7173,15 @@ if i32.const 0 i32.const 1216 - i32.const 192 + i32.const 197 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -7255,15 +7189,15 @@ if i32.const 0 i32.const 1216 - i32.const 193 + i32.const 198 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -7271,15 +7205,15 @@ if i32.const 0 i32.const 1216 - i32.const 194 + i32.const 199 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 3 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -7287,15 +7221,15 @@ if i32.const 0 i32.const 1216 - i32.const 195 + i32.const 200 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 4 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -7303,117 +7237,108 @@ if i32.const 0 i32.const 1216 - i32.const 196 + i32.const 201 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $5 - i32.const 3216 + local.tee $2 + i32.const 3376 i32.const 12 - memory.copy $0 $0 - local.get $0 - local.get $5 - i32.store $0 offset=84 + memory.copy + local.get $2 + i32.store offset=88 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.set $6 - local.get $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3248 - i32.store $0 offset=24 - local.get $0 - i32.const 12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3408 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $5 - i32.store $0 - local.get $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.tee $7 + local.tee $5 i32.const 7 i32.const 0 call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=4 + local.tee $6 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $4 + local.get $6 + i32.store + local.get $6 + i32.load offset=4 + local.set $7 i32.const 0 - local.set $1 - loop $for-loop|026 - local.get $1 - local.get $7 + local.set $0 + loop $for-loop|038 + local.get $0 + local.get $5 i32.lt_s if - local.get $1 + local.get $0 i32.const 2 i32.shl local.tee $8 - local.get $5 + local.get $2 i32.add - i32.load $0 + i32.load local.set $9 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 + local.get $2 + i32.store i32.const 3 global.set $~argumentsLength - local.get $4 + local.get $7 local.get $8 i32.add local.get $9 - local.get $1 - local.get $5 - i32.const 3248 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 - local.get $1 + local.get $0 + local.get $2 + i32.const 3408 + i32.load + call_indirect (type $1) + i32.store + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|026 + local.set $0 + br $for-loop|038 end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $6 - local.get $0 - i32.store $0 offset=88 + i32.store offset=92 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 + local.get $6 + i32.store + local.get $6 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -7421,15 +7346,15 @@ if i32.const 0 i32.const 1216 - i32.const 205 + i32.const 210 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 + local.get $6 + i32.store + local.get $6 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -7437,15 +7362,15 @@ if i32.const 0 i32.const 1216 - i32.const 206 + i32.const 211 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 + local.get $6 + i32.store + local.get $6 i32.const 2 call $~lib/array/Array#__get i32.const 4 @@ -7453,74 +7378,70 @@ if i32.const 0 i32.const 1216 - i32.const 207 + i32.const 212 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3280 - i32.store $0 offset=24 - local.get $0 - i32.const 8 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3440 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 i32.const 0 - local.set $0 - local.get $1 - local.get $5 - i32.store $0 - local.get $5 + i32.store + i32.const 0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $1 - loop $for-loop|030 + local.set $0 + loop $for-loop|040 local.get $0 local.get $1 - i32.lt_s + i32.gt_s if - local.get $5 - local.get $0 + local.get $2 + local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $4 + i32.load global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $2 + i32.store i32.const 3 global.set $~argumentsLength - local.get $4 - local.get $0 - local.get $5 - i32.const 3280 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 + local.get $1 + local.get $2 + i32.const 3440 + i32.load + call_indirect (type $5) + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|030 + local.set $1 + br $for-loop|040 end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $std/staticarray/maxVal @@ -7529,26 +7450,25 @@ if i32.const 0 i32.const 1216 - i32.const 211 + i32.const 216 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3312 - i32.store $0 offset=24 - local.get $0 - local.get $5 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3472 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer + local.get $2 call $~lib/staticarray/StaticArray#filter local.tee $0 - i32.store $0 offset=92 + i32.store offset=96 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 2 @@ -7556,14 +7476,14 @@ if i32.const 0 i32.const 1216 - i32.const 215 + i32.const 220 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -7572,14 +7492,14 @@ if i32.const 0 i32.const 1216 - i32.const 216 + i32.const 221 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $~lib/array/Array#__get @@ -7588,409 +7508,377 @@ if i32.const 0 i32.const 1216 - i32.const 217 + i32.const 222 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $5 - i32.store $0 - local.get $1 - i32.const 3344 - i32.store $0 offset=24 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3504 + i32.store offset=24 i32.const 0 - local.set $0 - local.get $1 - i32.const 8 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 i32.const 0 - local.set $1 - local.get $4 - local.get $5 - i32.store $0 - local.get $5 + i32.store + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $4 - loop $for-loop|034 - local.get $1 - local.get $4 + local.set $5 + loop $for-loop|042 + local.get $0 + local.get $5 i32.lt_s if - local.get $5 - local.get $1 + local.get $2 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $2 + i32.store i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $6 - local.get $1 - local.get $5 - i32.const 3344 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 local.get $1 + local.get $6 + local.get $0 + local.get $2 + i32.const 3504 + i32.load + call_indirect (type $6) + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|034 + local.set $0 + br $for-loop|042 end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 6 i32.ne if i32.const 0 i32.const 1216 - i32.const 221 + i32.const 226 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $5 - i32.store $0 - local.get $1 - i32.const 3376 - i32.store $0 offset=24 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3536 + i32.store offset=24 i32.const 0 - local.set $0 - local.get $1 - i32.const 8 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - local.get $5 - i32.store $0 - local.get $5 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u i32.const 1 i32.sub - local.set $1 - loop $for-loop|038 - local.get $1 + local.set $0 + loop $for-loop|044 + local.get $0 i32.const 0 i32.ge_s if - local.get $5 - local.get $1 + local.get $2 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $4 + i32.load + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $2 + i32.store i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $4 local.get $1 local.get $5 - i32.const 3376 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + local.get $0 + local.get $2 + i32.const 3536 + i32.load + call_indirect (type $6) + local.set $1 + local.get $0 i32.const 1 i32.sub - local.set $1 - br $for-loop|038 + local.set $0 + br $for-loop|044 end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 6 i32.ne if i32.const 0 i32.const 1216 - i32.const 225 + i32.const 230 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3408 - i32.store $0 offset=24 - local.get $5 - i32.const 3408 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3568 + i32.store offset=24 + local.get $2 + i32.const 3568 call $~lib/staticarray/StaticArray#some i32.eqz if i32.const 0 i32.const 1216 - i32.const 228 + i32.const 233 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3440 - i32.store $0 offset=24 - local.get $5 - i32.const 3440 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3600 + i32.store offset=24 + local.get $2 + i32.const 3600 call $~lib/staticarray/StaticArray#some if i32.const 0 i32.const 1216 - i32.const 229 + i32.const 234 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3472 - i32.store $0 offset=24 - local.get $5 - i32.const 3472 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3632 + i32.store offset=24 + local.get $2 + i32.const 3632 call $~lib/staticarray/StaticArray#every i32.eqz if i32.const 0 i32.const 1216 - i32.const 232 + i32.const 237 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3504 - i32.store $0 offset=24 - local.get $5 - i32.const 3504 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3664 + i32.store offset=24 + local.get $2 + i32.const 3664 call $~lib/staticarray/StaticArray#every if i32.const 0 i32.const 1216 - i32.const 233 + i32.const 238 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3536 - i32.store $0 offset=24 - local.get $5 - i32.const 3536 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3696 + i32.store offset=24 + local.get $2 + i32.const 3696 call $~lib/staticarray/StaticArray#findIndex i32.const 1 i32.ne if i32.const 0 i32.const 1216 - i32.const 236 + i32.const 241 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3568 - i32.store $0 offset=24 - local.get $5 - i32.const 3568 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3728 + i32.store offset=24 + local.get $2 + i32.const 3728 call $~lib/staticarray/StaticArray#findIndex i32.const -1 i32.ne if i32.const 0 i32.const 1216 - i32.const 237 + i32.const 242 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3600 - i32.store $0 offset=24 - local.get $5 - i32.const 3600 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3760 + i32.store offset=24 + local.get $2 + i32.const 3760 call $~lib/staticarray/StaticArray#findLastIndex i32.const 1 i32.ne if i32.const 0 i32.const 1216 - i32.const 240 + i32.const 245 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 - local.get $0 - i32.const 3632 - i32.store $0 offset=24 - local.get $5 - i32.const 3632 + local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 3792 + i32.store offset=24 + local.get $2 + i32.const 3792 call $~lib/staticarray/StaticArray#findLastIndex i32.const -1 i32.ne if i32.const 0 i32.const 1216 - i32.const 241 + i32.const 246 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $4 - i32.const 3664 + local.tee $1 + i32.const 3824 i32.const 16 - memory.copy $0 $0 - local.get $0 - local.get $4 - i32.store $0 offset=96 + memory.copy + local.get $1 + i32.store offset=100 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 + local.get $1 + i32.store i32.const 0 global.set $~argumentsLength - i32.const 0 - local.set $1 - local.get $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 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $1of158 - block $0of159 - block $outOfRange60 - global.get $~argumentsLength - br_table $0of159 $1of158 $outOfRange60 - end - unreachable - end - i32.const 3712 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 3712 - i32.store $0 - end + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3872 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=4 - local.get $0 local.get $1 - i32.store $0 offset=8 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3872 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - local.get $4 - i32.store $0 offset=4 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $5 - local.get $0 - local.get $1 - i32.store $0 - local.get $4 - local.get $5 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 3872 + i32.store local.get $1 + local.get $0 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 @@ -8001,23 +7889,23 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 0 call $~lib/staticarray/StaticArray#__get if i32.const 0 i32.const 1216 - i32.const 250 + i32.const 255 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -8025,15 +7913,15 @@ if i32.const 0 i32.const 1216 - i32.const 251 + i32.const 256 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 2 @@ -8041,15 +7929,15 @@ if i32.const 0 i32.const 1216 - i32.const 252 + i32.const 257 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 + local.get $1 + i32.store + local.get $1 i32.const 3 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -8057,23 +7945,23 @@ if i32.const 0 i32.const 1216 - i32.const 253 + i32.const 258 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 36568 + i32.const 36728 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 i32.gt_s if - loop $while-continue|043 + loop $while-continue|047 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|043 + br $while-continue|047 end end end @@ -8098,13 +7986,13 @@ i32.add global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 100 + i32.const 104 i32.add global.set $~lib/memory/__stack_pointer return end - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8119,20 +8007,20 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3800 + i32.const 3960 i32.lt_s if - i32.const 36592 - i32.const 36640 + i32.const 36752 + i32.const 36800 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 2 i32.shl @@ -8145,110 +8033,33 @@ local.get $3 local.get $2 local.get $4 - memory.copy $0 $0 + memory.copy end - local.get $5 local.get $3 - i32.store $0 + i32.store i32.const 16 local.get $1 call $~lib/rt/itcms/__new local.tee $1 local.get $3 - i32.store $0 + i32.store + local.get $1 local.get $3 - if - local.get $1 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link local.get $1 local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $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 $0 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1408 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $0 - local.get $1 - local.get $2 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - 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/std/staticarray.ts b/tests/compiler/std/staticarray.ts index 3220c4f769..9ea53b08bb 100644 --- a/tests/compiler/std/staticarray.ts +++ b/tests/compiler/std/staticarray.ts @@ -70,6 +70,11 @@ arr4 = changetype>(0); result = source.concat>([]); assert(result.length == source.length); } +{ + let source: StaticArray = ["1", "2"]; + let result = source.concat>(["3"]); + assert(result.length == 3); +} // slice { diff --git a/tests/compiler/std/string-casemapping.debug.wat b/tests/compiler/std/string-casemapping.debug.wat index 2efe638941..5e412bc990 100644 --- a/tests/compiler/std/string-casemapping.debug.wat +++ b/tests/compiler/std/string-casemapping.debug.wat @@ -1,19 +1,19 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 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_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i64 i32) (result i32))) + (type $7 (func (param i32 i64 i32))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) + (type $11 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $12 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $13 (func (param i64) (result i32))) + (type $14 (func (param i32 i64 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "string_casemapping" "toLowerCaseFromIndex" (func $std/string-casemapping/toLowerCaseFromIndex (param i32 i32) (result i32))) (import "string_casemapping" "toUpperCaseFromIndex" (func $std/string-casemapping/toUpperCaseFromIndex (param i32 i32) (result i32))) @@ -40,192 +40,192 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 52824)) (global $~lib/memory/__heap_base i32 (i32.const 52824)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\02\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 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 444) "L\03\00\00\00\00\00\00\00\00\00\00\04\00\00\000\03\00\00\df\00S\00S\00\00\00I\01\bc\02N\00\00\00\f0\01J\00\0c\03\00\00\90\03\99\03\08\03\01\03\b0\03\a5\03\08\03\01\03\87\055\05R\05\00\00\96\1eH\001\03\00\00\97\1eT\00\08\03\00\00\98\1eW\00\n\03\00\00\99\1eY\00\n\03\00\00\9a\1eA\00\be\02\00\00P\1f\a5\03\13\03\00\00R\1f\a5\03\13\03\00\03T\1f\a5\03\13\03\01\03V\1f\a5\03\13\03B\03\80\1f\08\1f\99\03\00\00\81\1f\t\1f\99\03\00\00\82\1f\n\1f\99\03\00\00\83\1f\0b\1f\99\03\00\00\84\1f\0c\1f\99\03\00\00\85\1f\r\1f\99\03\00\00\86\1f\0e\1f\99\03\00\00\87\1f\0f\1f\99\03\00\00\88\1f\08\1f\99\03\00\00\89\1f\t\1f\99\03\00\00\8a\1f\n\1f\99\03\00\00\8b\1f\0b\1f\99\03\00\00\8c\1f\0c\1f\99\03\00\00\8d\1f\r\1f\99\03\00\00\8e\1f\0e\1f\99\03\00\00\8f\1f\0f\1f\99\03\00\00\90\1f(\1f\99\03\00\00\91\1f)\1f\99\03\00\00\92\1f*\1f\99\03\00\00\93\1f+\1f\99\03\00\00\94\1f,\1f\99\03\00\00\95\1f-\1f\99\03\00\00\96\1f.\1f\99\03\00\00\97\1f/\1f\99\03\00\00\98\1f(\1f\99\03\00\00\99\1f)\1f\99\03\00\00\9a\1f*\1f\99\03\00\00\9b\1f+\1f\99\03\00\00\9c\1f,\1f\99\03\00\00\9d\1f-\1f\99\03\00\00\9e\1f.\1f\99\03\00\00\9f\1f/\1f\99\03\00\00\a0\1fh\1f\99\03\00\00\a1\1fi\1f\99\03\00\00\a2\1fj\1f\99\03\00\00\a3\1fk\1f\99\03\00\00\a4\1fl\1f\99\03\00\00\a5\1fm\1f\99\03\00\00\a6\1fn\1f\99\03\00\00\a7\1fo\1f\99\03\00\00\a8\1fh\1f\99\03\00\00\a9\1fi\1f\99\03\00\00\aa\1fj\1f\99\03\00\00\ab\1fk\1f\99\03\00\00\ac\1fl\1f\99\03\00\00\ad\1fm\1f\99\03\00\00\ae\1fn\1f\99\03\00\00\af\1fo\1f\99\03\00\00\b2\1f\ba\1f\99\03\00\00\b3\1f\91\03\99\03\00\00\b4\1f\86\03\99\03\00\00\b6\1f\91\03B\03\00\00\b7\1f\91\03B\03\99\03\bc\1f\91\03\99\03\00\00\c2\1f\ca\1f\99\03\00\00\c3\1f\97\03\99\03\00\00\c4\1f\89\03\99\03\00\00\c6\1f\97\03B\03\00\00\c7\1f\97\03B\03\99\03\cc\1f\97\03\99\03\00\00\d2\1f\99\03\08\03\00\03\d3\1f\99\03\08\03\01\03\d6\1f\99\03B\03\00\00\d7\1f\99\03\08\03B\03\e2\1f\a5\03\08\03\00\03\e3\1f\a5\03\08\03\01\03\e4\1f\a1\03\13\03\00\00\e6\1f\a5\03B\03\00\00\e7\1f\a5\03\08\03B\03\f2\1f\fa\1f\99\03\00\00\f3\1f\a9\03\99\03\00\00\f4\1f\8f\03\99\03\00\00\f6\1f\a9\03B\03\00\00\f7\1f\a9\03B\03\99\03\fc\1f\a9\03\99\03\00\00\00\fbF\00F\00\00\00\01\fbF\00I\00\00\00\02\fbF\00L\00\00\00\03\fbF\00F\00I\00\04\fbF\00F\00L\00\05\fbS\00T\00\00\00\06\fbS\00T\00\00\00\13\fbD\05F\05\00\00\14\fbD\055\05\00\00\15\fbD\05;\05\00\00\16\fbN\05F\05\00\00\17\fbD\05=\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1292) "\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\7f") - (data (i32.const 1420) "\07\08\t\n\0b\0c\06\06\06\06\06\06\06\06\06\06\r\06\06\0e\06\06\06\06\06\06\06\06\0f\10\11\12\06\13\06\06\06\06\06\06\06\06\06\06\14\15\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\16\17\06\06\06\18\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\19\06\06\06\06\1a\06\06\06\06\06\06\06\1b\06\06\06\06\06\06\06\06\06\06\06\1c\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1d\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1e\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++\01\00TVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00+++++++\07++[VVVVVVVJVV\051P1P1P1P1P1P1P1P$Py1P1P18P1P1P1P1P1P1P1PN1\02N\r\rN\03N\00$n\00N1&nQN$PN9\14\81\1b\1d\1dS1P1P\r1P1P1P\1bS$P1\02\\{\\{\\{\\{\\{\14y\\{\\{\\-+I\03H\03x\\{\14\00\96\n\01+(\06\06\00*\06**+\07\bb\b5+\1e\00+\07+++\01++++++++++++++++++++++++++++++++\01+++++++++++++++++++++++*+++++++++++++\cdF\cd+\00%+\07\01\06\01UVVVVVUVV\02$\81\81\81\81\81\15\81\81\81\00\00+\00\b2\d1\b2\d1\b2\d1\b2\d1\00\00\cd\cc\01\00\d7\d7\d7\d7\d7\83\81\81\81\81\81\81\81\81\81\81\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\1c\00\00\00\00\001P1P1P1P1P1\02\00\001P1P1P1P1P1P1P1P1PN1P1PN1P1P1P1P1P1P1P1\02\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6*++++++++++++\00\00\00TVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00TVVVVVVVVVVVV\0c\00\0c*+++++++++++++\07*\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++VVl\81\15\00++++++++++++++++++++++++++++++++++++++++++\07l\03A++VVVVVVVVVVVVVV,V+++++++++++++++++++++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0cl\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%Vz\9e&\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06\01++OVV,+\7fVV9++UVV++OVV,+\7fVV\817u[{\\++OVV\02\ac\04\00\009++UVV++OVV,++VV2\13\81W\00o\81~\c9\d7~-\81\81\0e~9\7foW\00\81\81~\15\00~\03++++++++++++\07+$+\97+++++++++*+++++VVVVV\80\81\81\81\819\bb*++++++++++++++++++++++++++++++++++++++++\01\81\81\81\81\81\81\81\81\81\81\81\81\81\81\81\c9\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\d0\r\00N1\02\b4\c1\c1\d7\d7$P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P\d7\d7S\c1G\d4\d7\d7\d7\05++++++++++++\07\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00N1P1P1P1P1P1P1P\r\00\00\00\00\00$P1P1P1P1P\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++y\\{\\{O{\\{\\{\\{\\{\\{\\{\\{\\{\\{\\-++y\14\\{\\-y*\\\'\\{\\{\\{\a4\00\n\b4\\{\\{O\03x8+++++++++++++O-++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00++++++++\07\00HVVVVVVVV\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++++UVVVVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$+++++++++++\07\00VVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++++++++++\07\00\00\00\00VVVVVVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++UVVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 4088) "\00\08\00\00V\01\00\009\00\00\00") - (data (i32.const 4100) "\00\00\00\00\01 \00\00\00\e0\ff\ff\00\bf\1d\00\00\e7\02\00\00y\00\00\02$\00\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\01\02\00\00\00\fe\ff\ff\019\ff\ff\00\18\ff\ff\01\87\ff\ff\00\d4\fe\ff\00\c3\00\00\01\d2\00\00\01\ce\00\00\01\cd\00\00\01O\00\00\01\ca\00\00\01\cb\00\00\01\cf\00\00\00a\00\00\01\d3\00\00\01\d1\00\00\00\a3\00\00\01\d5\00\00\00\82\00\00\01\d6\00\00\01\da\00\00\01\d9\00\00\01\db\00\00\008\00\00\03\00\00\00\00\b1\ff\ff\01\9f\ff\ff\01\c8\ff\ff\02($\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\003\ff\ff\00&\ff\ff\01~\ff\ff\01+*\00\01]\ff\ff\01(*\00\00?*\00\01=\ff\ff\01E\00\00\01G\00\00\00\1f*\00\00\1c*\00\00\1e*\00\00.\ff\ff\002\ff\ff\006\ff\ff\005\ff\ff\00O\a5\00\00K\a5\00\001\ff\ff\00(\a5\00\00D\a5\00\00/\ff\ff\00-\ff\ff\00\f7)\00\00A\a5\00\00\fd)\00\00+\ff\ff\00*\ff\ff\00\e7)\00\00C\a5\00\00*\a5\00\00\bb\ff\ff\00\'\ff\ff\00\b9\ff\ff\00%\ff\ff\00\15\a5\00\00\12\a5\00\02$L\00\00\00\00\00\01 \00\00\00\e0\ff\ff\01\01\00\00\00\ff\ff\ff\00T\00\00\01t\00\00\01&\00\00\01%\00\00\01@\00\00\01?\00\00\00\da\ff\ff\00\db\ff\ff\00\e1\ff\ff\00\c0\ff\ff\00\c1\ff\ff\01\08\00\00\00\c2\ff\ff\00\c7\ff\ff\00\d1\ff\ff\00\ca\ff\ff\00\f8\ff\ff\00\aa\ff\ff\00\b0\ff\ff\00\07\00\00\00\8c\ff\ff\01\c4\ff\ff\00\a0\ff\ff\01\f9\ff\ff\02\1ap\00\01\01\00\00\00\ff\ff\ff\01 \00\00\00\e0\ff\ff\01P\00\00\01\0f\00\00\00\f1\ff\ff\00\00\00\00\010\00\00\00\d0\ff\ff\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c0\0b\00\01`\1c\00\00\00\00\00\01\d0\97\00\01\08\00\00\00\f8\ff\ff\02\05\8a\00\00\00\00\00\01@\f4\ff\00\9e\e7\ff\00\c2\89\00\00\db\e7\ff\00\92\e7\ff\00\93\e7\ff\00\9c\e7\ff\00\9d\e7\ff\00\a4\e7\ff\00\00\00\00\008\8a\00\00\04\8a\00\00\e6\0e\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c5\ff\ff\01A\e2\ff\02\1d\8f\00\00\08\00\00\01\f8\ff\ff\00\00\00\00\00V\00\00\01\aa\ff\ff\00J\00\00\00d\00\00\00\80\00\00\00p\00\00\00~\00\00\00\t\00\00\01\b6\ff\ff\01\f7\ff\ff\00\db\e3\ff\01\9c\ff\ff\01\90\ff\ff\01\80\ff\ff\01\82\ff\ff\02\05\ac\00\00\00\00\00\01\10\00\00\00\f0\ff\ff\01\1c\00\00\01\01\00\00\01\a3\e2\ff\01A\df\ff\01\ba\df\ff\00\e4\ff\ff\02\0b\b1\00\01\01\00\00\00\ff\ff\ff\010\00\00\00\d0\ff\ff\00\00\00\00\01\t\d6\ff\01\1a\f1\ff\01\19\d6\ff\00\d5\d5\ff\00\d8\d5\ff\01\e4\d5\ff\01\03\d6\ff\01\e1\d5\ff\01\e2\d5\ff\01\c1\d5\ff\00\00\00\00\00\a0\e3\ff\00\00\00\00\01\01\00\00\00\ff\ff\ff\02\0c\bc\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\01\bcZ\ff\01\a0\03\00\01\fcu\ff\01\d8Z\ff\000\00\00\01\b1Z\ff\01\b5Z\ff\01\bfZ\ff\01\eeZ\ff\01\d6Z\ff\01\ebZ\ff\01\d0\ff\ff\01\bdZ\ff\01\c8u\ff\00\00\00\00\000h\ff\00`\fc\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01(\00\00\00\d8\ff\ff\00\00\00\00\01@\00\00\00\c0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01\"\00\00\00\de\ff\ff") - (data (i32.const 5060) "\00\06\'Qow\00\00\00\00\00\00\00\00\00\00|\00\00\7f\00\00\00\00\00\00\00\00\83\8e\92\97\00\aa\00\00\00\00\00\00\00\00\00\00\b4\c4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c6\c9\00\00\00\db\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\de\00\00\00\00\e1\00\00\00\00\00\00\00\e4\00\00\00\00\00\00\00\00\00\00\00\e7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ea\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ed\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 5572) "0\0c1\rx\0e\7f\0f\80\10\81\11\86\12\89\13\8a\13\8e\14\8f\15\90\16\93\13\94\17\95\18\96\19\97\1a\9a\1b\9c\19\9d\1c\9e\1d\9f\1e\a6\1f\a9\1f\ae\1f\b1 \b2 \b7!\bf\"\c5#\c8#\cb#\dd$\f2#\f6%\f7& -:.=/>0?1@1C2D3E4P5Q6R7S8T9Y:[;\\e?f@hAiBj@kClDoBqErFuG}H\82I\87J\89K\8aL\8bL\8cM\92N\9dO\9ePEW{\1d|\1d}\1d\7fX\86Y\88Z\89Z\8aZ\8c[\8e\\\8f\\\ac]\ad^\ae^\af^\c2_\cc`\cda\cea\cfb\d0c\d1d\d5e\d6f\d7g\f0h\f1i\f2j\f3k\f4l\f5m\f9n\fd-\fe-\ff-PiQiRiSiTiUiViWiXiYiZi[i\\i]i^i_i\82\00\83\00\84\00\85\00\86\00\87\00\88\00\89\00\c0u\cfv\80\89\81\8a\82\8b\85\8c\86\8dp\9dq\9dv\9ew\9ex\9fy\9fz\a0{\a0|\a1}\a1\b3\a2\ba\a3\bb\a3\bc\a4\be\a5\c3\a2\cc\a4\da\a6\db\a6\e5j\ea\a7\eb\a7\ecn\f3\a2\f8\a8\f9\a8\fa\a9\fb\a9\fc\a4&\b0*\b1+\b2N\b3\84\08b\bac\bbd\bce\bdf\bem\bfn\c0o\c1p\c2~\c3\7f\c3}\cf\8d\d0\94\d1\ab\d2\ac\d3\ad\d4\b0\d5\b1\d6\b2\d7\c4\d8\c5\d9\c6\da") - (data (i32.const 5980) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00c\00a\00s\00e\00m\00a\00p\00p\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6060) "\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7f") - (data (i32.const 6188) "\12\10\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\10\10\"\10\10\10#$%&\'()\10*+\10\10\10\10\10\10\10\10\10\10\10,-.\10/\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\100\10\10\101\10234567\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\108\10\109:\10;<=\10\10\10\10\10\10>\10\10?@ABCDEFGHIJKL\10MNO\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10P\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10QR\10\10\10S\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10T\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10UV\10\10\10\10\10\10\10W\10\10\10\10\10XYZ\10\10\10\10\10[\\\10\10\10\10\10\10\10\10\10]\10\10\10\10\10\10\10\10\10\10\10\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\80@\00\04\00\00\00@\01\00\00\00\00\00\00\00\00\a1\90\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff0\04\b0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f8\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\82\00\00\00\00\00\00\fe\ff\ff\ff\ff\bf\b6\00\00\00\00\00\10\00?\00\ff\17\00\00\00\00\01\f8\ff\ff\00\00\01\00\00\00\00\00\00\00\00\00\00\00\c0\bf\ff=\00\00\00\80\02\00\00\00\ff\ff\ff\07\00\00\00\00\00\00\00\00\00\00\c0\ff\01\00\00\00\00\00\00\f8?$\00\00\c0\ff\ff?\00\00\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f8\ff\ff\ff\ff\ff\07\00\00\00\00\00\00\14\fe!\fe\00\0c\00\02\00\02\00\00\00\00\00\00\10\1e \00\00\0c\00\00@\06\00\00\00\00\00\00\10\869\02\00\00\00#\00\06\00\00\00\00\00\00\10\be!\00\00\0c\00\00\fc\02\00\00\00\00\00\00\90\1e `\00\0c\00\00\00\04\00\00\00\00\00\00\00\01 \00\00\00\00\00\00\11\00\00\00\00\00\00\c0\c1=`\00\0c\00\00\00\02\00\00\00\00\00\00\90@0\00\00\0c\00\00\00\03\00\00\00\00\00\00\18\1e \00\00\0c\00\00\00\02\00\00\00\00\00\00\00\00\04\\\00\00\00\00\00\00\00\00\00\00\00\f2\07\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\f2\1f@?\00\00\00\00\00\00\00\00\00\03\00\00\a0\02\00\00\00\00\00\00\fe\7f\df\e0\ff\fe\ff\ff\ff\1f@\00\00\00\00\00\00\00\00\00\00\00\00\e0\fdf\00\00\00\c3\01\00\1e\00d \00 \00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\e0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\1c\00\00\00\0c\00\00\00\0c\00\00\00\00\00\00\00\b0?@\fe\8f \00\00\00\00\00x\00\00\00\00\00\00\08\00\00\00\00\00\00\00`\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\87\01\04\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\t\00\00\00\00\00\00@\7f\e5\1f\f8\9f\00\00\00\00\80\00\ff\ff\01\00\00\00\00\00\00\00\0f\00\00\00\00\00\d0\17\04\00\00\00\00\f8\0f\00\03\00\00\00<;\00\00\00\00\00\00@\a3\03\00\00\00\00\00\00\f0\cf\00\00\00\00\00\00\00\00?\00\00\00\00\00\00\00\00\00\00\f7\ff\fd!\10\03\00\00\00\00\00\f0\ff\ff\ff\ff\ff\ff\ff\07\00\01\00\00\00\f8\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\fb\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\a0\03\e0\00\e0\00\e0\00`\00\f8\00\03\90|\00\00\00\00\00\00\df\ff\02\80\00\00\ff\1f\00\00\00\00\00\00\ff\ff\ff\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\80\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\80\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\00\00\00\00\00\80\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00<>\08\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00?\00\10\00\00\00\00\00\00\00\00\00\00\00\80\f7\bf\00\00\00\f0\00\00\00\00\00\00\00\00\00\00\03\00\ff\ff\ff\ff\03\00\00\00\00\00\00\00\00\00\01\00\00\07\00\00\00\00\00\00\00\00\00\00\00\00\00\03D\08\00\00`\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\000\00\00\00\ff\ff\03\80\00\00\00\00\c0?\00\00\80\ff\03\00\00\00\00\00\07\00\00\00\00\00\c83\00\80\00\00`\00\00\00\00\00\00\00\00~f\00\08\10\00\00\00\00\01\10\00\00\00\00\00\00\9d\c1\02\00\00 \000X\00\00\00\00\00\00\00\00\00\00\00\00\f8\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00 !\00\00\00\00\00@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\fc\ff\03\00\00\00\00\00\00\00\ff\ff\08\00\ff\ff\00\00\00\00$\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\80@\00\04\00\00\00@\01\00\00\00\00\00\01\00\00\00\00\c0\00\00\00\00\00\00\00\00\08\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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\c0\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00n\f0\00\00\00\00\00\87\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00`\00\00\00\00\00\00\00\f0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c0\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\ff\7f\00\00\00\00\00\00\80\03\00\00\00\00\00x&\00 \00\00\00\00\00\00\07\00\00\00\80\ef\1f\00\00\00\00\00\00\00\08\00\03\00\00\00\00\00\c0\7f\00\9e\00\00\00\00\00\00\00\00\00\00\00\80\d3@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\f8\07\00\00\03\00\00\00\00\00\00\18\01\00\00\00\c0\1f\1f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\\\00\00@\00\00\00\00\00\00\00\00\00\00\f8\85\r\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00<\b0\01\00\000\00\00\00\00\00\00\00\00\00\00\f8\a7\01\00\00\00\00\00\00\00\00\00\00\00\00(\bf\00\00\00\00\00\00\00\00\00\00\00\00\e0\bc\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\ff\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00X\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\0c\01\00\00\00\fe\07\00\00\00\00\f8y\80\00~\0e\00\00\00\00\00\fc\7f\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\7f\bf\00\00\00\00\00\00\00\00\00\00\fc\ff\ff\fcm\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00~\b4\bf\00\00\00\00\00\00\00\00\00\a3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\00\00\00\00\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1f\00\00\00\00\00\00\00\7f\00\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\80\ff\ff\00\00\00\00\00\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00`\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\03\f8\ff\e7\0f\00\00\00<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\7f\f8\ff\ff\ff\ff\ff\1f \00\10\00\00\f8\fe\ff\00\00\00\00\00\00\00\00\00\00\7f\ff\ff\f9\db\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f8") - (data (i32.const 9196) "\12\13\14\15\16\17\10\10\10\10\10\10\10\10\10\10\18\10\10\19\10\10\10\10\10\10\10\10\1a\1b\11\1c\1d\1e\10\10\1f\10\10\10\10\10\10\10 !\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\"#\10\10\10$\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10%\10\10\10&\10\10\10\10\'\10\10\10\10\10\10\10(\10\10\10\10\10\10\10\10\10\10\10)\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10*\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10+,-.\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10/\10\10\10\10\10\10\100\10\10\10\10\10\10\10\10\10\10\10\10\10\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\fe\ff\ff\07\fe\ff\ff\07\00\00\00\00\00\04 \04\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\f7\f0\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ef\ff\ff\ff\ff\01\03\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\cf\bc@\d7\ff\ff\fb\ff\ff\ff\ff\ff\ff\ff\ff\ff\bf\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\03\fc\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\fe\ff\ff\ff\7f\00\ff\ff\ff\ff\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\bf \ff\ff\ff\ff\ff\e7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff??\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\01\ff\ff\ff\ff\ff\e7\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\ff\ff??\ff\ff\ff\ff??\ff\aa\ff\ff\ff?\ff\ff\ff\ff\ff\ff\df_\dc\1f\cf\0f\ff\1f\dc\1f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\80\00\00\ff\1f\00\00\00\00\00\00\00\00\00\00\00\00\84\fc/>P\bd\1f\f2\e0C\00\00\ff\ff\ff\ff\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c0\ff\ff\ff\ff\ff\ff\03\00\00\ff\ff\ff\ff\ff\7f\ff\ff\ff\ff\ff\7f\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\1fx\0c\00\ff\ff\ff\ff\bf \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff?\00\00\ff\ff\ff?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\fc\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ffx\ff\ff\ff\ff\ff\ff\fc\07\00\00\00\00`\07\00\00\00\00\00\00\ff\ff\ff\ff\ff\f7\ff\01\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\7f\00\f8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\fe\ff\ff\07\fe\ff\ff\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\0f\ff\ff\ff\ff\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\07\00\ff\ff\ff\ff\ff\ff\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\df\ff\ff\ff\ff\ff\ff\ff\ff\dfd\de\ff\eb\ef\ff\ff\ff\ff\ff\ff\ff\bf\e7\df\df\ff\ff\ff{_\fc\fd\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff?\ff\ff\ff\fd\ff\ff\f7\ff\ff\ff\f7\ff\ff\df\ff\ff\ff\df\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\fd\ff\ff\ff\fd\ff\ff\f7\0f\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\03\ff\ff\ff\03\ff\ff\ff\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10764) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n\00\00\00\00\00\00\00") - (data (i32.const 10812) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n\00\00\00\00\00\00\00") - (data (i32.const 10860) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t\00\00\00\00\00\00\00") - (data (i32.const 10908) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t\00\00\00\00\00\00\00") - (data (i32.const 10956) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00\00\00") - (data (i32.const 11052) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E\00\00\00") - (data (i32.const 11148) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00\00\00") - (data (i32.const 11244) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00\00\00\00\00\00\00\00\00") - (data (i32.const 11308) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!\00\00\00\00\00\00\00\00\00") - (data (i32.const 11372) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00\00\00\00\00\00\00\00\00") - (data (i32.const 11436) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\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\00\00\00\00\00") - (data (i32.const 11532) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\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\00\00\00\00\00") - (data (i32.const 11628) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\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\00\00\00\00\00") - (data (i32.const 11724) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\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\00\00\00\00") - (data (i32.const 11820) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N\00\00\00\00\00") - (data (i32.const 11916) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n\00\00\00\00\00") - (data (i32.const 12012) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12092) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12172) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\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\03\ae\03,\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12252) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,\00\00\00\00\00\00\00\00\00") - (data (i32.const 12332) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") - (data (i32.const 12396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") - (data (i32.const 12460) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12540) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.\00\00\00\00\00\00\00\00\00") - (data (i32.const 12620) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12700) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12780) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03\00\00\00\00") - (data (i32.const 12844) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03\00\00") - (data (i32.const 12908) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\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\03\ad\03\bd\03\b7\03\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12988) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03\00\00\00\00\00\00\00\00") - (data (i32.const 13068) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\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\03\ac\03!\00\00\00\00\00\00\00") - (data (i32.const 13148) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!\00\00\00") - (data (i32.const 13228) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\00\00\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\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\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13388) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\00\00\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\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\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13548) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\00\00\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\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\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\df\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00S\00S\00\00\00\00\00\00\00\00\00") - (data (i32.const 13772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\01\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13804) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00i\00\07\03\00\00\00\00\00\00\00\00") - (data (i32.const 13836) "\cc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\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\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14044) "\cc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00s\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 14284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\01\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00f\00i\00\00\00\00\00\00\00\00\00") - (data (i32.const 14348) "\cc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc\00\00\00\00") - (data (i32.const 14556) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 14604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\00\d8\00\dc\00\00\00\00\00\00\00\00") - (data (i32.const 14636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\88\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\80\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\8f\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\87\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\fc\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\f3\1f\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\a3\03\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\c3\03\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00 \00\a3\03\00\00\00\00\00\00\00\00") - (data (i32.const 14924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00 \00\c3\03\00\00\00\00\00\00\00\00") - (data (i32.const 14956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\a3\03 \00\00\00\00\00\00\00\00\00") - (data (i32.const 14988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\c3\03 \00\00\00\00\00\00\00\00\00") - (data (i32.const 15020) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00\c3\03 \00\00\00\00\00\00\00") - (data (i32.const 15084) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03 \00\00\00\00\00\00\00") - (data (i32.const 15148) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\a3\03\n\00\00\00\00\00\00\00") - (data (i32.const 15180) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03\n\00\00\00\00\00\00\00") - (data (i32.const 15212) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00\a3\03\00\00\00\00\00\00\00\00") - (data (i32.const 15244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00\c2\03\00\00\00\00\00\00\00\00") - (data (i32.const 15276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\a3\03b\00\00\00\00\00\00\00") - (data (i32.const 15308) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c3\03b\00\00\00\00\00\00\00") - (data (i32.const 15340) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\a3\03\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15372) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\c3\03\c2\03 \00\00\00\00\00\00\00") - (data (i32.const 15404) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15436) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00\c3\03 \00\00\00\00\00\00\00") - (data (i32.const 15468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00;\00\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00;\00\c3\03 \00\00\00\00\00\00\00") - (data (i32.const 15532) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\01\03\a3\03 \00\00\00\00\00\00\00") - (data (i32.const 15564) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\01\03\c3\03 \00\00\00\00\00\00\00") - (data (i32.const 15596) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03 \00\00\00") - (data (i32.const 15628) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03 \00\00\00") - (data (i32.const 15660) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\a3\03\a3\03-\00\00\00\00\00\00\00") - (data (i32.const 15692) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\c3\03\c2\03-\00\00\00\00\00\00\00") - (data (i32.const 15724) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03-\00\00\00") - (data (i32.const 15756) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03-\00\00\00") - (data (i32.const 15788) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03*s\00\00") - (data (i32.const 15820) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03*s\00\00") - (data (i32.const 15852) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\005\d8\a2\dc\a3\03\00\00\00\00\00\00") - (data (i32.const 15884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\005\d8\a2\dc\c2\03\00\00\00\00\00\00") - (data (i32.const 15916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00.\00\a3\03\00\00\00\00\00\00") - (data (i32.const 15948) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00.\00\c2\03\00\00\00\00\00\00") - (data (i32.const 15980) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\ad\00\a3\03\00\00\00\00\00\00") - (data (i32.const 16012) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\ad\00\c2\03\00\00\00\00\00\00") - (data (i32.const 16044) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\004\d8B\de\a3\03\00\00\00\00") - (data (i32.const 16076) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\004\d8B\de\c2\03\00\00\00\00") - (data (i32.const 16108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00E\03\a3\03\00\00\00\00\00\00\00\00") - (data (i32.const 16140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00E\03\c3\03\00\00\00\00\00\00\00\00") - (data (i32.const 16172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\91\03E\03\a3\03\00\00\00\00\00\00") - (data (i32.const 16204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\b1\03E\03\c2\03\00\00\00\00\00\00") - (data (i32.const 16236) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\a3\03B\00\00\00\00\00\00\00") - (data (i32.const 16268) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\035\d8\a2\dc\00\00\00\00") - (data (i32.const 16300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\035\d8\a2\dc\00\00\00\00") - (data (i32.const 16332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03.\00b\00\00\00\00\00") - (data (i32.const 16364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03.\00b\00\00\00\00\00") - (data (i32.const 16396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03\ad\00B\00\00\00\00\00") - (data (i32.const 16428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03\ad\00b\00\00\00\00\00") - (data (i32.const 16460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00A\00\a3\034\d8B\deB\00\00\00") - (data (i32.const 16492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00\c3\034\d8B\deb\00\00\00") - (data (i32.const 16524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\a3\03E\03\00\00\00\00\00\00") - (data (i32.const 16556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03E\03\00\00\00\00\00\00") - (data (i32.const 16588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03E\03\91\03\00\00\00\00") - (data (i32.const 16620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03E\03\b1\03\00\00\00\00") - (data (i32.const 16652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\0e\18\a3\03\00\00\00\00\00\00") - (data (i32.const 16684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\0e\18\c2\03\00\00\00\00\00\00") - (data (i32.const 16716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\0e\18\a3\03B\00\00\00\00\00") - (data (i32.const 16748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\0e\18\c3\03b\00\00\00\00\00") - (data (i32.const 16780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\a3\03\0e\18\00\00\00\00\00\00") - (data (i32.const 16812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03\0e\18\00\00\00\00\00\00") - (data (i32.const 16844) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03\0e\18B\00\00\00\00\00") - (data (i32.const 16876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03\0e\18b\00\00\00\00\00") - (data (i32.const 16908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\0e\18\a3\03\0e\18\00\00\00\00") - (data (i32.const 16940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\0e\18\c2\03\0e\18\00\00\00\00") - (data (i32.const 16972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00A\00\0e\18\a3\03\0e\18B\00\00\00") - (data (i32.const 17004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00\0e\18\c3\03\0e\18b\00\00\00") - (data (i32.const 17036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17068) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00F\00F\00\00\00\00\00\00\00\00\00") - (data (i32.const 17100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00F\00I\00\00\00\00\00\00\00\00\00") - (data (i32.const 17132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\02\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17164) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00F\00L\00\00\00\00\00\00\00\00\00") - (data (i32.const 17196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\03\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17228) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00F\00F\00I\00\00\00\00\00\00\00") - (data (i32.const 17260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\04\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00F\00F\00L\00\00\00\00\00\00\00") - (data (i32.const 17324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\05\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00S\00T\00\00\00\00\00\00\00\00\00") - (data (i32.const 17388) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\06\fb\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17420) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\f0\01\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17452) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00J\00\0c\03\00\00\00\00\00\00\00\00") - (data (i32.const 17484) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\96\1e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17516) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00H\001\03\00\00\00\00\00\00\00\00") - (data (i32.const 17548) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\97\1e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17580) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00T\00\08\03\00\00\00\00\00\00\00\00") - (data (i32.const 17612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\98\1e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17644) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00W\00\n\03\00\00\00\00\00\00\00\00") - (data (i32.const 17676) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\99\1e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00Y\00\n\03\00\00\00\00\00\00\00\00") - (data (i32.const 17740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\9a\1e\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00A\00\be\02\00\00\00\00\00\00\00\00") - (data (i32.const 17804) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17900) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17964) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 18092) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 18156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18188) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 18588) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19644) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 19740) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00") - (data (i32.const 19804) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19900) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19964) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00") - (data (i32.const 20032) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\a4\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 208) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 352) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 444) "L\03\00\00\00\00\00\00\00\00\00\00\04\00\00\000\03\00\00\df\00S\00S\00\00\00I\01\bc\02N\00\00\00\f0\01J\00\0c\03\00\00\90\03\99\03\08\03\01\03\b0\03\a5\03\08\03\01\03\87\055\05R\05\00\00\96\1eH\001\03\00\00\97\1eT\00\08\03\00\00\98\1eW\00\n\03\00\00\99\1eY\00\n\03\00\00\9a\1eA\00\be\02\00\00P\1f\a5\03\13\03\00\00R\1f\a5\03\13\03\00\03T\1f\a5\03\13\03\01\03V\1f\a5\03\13\03B\03\80\1f\08\1f\99\03\00\00\81\1f\t\1f\99\03\00\00\82\1f\n\1f\99\03\00\00\83\1f\0b\1f\99\03\00\00\84\1f\0c\1f\99\03\00\00\85\1f\r\1f\99\03\00\00\86\1f\0e\1f\99\03\00\00\87\1f\0f\1f\99\03\00\00\88\1f\08\1f\99\03\00\00\89\1f\t\1f\99\03\00\00\8a\1f\n\1f\99\03\00\00\8b\1f\0b\1f\99\03\00\00\8c\1f\0c\1f\99\03\00\00\8d\1f\r\1f\99\03\00\00\8e\1f\0e\1f\99\03\00\00\8f\1f\0f\1f\99\03\00\00\90\1f(\1f\99\03\00\00\91\1f)\1f\99\03\00\00\92\1f*\1f\99\03\00\00\93\1f+\1f\99\03\00\00\94\1f,\1f\99\03\00\00\95\1f-\1f\99\03\00\00\96\1f.\1f\99\03\00\00\97\1f/\1f\99\03\00\00\98\1f(\1f\99\03\00\00\99\1f)\1f\99\03\00\00\9a\1f*\1f\99\03\00\00\9b\1f+\1f\99\03\00\00\9c\1f,\1f\99\03\00\00\9d\1f-\1f\99\03\00\00\9e\1f.\1f\99\03\00\00\9f\1f/\1f\99\03\00\00\a0\1fh\1f\99\03\00\00\a1\1fi\1f\99\03\00\00\a2\1fj\1f\99\03\00\00\a3\1fk\1f\99\03\00\00\a4\1fl\1f\99\03\00\00\a5\1fm\1f\99\03\00\00\a6\1fn\1f\99\03\00\00\a7\1fo\1f\99\03\00\00\a8\1fh\1f\99\03\00\00\a9\1fi\1f\99\03\00\00\aa\1fj\1f\99\03\00\00\ab\1fk\1f\99\03\00\00\ac\1fl\1f\99\03\00\00\ad\1fm\1f\99\03\00\00\ae\1fn\1f\99\03\00\00\af\1fo\1f\99\03\00\00\b2\1f\ba\1f\99\03\00\00\b3\1f\91\03\99\03\00\00\b4\1f\86\03\99\03\00\00\b6\1f\91\03B\03\00\00\b7\1f\91\03B\03\99\03\bc\1f\91\03\99\03\00\00\c2\1f\ca\1f\99\03\00\00\c3\1f\97\03\99\03\00\00\c4\1f\89\03\99\03\00\00\c6\1f\97\03B\03\00\00\c7\1f\97\03B\03\99\03\cc\1f\97\03\99\03\00\00\d2\1f\99\03\08\03\00\03\d3\1f\99\03\08\03\01\03\d6\1f\99\03B\03\00\00\d7\1f\99\03\08\03B\03\e2\1f\a5\03\08\03\00\03\e3\1f\a5\03\08\03\01\03\e4\1f\a1\03\13\03\00\00\e6\1f\a5\03B\03\00\00\e7\1f\a5\03\08\03B\03\f2\1f\fa\1f\99\03\00\00\f3\1f\a9\03\99\03\00\00\f4\1f\8f\03\99\03\00\00\f6\1f\a9\03B\03\00\00\f7\1f\a9\03B\03\99\03\fc\1f\a9\03\99\03\00\00\00\fbF\00F\00\00\00\01\fbF\00I\00\00\00\02\fbF\00L\00\00\00\03\fbF\00F\00I\00\04\fbF\00F\00L\00\05\fbS\00T\00\00\00\06\fbS\00T\00\00\00\13\fbD\05F\05\00\00\14\fbD\055\05\00\00\15\fbD\05;\05\00\00\16\fbN\05F\05\00\00\17\fbD\05=\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $10 (i32.const 1292) "\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\7f") + (data $11 (i32.const 1420) "\07\08\t\n\0b\0c\06\06\06\06\06\06\06\06\06\06\r\06\06\0e\06\06\06\06\06\06\06\06\0f\10\11\12\06\13\06\06\06\06\06\06\06\06\06\06\14\15\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\16\17\06\06\06\18\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\19\06\06\06\06\1a\06\06\06\06\06\06\06\1b\06\06\06\06\06\06\06\06\06\06\06\1c\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1d\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1e\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++\01\00TVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00+++++++\07++[VVVVVVVJVV\051P1P1P1P1P1P1P1P$Py1P1P18P1P1P1P1P1P1P1PN1\02N\r\rN\03N\00$n\00N1&nQN$PN9\14\81\1b\1d\1dS1P1P\r1P1P1P\1bS$P1\02\\{\\{\\{\\{\\{\14y\\{\\{\\-+I\03H\03x\\{\14\00\96\n\01+(\06\06\00*\06**+\07\bb\b5+\1e\00+\07+++\01++++++++++++++++++++++++++++++++\01+++++++++++++++++++++++*+++++++++++++\cdF\cd+\00%+\07\01\06\01UVVVVVUVV\02$\81\81\81\81\81\15\81\81\81\00\00+\00\b2\d1\b2\d1\b2\d1\b2\d1\00\00\cd\cc\01\00\d7\d7\d7\d7\d7\83\81\81\81\81\81\81\81\81\81\81\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\1c\00\00\00\00\001P1P1P1P1P1\02\00\001P1P1P1P1P1P1P1P1PN1P1PN1P1P1P1P1P1P1P1\02\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6*++++++++++++\00\00\00TVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00TVVVVVVVVVVVV\0c\00\0c*+++++++++++++\07*\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++VVl\81\15\00++++++++++++++++++++++++++++++++++++++++++\07l\03A++VVVVVVVVVVVVVV,V+++++++++++++++++++++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\0cl\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%Vz\9e&\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06\01++OVV,+\7fVV9++UVV++OVV,+\7fVV\817u[{\\++OVV\02\ac\04\00\009++UVV++OVV,++VV2\13\81W\00o\81~\c9\d7~-\81\81\0e~9\7foW\00\81\81~\15\00~\03++++++++++++\07+$+\97+++++++++*+++++VVVVV\80\81\81\81\819\bb*++++++++++++++++++++++++++++++++++++++++\01\81\81\81\81\81\81\81\81\81\81\81\81\81\81\81\c9\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\d0\r\00N1\02\b4\c1\c1\d7\d7$P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P\d7\d7S\c1G\d4\d7\d7\d7\05++++++++++++\07\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00N1P1P1P1P1P1P1P\r\00\00\00\00\00$P1P1P1P1P\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++y\\{\\{O{\\{\\{\\{\\{\\{\\{\\{\\{\\{\\-++y\14\\{\\-y*\\\'\\{\\{\\{\a4\00\n\b4\\{\\{O\03x8+++++++++++++O-++\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\00\00\00\00\00\00*++++++++++++++++++++++++++\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00++++++++\07\00HVVVVVVVV\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++++UVVVVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$+++++++++++\07\00VVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00$++++++++++++++++\07\00\00\00\00VVVVVVVVVVVVVVVVV\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00*++++++++++VVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00+++++++++++UVVVVVVVVVV\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $12 (i32.const 4088) "\00\08\00\00V\01\00\009\00\00\00") + (data $13 (i32.const 4100) "\00\00\00\00\01 \00\00\00\e0\ff\ff\00\bf\1d\00\00\e7\02\00\00y\00\00\02$\00\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\01\02\00\00\00\fe\ff\ff\019\ff\ff\00\18\ff\ff\01\87\ff\ff\00\d4\fe\ff\00\c3\00\00\01\d2\00\00\01\ce\00\00\01\cd\00\00\01O\00\00\01\ca\00\00\01\cb\00\00\01\cf\00\00\00a\00\00\01\d3\00\00\01\d1\00\00\00\a3\00\00\01\d5\00\00\00\82\00\00\01\d6\00\00\01\da\00\00\01\d9\00\00\01\db\00\00\008\00\00\03\00\00\00\00\b1\ff\ff\01\9f\ff\ff\01\c8\ff\ff\02($\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\003\ff\ff\00&\ff\ff\01~\ff\ff\01+*\00\01]\ff\ff\01(*\00\00?*\00\01=\ff\ff\01E\00\00\01G\00\00\00\1f*\00\00\1c*\00\00\1e*\00\00.\ff\ff\002\ff\ff\006\ff\ff\005\ff\ff\00O\a5\00\00K\a5\00\001\ff\ff\00(\a5\00\00D\a5\00\00/\ff\ff\00-\ff\ff\00\f7)\00\00A\a5\00\00\fd)\00\00+\ff\ff\00*\ff\ff\00\e7)\00\00C\a5\00\00*\a5\00\00\bb\ff\ff\00\'\ff\ff\00\b9\ff\ff\00%\ff\ff\00\15\a5\00\00\12\a5\00\02$L\00\00\00\00\00\01 \00\00\00\e0\ff\ff\01\01\00\00\00\ff\ff\ff\00T\00\00\01t\00\00\01&\00\00\01%\00\00\01@\00\00\01?\00\00\00\da\ff\ff\00\db\ff\ff\00\e1\ff\ff\00\c0\ff\ff\00\c1\ff\ff\01\08\00\00\00\c2\ff\ff\00\c7\ff\ff\00\d1\ff\ff\00\ca\ff\ff\00\f8\ff\ff\00\aa\ff\ff\00\b0\ff\ff\00\07\00\00\00\8c\ff\ff\01\c4\ff\ff\00\a0\ff\ff\01\f9\ff\ff\02\1ap\00\01\01\00\00\00\ff\ff\ff\01 \00\00\00\e0\ff\ff\01P\00\00\01\0f\00\00\00\f1\ff\ff\00\00\00\00\010\00\00\00\d0\ff\ff\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c0\0b\00\01`\1c\00\00\00\00\00\01\d0\97\00\01\08\00\00\00\f8\ff\ff\02\05\8a\00\00\00\00\00\01@\f4\ff\00\9e\e7\ff\00\c2\89\00\00\db\e7\ff\00\92\e7\ff\00\93\e7\ff\00\9c\e7\ff\00\9d\e7\ff\00\a4\e7\ff\00\00\00\00\008\8a\00\00\04\8a\00\00\e6\0e\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c5\ff\ff\01A\e2\ff\02\1d\8f\00\00\08\00\00\01\f8\ff\ff\00\00\00\00\00V\00\00\01\aa\ff\ff\00J\00\00\00d\00\00\00\80\00\00\00p\00\00\00~\00\00\00\t\00\00\01\b6\ff\ff\01\f7\ff\ff\00\db\e3\ff\01\9c\ff\ff\01\90\ff\ff\01\80\ff\ff\01\82\ff\ff\02\05\ac\00\00\00\00\00\01\10\00\00\00\f0\ff\ff\01\1c\00\00\01\01\00\00\01\a3\e2\ff\01A\df\ff\01\ba\df\ff\00\e4\ff\ff\02\0b\b1\00\01\01\00\00\00\ff\ff\ff\010\00\00\00\d0\ff\ff\00\00\00\00\01\t\d6\ff\01\1a\f1\ff\01\19\d6\ff\00\d5\d5\ff\00\d8\d5\ff\01\e4\d5\ff\01\03\d6\ff\01\e1\d5\ff\01\e2\d5\ff\01\c1\d5\ff\00\00\00\00\00\a0\e3\ff\00\00\00\00\01\01\00\00\00\ff\ff\ff\02\0c\bc\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\01\bcZ\ff\01\a0\03\00\01\fcu\ff\01\d8Z\ff\000\00\00\01\b1Z\ff\01\b5Z\ff\01\bfZ\ff\01\eeZ\ff\01\d6Z\ff\01\ebZ\ff\01\d0\ff\ff\01\bdZ\ff\01\c8u\ff\00\00\00\00\000h\ff\00`\fc\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01(\00\00\00\d8\ff\ff\00\00\00\00\01@\00\00\00\c0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01\"\00\00\00\de\ff\ff") + (data $14 (i32.const 5060) "\00\06\'Qow\00\00\00\00\00\00\00\00\00\00|\00\00\7f\00\00\00\00\00\00\00\00\83\8e\92\97\00\aa\00\00\00\00\00\00\00\00\00\00\b4\c4\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c6\c9\00\00\00\db\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\de\00\00\00\00\e1\00\00\00\00\00\00\00\e4\00\00\00\00\00\00\00\00\00\00\00\e7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ea\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ed\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 5572) "0\0c1\rx\0e\7f\0f\80\10\81\11\86\12\89\13\8a\13\8e\14\8f\15\90\16\93\13\94\17\95\18\96\19\97\1a\9a\1b\9c\19\9d\1c\9e\1d\9f\1e\a6\1f\a9\1f\ae\1f\b1 \b2 \b7!\bf\"\c5#\c8#\cb#\dd$\f2#\f6%\f7& -:.=/>0?1@1C2D3E4P5Q6R7S8T9Y:[;\\e?f@hAiBj@kClDoBqErFuG}H\82I\87J\89K\8aL\8bL\8cM\92N\9dO\9ePEW{\1d|\1d}\1d\7fX\86Y\88Z\89Z\8aZ\8c[\8e\\\8f\\\ac]\ad^\ae^\af^\c2_\cc`\cda\cea\cfb\d0c\d1d\d5e\d6f\d7g\f0h\f1i\f2j\f3k\f4l\f5m\f9n\fd-\fe-\ff-PiQiRiSiTiUiViWiXiYiZi[i\\i]i^i_i\82\00\83\00\84\00\85\00\86\00\87\00\88\00\89\00\c0u\cfv\80\89\81\8a\82\8b\85\8c\86\8dp\9dq\9dv\9ew\9ex\9fy\9fz\a0{\a0|\a1}\a1\b3\a2\ba\a3\bb\a3\bc\a4\be\a5\c3\a2\cc\a4\da\a6\db\a6\e5j\ea\a7\eb\a7\ecn\f3\a2\f8\a8\f9\a8\fa\a9\fb\a9\fc\a4&\b0*\b1+\b2N\b3\84\08b\bac\bbd\bce\bdf\bem\bfn\c0o\c1p\c2~\c3\7f\c3}\cf\8d\d0\94\d1\ab\d2\ac\d3\ad\d4\b0\d5\b1\d6\b2\d7\c4\d8\c5\d9\c6\da") + (data $16 (i32.const 5980) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00c\00a\00s\00e\00m\00a\00p\00p\00i\00n\00g\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 6060) "\00\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7f") + (data $18 (i32.const 6188) "\12\10\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\10\10\"\10\10\10#$%&\'()\10*+\10\10\10\10\10\10\10\10\10\10\10,-.\10/\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\100\10\10\101\10234567\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\108\10\109:\10;<=\10\10\10\10\10\10>\10\10?@ABCDEFGHIJKL\10MNO\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10P\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10QR\10\10\10S\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10T\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10UV\10\10\10\10\10\10\10W\10\10\10\10\10XYZ\10\10\10\10\10[\\\10\10\10\10\10\10\10\10\10]\10\10\10\10\10\10\10\10\10\10\10\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\80@\00\04\00\00\00@\01\00\00\00\00\00\00\00\00\a1\90\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff0\04\b0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f8\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\82\00\00\00\00\00\00\fe\ff\ff\ff\ff\bf\b6\00\00\00\00\00\10\00?\00\ff\17\00\00\00\00\01\f8\ff\ff\00\00\01\00\00\00\00\00\00\00\00\00\00\00\c0\bf\ff=\00\00\00\80\02\00\00\00\ff\ff\ff\07\00\00\00\00\00\00\00\00\00\00\c0\ff\01\00\00\00\00\00\00\f8?$\00\00\c0\ff\ff?\00\00\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f8\ff\ff\ff\ff\ff\07\00\00\00\00\00\00\14\fe!\fe\00\0c\00\02\00\02\00\00\00\00\00\00\10\1e \00\00\0c\00\00@\06\00\00\00\00\00\00\10\869\02\00\00\00#\00\06\00\00\00\00\00\00\10\be!\00\00\0c\00\00\fc\02\00\00\00\00\00\00\90\1e `\00\0c\00\00\00\04\00\00\00\00\00\00\00\01 \00\00\00\00\00\00\11\00\00\00\00\00\00\c0\c1=`\00\0c\00\00\00\02\00\00\00\00\00\00\90@0\00\00\0c\00\00\00\03\00\00\00\00\00\00\18\1e \00\00\0c\00\00\00\02\00\00\00\00\00\00\00\00\04\\\00\00\00\00\00\00\00\00\00\00\00\f2\07\c0\7f\00\00\00\00\00\00\00\00\00\00\00\00\f2\1f@?\00\00\00\00\00\00\00\00\00\03\00\00\a0\02\00\00\00\00\00\00\fe\7f\df\e0\ff\fe\ff\ff\ff\1f@\00\00\00\00\00\00\00\00\00\00\00\00\e0\fdf\00\00\00\c3\01\00\1e\00d \00 \00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00\e0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\1c\00\00\00\0c\00\00\00\0c\00\00\00\00\00\00\00\b0?@\fe\8f \00\00\00\00\00x\00\00\00\00\00\00\08\00\00\00\00\00\00\00`\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\87\01\04\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\t\00\00\00\00\00\00@\7f\e5\1f\f8\9f\00\00\00\00\80\00\ff\ff\01\00\00\00\00\00\00\00\0f\00\00\00\00\00\d0\17\04\00\00\00\00\f8\0f\00\03\00\00\00<;\00\00\00\00\00\00@\a3\03\00\00\00\00\00\00\f0\cf\00\00\00\00\00\00\00\00?\00\00\00\00\00\00\00\00\00\00\f7\ff\fd!\10\03\00\00\00\00\00\f0\ff\ff\ff\ff\ff\ff\ff\07\00\01\00\00\00\f8\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\fb\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\a0\03\e0\00\e0\00\e0\00`\00\f8\00\03\90|\00\00\00\00\00\00\df\ff\02\80\00\00\ff\1f\00\00\00\00\00\00\ff\ff\ff\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\000\00\00\00\00\00\00\00\00\00\00\00\00\00\80\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\80\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\00\00\00\00\00\80\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00<>\08\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00?\00\10\00\00\00\00\00\00\00\00\00\00\00\80\f7\bf\00\00\00\f0\00\00\00\00\00\00\00\00\00\00\03\00\ff\ff\ff\ff\03\00\00\00\00\00\00\00\00\00\01\00\00\07\00\00\00\00\00\00\00\00\00\00\00\00\00\03D\08\00\00`\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\000\00\00\00\ff\ff\03\80\00\00\00\00\c0?\00\00\80\ff\03\00\00\00\00\00\07\00\00\00\00\00\c83\00\80\00\00`\00\00\00\00\00\00\00\00~f\00\08\10\00\00\00\00\01\10\00\00\00\00\00\00\9d\c1\02\00\00 \000X\00\00\00\00\00\00\00\00\00\00\00\00\f8\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00 !\00\00\00\00\00@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\fc\ff\03\00\00\00\00\00\00\00\ff\ff\08\00\ff\ff\00\00\00\00$\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\80@\00\04\00\00\00@\01\00\00\00\00\00\01\00\00\00\00\c0\00\00\00\00\00\00\00\00\08\00\00\0e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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\c0\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00n\f0\00\00\00\00\00\87\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00`\00\00\00\00\00\00\00\f0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c0\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\ff\7f\00\00\00\00\00\00\80\03\00\00\00\00\00x&\00 \00\00\00\00\00\00\07\00\00\00\80\ef\1f\00\00\00\00\00\00\00\08\00\03\00\00\00\00\00\c0\7f\00\9e\00\00\00\00\00\00\00\00\00\00\00\80\d3@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\f8\07\00\00\03\00\00\00\00\00\00\18\01\00\00\00\c0\1f\1f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\\\00\00@\00\00\00\00\00\00\00\00\00\00\f8\85\r\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00<\b0\01\00\000\00\00\00\00\00\00\00\00\00\00\f8\a7\01\00\00\00\00\00\00\00\00\00\00\00\00(\bf\00\00\00\00\00\00\00\00\00\00\00\00\e0\bc\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\ff\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00X\08\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\0c\01\00\00\00\fe\07\00\00\00\00\f8y\80\00~\0e\00\00\00\00\00\fc\7f\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\7f\bf\00\00\00\00\00\00\00\00\00\00\fc\ff\ff\fcm\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00~\b4\bf\00\00\00\00\00\00\00\00\00\a3\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\00\00\00\00\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1f\00\00\00\00\00\00\00\7f\00\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\00\00\00\00\00\00\00\80\ff\ff\00\00\00\00\00\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00`\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\80\03\f8\ff\e7\0f\00\00\00<\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\7f\f8\ff\ff\ff\ff\ff\1f \00\10\00\00\f8\fe\ff\00\00\00\00\00\00\00\00\00\00\7f\ff\ff\f9\db\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\7f\00\00\00\00\00\00\00\00\00\00\00\00\00\f0\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\f8") + (data $19 (i32.const 9196) "\12\13\14\15\16\17\10\10\10\10\10\10\10\10\10\10\18\10\10\19\10\10\10\10\10\10\10\10\1a\1b\11\1c\1d\1e\10\10\1f\10\10\10\10\10\10\10 !\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\"#\10\10\10$\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10%\10\10\10&\10\10\10\10\'\10\10\10\10\10\10\10(\10\10\10\10\10\10\10\10\10\10\10)\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10*\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10+,-.\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10/\10\10\10\10\10\10\100\10\10\10\10\10\10\10\10\10\10\10\10\10\10\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\fe\ff\ff\07\fe\ff\ff\07\00\00\00\00\00\04 \04\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\f7\f0\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ef\ff\ff\ff\ff\01\03\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\00\00\cf\bc@\d7\ff\ff\fb\ff\ff\ff\ff\ff\ff\ff\ff\ff\bf\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\03\fc\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\fe\ff\ff\ff\7f\00\ff\ff\ff\ff\ff\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\bf \ff\ff\ff\ff\ff\e7\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff??\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\01\ff\ff\ff\ff\ff\e7\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\ff\ff??\ff\ff\ff\ff??\ff\aa\ff\ff\ff?\ff\ff\ff\ff\ff\ff\df_\dc\1f\cf\0f\ff\1f\dc\1f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\80\00\00\ff\1f\00\00\00\00\00\00\00\00\00\00\00\00\84\fc/>P\bd\1f\f2\e0C\00\00\ff\ff\ff\ff\18\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\c0\ff\ff\ff\ff\ff\ff\03\00\00\ff\ff\ff\ff\ff\7f\ff\ff\ff\ff\ff\7f\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\1fx\0c\00\ff\ff\ff\ff\bf \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff?\00\00\ff\ff\ff?\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\fc\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ffx\ff\ff\ff\ff\ff\ff\fc\07\00\00\00\00`\07\00\00\00\00\00\00\ff\ff\ff\ff\ff\f7\ff\01\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\7f\00\f8\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\fe\ff\ff\07\fe\ff\ff\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\0f\ff\ff\ff\ff\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\07\00\ff\ff\ff\ff\ff\ff\07\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\df\ff\ff\ff\ff\ff\ff\ff\ff\dfd\de\ff\eb\ef\ff\ff\ff\ff\ff\ff\ff\bf\e7\df\df\ff\ff\ff{_\fc\fd\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff?\ff\ff\ff\fd\ff\ff\f7\ff\ff\ff\f7\ff\ff\df\ff\ff\ff\df\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\fd\ff\ff\ff\fd\ff\ff\f7\0f\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\0f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\ff\ff\ff\03\ff\ff\ff\03\ff\ff\ff\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $20 (i32.const 10764) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n\00\00\00\00\00\00\00") + (data $21 (i32.const 10812) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n\00\00\00\00\00\00\00") + (data $22 (i32.const 10860) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t\00\00\00\00\00\00\00") + (data $23 (i32.const 10908) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t\00\00\00\00\00\00\00") + (data $24 (i32.const 10956) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00\00\00") + (data $25 (i32.const 11052) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E\00\00\00") + (data $26 (i32.const 11148) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e\00\00\00") + (data $27 (i32.const 11244) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00\00\00\00\00\00\00\00\00") + (data $28 (i32.const 11308) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!\00\00\00\00\00\00\00\00\00") + (data $29 (i32.const 11372) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!\00\00\00\00\00\00\00\00\00") + (data $30 (i32.const 11436) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\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\00\00\00\00\00") + (data $31 (i32.const 11532) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\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\00\00\00\00\00") + (data $32 (i32.const 11628) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\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\00\00\00\00\00") + (data $33 (i32.const 11724) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\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\00\00\00\00") + (data $34 (i32.const 11820) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N\00\00\00\00\00") + (data $35 (i32.const 11916) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n\00\00\00\00\00") + (data $36 (i32.const 12012) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $37 (i32.const 12092) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $38 (i32.const 12172) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\000\00\00\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\03\ae\03,\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $39 (i32.const 12252) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,\00\00\00\00\00\00\00\00\00") + (data $40 (i32.const 12332) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") + (data $41 (i32.const 12396) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") + (data $42 (i32.const 12460) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.\00\00\00\00\00\00\00\00\00\00\00") + (data $43 (i32.const 12540) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.\00\00\00\00\00\00\00\00\00") + (data $44 (i32.const 12620) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $45 (i32.const 12700) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $46 (i32.const 12780) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03\00\00\00\00") + (data $47 (i32.const 12844) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03\00\00") + (data $48 (i32.const 12908) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\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\03\ad\03\bd\03\b7\03\00\00\00\00\00\00\00\00\00\00") + (data $49 (i32.const 12988) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03\00\00\00\00\00\00\00\00") + (data $50 (i32.const 13068) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\006\00\00\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\03\ac\03!\00\00\00\00\00\00\00") + (data $51 (i32.const 13148) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!\00\00\00") + (data $52 (i32.const 13228) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\00\00\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\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\00\00\00\00\00\00\00\00\00\00\00") + (data $53 (i32.const 13388) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\00\00\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\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\00\00\00\00\00\00\00\00\00\00\00") + (data $54 (i32.const 13548) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\00\00\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\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\00\00\00\00\00\00\00\00\00\00\00") + (data $55 (i32.const 13708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\df\00\00\00\00\00\00\00\00\00\00\00") + (data $56 (i32.const 13740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00S\00S\00\00\00\00\00\00\00\00\00") + (data $57 (i32.const 13772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\01\00\00\00\00\00\00\00\00\00\00") + (data $58 (i32.const 13804) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00i\00\07\03\00\00\00\00\00\00\00\00") + (data $59 (i32.const 13836) "\cc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\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\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $60 (i32.const 14044) "\cc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c\00\00\00\00\00\00\00\00\00\00") + (data $61 (i32.const 14252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00s\00s\00\00\00\00\00\00\00\00\00") + (data $62 (i32.const 14284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\01\fb\00\00\00\00\00\00\00\00\00\00") + (data $63 (i32.const 14316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00f\00i\00\00\00\00\00\00\00\00\00") + (data $64 (i32.const 14348) "\cc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc\00\00\00\00") + (data $65 (i32.const 14556) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data $66 (i32.const 14604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\00\d8\00\dc\00\00\00\00\00\00\00\00") + (data $67 (i32.const 14636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\88\1f\00\00\00\00\00\00\00\00\00\00") + (data $68 (i32.const 14668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\80\1f\00\00\00\00\00\00\00\00\00\00") + (data $69 (i32.const 14700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\8f\1f\00\00\00\00\00\00\00\00\00\00") + (data $70 (i32.const 14732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\87\1f\00\00\00\00\00\00\00\00\00\00") + (data $71 (i32.const 14764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\fc\1f\00\00\00\00\00\00\00\00\00\00") + (data $72 (i32.const 14796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\f3\1f\00\00\00\00\00\00\00\00\00\00") + (data $73 (i32.const 14828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\a3\03\00\00\00\00\00\00\00\00\00\00") + (data $74 (i32.const 14860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\c3\03\00\00\00\00\00\00\00\00\00\00") + (data $75 (i32.const 14892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00 \00\a3\03\00\00\00\00\00\00\00\00") + (data $76 (i32.const 14924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00 \00\c3\03\00\00\00\00\00\00\00\00") + (data $77 (i32.const 14956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\a3\03 \00\00\00\00\00\00\00\00\00") + (data $78 (i32.const 14988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\c3\03 \00\00\00\00\00\00\00\00\00") + (data $79 (i32.const 15020) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00\a3\03 \00\00\00\00\00\00\00") + (data $80 (i32.const 15052) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00\c3\03 \00\00\00\00\00\00\00") + (data $81 (i32.const 15084) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\a3\03 \00\00\00\00\00\00\00") + (data $82 (i32.const 15116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03 \00\00\00\00\00\00\00") + (data $83 (i32.const 15148) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\a3\03\n\00\00\00\00\00\00\00") + (data $84 (i32.const 15180) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03\n\00\00\00\00\00\00\00") + (data $85 (i32.const 15212) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00\a3\03\00\00\00\00\00\00\00\00") + (data $86 (i32.const 15244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00\c2\03\00\00\00\00\00\00\00\00") + (data $87 (i32.const 15276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\a3\03b\00\00\00\00\00\00\00") + (data $88 (i32.const 15308) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c3\03b\00\00\00\00\00\00\00") + (data $89 (i32.const 15340) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\a3\03\a3\03 \00\00\00\00\00\00\00") + (data $90 (i32.const 15372) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\c3\03\c2\03 \00\00\00\00\00\00\00") + (data $91 (i32.const 15404) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00\a3\03 \00\00\00\00\00\00\00") + (data $92 (i32.const 15436) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00\c3\03 \00\00\00\00\00\00\00") + (data $93 (i32.const 15468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00;\00\a3\03 \00\00\00\00\00\00\00") + (data $94 (i32.const 15500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00;\00\c3\03 \00\00\00\00\00\00\00") + (data $95 (i32.const 15532) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\01\03\a3\03 \00\00\00\00\00\00\00") + (data $96 (i32.const 15564) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\01\03\c3\03 \00\00\00\00\00\00\00") + (data $97 (i32.const 15596) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03 \00\00\00") + (data $98 (i32.const 15628) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03 \00\00\00") + (data $99 (i32.const 15660) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\a3\03\a3\03-\00\00\00\00\00\00\00") + (data $100 (i32.const 15692) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\c3\03\c2\03-\00\00\00\00\00\00\00") + (data $101 (i32.const 15724) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03-\00\00\00") + (data $102 (i32.const 15756) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03-\00\00\00") + (data $103 (i32.const 15788) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03*s\00\00") + (data $104 (i32.const 15820) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03*s\00\00") + (data $105 (i32.const 15852) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\005\d8\a2\dc\a3\03\00\00\00\00\00\00") + (data $106 (i32.const 15884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\005\d8\a2\dc\c2\03\00\00\00\00\00\00") + (data $107 (i32.const 15916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00.\00\a3\03\00\00\00\00\00\00") + (data $108 (i32.const 15948) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00.\00\c2\03\00\00\00\00\00\00") + (data $109 (i32.const 15980) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\ad\00\a3\03\00\00\00\00\00\00") + (data $110 (i32.const 16012) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\ad\00\c2\03\00\00\00\00\00\00") + (data $111 (i32.const 16044) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\004\d8B\de\a3\03\00\00\00\00") + (data $112 (i32.const 16076) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\004\d8B\de\c2\03\00\00\00\00") + (data $113 (i32.const 16108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00E\03\a3\03\00\00\00\00\00\00\00\00") + (data $114 (i32.const 16140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00E\03\c3\03\00\00\00\00\00\00\00\00") + (data $115 (i32.const 16172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\91\03E\03\a3\03\00\00\00\00\00\00") + (data $116 (i32.const 16204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\b1\03E\03\c2\03\00\00\00\00\00\00") + (data $117 (i32.const 16236) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\a3\03B\00\00\00\00\00\00\00") + (data $118 (i32.const 16268) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\035\d8\a2\dc\00\00\00\00") + (data $119 (i32.const 16300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\035\d8\a2\dc\00\00\00\00") + (data $120 (i32.const 16332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03.\00b\00\00\00\00\00") + (data $121 (i32.const 16364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03.\00b\00\00\00\00\00") + (data $122 (i32.const 16396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03\ad\00B\00\00\00\00\00") + (data $123 (i32.const 16428) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03\ad\00b\00\00\00\00\00") + (data $124 (i32.const 16460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00A\00\a3\034\d8B\deB\00\00\00") + (data $125 (i32.const 16492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00\c3\034\d8B\deb\00\00\00") + (data $126 (i32.const 16524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\a3\03E\03\00\00\00\00\00\00") + (data $127 (i32.const 16556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03E\03\00\00\00\00\00\00") + (data $128 (i32.const 16588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03E\03\91\03\00\00\00\00") + (data $129 (i32.const 16620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03E\03\b1\03\00\00\00\00") + (data $130 (i32.const 16652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\0e\18\a3\03\00\00\00\00\00\00") + (data $131 (i32.const 16684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\0e\18\c2\03\00\00\00\00\00\00") + (data $132 (i32.const 16716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\0e\18\a3\03B\00\00\00\00\00") + (data $133 (i32.const 16748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\0e\18\c3\03b\00\00\00\00\00") + (data $134 (i32.const 16780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00\a3\03\0e\18\00\00\00\00\00\00") + (data $135 (i32.const 16812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00\c2\03\0e\18\00\00\00\00\00\00") + (data $136 (i32.const 16844) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\a3\03\0e\18B\00\00\00\00\00") + (data $137 (i32.const 16876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\c3\03\0e\18b\00\00\00\00\00") + (data $138 (i32.const 16908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00A\00\0e\18\a3\03\0e\18\00\00\00\00") + (data $139 (i32.const 16940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00\0e\18\c2\03\0e\18\00\00\00\00") + (data $140 (i32.const 16972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00A\00\0e\18\a3\03\0e\18B\00\00\00") + (data $141 (i32.const 17004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00\0e\18\c3\03\0e\18b\00\00\00") + (data $142 (i32.const 17036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\fb\00\00\00\00\00\00\00\00\00\00") + (data $143 (i32.const 17068) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00F\00F\00\00\00\00\00\00\00\00\00") + (data $144 (i32.const 17100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00F\00I\00\00\00\00\00\00\00\00\00") + (data $145 (i32.const 17132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\02\fb\00\00\00\00\00\00\00\00\00\00") + (data $146 (i32.const 17164) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00F\00L\00\00\00\00\00\00\00\00\00") + (data $147 (i32.const 17196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\03\fb\00\00\00\00\00\00\00\00\00\00") + (data $148 (i32.const 17228) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00F\00F\00I\00\00\00\00\00\00\00") + (data $149 (i32.const 17260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\04\fb\00\00\00\00\00\00\00\00\00\00") + (data $150 (i32.const 17292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00F\00F\00L\00\00\00\00\00\00\00") + (data $151 (i32.const 17324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\05\fb\00\00\00\00\00\00\00\00\00\00") + (data $152 (i32.const 17356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00S\00T\00\00\00\00\00\00\00\00\00") + (data $153 (i32.const 17388) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\06\fb\00\00\00\00\00\00\00\00\00\00") + (data $154 (i32.const 17420) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\f0\01\00\00\00\00\00\00\00\00\00\00") + (data $155 (i32.const 17452) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00J\00\0c\03\00\00\00\00\00\00\00\00") + (data $156 (i32.const 17484) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\96\1e\00\00\00\00\00\00\00\00\00\00") + (data $157 (i32.const 17516) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00H\001\03\00\00\00\00\00\00\00\00") + (data $158 (i32.const 17548) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\97\1e\00\00\00\00\00\00\00\00\00\00") + (data $159 (i32.const 17580) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00T\00\08\03\00\00\00\00\00\00\00\00") + (data $160 (i32.const 17612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\98\1e\00\00\00\00\00\00\00\00\00\00") + (data $161 (i32.const 17644) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00W\00\n\03\00\00\00\00\00\00\00\00") + (data $162 (i32.const 17676) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\99\1e\00\00\00\00\00\00\00\00\00\00") + (data $163 (i32.const 17708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00Y\00\n\03\00\00\00\00\00\00\00\00") + (data $164 (i32.const 17740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\9a\1e\00\00\00\00\00\00\00\00\00\00") + (data $165 (i32.const 17772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00A\00\be\02\00\00\00\00\00\00\00\00") + (data $166 (i32.const 17804) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $167 (i32.const 17900) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00\00\00\00\00") + (data $168 (i32.const 17964) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data $169 (i32.const 18092) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $170 (i32.const 18156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $171 (i32.const 18188) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data $172 (i32.const 18588) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $173 (i32.const 19644) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") + (data $174 (i32.const 19740) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00") + (data $175 (i32.const 19804) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $176 (i32.const 19900) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00\00\00\00\00") + (data $177 (i32.const 19964) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 \00\00\00\00\00\00\00") + (data $178 (i32.const 20032) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\a4\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -239,12 +239,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -258,7 +258,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -332,7 +332,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -402,11 +402,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -414,7 +414,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 256 @@ -546,7 +546,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -559,7 +559,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -575,34 +575,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -762,7 +762,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -785,7 +785,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -799,7 +799,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -822,7 +822,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -965,7 +965,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -1051,7 +1051,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1131,7 +1131,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1165,7 +1165,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1188,7 +1188,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1202,27 +1202,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 400 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1247,9 +1252,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1268,7 +1273,7 @@ if i32.const 0 i32.const 400 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1287,7 +1292,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1301,7 +1305,7 @@ if i32.const 0 i32.const 400 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1357,12 +1361,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1396,7 +1400,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1417,7 +1421,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1437,7 +1441,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1457,7 +1461,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1483,7 +1487,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1506,9 +1510,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1544,7 +1549,7 @@ if i32.const 0 i32.const 400 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1810,14 +1815,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1873,7 +1881,7 @@ if i32.const 64 i32.const 400 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1882,6 +1890,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1911,24 +1939,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1966,7 +1983,7 @@ if i32.const 0 i32.const 400 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1981,7 +1998,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -2026,7 +2043,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -2037,7 +2054,7 @@ if i32.const 0 i32.const 400 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -2059,7 +2076,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2082,7 +2099,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2101,22 +2118,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2129,7 +2138,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2156,27 +2165,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2201,7 +2211,7 @@ if i32.const 0 i32.const 400 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2316,7 +2326,7 @@ if i32.const 0 i32.const 400 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2336,7 +2346,7 @@ if i32.const 0 i32.const 400 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2369,12 +2379,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2425,7 +2435,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2473,13 +2483,13 @@ i32.const 1420 local.get $b i32.add - i32.load8_u $0 + i32.load8_u i32.const 86 i32.mul i32.add local.get $x i32.add - i32.load8_u $0 + i32.load8_u local.set $v local.get $v i32.const 4088 @@ -2487,7 +2497,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.mul i32.const 11 i32.shr_u @@ -2498,13 +2508,13 @@ i32.const 5060 local.get $b i32.add - i32.load8_u $0 + i32.load8_u local.get $v i32.add i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $r local.get $r i32.const 255 @@ -2551,7 +2561,7 @@ i32.const 2 i32.mul i32.add - i32.load8_u $0 + i32.load8_u local.set $t local.get $t local.get $c @@ -2565,11 +2575,11 @@ i32.const 2 i32.mul i32.add - i32.load8_u $0 offset=1 + i32.load8_u offset=1 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $r local.get $r i32.const 255 @@ -2628,7 +2638,7 @@ ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2672,7 +2682,7 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) @@ -2717,9 +2727,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2752,10 +2762,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2787,7 +2797,7 @@ i32.const 8 i32.shr_u i32.add - i32.load8_u $0 + i32.load8_u i32.const 5 i32.shl i32.add @@ -2797,7 +2807,7 @@ i32.const 3 i32.shr_u i32.add - i32.load8_u $0 + i32.load8_u local.get $c i32.const 7 i32.and @@ -2901,14 +2911,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 18188 local.get $d2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -2924,7 +2934,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -2951,7 +2961,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits local.get $buffer local.get $offset @@ -2959,7 +2969,7 @@ i32.shl i32.add local.get $digits - i32.store $0 + i32.store end local.get $num i32.const 10 @@ -2974,7 +2984,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits|12 local.get $buffer local.get $offset @@ -2982,7 +2992,7 @@ i32.shl i32.add local.get $digits|12 - i32.store $0 + i32.store else local.get $offset i32.const 1 @@ -2998,7 +3008,7 @@ i32.shl i32.add local.get $digit - i32.store16 $0 + i32.store16 end ) (func $~lib/util/number/decimalCount64High (param $value i64) (result i32) @@ -3118,14 +3128,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 18188 local.get $c2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -3141,20 +3151,20 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store i32.const 18188 local.get $b1 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 18188 local.get $b2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -3170,7 +3180,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -3203,8 +3213,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $num i64.const 8 i64.shr_u @@ -3223,8 +3233,8 @@ i32.const 6 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end ) (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) @@ -3348,8 +3358,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num local.get $shift i64.shr_u @@ -3384,8 +3394,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -3429,16 +3439,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -3450,7 +3455,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $invalid end return @@ -3516,12 +3521,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $24 global.get $~lib/memory/__stack_pointer local.get $24 - i32.store $0 + i32.store local.get $24 call $~lib/string/String#get:length local.set $len @@ -3546,14 +3551,14 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $codes - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/util/casemap/SPECIALS_UPPER local.set $specialsPtr global.get $~lib/util/casemap/SPECIALS_UPPER local.set $24 global.get $~lib/memory/__stack_pointer local.get $24 - i32.store $0 + i32.store local.get $24 call $~lib/staticarray/StaticArray#get:length local.set $specialsLen @@ -3572,7 +3577,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $c block $~lib/util/string/isAscii|inlined.0 (result i32) local.get $c @@ -3599,10 +3604,10 @@ i32.const 1292 local.get $c|9 i32.add - i32.load8_u $0 + i32.load8_u br $~lib/util/string/toUpper8|inlined.0 end - i32.store16 $0 + i32.store16 else local.get $c i32.const 55295 @@ -3626,7 +3631,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.set $c1 local.get $c1 i32.const 56319 @@ -3668,7 +3673,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $j i32.const 1 i32.add @@ -3693,7 +3698,7 @@ local.get $c i32.const 26 i32.sub - i32.store16 $0 + i32.store16 else i32.const -1 local.set $index @@ -3732,7 +3737,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $key i32.sub local.set $cmp @@ -3775,14 +3780,14 @@ i32.const 1 i32.shl i32.add - i32.load $0 offset=2 + i32.load offset=2 local.set $ab local.get $specialsPtr local.get $index i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=6 + i32.load16_u offset=6 local.set $cc local.get $codes local.get $j @@ -3790,14 +3795,14 @@ i32.shl i32.add local.get $ab - i32.store $0 + i32.store local.get $codes local.get $j i32.const 1 i32.shl i32.add local.get $cc - i32.store16 $0 offset=4 + i32.store16 offset=4 local.get $j i32.const 1 local.get $cc @@ -3823,7 +3828,7 @@ i32.shl i32.add local.get $code - i32.store16 $0 + i32.store16 else local.get $code i32.const 65536 @@ -3851,7 +3856,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $j i32.const 1 i32.add @@ -3895,7 +3900,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -3933,7 +3938,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -3942,7 +3947,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -3960,14 +3965,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -4025,12 +4030,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $36 global.get $~lib/memory/__stack_pointer local.get $36 - i32.store $0 + i32.store local.get $36 call $~lib/string/String#get:length local.set $len @@ -4055,7 +4060,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $codes - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $j i32.const 0 @@ -4071,7 +4076,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $c block $~lib/util/string/isAscii|inlined.1 (result i32) local.get $c @@ -4098,10 +4103,10 @@ i32.const 6060 local.get $c|7 i32.add - i32.load8_u $0 + i32.load8_u br $~lib/util/string/toLower8|inlined.0 end - i32.store16 $0 + i32.store16 else local.get $c i32.const 55295 @@ -4125,7 +4130,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.set $c1 local.get $c1 i32.const 56319 @@ -4167,7 +4172,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $j i32.const 1 i32.add @@ -4190,7 +4195,7 @@ i32.shl i32.const 105 i32.or - i32.store $0 + i32.store local.get $j i32.const 1 i32.add @@ -4252,7 +4257,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $c|21 local.get $c|21 i32.const 64512 @@ -4273,7 +4278,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $c1|22 local.get $c1|22 i32.const 64512 @@ -4390,7 +4395,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $c|29 local.get $c|29 i32.const 64512 @@ -4409,7 +4414,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.set $c1|30 local.get $c1|30 i32.const 64512 @@ -4493,7 +4498,7 @@ i32.shl i32.add local.get $sigma - i32.store16 $0 + i32.store16 else local.get $c i32.const 9398 @@ -4511,7 +4516,7 @@ local.get $c i32.const 26 i32.add - i32.store16 $0 + i32.store16 else local.get $c i32.const 0 @@ -4529,7 +4534,7 @@ i32.shl i32.add local.get $code - i32.store16 $0 + i32.store16 else local.get $code i32.const 65536 @@ -4557,7 +4562,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $j i32.const 1 i32.add @@ -4604,12 +4609,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/string/String#get:length local.set $len @@ -4631,7 +4636,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $first local.get $first i32.const 64512 @@ -4662,7 +4667,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.set $second local.get $second i32.const 64512 @@ -4711,12 +4716,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -4726,7 +4731,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -4754,17 +4759,17 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $out local.get $thisSize i32.add local.get $other local.get $otherSize - memory.copy $0 $0 + memory.copy local.get $out local.set $6 global.get $~lib/memory/__stack_pointer @@ -4783,18 +4788,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String#concat local.set $2 @@ -4818,15 +4823,15 @@ (local $9 i64) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 28 - memory.fill $0 - memory.size $0 + i32.const 20 + memory.fill + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -4844,23 +4849,13 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace i32.const 32 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 32 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4872,23 +4867,13 @@ unreachable end i32.const 32 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 32 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4900,23 +4885,13 @@ unreachable end i32.const 10784 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 10832 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4928,23 +4903,13 @@ unreachable end i32.const 10880 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 10928 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4956,23 +4921,13 @@ unreachable end i32.const 10976 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 11072 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -4984,23 +4939,13 @@ unreachable end i32.const 11072 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 11168 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5012,23 +4957,13 @@ unreachable end i32.const 11264 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 11328 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5040,23 +4975,13 @@ unreachable end i32.const 11328 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 11392 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5068,23 +4993,13 @@ unreachable end i32.const 11456 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 11552 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5096,23 +5011,13 @@ unreachable end i32.const 11552 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 11648 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5124,23 +5029,13 @@ unreachable end i32.const 11744 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 11840 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5152,23 +5047,13 @@ unreachable end i32.const 11840 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 11936 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5180,23 +5065,13 @@ unreachable end i32.const 12032 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 12112 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5208,23 +5083,13 @@ unreachable end i32.const 12192 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 12272 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5236,23 +5101,13 @@ unreachable end i32.const 12352 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 12416 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5264,23 +5119,13 @@ unreachable end i32.const 12480 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 12560 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5292,23 +5137,13 @@ unreachable end i32.const 12640 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 12720 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5320,23 +5155,13 @@ unreachable end i32.const 12800 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 12864 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5348,23 +5173,13 @@ unreachable end i32.const 12928 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 13008 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5376,23 +5191,13 @@ unreachable end i32.const 13088 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 13168 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5404,23 +5209,13 @@ unreachable end i32.const 13248 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 13408 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5432,23 +5227,13 @@ unreachable end i32.const 13248 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 13568 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5460,23 +5245,13 @@ unreachable end i32.const 13728 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 13760 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5488,23 +5263,13 @@ unreachable end i32.const 13792 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 13824 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5516,23 +5281,13 @@ unreachable end i32.const 13856 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14064 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5544,29 +5299,19 @@ unreachable end i32.const 13728 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=12 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=4 local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14272 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5578,29 +5323,19 @@ unreachable end i32.const 14304 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=12 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=4 local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14336 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5612,29 +5347,19 @@ unreachable end i32.const 14368 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=12 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=4 local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14368 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5650,20 +5375,15 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=4 local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14624 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5679,20 +5399,15 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=4 local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14624 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5704,23 +5419,13 @@ unreachable end i32.const 14656 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14688 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5732,23 +5437,13 @@ unreachable end i32.const 14720 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14752 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5760,23 +5455,13 @@ unreachable end i32.const 14784 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14816 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5788,23 +5473,13 @@ unreachable end i32.const 14848 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14880 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5816,23 +5491,13 @@ unreachable end i32.const 14912 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 14944 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5844,23 +5509,13 @@ unreachable end i32.const 14976 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15008 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5872,23 +5527,13 @@ unreachable end i32.const 15040 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15072 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5900,23 +5545,13 @@ unreachable end i32.const 15104 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15136 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5928,23 +5563,13 @@ unreachable end i32.const 15168 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15200 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5956,23 +5581,13 @@ unreachable end i32.const 15232 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15264 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -5984,23 +5599,13 @@ unreachable end i32.const 15296 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15328 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6012,23 +5617,13 @@ unreachable end i32.const 15360 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15392 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6040,23 +5635,13 @@ unreachable end i32.const 15424 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15456 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6068,23 +5653,13 @@ unreachable end i32.const 15488 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15520 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6096,23 +5671,13 @@ unreachable end i32.const 15552 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15584 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6124,23 +5689,13 @@ unreachable end i32.const 15616 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15648 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6152,23 +5707,13 @@ unreachable end i32.const 15680 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15712 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6180,23 +5725,13 @@ unreachable end i32.const 15744 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15776 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6208,23 +5743,13 @@ unreachable end i32.const 15808 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15840 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6236,23 +5761,13 @@ unreachable end i32.const 15872 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15904 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6264,23 +5779,13 @@ unreachable end i32.const 15936 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15968 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6292,23 +5797,13 @@ unreachable end i32.const 16000 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16032 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6320,23 +5815,13 @@ unreachable end i32.const 16064 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16096 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6348,23 +5833,13 @@ unreachable end i32.const 16128 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16160 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6376,23 +5851,13 @@ unreachable end i32.const 16192 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16224 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6404,23 +5869,13 @@ unreachable end i32.const 16256 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 15328 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6432,23 +5887,13 @@ unreachable end i32.const 16288 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16320 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6460,23 +5905,13 @@ unreachable end i32.const 16352 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16384 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6488,23 +5923,13 @@ unreachable end i32.const 16416 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16448 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6516,23 +5941,13 @@ unreachable end i32.const 16480 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16512 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6544,23 +5959,13 @@ unreachable end i32.const 16544 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16576 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6572,23 +5977,13 @@ unreachable end i32.const 16608 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16640 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6600,23 +5995,13 @@ unreachable end i32.const 16672 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16704 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6628,23 +6013,13 @@ unreachable end i32.const 16736 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16768 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6656,23 +6031,13 @@ unreachable end i32.const 16800 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16832 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6684,23 +6049,13 @@ unreachable end i32.const 16864 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16896 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6712,23 +6067,13 @@ unreachable end i32.const 16928 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 16960 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6740,23 +6085,13 @@ unreachable end i32.const 16992 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toLowerCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17024 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6768,23 +6103,13 @@ unreachable end i32.const 17056 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17088 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6796,23 +6121,13 @@ unreachable end i32.const 14304 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17120 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6824,23 +6139,13 @@ unreachable end i32.const 17152 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17184 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6852,23 +6157,13 @@ unreachable end i32.const 17216 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17248 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6880,23 +6175,13 @@ unreachable end i32.const 17280 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17312 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6908,23 +6193,13 @@ unreachable end i32.const 17344 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17376 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6936,23 +6211,13 @@ unreachable end i32.const 17408 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17376 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6964,23 +6229,13 @@ unreachable end i32.const 17440 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17472 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -6992,23 +6247,13 @@ unreachable end i32.const 17504 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17536 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -7020,23 +6265,13 @@ unreachable end i32.const 17568 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17600 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -7048,23 +6283,13 @@ unreachable end i32.const 17632 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17664 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -7076,23 +6301,13 @@ unreachable end i32.const 17696 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17728 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -7104,23 +6319,13 @@ unreachable end i32.const 17760 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 call $~lib/string/String#toUpperCase local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 17792 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 call $~lib/string/String.__eq i32.eqz if @@ -7142,32 +6347,32 @@ local.get $0 call $~lib/string/String.fromCodePoint local.tee $1 - i32.store $0 offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#toLowerCase local.tee $2 - i32.store $0 offset=20 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#toUpperCase local.tee $3 - i32.store $0 offset=24 + i32.store offset=16 local.get $2 local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 0 call $~lib/string/String#codePointAt @@ -7177,7 +6382,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 1 call $~lib/string/String#codePointAt @@ -7197,7 +6402,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 2 call $~lib/string/String#codePointAt @@ -7217,7 +6422,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 0 call $~lib/string/String#codePointAt @@ -7227,7 +6432,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 1 call $~lib/string/String#codePointAt @@ -7247,7 +6452,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 2 call $~lib/string/String#codePointAt @@ -7338,11 +6543,6 @@ i64.ne if i32.const 17824 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 i32.const 1 local.get $0 f64.convert_i32_s @@ -7352,24 +6552,19 @@ f64.const 0 call $~lib/builtins/trace i32.const 17920 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $6 i32.const 10 call $~lib/number/I64#toString local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=4 local.get $10 call $~lib/string/String.__concat local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 0 f64.const 0 @@ -7379,24 +6574,19 @@ f64.const 0 call $~lib/builtins/trace i32.const 19760 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $8 i32.const 10 call $~lib/number/I64#toString local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=4 local.get $10 call $~lib/string/String.__concat local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 0 f64.const 0 @@ -7411,11 +6601,6 @@ i64.ne if i32.const 19824 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 i32.const 1 local.get $0 f64.convert_i32_s @@ -7425,24 +6610,19 @@ f64.const 0 call $~lib/builtins/trace i32.const 19920 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $7 i32.const 10 call $~lib/number/I64#toString local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=4 local.get $10 call $~lib/string/String.__concat local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 0 f64.const 0 @@ -7452,24 +6632,19 @@ f64.const 0 call $~lib/builtins/trace i32.const 19984 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 local.get $9 i32.const 10 call $~lib/number/I64#toString local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=4 local.get $10 call $~lib/string/String.__concat local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 0 f64.const 0 @@ -7487,7 +6662,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) @@ -7504,7 +6679,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $code i32.const 65535 i32.gt_u @@ -7516,13 +6691,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $hasSur i32.eqz if local.get $out local.get $code - i32.store16 $0 + i32.store16 else local.get $code i32.const 1114111 @@ -7558,7 +6733,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store end local.get $out local.set $5 @@ -7594,7 +6769,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -7665,7 +6840,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -7695,7 +6870,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -7737,7 +6912,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -7768,7 +6943,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -7782,7 +6957,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $18 diff --git a/tests/compiler/std/string-casemapping.release.wat b/tests/compiler/std/string-casemapping.release.wat index 0093badf9b..c93b01b017 100644 --- a/tests/compiler/std/string-casemapping.release.wat +++ b/tests/compiler/std/string-casemapping.release.wat @@ -1,14 +1,15 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $i64_=>_i32 (func (param i64) (result i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (func (result i32))) + (type $8 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $9 (func (param i32 i32 i32))) + (type $10 (func (param i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "string_casemapping" "toLowerCaseFromIndex" (func $std/string-casemapping/toLowerCaseFromIndex (param i32 i32) (result i32))) (import "string_casemapping" "toUpperCaseFromIndex" (func $std/string-casemapping/toUpperCaseFromIndex (param i32 i32) (result i32))) @@ -25,478 +26,478 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 53848)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02") - (data (i32.const 1068) "<") - (data (i32.const 1080) "\02\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) "<") - (data (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1260) "<") - (data (i32.const 1272) "\02\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 1324) ",") - (data (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1404) "<") - (data (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1468) "L\03") - (data (i32.const 1480) "\04\00\00\000\03\00\00\df\00S\00S\00\00\00I\01\bc\02N\00\00\00\f0\01J\00\0c\03\00\00\90\03\99\03\08\03\01\03\b0\03\a5\03\08\03\01\03\87\055\05R\05\00\00\96\1eH\001\03\00\00\97\1eT\00\08\03\00\00\98\1eW\00\n\03\00\00\99\1eY\00\n\03\00\00\9a\1eA\00\be\02\00\00P\1f\a5\03\13\03\00\00R\1f\a5\03\13\03\00\03T\1f\a5\03\13\03\01\03V\1f\a5\03\13\03B\03\80\1f\08\1f\99\03\00\00\81\1f\t\1f\99\03\00\00\82\1f\n\1f\99\03\00\00\83\1f\0b\1f\99\03\00\00\84\1f\0c\1f\99\03\00\00\85\1f\r\1f\99\03\00\00\86\1f\0e\1f\99\03\00\00\87\1f\0f\1f\99\03\00\00\88\1f\08\1f\99\03\00\00\89\1f\t\1f\99\03\00\00\8a\1f\n\1f\99\03\00\00\8b\1f\0b\1f\99\03\00\00\8c\1f\0c\1f\99\03\00\00\8d\1f\r\1f\99\03\00\00\8e\1f\0e\1f\99\03\00\00\8f\1f\0f\1f\99\03\00\00\90\1f(\1f\99\03\00\00\91\1f)\1f\99\03\00\00\92\1f*\1f\99\03\00\00\93\1f+\1f\99\03\00\00\94\1f,\1f\99\03\00\00\95\1f-\1f\99\03\00\00\96\1f.\1f\99\03\00\00\97\1f/\1f\99\03\00\00\98\1f(\1f\99\03\00\00\99\1f)\1f\99\03\00\00\9a\1f*\1f\99\03\00\00\9b\1f+\1f\99\03\00\00\9c\1f,\1f\99\03\00\00\9d\1f-\1f\99\03\00\00\9e\1f.\1f\99\03\00\00\9f\1f/\1f\99\03\00\00\a0\1fh\1f\99\03\00\00\a1\1fi\1f\99\03\00\00\a2\1fj\1f\99\03\00\00\a3\1fk\1f\99\03\00\00\a4\1fl\1f\99\03\00\00\a5\1fm\1f\99\03\00\00\a6\1fn\1f\99\03\00\00\a7\1fo\1f\99\03\00\00\a8\1fh\1f\99\03\00\00\a9\1fi\1f\99\03\00\00\aa\1fj\1f\99\03\00\00\ab\1fk\1f\99\03\00\00\ac\1fl\1f\99\03\00\00\ad\1fm\1f\99\03\00\00\ae\1fn\1f\99\03\00\00\af\1fo\1f\99\03\00\00\b2\1f\ba\1f\99\03\00\00\b3\1f\91\03\99\03\00\00\b4\1f\86\03\99\03\00\00\b6\1f\91\03B\03\00\00\b7\1f\91\03B\03\99\03\bc\1f\91\03\99\03\00\00\c2\1f\ca\1f\99\03\00\00\c3\1f\97\03\99\03\00\00\c4\1f\89\03\99\03\00\00\c6\1f\97\03B\03\00\00\c7\1f\97\03B\03\99\03\cc\1f\97\03\99\03\00\00\d2\1f\99\03\08\03\00\03\d3\1f\99\03\08\03\01\03\d6\1f\99\03B\03\00\00\d7\1f\99\03\08\03B\03\e2\1f\a5\03\08\03\00\03\e3\1f\a5\03\08\03\01\03\e4\1f\a1\03\13\03\00\00\e6\1f\a5\03B\03\00\00\e7\1f\a5\03\08\03B\03\f2\1f\fa\1f\99\03\00\00\f3\1f\a9\03\99\03\00\00\f4\1f\8f\03\99\03\00\00\f6\1f\a9\03B\03\00\00\f7\1f\a9\03B\03\99\03\fc\1f\a9\03\99\03\00\00\00\fbF\00F\00\00\00\01\fbF\00I\00\00\00\02\fbF\00L\00\00\00\03\fbF\00F\00I\00\04\fbF\00F\00L\00\05\fbS\00T\00\00\00\06\fbS\00T\00\00\00\13\fbD\05F\05\00\00\14\fbD\055\05\00\00\15\fbD\05;\05\00\00\16\fbN\05F\05\00\00\17\fbD\05=\05") - (data (i32.const 2317) "\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\7f") - (data (i32.const 2444) "\07\08\t\n\0b\0c\06\06\06\06\06\06\06\06\06\06\r\06\06\0e\06\06\06\06\06\06\06\06\0f\10\11\12\06\13\06\06\06\06\06\06\06\06\06\06\14\15\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\16\17\06\06\06\18\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\19\06\06\06\06\1a\06\06\06\06\06\06\06\1b\06\06\06\06\06\06\06\06\06\06\06\1c\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1d\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1e\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06") - (data (i32.const 3067) "$++++++++\01\00TVVVVVVVV") - (data (i32.const 3106) "\18\00\00\00+++++++\07++[VVVVVVVJVV\051P1P1P1P1P1P1P1P$Py1P1P18P1P1P1P1P1P1P1PN1\02N\r\rN\03N\00$n\00N1&nQN$PN9\14\81\1b\1d\1dS1P1P\r1P1P1P\1bS$P1\02\\{\\{\\{\\{\\{\14y\\{\\{\\-+I\03H\03x\\{\14\00\96\n\01+(\06\06\00*\06**+\07\bb\b5+\1e\00+\07+++\01++++++++++++++++++++++++++++++++\01+++++++++++++++++++++++*+++++++++++++\cdF\cd+\00%+\07\01\06\01UVVVVVUVV\02$\81\81\81\81\81\15\81\81\81\00\00+\00\b2\d1\b2\d1\b2\d1\b2\d1\00\00\cd\cc\01\00\d7\d7\d7\d7\d7\83\81\81\81\81\81\81\81\81\81\81\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\1c\00\00\00\00\001P1P1P1P1P1\02\00\001P1P1P1P1P1P1P1P1PN1P1PN1P1P1P1P1P1P1P1\02\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6*++++++++++++\00\00\00TVVVVVVVVVVVV") - (data (i32.const 3615) "TVVVVVVVVVVVV\0c\00\0c*+++++++++++++\07*\01") - (data (i32.const 3701) "*++++++++++++++++++++++++++VVl\81\15\00++++++++++++++++++++++++++++++++++++++++++\07l\03A++VVVVVVVVVVVVVV,V+++++++++++++++++++++\01") - (data (i32.const 3860) "\0cl\00\00\00\00\00\06") - (data (i32.const 3906) "\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%Vz\9e&\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06\01++OVV,+\7fVV9++UVV++OVV,+\7fVV\817u[{\\++OVV\02\ac\04\00\009++UVV++OVV,++VV2\13\81W\00o\81~\c9\d7~-\81\81\0e~9\7foW\00\81\81~\15\00~\03++++++++++++\07+$+\97+++++++++*+++++VVVVV\80\81\81\81\819\bb*++++++++++++++++++++++++++++++++++++++++\01\81\81\81\81\81\81\81\81\81\81\81\81\81\81\81\c9\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\d0\r\00N1\02\b4\c1\c1\d7\d7$P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P\d7\d7S\c1G\d4\d7\d7\d7\05++++++++++++\07\01\00\01") - (data (i32.const 4357) "N1P1P1P1P1P1P1P\r\00\00\00\00\00$P1P1P1P1P") - (data (i32.const 4422) "+++++++++++y\\{\\{O{\\{\\{\\{\\{\\{\\{\\{\\{\\{\\-++y\14\\{\\-y*\\\'\\{\\{\\{\a4\00\n\b4\\{\\{O\03x8+++++++++++++O-++\01") - (data (i32.const 4535) "H") - (data (i32.const 4545) "*++++++++++++++++++++++++++") - (data (i32.const 4605) "++++++++\07\00HVVVVVVVV\02") - (data (i32.const 4680) "+++++++++++++UVVVVVVVVVVVV\0e") - (data (i32.const 4738) "$+++++++++++\07\00VVVVVVVVVVVV") - (data (i32.const 4808) "$++++++++++++++++\07\00\00\00\00VVVVVVVVVVVVVVVVV") - (data (i32.const 4905) "*++++++++++VVVVVVVVVV\0e") - (data (i32.const 4959) "*++++++++++VVVVVVVVVV\0e") - (data (i32.const 5024) "+++++++++++UVVVVVVVVVV\0e") - (data (i32.const 5113) "\08\00\00V\01\00\009") - (data (i32.const 5128) "\01 \00\00\00\e0\ff\ff\00\bf\1d\00\00\e7\02\00\00y\00\00\02$\00\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\01\02\00\00\00\fe\ff\ff\019\ff\ff\00\18\ff\ff\01\87\ff\ff\00\d4\fe\ff\00\c3\00\00\01\d2\00\00\01\ce\00\00\01\cd\00\00\01O\00\00\01\ca\00\00\01\cb\00\00\01\cf\00\00\00a\00\00\01\d3\00\00\01\d1\00\00\00\a3\00\00\01\d5\00\00\00\82\00\00\01\d6\00\00\01\da\00\00\01\d9\00\00\01\db\00\00\008\00\00\03\00\00\00\00\b1\ff\ff\01\9f\ff\ff\01\c8\ff\ff\02($\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\003\ff\ff\00&\ff\ff\01~\ff\ff\01+*\00\01]\ff\ff\01(*\00\00?*\00\01=\ff\ff\01E\00\00\01G\00\00\00\1f*\00\00\1c*\00\00\1e*\00\00.\ff\ff\002\ff\ff\006\ff\ff\005\ff\ff\00O\a5\00\00K\a5\00\001\ff\ff\00(\a5\00\00D\a5\00\00/\ff\ff\00-\ff\ff\00\f7)\00\00A\a5\00\00\fd)\00\00+\ff\ff\00*\ff\ff\00\e7)\00\00C\a5\00\00*\a5\00\00\bb\ff\ff\00\'\ff\ff\00\b9\ff\ff\00%\ff\ff\00\15\a5\00\00\12\a5\00\02$L\00\00\00\00\00\01 \00\00\00\e0\ff\ff\01\01\00\00\00\ff\ff\ff\00T\00\00\01t\00\00\01&\00\00\01%\00\00\01@\00\00\01?\00\00\00\da\ff\ff\00\db\ff\ff\00\e1\ff\ff\00\c0\ff\ff\00\c1\ff\ff\01\08\00\00\00\c2\ff\ff\00\c7\ff\ff\00\d1\ff\ff\00\ca\ff\ff\00\f8\ff\ff\00\aa\ff\ff\00\b0\ff\ff\00\07\00\00\00\8c\ff\ff\01\c4\ff\ff\00\a0\ff\ff\01\f9\ff\ff\02\1ap\00\01\01\00\00\00\ff\ff\ff\01 \00\00\00\e0\ff\ff\01P\00\00\01\0f\00\00\00\f1\ff\ff\00\00\00\00\010\00\00\00\d0\ff\ff\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c0\0b\00\01`\1c\00\00\00\00\00\01\d0\97\00\01\08\00\00\00\f8\ff\ff\02\05\8a\00\00\00\00\00\01@\f4\ff\00\9e\e7\ff\00\c2\89\00\00\db\e7\ff\00\92\e7\ff\00\93\e7\ff\00\9c\e7\ff\00\9d\e7\ff\00\a4\e7\ff\00\00\00\00\008\8a\00\00\04\8a\00\00\e6\0e\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c5\ff\ff\01A\e2\ff\02\1d\8f\00\00\08\00\00\01\f8\ff\ff\00\00\00\00\00V\00\00\01\aa\ff\ff\00J\00\00\00d\00\00\00\80\00\00\00p\00\00\00~\00\00\00\t\00\00\01\b6\ff\ff\01\f7\ff\ff\00\db\e3\ff\01\9c\ff\ff\01\90\ff\ff\01\80\ff\ff\01\82\ff\ff\02\05\ac\00\00\00\00\00\01\10\00\00\00\f0\ff\ff\01\1c\00\00\01\01\00\00\01\a3\e2\ff\01A\df\ff\01\ba\df\ff\00\e4\ff\ff\02\0b\b1\00\01\01\00\00\00\ff\ff\ff\010\00\00\00\d0\ff\ff\00\00\00\00\01\t\d6\ff\01\1a\f1\ff\01\19\d6\ff\00\d5\d5\ff\00\d8\d5\ff\01\e4\d5\ff\01\03\d6\ff\01\e1\d5\ff\01\e2\d5\ff\01\c1\d5\ff\00\00\00\00\00\a0\e3\ff\00\00\00\00\01\01\00\00\00\ff\ff\ff\02\0c\bc\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\01\bcZ\ff\01\a0\03\00\01\fcu\ff\01\d8Z\ff\000\00\00\01\b1Z\ff\01\b5Z\ff\01\bfZ\ff\01\eeZ\ff\01\d6Z\ff\01\ebZ\ff\01\d0\ff\ff\01\bdZ\ff\01\c8u\ff\00\00\00\00\000h\ff\00`\fc\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01(\00\00\00\d8\ff\ff\00\00\00\00\01@\00\00\00\c0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01\"\00\00\00\de\ff\ff") - (data (i32.const 6085) "\06\'Qow") - (data (i32.const 6100) "|\00\00\7f\00\00\00\00\00\00\00\00\83\8e\92\97\00\aa") - (data (i32.const 6128) "\b4\c4") - (data (i32.const 6250) "\c6\c9\00\00\00\db") - (data (i32.const 6339) "\de\00\00\00\00\e1\00\00\00\00\00\00\00\e4") - (data (i32.const 6364) "\e7") - (data (i32.const 6450) "\ea") - (data (i32.const 6573) "\ed") - (data (i32.const 6596) "0\0c1\rx\0e\7f\0f\80\10\81\11\86\12\89\13\8a\13\8e\14\8f\15\90\16\93\13\94\17\95\18\96\19\97\1a\9a\1b\9c\19\9d\1c\9e\1d\9f\1e\a6\1f\a9\1f\ae\1f\b1 \b2 \b7!\bf\"\c5#\c8#\cb#\dd$\f2#\f6%\f7& -:.=/>0?1@1C2D3E4P5Q6R7S8T9Y:[;\\e?f@hAiBj@kClDoBqErFuG}H\82I\87J\89K\8aL\8bL\8cM\92N\9dO\9ePEW{\1d|\1d}\1d\7fX\86Y\88Z\89Z\8aZ\8c[\8e\\\8f\\\ac]\ad^\ae^\af^\c2_\cc`\cda\cea\cfb\d0c\d1d\d5e\d6f\d7g\f0h\f1i\f2j\f3k\f4l\f5m\f9n\fd-\fe-\ff-PiQiRiSiTiUiViWiXiYiZi[i\\i]i^i_i\82\00\83\00\84\00\85\00\86\00\87\00\88\00\89\00\c0u\cfv\80\89\81\8a\82\8b\85\8c\86\8dp\9dq\9dv\9ew\9ex\9fy\9fz\a0{\a0|\a1}\a1\b3\a2\ba\a3\bb\a3\bc\a4\be\a5\c3\a2\cc\a4\da\a6\db\a6\e5j\ea\a7\eb\a7\ecn\f3\a2\f8\a8\f9\a8\fa\a9\fb\a9\fc\a4&\b0*\b1+\b2N\b3\84\08b\bac\bbd\bce\bdf\bem\bfn\c0o\c1p\c2~\c3\7f\c3}\cf\8d\d0\94\d1\ab\d2\ac\d3\ad\d4\b0\d5\b1\d6\b2\d7\c4\d8\c5\d9\c6\da") - (data (i32.const 7004) "L") - (data (i32.const 7016) "\02\00\00\002\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00c\00a\00s\00e\00m\00a\00p\00p\00i\00n\00g\00.\00t\00s") - (data (i32.const 7085) "\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7f") - (data (i32.const 7212) "\12\10\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\10\10\"\10\10\10#$%&\'()\10*+\10\10\10\10\10\10\10\10\10\10\10,-.\10/\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\100\10\10\101\10234567\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\108\10\109:\10;<=\10\10\10\10\10\10>\10\10?@ABCDEFGHIJKL\10MNO\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10P\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10QR\10\10\10S\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10T\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10UV\10\10\10\10\10\10\10W\10\10\10\10\10XYZ\10\10\10\10\10[\\\10\10\10\10\10\10\10\10\10]\10\10\10\10\10\10\10\10\10\10\10\10") - (data (i32.const 7756) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\80@\00\04\00\00\00@\01\00\00\00\00\00\00\00\00\a1\90\01") - (data (i32.const 7842) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff0\04\b0") - (data (i32.const 7900) "\f8\03") - (data (i32.const 7927) "\82\00\00\00\00\00\00\fe\ff\ff\ff\ff\bf\b6\00\00\00\00\00\10\00?\00\ff\17\00\00\00\00\01\f8\ff\ff\00\00\01") - (data (i32.const 7974) "\c0\bf\ff=\00\00\00\80\02\00\00\00\ff\ff\ff\07") - (data (i32.const 8000) "\c0\ff\01\00\00\00\00\00\00\f8?$\00\00\c0\ff\ff?\00\00\00\00\00\0e") - (data (i32.const 8038) "\f8\ff\ff\ff\ff\ff\07\00\00\00\00\00\00\14\fe!\fe\00\0c\00\02\00\02\00\00\00\00\00\00\10\1e \00\00\0c\00\00@\06\00\00\00\00\00\00\10\869\02\00\00\00#\00\06\00\00\00\00\00\00\10\be!\00\00\0c\00\00\fc\02\00\00\00\00\00\00\90\1e `\00\0c\00\00\00\04\00\00\00\00\00\00\00\01 \00\00\00\00\00\00\11\00\00\00\00\00\00\c0\c1=`\00\0c\00\00\00\02\00\00\00\00\00\00\90@0\00\00\0c\00\00\00\03\00\00\00\00\00\00\18\1e \00\00\0c\00\00\00\02\00\00\00\00\00\00\00\00\04\\") - (data (i32.const 8210) "\f2\07\c0\7f") - (data (i32.const 8226) "\f2\1f@?") - (data (i32.const 8239) "\03\00\00\a0\02\00\00\00\00\00\00\fe\7f\df\e0\ff\fe\ff\ff\ff\1f@") - (data (i32.const 8273) "\e0\fdf\00\00\00\c3\01\00\1e\00d \00 ") - (data (i32.const 8299) "\10") - (data (i32.const 8311) "\e0") - (data (i32.const 8334) "\1c\00\00\00\1c\00\00\00\0c\00\00\00\0c\00\00\00\00\00\00\00\b0?@\fe\8f \00\00\00\00\00x\00\00\00\00\00\00\08\00\00\00\00\00\00\00`\00\00\00\00\02") - (data (i32.const 8400) "\87\01\04\0e") - (data (i32.const 8430) "\80\t\00\00\00\00\00\00@\7f\e5\1f\f8\9f\00\00\00\00\80\00\ff\ff\01\00\00\00\00\00\00\00\0f\00\00\00\00\00\d0\17\04\00\00\00\00\f8\0f\00\03\00\00\00<;\00\00\00\00\00\00@\a3\03\00\00\00\00\00\00\f0\cf\00\00\00\00\00\00\00\00?") - (data (i32.const 8518) "\f7\ff\fd!\10\03\00\00\00\00\00\f0\ff\ff\ff\ff\ff\ff\ff\07\00\01\00\00\00\f8\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\fb") - (data (i32.const 8579) "\a0\03\e0\00\e0\00\e0\00`\00\f8\00\03\90|\00\00\00\00\00\00\df\ff\02\80\00\00\ff\1f\00\00\00\00\00\00\ff\ff\ff\ff\01") - (data (i32.const 8635) "0") - (data (i32.const 8649) "\80\03") - (data (i32.const 8665) "\80\00\80") - (data (i32.const 8680) "\ff\ff\ff\ff\00\00\00\00\00\80") - (data (i32.const 8716) " \00\00\00\00<>\08") - (data (i32.const 8735) "~") - (data (i32.const 8747) "p\00\00 ") - (data (i32.const 8811) "?\00\10") - (data (i32.const 8825) "\80\f7\bf\00\00\00\f0") - (data (i32.const 8842) "\03\00\ff\ff\ff\ff\03") - (data (i32.const 8858) "\01\00\00\07") - (data (i32.const 8875) "\03D\08\00\00`\10") - (data (i32.const 8900) "0\00\00\00\ff\ff\03\80\00\00\00\00\c0?\00\00\80\ff\03\00\00\00\00\00\07\00\00\00\00\00\c83\00\80\00\00`\00\00\00\00\00\00\00\00~f\00\08\10\00\00\00\00\01\10\00\00\00\00\00\00\9d\c1\02\00\00 \000X") - (data (i32.const 8983) "\f8\00\0e") - (data (i32.const 9000) " !\00\00\00\00\00@") - (data (i32.const 9026) "\fc\ff\03\00\00\00\00\00\00\00\ff\ff\08\00\ff\ff\00\00\00\00$") - (data (i32.const 9067) "\80\80@\00\04\00\00\00@\01\00\00\00\00\00\01\00\00\00\00\c0\00\00\00\00\00\00\00\00\08\00\00\0e") - (data (i32.const 9131) " ") - (data (i32.const 9160) "\01") - (data (i32.const 9178) "\c0\07") - (data (i32.const 9196) "n\f0\00\00\00\00\00\87") - (data (i32.const 9224) "`\00\00\00\00\00\00\00\f0") - (data (i32.const 9281) "\18") - (data (i32.const 9300) "\c0\ff\01") - (data (i32.const 9324) "\02\00\00\00\00\00\00\ff\7f\00\00\00\00\00\00\80\03\00\00\00\00\00x&\00 \00\00\00\00\00\00\07\00\00\00\80\ef\1f\00\00\00\00\00\00\00\08\00\03\00\00\00\00\00\c0\7f\00\9e") - (data (i32.const 9393) "\80\d3@") - (data (i32.const 9415) "\80\f8\07\00\00\03\00\00\00\00\00\00\18\01\00\00\00\c0\1f\1f") - (data (i32.const 9459) "\ff\\\00\00@") - (data (i32.const 9474) "\f8\85\r") - (data (i32.const 9506) "<\b0\01\00\000") - (data (i32.const 9522) "\f8\a7\01") - (data (i32.const 9537) "(\bf") - (data (i32.const 9551) "\e0\bc\0f") - (data (i32.const 9585) "\80\ff\06") - (data (i32.const 9619) "X\08") - (data (i32.const 9638) "\f0\0c\01\00\00\00\fe\07\00\00\00\00\f8y\80\00~\0e\00\00\00\00\00\fc\7f\03") - (data (i32.const 9682) "\7f\bf") - (data (i32.const 9694) "\fc\ff\ff\fcm") - (data (i32.const 9714) "~\b4\bf") - (data (i32.const 9726) "\a3") - (data (i32.const 9770) "\18\00\00\00\00\00\00\00\ff\01") - (data (i32.const 9834) "\1f\00\00\00\00\00\00\00\7f\00\0f") - (data (i32.const 9877) "\80\00\00\00\00\00\00\00\80\ff\ff\00\00\00\00\00\00\00\00\1b") - (data (i32.const 9919) "`\0f") - (data (i32.const 9944) "\80\03\f8\ff\e7\0f\00\00\00<") - (data (i32.const 9972) "\1c") - (data (i32.const 9996) "\ff\ff\ff\ff\ff\ff\7f\f8\ff\ff\ff\ff\ff\1f \00\10\00\00\f8\fe\ff") - (data (i32.const 10028) "\7f\ff\ff\f9\db\07") - (data (i32.const 10066) "\ff?") - (data (i32.const 10121) "\f0") - (data (i32.const 10150) "\7f") - (data (i32.const 10164) "\f0\0f") - (data (i32.const 10219) "\f8") - (data (i32.const 10220) "\12\13\14\15\16\17\10\10\10\10\10\10\10\10\10\10\18\10\10\19\10\10\10\10\10\10\10\10\1a\1b\11\1c\1d\1e\10\10\1f\10\10\10\10\10\10\10 !\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\"#\10\10\10$\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10%\10\10\10&\10\10\10\10\'\10\10\10\10\10\10\10(\10\10\10\10\10\10\10\10\10\10\10)\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10*\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10+,-.\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10/\10\10\10\10\10\10\100\10\10\10\10\10\10\10\10\10\10\10\10\10\10") - (data (i32.const 10764) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\fe\ff\ff\07\fe\ff\ff\07\00\00\00\00\00\04 \04\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\f7\f0\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ef\ff\ff\ff\ff\01\03\00\00\00\1f") - (data (i32.const 10900) " \00\00\00\00\00\cf\bc@\d7\ff\ff\fb\ff\ff\ff\ff\ff\ff\ff\ff\ff\bf\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\03\fc\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\fe\ff\ff\ff\7f\00\ff\ff\ff\ff\ff\01") - (data (i32.const 11008) "\ff\ff\ff\ff\bf \ff\ff\ff\ff\ff\e7") - (data (i32.const 11040) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff??") - (data (i32.const 11068) "\ff\01\ff\ff\ff\ff\ff\e7\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\ff\ff??\ff\ff\ff\ff??\ff\aa\ff\ff\ff?\ff\ff\ff\ff\ff\ff\df_\dc\1f\cf\0f\ff\1f\dc\1f") - (data (i32.const 11162) "\02\80\00\00\ff\1f") - (data (i32.const 11180) "\84\fc/>P\bd\1f\f2\e0C\00\00\ff\ff\ff\ff\18") - (data (i32.const 11234) "\c0\ff\ff\ff\ff\ff\ff\03\00\00\ff\ff\ff\ff\ff\7f\ff\ff\ff\ff\ff\7f\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\1fx\0c\00\ff\ff\ff\ff\bf ") - (data (i32.const 11316) "\ff\ff\ff\ff\ff?\00\00\ff\ff\ff?") - (data (i32.const 11344) "\fc\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ffx\ff\ff\ff\ff\ff\ff\fc\07\00\00\00\00`\07\00\00\00\00\00\00\ff\ff\ff\ff\ff\f7\ff\01\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\7f\00\f8") - (data (i32.const 11440) "\fe\ff\ff\07\fe\ff\ff\07") - (data (i32.const 11468) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 11490) "\ff\ff\ff\ff\0f\ff\ff\ff\ff\0f") - (data (i32.const 11516) "\ff\ff\ff\ff\ff\ff\07\00\ff\ff\ff\ff\ff\ff\07") - (data (i32.const 11552) "\ff\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 11572) "\ff\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 11596) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\df\ff\ff\ff\ff\ff\ff\ff\ff\dfd\de\ff\eb\ef\ff\ff\ff\ff\ff\ff\ff\bf\e7\df\df\ff\ff\ff{_\fc\fd\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff?\ff\ff\ff\fd\ff\ff\f7\ff\ff\ff\f7\ff\ff\df\ff\ff\ff\df\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\fd\ff\ff\ff\fd\ff\ff\f7\0f\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\0f") - (data (i32.const 11762) "\ff\ff\ff\03\ff\ff\ff\03\ff\ff\ff\03") - (data (i32.const 11788) ",") - (data (i32.const 11800) "\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n") - (data (i32.const 11836) ",") - (data (i32.const 11848) "\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n") - (data (i32.const 11884) ",") - (data (i32.const 11896) "\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t") - (data (i32.const 11932) ",") - (data (i32.const 11944) "\02\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t") - (data (i32.const 11980) "\\") - (data (i32.const 11992) "\02\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") - (data (i32.const 12076) "\\") - (data (i32.const 12088) "\02\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E") - (data (i32.const 12172) "\\") - (data (i32.const 12184) "\02\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") - (data (i32.const 12268) "<") - (data (i32.const 12280) "\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") - (data (i32.const 12332) "<") - (data (i32.const 12344) "\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!") - (data (i32.const 12396) "<") - (data (i32.const 12408) "\02\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") - (data (i32.const 12460) "\\") - (data (i32.const 12472) "\02\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") - (data (i32.const 12556) "\\") - (data (i32.const 12568) "\02\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\00,\00 \00N\00 \00\92! \00\1e\",\00 \00\11\" \00F\00(\00I\00)\00 \00=\00 \00\0f\" \00G\00(\00I\00)") - (data (i32.const 12652) "\\") - (data (i32.const 12664) "\02\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") - (data (i32.const 12748) "\\") - (data (i32.const 12760) "\02\00\00\00H\00\00\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") - (data (i32.const 12844) "\\") - (data (i32.const 12856) "\02\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N") - (data (i32.const 12940) "\\") - (data (i32.const 12952) "\02\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n") - (data (i32.const 13036) "L") - (data (i32.const 13048) "\02\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03") - (data (i32.const 13116) "L") - (data (i32.const 13128) "\02\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03") - (data (i32.const 13196) "L") - (data (i32.const 13208) "\02\00\00\000\00\00\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\03\ae\03,") - (data (i32.const 13276) "L") - (data (i32.const 13288) "\02\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,") - (data (i32.const 13356) "<") - (data (i32.const 13368) "\02\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") - (data (i32.const 13420) "<") - (data (i32.const 13432) "\02\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") - (data (i32.const 13484) "L") - (data (i32.const 13496) "\02\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.") - (data (i32.const 13564) "L") - (data (i32.const 13576) "\02\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.") - (data (i32.const 13644) "L") - (data (i32.const 13656) "\02\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03") - (data (i32.const 13724) "L") - (data (i32.const 13736) "\02\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03") - (data (i32.const 13804) "<") - (data (i32.const 13816) "\02\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03") - (data (i32.const 13868) "<") - (data (i32.const 13880) "\02\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03") - (data (i32.const 13932) "L") - (data (i32.const 13944) "\02\00\00\002\00\00\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\03\ad\03\bd\03\b7\03") - (data (i32.const 14012) "L") - (data (i32.const 14024) "\02\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03") - (data (i32.const 14092) "L") - (data (i32.const 14104) "\02\00\00\006\00\00\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\03\ac\03!") - (data (i32.const 14172) "L") - (data (i32.const 14184) "\02\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!") - (data (i32.const 14252) "\9c") - (data (i32.const 14264) "\02\00\00\00\80\00\00\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\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") - (data (i32.const 14412) "\9c") - (data (i32.const 14424) "\02\00\00\00\80\00\00\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\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") - (data (i32.const 14572) "\9c") - (data (i32.const 14584) "\02\00\00\00\80\00\00\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\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") - (data (i32.const 14732) "\1c") - (data (i32.const 14744) "\02\00\00\00\02\00\00\00\df") - (data (i32.const 14764) "\1c") - (data (i32.const 14776) "\02\00\00\00\04\00\00\00S\00S") - (data (i32.const 14796) "\1c") - (data (i32.const 14808) "\02\00\00\00\02\00\00\000\01") - (data (i32.const 14828) "\1c") - (data (i32.const 14840) "\02\00\00\00\04\00\00\00i\00\07\03") - (data (i32.const 14860) "\cc") - (data (i32.const 14872) "\02\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\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\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") - (data (i32.const 15068) "\cc") - (data (i32.const 15080) "\02\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c") - (data (i32.const 15276) "\1c") - (data (i32.const 15288) "\02\00\00\00\04\00\00\00s\00s") - (data (i32.const 15308) "\1c") - (data (i32.const 15320) "\02\00\00\00\02\00\00\00\01\fb") - (data (i32.const 15340) "\1c") - (data (i32.const 15352) "\02\00\00\00\04\00\00\00f\00i") - (data (i32.const 15372) "\cc") - (data (i32.const 15384) "\02\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc") - (data (i32.const 15580) ",") - (data (i32.const 15592) "\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 15628) "\1c") - (data (i32.const 15640) "\02\00\00\00\04\00\00\00\00\d8\00\dc") - (data (i32.const 15660) "\1c") - (data (i32.const 15672) "\02\00\00\00\02\00\00\00\88\1f") - (data (i32.const 15692) "\1c") - (data (i32.const 15704) "\02\00\00\00\02\00\00\00\80\1f") - (data (i32.const 15724) "\1c") - (data (i32.const 15736) "\02\00\00\00\02\00\00\00\8f\1f") - (data (i32.const 15756) "\1c") - (data (i32.const 15768) "\02\00\00\00\02\00\00\00\87\1f") - (data (i32.const 15788) "\1c") - (data (i32.const 15800) "\02\00\00\00\02\00\00\00\fc\1f") - (data (i32.const 15820) "\1c") - (data (i32.const 15832) "\02\00\00\00\02\00\00\00\f3\1f") - (data (i32.const 15852) "\1c") - (data (i32.const 15864) "\02\00\00\00\02\00\00\00\a3\03") - (data (i32.const 15884) "\1c") - (data (i32.const 15896) "\02\00\00\00\02\00\00\00\c3\03") - (data (i32.const 15916) "\1c") - (data (i32.const 15928) "\02\00\00\00\04\00\00\00 \00\a3\03") - (data (i32.const 15948) "\1c") - (data (i32.const 15960) "\02\00\00\00\04\00\00\00 \00\c3\03") - (data (i32.const 15980) "\1c") - (data (i32.const 15992) "\02\00\00\00\04\00\00\00\a3\03 ") - (data (i32.const 16012) "\1c") - (data (i32.const 16024) "\02\00\00\00\04\00\00\00\c3\03 ") - (data (i32.const 16044) "\1c") - (data (i32.const 16056) "\02\00\00\00\06\00\00\00 \00\a3\03 ") - (data (i32.const 16076) "\1c") - (data (i32.const 16088) "\02\00\00\00\06\00\00\00 \00\c3\03 ") - (data (i32.const 16108) "\1c") - (data (i32.const 16120) "\02\00\00\00\06\00\00\00a\00\a3\03 ") - (data (i32.const 16140) "\1c") - (data (i32.const 16152) "\02\00\00\00\06\00\00\00a\00\c2\03 ") - (data (i32.const 16172) "\1c") - (data (i32.const 16184) "\02\00\00\00\06\00\00\00a\00\a3\03\n") - (data (i32.const 16204) "\1c") - (data (i32.const 16216) "\02\00\00\00\06\00\00\00a\00\c2\03\n") - (data (i32.const 16236) "\1c") - (data (i32.const 16248) "\02\00\00\00\04\00\00\00a\00\a3\03") - (data (i32.const 16268) "\1c") - (data (i32.const 16280) "\02\00\00\00\04\00\00\00a\00\c2\03") - (data (i32.const 16300) "\1c") - (data (i32.const 16312) "\02\00\00\00\06\00\00\00a\00\a3\03b") - (data (i32.const 16332) "\1c") - (data (i32.const 16344) "\02\00\00\00\06\00\00\00a\00\c3\03b") - (data (i32.const 16364) "\1c") - (data (i32.const 16376) "\02\00\00\00\06\00\00\00\a3\03\a3\03 ") - (data (i32.const 16396) "\1c") - (data (i32.const 16408) "\02\00\00\00\06\00\00\00\c3\03\c2\03 ") - (data (i32.const 16428) "\1c") - (data (i32.const 16440) "\02\00\00\00\06\00\00\001\00\a3\03 ") - (data (i32.const 16460) "\1c") - (data (i32.const 16472) "\02\00\00\00\06\00\00\001\00\c3\03 ") - (data (i32.const 16492) "\1c") - (data (i32.const 16504) "\02\00\00\00\06\00\00\00;\00\a3\03 ") - (data (i32.const 16524) "\1c") - (data (i32.const 16536) "\02\00\00\00\06\00\00\00;\00\c3\03 ") - (data (i32.const 16556) "\1c") - (data (i32.const 16568) "\02\00\00\00\06\00\00\00\01\03\a3\03 ") - (data (i32.const 16588) "\1c") - (data (i32.const 16600) "\02\00\00\00\06\00\00\00\01\03\c3\03 ") - (data (i32.const 16620) "\1c") - (data (i32.const 16632) "\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03 ") - (data (i32.const 16652) "\1c") - (data (i32.const 16664) "\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03 ") - (data (i32.const 16684) "\1c") - (data (i32.const 16696) "\02\00\00\00\06\00\00\00\a3\03\a3\03-") - (data (i32.const 16716) "\1c") - (data (i32.const 16728) "\02\00\00\00\06\00\00\00\c3\03\c2\03-") - (data (i32.const 16748) "\1c") - (data (i32.const 16760) "\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03-") - (data (i32.const 16780) "\1c") - (data (i32.const 16792) "\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03-") - (data (i32.const 16812) "\1c") - (data (i32.const 16824) "\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03*s") - (data (i32.const 16844) "\1c") - (data (i32.const 16856) "\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03*s") - (data (i32.const 16876) "\1c") - (data (i32.const 16888) "\02\00\00\00\06\00\00\005\d8\a2\dc\a3\03") - (data (i32.const 16908) "\1c") - (data (i32.const 16920) "\02\00\00\00\06\00\00\005\d8\a2\dc\c2\03") - (data (i32.const 16940) "\1c") - (data (i32.const 16952) "\02\00\00\00\06\00\00\00A\00.\00\a3\03") - (data (i32.const 16972) "\1c") - (data (i32.const 16984) "\02\00\00\00\06\00\00\00a\00.\00\c2\03") - (data (i32.const 17004) "\1c") - (data (i32.const 17016) "\02\00\00\00\06\00\00\00A\00\ad\00\a3\03") - (data (i32.const 17036) "\1c") - (data (i32.const 17048) "\02\00\00\00\06\00\00\00a\00\ad\00\c2\03") - (data (i32.const 17068) "\1c") - (data (i32.const 17080) "\02\00\00\00\08\00\00\00A\004\d8B\de\a3\03") - (data (i32.const 17100) "\1c") - (data (i32.const 17112) "\02\00\00\00\08\00\00\00a\004\d8B\de\c2\03") - (data (i32.const 17132) "\1c") - (data (i32.const 17144) "\02\00\00\00\04\00\00\00E\03\a3\03") - (data (i32.const 17164) "\1c") - (data (i32.const 17176) "\02\00\00\00\04\00\00\00E\03\c3\03") - (data (i32.const 17196) "\1c") - (data (i32.const 17208) "\02\00\00\00\06\00\00\00\91\03E\03\a3\03") - (data (i32.const 17228) "\1c") - (data (i32.const 17240) "\02\00\00\00\06\00\00\00\b1\03E\03\c2\03") - (data (i32.const 17260) "\1c") - (data (i32.const 17272) "\02\00\00\00\06\00\00\00A\00\a3\03B") - (data (i32.const 17292) "\1c") - (data (i32.const 17304) "\02\00\00\00\08\00\00\00A\00\a3\035\d8\a2\dc") - (data (i32.const 17324) "\1c") - (data (i32.const 17336) "\02\00\00\00\08\00\00\00a\00\c3\035\d8\a2\dc") - (data (i32.const 17356) "\1c") - (data (i32.const 17368) "\02\00\00\00\08\00\00\00A\00\a3\03.\00b") - (data (i32.const 17388) "\1c") - (data (i32.const 17400) "\02\00\00\00\08\00\00\00a\00\c3\03.\00b") - (data (i32.const 17420) "\1c") - (data (i32.const 17432) "\02\00\00\00\08\00\00\00A\00\a3\03\ad\00B") - (data (i32.const 17452) "\1c") - (data (i32.const 17464) "\02\00\00\00\08\00\00\00a\00\c3\03\ad\00b") - (data (i32.const 17484) "\1c") - (data (i32.const 17496) "\02\00\00\00\n\00\00\00A\00\a3\034\d8B\deB") - (data (i32.const 17516) "\1c") - (data (i32.const 17528) "\02\00\00\00\n\00\00\00a\00\c3\034\d8B\deb") - (data (i32.const 17548) "\1c") - (data (i32.const 17560) "\02\00\00\00\06\00\00\00A\00\a3\03E\03") - (data (i32.const 17580) "\1c") - (data (i32.const 17592) "\02\00\00\00\06\00\00\00a\00\c2\03E\03") - (data (i32.const 17612) "\1c") - (data (i32.const 17624) "\02\00\00\00\08\00\00\00A\00\a3\03E\03\91\03") - (data (i32.const 17644) "\1c") - (data (i32.const 17656) "\02\00\00\00\08\00\00\00a\00\c3\03E\03\b1\03") - (data (i32.const 17676) "\1c") - (data (i32.const 17688) "\02\00\00\00\06\00\00\00A\00\0e\18\a3\03") - (data (i32.const 17708) "\1c") - (data (i32.const 17720) "\02\00\00\00\06\00\00\00a\00\0e\18\c2\03") - (data (i32.const 17740) "\1c") - (data (i32.const 17752) "\02\00\00\00\08\00\00\00A\00\0e\18\a3\03B") - (data (i32.const 17772) "\1c") - (data (i32.const 17784) "\02\00\00\00\08\00\00\00a\00\0e\18\c3\03b") - (data (i32.const 17804) "\1c") - (data (i32.const 17816) "\02\00\00\00\06\00\00\00A\00\a3\03\0e\18") - (data (i32.const 17836) "\1c") - (data (i32.const 17848) "\02\00\00\00\06\00\00\00a\00\c2\03\0e\18") - (data (i32.const 17868) "\1c") - (data (i32.const 17880) "\02\00\00\00\08\00\00\00A\00\a3\03\0e\18B") - (data (i32.const 17900) "\1c") - (data (i32.const 17912) "\02\00\00\00\08\00\00\00a\00\c3\03\0e\18b") - (data (i32.const 17932) "\1c") - (data (i32.const 17944) "\02\00\00\00\08\00\00\00A\00\0e\18\a3\03\0e\18") - (data (i32.const 17964) "\1c") - (data (i32.const 17976) "\02\00\00\00\08\00\00\00a\00\0e\18\c2\03\0e\18") - (data (i32.const 17996) "\1c") - (data (i32.const 18008) "\02\00\00\00\n\00\00\00A\00\0e\18\a3\03\0e\18B") - (data (i32.const 18028) "\1c") - (data (i32.const 18040) "\02\00\00\00\n\00\00\00a\00\0e\18\c3\03\0e\18b") - (data (i32.const 18060) "\1c") - (data (i32.const 18072) "\02\00\00\00\02\00\00\00\00\fb") - (data (i32.const 18092) "\1c") - (data (i32.const 18104) "\02\00\00\00\04\00\00\00F\00F") - (data (i32.const 18124) "\1c") - (data (i32.const 18136) "\02\00\00\00\04\00\00\00F\00I") - (data (i32.const 18156) "\1c") - (data (i32.const 18168) "\02\00\00\00\02\00\00\00\02\fb") - (data (i32.const 18188) "\1c") - (data (i32.const 18200) "\02\00\00\00\04\00\00\00F\00L") - (data (i32.const 18220) "\1c") - (data (i32.const 18232) "\02\00\00\00\02\00\00\00\03\fb") - (data (i32.const 18252) "\1c") - (data (i32.const 18264) "\02\00\00\00\06\00\00\00F\00F\00I") - (data (i32.const 18284) "\1c") - (data (i32.const 18296) "\02\00\00\00\02\00\00\00\04\fb") - (data (i32.const 18316) "\1c") - (data (i32.const 18328) "\02\00\00\00\06\00\00\00F\00F\00L") - (data (i32.const 18348) "\1c") - (data (i32.const 18360) "\02\00\00\00\02\00\00\00\05\fb") - (data (i32.const 18380) "\1c") - (data (i32.const 18392) "\02\00\00\00\04\00\00\00S\00T") - (data (i32.const 18412) "\1c") - (data (i32.const 18424) "\02\00\00\00\02\00\00\00\06\fb") - (data (i32.const 18444) "\1c") - (data (i32.const 18456) "\02\00\00\00\02\00\00\00\f0\01") - (data (i32.const 18476) "\1c") - (data (i32.const 18488) "\02\00\00\00\04\00\00\00J\00\0c\03") - (data (i32.const 18508) "\1c") - (data (i32.const 18520) "\02\00\00\00\02\00\00\00\96\1e") - (data (i32.const 18540) "\1c") - (data (i32.const 18552) "\02\00\00\00\04\00\00\00H\001\03") - (data (i32.const 18572) "\1c") - (data (i32.const 18584) "\02\00\00\00\02\00\00\00\97\1e") - (data (i32.const 18604) "\1c") - (data (i32.const 18616) "\02\00\00\00\04\00\00\00T\00\08\03") - (data (i32.const 18636) "\1c") - (data (i32.const 18648) "\02\00\00\00\02\00\00\00\98\1e") - (data (i32.const 18668) "\1c") - (data (i32.const 18680) "\02\00\00\00\04\00\00\00W\00\n\03") - (data (i32.const 18700) "\1c") - (data (i32.const 18712) "\02\00\00\00\02\00\00\00\99\1e") - (data (i32.const 18732) "\1c") - (data (i32.const 18744) "\02\00\00\00\04\00\00\00Y\00\n\03") - (data (i32.const 18764) "\1c") - (data (i32.const 18776) "\02\00\00\00\02\00\00\00\9a\1e") - (data (i32.const 18796) "\1c") - (data (i32.const 18808) "\02\00\00\00\04\00\00\00A\00\be\02") - (data (i32.const 18828) "\\") - (data (i32.const 18840) "\02\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e") - (data (i32.const 18924) "<") - (data (i32.const 18936) "\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 ") - (data (i32.const 18988) "|") - (data (i32.const 19000) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 19116) "<") - (data (i32.const 19128) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 19180) "\1c") - (data (i32.const 19192) "\02\00\00\00\02\00\00\000") - (data (i32.const 19212) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 19612) "\1c\04") - (data (i32.const 19624) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 20668) "\\") - (data (i32.const 20680) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 20764) "<") - (data (i32.const 20776) "\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 ") - (data (i32.const 20828) "\\") - (data (i32.const 20840) "\02\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e") - (data (i32.const 20924) "<") - (data (i32.const 20936) "\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 ") - (data (i32.const 20988) "<") - (data (i32.const 21000) "\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 ") - (data (i32.const 21056) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\a4") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02") + (data $1 (i32.const 1068) "<") + (data $1.1 (i32.const 1080) "\02\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 $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1260) "<") + (data $5.1 (i32.const 1272) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1324) ",") + (data $6.1 (i32.const 1336) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1404) "<") + (data $8.1 (i32.const 1416) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1468) "L\03") + (data $9.1 (i32.const 1480) "\04\00\00\000\03\00\00\df\00S\00S\00\00\00I\01\bc\02N\00\00\00\f0\01J\00\0c\03\00\00\90\03\99\03\08\03\01\03\b0\03\a5\03\08\03\01\03\87\055\05R\05\00\00\96\1eH\001\03\00\00\97\1eT\00\08\03\00\00\98\1eW\00\n\03\00\00\99\1eY\00\n\03\00\00\9a\1eA\00\be\02\00\00P\1f\a5\03\13\03\00\00R\1f\a5\03\13\03\00\03T\1f\a5\03\13\03\01\03V\1f\a5\03\13\03B\03\80\1f\08\1f\99\03\00\00\81\1f\t\1f\99\03\00\00\82\1f\n\1f\99\03\00\00\83\1f\0b\1f\99\03\00\00\84\1f\0c\1f\99\03\00\00\85\1f\r\1f\99\03\00\00\86\1f\0e\1f\99\03\00\00\87\1f\0f\1f\99\03\00\00\88\1f\08\1f\99\03\00\00\89\1f\t\1f\99\03\00\00\8a\1f\n\1f\99\03\00\00\8b\1f\0b\1f\99\03\00\00\8c\1f\0c\1f\99\03\00\00\8d\1f\r\1f\99\03\00\00\8e\1f\0e\1f\99\03\00\00\8f\1f\0f\1f\99\03\00\00\90\1f(\1f\99\03\00\00\91\1f)\1f\99\03\00\00\92\1f*\1f\99\03\00\00\93\1f+\1f\99\03\00\00\94\1f,\1f\99\03\00\00\95\1f-\1f\99\03\00\00\96\1f.\1f\99\03\00\00\97\1f/\1f\99\03\00\00\98\1f(\1f\99\03\00\00\99\1f)\1f\99\03\00\00\9a\1f*\1f\99\03\00\00\9b\1f+\1f\99\03\00\00\9c\1f,\1f\99\03\00\00\9d\1f-\1f\99\03\00\00\9e\1f.\1f\99\03\00\00\9f\1f/\1f\99\03\00\00\a0\1fh\1f\99\03\00\00\a1\1fi\1f\99\03\00\00\a2\1fj\1f\99\03\00\00\a3\1fk\1f\99\03\00\00\a4\1fl\1f\99\03\00\00\a5\1fm\1f\99\03\00\00\a6\1fn\1f\99\03\00\00\a7\1fo\1f\99\03\00\00\a8\1fh\1f\99\03\00\00\a9\1fi\1f\99\03\00\00\aa\1fj\1f\99\03\00\00\ab\1fk\1f\99\03\00\00\ac\1fl\1f\99\03\00\00\ad\1fm\1f\99\03\00\00\ae\1fn\1f\99\03\00\00\af\1fo\1f\99\03\00\00\b2\1f\ba\1f\99\03\00\00\b3\1f\91\03\99\03\00\00\b4\1f\86\03\99\03\00\00\b6\1f\91\03B\03\00\00\b7\1f\91\03B\03\99\03\bc\1f\91\03\99\03\00\00\c2\1f\ca\1f\99\03\00\00\c3\1f\97\03\99\03\00\00\c4\1f\89\03\99\03\00\00\c6\1f\97\03B\03\00\00\c7\1f\97\03B\03\99\03\cc\1f\97\03\99\03\00\00\d2\1f\99\03\08\03\00\03\d3\1f\99\03\08\03\01\03\d6\1f\99\03B\03\00\00\d7\1f\99\03\08\03B\03\e2\1f\a5\03\08\03\00\03\e3\1f\a5\03\08\03\01\03\e4\1f\a1\03\13\03\00\00\e6\1f\a5\03B\03\00\00\e7\1f\a5\03\08\03B\03\f2\1f\fa\1f\99\03\00\00\f3\1f\a9\03\99\03\00\00\f4\1f\8f\03\99\03\00\00\f6\1f\a9\03B\03\00\00\f7\1f\a9\03B\03\99\03\fc\1f\a9\03\99\03\00\00\00\fbF\00F\00\00\00\01\fbF\00I\00\00\00\02\fbF\00L\00\00\00\03\fbF\00F\00I\00\04\fbF\00F\00L\00\05\fbS\00T\00\00\00\06\fbS\00T\00\00\00\13\fbD\05F\05\00\00\14\fbD\055\05\00\00\15\fbD\05;\05\00\00\16\fbN\05F\05\00\00\17\fbD\05=\05") + (data $10 (i32.const 2317) "\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~\7f") + (data $11 (i32.const 2444) "\07\08\t\n\0b\0c\06\06\06\06\06\06\06\06\06\06\r\06\06\0e\06\06\06\06\06\06\06\06\0f\10\11\12\06\13\06\06\06\06\06\06\06\06\06\06\14\15\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\16\17\06\06\06\18\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\19\06\06\06\06\1a\06\06\06\06\06\06\06\1b\06\06\06\06\06\06\06\06\06\06\06\1c\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1d\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\1e\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06\06") + (data $11.1 (i32.const 3067) "$++++++++\01\00TVVVVVVVV") + (data $11.2 (i32.const 3106) "\18\00\00\00+++++++\07++[VVVVVVVJVV\051P1P1P1P1P1P1P1P$Py1P1P18P1P1P1P1P1P1P1PN1\02N\r\rN\03N\00$n\00N1&nQN$PN9\14\81\1b\1d\1dS1P1P\r1P1P1P\1bS$P1\02\\{\\{\\{\\{\\{\14y\\{\\{\\-+I\03H\03x\\{\14\00\96\n\01+(\06\06\00*\06**+\07\bb\b5+\1e\00+\07+++\01++++++++++++++++++++++++++++++++\01+++++++++++++++++++++++*+++++++++++++\cdF\cd+\00%+\07\01\06\01UVVVVVUVV\02$\81\81\81\81\81\15\81\81\81\00\00+\00\b2\d1\b2\d1\b2\d1\b2\d1\00\00\cd\cc\01\00\d7\d7\d7\d7\d7\83\81\81\81\81\81\81\81\81\81\81\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\1c\00\00\00\00\001P1P1P1P1P1\02\00\001P1P1P1P1P1P1P1P1PN1P1PN1P1P1P1P1P1P1P1\02\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6\87\a6*++++++++++++\00\00\00TVVVVVVVVVVVV") + (data $11.3 (i32.const 3615) "TVVVVVVVVVVVV\0c\00\0c*+++++++++++++\07*\01") + (data $11.4 (i32.const 3701) "*++++++++++++++++++++++++++VVl\81\15\00++++++++++++++++++++++++++++++++++++++++++\07l\03A++VVVVVVVVVVVVVV,V+++++++++++++++++++++\01") + (data $11.5 (i32.const 3860) "\0cl\00\00\00\00\00\06") + (data $11.6 (i32.const 3906) "\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%Vz\9e&\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06%\06\01++OVV,+\7fVV9++UVV++OVV,+\7fVV\817u[{\\++OVV\02\ac\04\00\009++UVV++OVV,++VV2\13\81W\00o\81~\c9\d7~-\81\81\0e~9\7foW\00\81\81~\15\00~\03++++++++++++\07+$+\97+++++++++*+++++VVVVV\80\81\81\81\819\bb*++++++++++++++++++++++++++++++++++++++++\01\81\81\81\81\81\81\81\81\81\81\81\81\81\81\81\c9\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\ac\d0\r\00N1\02\b4\c1\c1\d7\d7$P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P1P\d7\d7S\c1G\d4\d7\d7\d7\05++++++++++++\07\01\00\01") + (data $11.7 (i32.const 4357) "N1P1P1P1P1P1P1P\r\00\00\00\00\00$P1P1P1P1P") + (data $11.8 (i32.const 4422) "+++++++++++y\\{\\{O{\\{\\{\\{\\{\\{\\{\\{\\{\\{\\-++y\14\\{\\-y*\\\'\\{\\{\\{\a4\00\n\b4\\{\\{O\03x8+++++++++++++O-++\01") + (data $11.9 (i32.const 4535) "H") + (data $11.10 (i32.const 4545) "*++++++++++++++++++++++++++") + (data $11.11 (i32.const 4605) "++++++++\07\00HVVVVVVVV\02") + (data $11.12 (i32.const 4680) "+++++++++++++UVVVVVVVVVVVV\0e") + (data $11.13 (i32.const 4738) "$+++++++++++\07\00VVVVVVVVVVVV") + (data $11.14 (i32.const 4808) "$++++++++++++++++\07\00\00\00\00VVVVVVVVVVVVVVVVV") + (data $11.15 (i32.const 4905) "*++++++++++VVVVVVVVVV\0e") + (data $11.16 (i32.const 4959) "*++++++++++VVVVVVVVVV\0e") + (data $11.17 (i32.const 5024) "+++++++++++UVVVVVVVVVV\0e") + (data $12 (i32.const 5113) "\08\00\00V\01\00\009") + (data $13 (i32.const 5128) "\01 \00\00\00\e0\ff\ff\00\bf\1d\00\00\e7\02\00\00y\00\00\02$\00\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\01\02\00\00\00\fe\ff\ff\019\ff\ff\00\18\ff\ff\01\87\ff\ff\00\d4\fe\ff\00\c3\00\00\01\d2\00\00\01\ce\00\00\01\cd\00\00\01O\00\00\01\ca\00\00\01\cb\00\00\01\cf\00\00\00a\00\00\01\d3\00\00\01\d1\00\00\00\a3\00\00\01\d5\00\00\00\82\00\00\01\d6\00\00\01\da\00\00\01\d9\00\00\01\db\00\00\008\00\00\03\00\00\00\00\b1\ff\ff\01\9f\ff\ff\01\c8\ff\ff\02($\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\003\ff\ff\00&\ff\ff\01~\ff\ff\01+*\00\01]\ff\ff\01(*\00\00?*\00\01=\ff\ff\01E\00\00\01G\00\00\00\1f*\00\00\1c*\00\00\1e*\00\00.\ff\ff\002\ff\ff\006\ff\ff\005\ff\ff\00O\a5\00\00K\a5\00\001\ff\ff\00(\a5\00\00D\a5\00\00/\ff\ff\00-\ff\ff\00\f7)\00\00A\a5\00\00\fd)\00\00+\ff\ff\00*\ff\ff\00\e7)\00\00C\a5\00\00*\a5\00\00\bb\ff\ff\00\'\ff\ff\00\b9\ff\ff\00%\ff\ff\00\15\a5\00\00\12\a5\00\02$L\00\00\00\00\00\01 \00\00\00\e0\ff\ff\01\01\00\00\00\ff\ff\ff\00T\00\00\01t\00\00\01&\00\00\01%\00\00\01@\00\00\01?\00\00\00\da\ff\ff\00\db\ff\ff\00\e1\ff\ff\00\c0\ff\ff\00\c1\ff\ff\01\08\00\00\00\c2\ff\ff\00\c7\ff\ff\00\d1\ff\ff\00\ca\ff\ff\00\f8\ff\ff\00\aa\ff\ff\00\b0\ff\ff\00\07\00\00\00\8c\ff\ff\01\c4\ff\ff\00\a0\ff\ff\01\f9\ff\ff\02\1ap\00\01\01\00\00\00\ff\ff\ff\01 \00\00\00\e0\ff\ff\01P\00\00\01\0f\00\00\00\f1\ff\ff\00\00\00\00\010\00\00\00\d0\ff\ff\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c0\0b\00\01`\1c\00\00\00\00\00\01\d0\97\00\01\08\00\00\00\f8\ff\ff\02\05\8a\00\00\00\00\00\01@\f4\ff\00\9e\e7\ff\00\c2\89\00\00\db\e7\ff\00\92\e7\ff\00\93\e7\ff\00\9c\e7\ff\00\9d\e7\ff\00\a4\e7\ff\00\00\00\00\008\8a\00\00\04\8a\00\00\e6\0e\00\01\01\00\00\00\ff\ff\ff\00\00\00\00\00\c5\ff\ff\01A\e2\ff\02\1d\8f\00\00\08\00\00\01\f8\ff\ff\00\00\00\00\00V\00\00\01\aa\ff\ff\00J\00\00\00d\00\00\00\80\00\00\00p\00\00\00~\00\00\00\t\00\00\01\b6\ff\ff\01\f7\ff\ff\00\db\e3\ff\01\9c\ff\ff\01\90\ff\ff\01\80\ff\ff\01\82\ff\ff\02\05\ac\00\00\00\00\00\01\10\00\00\00\f0\ff\ff\01\1c\00\00\01\01\00\00\01\a3\e2\ff\01A\df\ff\01\ba\df\ff\00\e4\ff\ff\02\0b\b1\00\01\01\00\00\00\ff\ff\ff\010\00\00\00\d0\ff\ff\00\00\00\00\01\t\d6\ff\01\1a\f1\ff\01\19\d6\ff\00\d5\d5\ff\00\d8\d5\ff\01\e4\d5\ff\01\03\d6\ff\01\e1\d5\ff\01\e2\d5\ff\01\c1\d5\ff\00\00\00\00\00\a0\e3\ff\00\00\00\00\01\01\00\00\00\ff\ff\ff\02\0c\bc\00\00\00\00\00\01\01\00\00\00\ff\ff\ff\01\bcZ\ff\01\a0\03\00\01\fcu\ff\01\d8Z\ff\000\00\00\01\b1Z\ff\01\b5Z\ff\01\bfZ\ff\01\eeZ\ff\01\d6Z\ff\01\ebZ\ff\01\d0\ff\ff\01\bdZ\ff\01\c8u\ff\00\00\00\00\000h\ff\00`\fc\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01(\00\00\00\d8\ff\ff\00\00\00\00\01@\00\00\00\c0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01 \00\00\00\e0\ff\ff\00\00\00\00\01\"\00\00\00\de\ff\ff") + (data $14 (i32.const 6085) "\06\'Qow") + (data $14.1 (i32.const 6100) "|\00\00\7f\00\00\00\00\00\00\00\00\83\8e\92\97\00\aa") + (data $14.2 (i32.const 6128) "\b4\c4") + (data $14.3 (i32.const 6250) "\c6\c9\00\00\00\db") + (data $14.4 (i32.const 6339) "\de\00\00\00\00\e1\00\00\00\00\00\00\00\e4") + (data $14.5 (i32.const 6364) "\e7") + (data $14.6 (i32.const 6450) "\ea") + (data $14.7 (i32.const 6573) "\ed") + (data $15 (i32.const 6596) "0\0c1\rx\0e\7f\0f\80\10\81\11\86\12\89\13\8a\13\8e\14\8f\15\90\16\93\13\94\17\95\18\96\19\97\1a\9a\1b\9c\19\9d\1c\9e\1d\9f\1e\a6\1f\a9\1f\ae\1f\b1 \b2 \b7!\bf\"\c5#\c8#\cb#\dd$\f2#\f6%\f7& -:.=/>0?1@1C2D3E4P5Q6R7S8T9Y:[;\\e?f@hAiBj@kClDoBqErFuG}H\82I\87J\89K\8aL\8bL\8cM\92N\9dO\9ePEW{\1d|\1d}\1d\7fX\86Y\88Z\89Z\8aZ\8c[\8e\\\8f\\\ac]\ad^\ae^\af^\c2_\cc`\cda\cea\cfb\d0c\d1d\d5e\d6f\d7g\f0h\f1i\f2j\f3k\f4l\f5m\f9n\fd-\fe-\ff-PiQiRiSiTiUiViWiXiYiZi[i\\i]i^i_i\82\00\83\00\84\00\85\00\86\00\87\00\88\00\89\00\c0u\cfv\80\89\81\8a\82\8b\85\8c\86\8dp\9dq\9dv\9ew\9ex\9fy\9fz\a0{\a0|\a1}\a1\b3\a2\ba\a3\bb\a3\bc\a4\be\a5\c3\a2\cc\a4\da\a6\db\a6\e5j\ea\a7\eb\a7\ecn\f3\a2\f8\a8\f9\a8\fa\a9\fb\a9\fc\a4&\b0*\b1+\b2N\b3\84\08b\bac\bbd\bce\bdf\bem\bfn\c0o\c1p\c2~\c3\7f\c3}\cf\8d\d0\94\d1\ab\d2\ac\d3\ad\d4\b0\d5\b1\d6\b2\d7\c4\d8\c5\d9\c6\da") + (data $16 (i32.const 7004) "L") + (data $16.1 (i32.const 7016) "\02\00\00\002\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00-\00c\00a\00s\00e\00m\00a\00p\00p\00i\00n\00g\00.\00t\00s") + (data $17 (i32.const 7085) "\01\02\03\04\05\06\07\08\t\n\0b\0c\r\0e\0f\10\11\12\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\"#$%&\'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\7f") + (data $18 (i32.const 7212) "\12\10\13\14\15\16\17\18\19\1a\1b\1c\1d\1e\1f !\10\10\"\10\10\10#$%&\'()\10*+\10\10\10\10\10\10\10\10\10\10\10,-.\10/\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\100\10\10\101\10234567\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\108\10\109:\10;<=\10\10\10\10\10\10>\10\10?@ABCDEFGHIJKL\10MNO\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10P\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10QR\10\10\10S\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10T\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10UV\10\10\10\10\10\10\10W\10\10\10\10\10XYZ\10\10\10\10\10[\\\10\10\10\10\10\10\10\10\10]\10\10\10\10\10\10\10\10\10\10\10\10") + (data $18.1 (i32.const 7756) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\80@\00\04\00\00\00@\01\00\00\00\00\00\00\00\00\a1\90\01") + (data $18.2 (i32.const 7842) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff0\04\b0") + (data $18.3 (i32.const 7900) "\f8\03") + (data $18.4 (i32.const 7927) "\82\00\00\00\00\00\00\fe\ff\ff\ff\ff\bf\b6\00\00\00\00\00\10\00?\00\ff\17\00\00\00\00\01\f8\ff\ff\00\00\01") + (data $18.5 (i32.const 7974) "\c0\bf\ff=\00\00\00\80\02\00\00\00\ff\ff\ff\07") + (data $18.6 (i32.const 8000) "\c0\ff\01\00\00\00\00\00\00\f8?$\00\00\c0\ff\ff?\00\00\00\00\00\0e") + (data $18.7 (i32.const 8038) "\f8\ff\ff\ff\ff\ff\07\00\00\00\00\00\00\14\fe!\fe\00\0c\00\02\00\02\00\00\00\00\00\00\10\1e \00\00\0c\00\00@\06\00\00\00\00\00\00\10\869\02\00\00\00#\00\06\00\00\00\00\00\00\10\be!\00\00\0c\00\00\fc\02\00\00\00\00\00\00\90\1e `\00\0c\00\00\00\04\00\00\00\00\00\00\00\01 \00\00\00\00\00\00\11\00\00\00\00\00\00\c0\c1=`\00\0c\00\00\00\02\00\00\00\00\00\00\90@0\00\00\0c\00\00\00\03\00\00\00\00\00\00\18\1e \00\00\0c\00\00\00\02\00\00\00\00\00\00\00\00\04\\") + (data $18.8 (i32.const 8210) "\f2\07\c0\7f") + (data $18.9 (i32.const 8226) "\f2\1f@?") + (data $18.10 (i32.const 8239) "\03\00\00\a0\02\00\00\00\00\00\00\fe\7f\df\e0\ff\fe\ff\ff\ff\1f@") + (data $18.11 (i32.const 8273) "\e0\fdf\00\00\00\c3\01\00\1e\00d \00 ") + (data $18.12 (i32.const 8299) "\10") + (data $18.13 (i32.const 8311) "\e0") + (data $18.14 (i32.const 8334) "\1c\00\00\00\1c\00\00\00\0c\00\00\00\0c\00\00\00\00\00\00\00\b0?@\fe\8f \00\00\00\00\00x\00\00\00\00\00\00\08\00\00\00\00\00\00\00`\00\00\00\00\02") + (data $18.15 (i32.const 8400) "\87\01\04\0e") + (data $18.16 (i32.const 8430) "\80\t\00\00\00\00\00\00@\7f\e5\1f\f8\9f\00\00\00\00\80\00\ff\ff\01\00\00\00\00\00\00\00\0f\00\00\00\00\00\d0\17\04\00\00\00\00\f8\0f\00\03\00\00\00<;\00\00\00\00\00\00@\a3\03\00\00\00\00\00\00\f0\cf\00\00\00\00\00\00\00\00?") + (data $18.17 (i32.const 8518) "\f7\ff\fd!\10\03\00\00\00\00\00\f0\ff\ff\ff\ff\ff\ff\ff\07\00\01\00\00\00\f8\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\fb") + (data $18.18 (i32.const 8579) "\a0\03\e0\00\e0\00\e0\00`\00\f8\00\03\90|\00\00\00\00\00\00\df\ff\02\80\00\00\ff\1f\00\00\00\00\00\00\ff\ff\ff\ff\01") + (data $18.19 (i32.const 8635) "0") + (data $18.20 (i32.const 8649) "\80\03") + (data $18.21 (i32.const 8665) "\80\00\80") + (data $18.22 (i32.const 8680) "\ff\ff\ff\ff\00\00\00\00\00\80") + (data $18.23 (i32.const 8716) " \00\00\00\00<>\08") + (data $18.24 (i32.const 8735) "~") + (data $18.25 (i32.const 8747) "p\00\00 ") + (data $18.26 (i32.const 8811) "?\00\10") + (data $18.27 (i32.const 8825) "\80\f7\bf\00\00\00\f0") + (data $18.28 (i32.const 8842) "\03\00\ff\ff\ff\ff\03") + (data $18.29 (i32.const 8858) "\01\00\00\07") + (data $18.30 (i32.const 8875) "\03D\08\00\00`\10") + (data $18.31 (i32.const 8900) "0\00\00\00\ff\ff\03\80\00\00\00\00\c0?\00\00\80\ff\03\00\00\00\00\00\07\00\00\00\00\00\c83\00\80\00\00`\00\00\00\00\00\00\00\00~f\00\08\10\00\00\00\00\01\10\00\00\00\00\00\00\9d\c1\02\00\00 \000X") + (data $18.32 (i32.const 8983) "\f8\00\0e") + (data $18.33 (i32.const 9000) " !\00\00\00\00\00@") + (data $18.34 (i32.const 9026) "\fc\ff\03\00\00\00\00\00\00\00\ff\ff\08\00\ff\ff\00\00\00\00$") + (data $18.35 (i32.const 9067) "\80\80@\00\04\00\00\00@\01\00\00\00\00\00\01\00\00\00\00\c0\00\00\00\00\00\00\00\00\08\00\00\0e") + (data $18.36 (i32.const 9131) " ") + (data $18.37 (i32.const 9160) "\01") + (data $18.38 (i32.const 9178) "\c0\07") + (data $18.39 (i32.const 9196) "n\f0\00\00\00\00\00\87") + (data $18.40 (i32.const 9224) "`\00\00\00\00\00\00\00\f0") + (data $18.41 (i32.const 9281) "\18") + (data $18.42 (i32.const 9300) "\c0\ff\01") + (data $18.43 (i32.const 9324) "\02\00\00\00\00\00\00\ff\7f\00\00\00\00\00\00\80\03\00\00\00\00\00x&\00 \00\00\00\00\00\00\07\00\00\00\80\ef\1f\00\00\00\00\00\00\00\08\00\03\00\00\00\00\00\c0\7f\00\9e") + (data $18.44 (i32.const 9393) "\80\d3@") + (data $18.45 (i32.const 9415) "\80\f8\07\00\00\03\00\00\00\00\00\00\18\01\00\00\00\c0\1f\1f") + (data $18.46 (i32.const 9459) "\ff\\\00\00@") + (data $18.47 (i32.const 9474) "\f8\85\r") + (data $18.48 (i32.const 9506) "<\b0\01\00\000") + (data $18.49 (i32.const 9522) "\f8\a7\01") + (data $18.50 (i32.const 9537) "(\bf") + (data $18.51 (i32.const 9551) "\e0\bc\0f") + (data $18.52 (i32.const 9585) "\80\ff\06") + (data $18.53 (i32.const 9619) "X\08") + (data $18.54 (i32.const 9638) "\f0\0c\01\00\00\00\fe\07\00\00\00\00\f8y\80\00~\0e\00\00\00\00\00\fc\7f\03") + (data $18.55 (i32.const 9682) "\7f\bf") + (data $18.56 (i32.const 9694) "\fc\ff\ff\fcm") + (data $18.57 (i32.const 9714) "~\b4\bf") + (data $18.58 (i32.const 9726) "\a3") + (data $18.59 (i32.const 9770) "\18\00\00\00\00\00\00\00\ff\01") + (data $18.60 (i32.const 9834) "\1f\00\00\00\00\00\00\00\7f\00\0f") + (data $18.61 (i32.const 9877) "\80\00\00\00\00\00\00\00\80\ff\ff\00\00\00\00\00\00\00\00\1b") + (data $18.62 (i32.const 9919) "`\0f") + (data $18.63 (i32.const 9944) "\80\03\f8\ff\e7\0f\00\00\00<") + (data $18.64 (i32.const 9972) "\1c") + (data $18.65 (i32.const 9996) "\ff\ff\ff\ff\ff\ff\7f\f8\ff\ff\ff\ff\ff\1f \00\10\00\00\f8\fe\ff") + (data $18.66 (i32.const 10028) "\7f\ff\ff\f9\db\07") + (data $18.67 (i32.const 10066) "\ff?") + (data $18.68 (i32.const 10121) "\f0") + (data $18.69 (i32.const 10150) "\7f") + (data $18.70 (i32.const 10164) "\f0\0f") + (data $18.71 (i32.const 10219) "\f8") + (data $19 (i32.const 10220) "\12\13\14\15\16\17\10\10\10\10\10\10\10\10\10\10\18\10\10\19\10\10\10\10\10\10\10\10\1a\1b\11\1c\1d\1e\10\10\1f\10\10\10\10\10\10\10 !\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\"#\10\10\10$\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10%\10\10\10&\10\10\10\10\'\10\10\10\10\10\10\10(\10\10\10\10\10\10\10\10\10\10\10)\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10*\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10+,-.\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10\10/\10\10\10\10\10\10\100\10\10\10\10\10\10\10\10\10\10\10\10\10\10") + (data $19.1 (i32.const 10764) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\fe\ff\ff\07\fe\ff\ff\07\00\00\00\00\00\04 \04\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\f7\f0\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ef\ff\ff\ff\ff\01\03\00\00\00\1f") + (data $19.2 (i32.const 10900) " \00\00\00\00\00\cf\bc@\d7\ff\ff\fb\ff\ff\ff\ff\ff\ff\ff\ff\ff\bf\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\03\fc\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\fe\ff\ff\ff\7f\00\ff\ff\ff\ff\ff\01") + (data $19.3 (i32.const 11008) "\ff\ff\ff\ff\bf \ff\ff\ff\ff\ff\e7") + (data $19.4 (i32.const 11040) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff??") + (data $19.5 (i32.const 11068) "\ff\01\ff\ff\ff\ff\ff\e7\00\00\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\ff\ff??\ff\ff\ff\ff??\ff\aa\ff\ff\ff?\ff\ff\ff\ff\ff\ff\df_\dc\1f\cf\0f\ff\1f\dc\1f") + (data $19.6 (i32.const 11162) "\02\80\00\00\ff\1f") + (data $19.7 (i32.const 11180) "\84\fc/>P\bd\1f\f2\e0C\00\00\ff\ff\ff\ff\18") + (data $19.8 (i32.const 11234) "\c0\ff\ff\ff\ff\ff\ff\03\00\00\ff\ff\ff\ff\ff\7f\ff\ff\ff\ff\ff\7f\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\1fx\0c\00\ff\ff\ff\ff\bf ") + (data $19.9 (i32.const 11316) "\ff\ff\ff\ff\ff?\00\00\ff\ff\ff?") + (data $19.10 (i32.const 11344) "\fc\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ffx\ff\ff\ff\ff\ff\ff\fc\07\00\00\00\00`\07\00\00\00\00\00\00\ff\ff\ff\ff\ff\f7\ff\01\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\7f\00\f8") + (data $19.11 (i32.const 11440) "\fe\ff\ff\07\fe\ff\ff\07") + (data $19.12 (i32.const 11468) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff") + (data $19.13 (i32.const 11490) "\ff\ff\ff\ff\0f\ff\ff\ff\ff\0f") + (data $19.14 (i32.const 11516) "\ff\ff\ff\ff\ff\ff\07\00\ff\ff\ff\ff\ff\ff\07") + (data $19.15 (i32.const 11552) "\ff\ff\ff\ff\ff\ff\ff\ff") + (data $19.16 (i32.const 11572) "\ff\ff\ff\ff\ff\ff\ff\ff") + (data $19.17 (i32.const 11596) "\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\df\ff\ff\ff\ff\ff\ff\ff\ff\dfd\de\ff\eb\ef\ff\ff\ff\ff\ff\ff\ff\bf\e7\df\df\ff\ff\ff{_\fc\fd\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff\ff?\ff\ff\ff\fd\ff\ff\f7\ff\ff\ff\f7\ff\ff\df\ff\ff\ff\df\ff\ff\7f\ff\ff\ff\7f\ff\ff\ff\fd\ff\ff\ff\fd\ff\ff\f7\0f\00\00\00\00\00\00\ff\ff\ff\ff\ff\ff\ff\ff\0f") + (data $19.18 (i32.const 11762) "\ff\ff\ff\03\ff\ff\ff\03\ff\ff\ff\03") + (data $20 (i32.const 11788) ",") + (data $20.1 (i32.const 11800) "\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\n") + (data $21 (i32.const 11836) ",") + (data $21.1 (i32.const 11848) "\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00A\00Z\00.\00!\00\n") + (data $22 (i32.const 11884) ",") + (data $22.1 (i32.const 11896) "\02\00\00\00\16\00\00\000\009\00_\00A\00Z\00 \00a\00z\00.\00!\00\t") + (data $23 (i32.const 11932) ",") + (data $23.1 (i32.const 11944) "\02\00\00\00\16\00\00\000\009\00_\00a\00z\00 \00a\00z\00.\00!\00\t") + (data $24 (i32.const 11980) "\\") + (data $24.1 (i32.const 11992) "\02\00\00\00J\00\00\00D\00e\00r\00 \00W\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00B\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") + (data $25 (i32.const 12076) "\\") + (data $25.1 (i32.const 12088) "\02\00\00\00J\00\00\00D\00E\00R\00 \00W\00E\00C\00H\00S\00E\00L\00 \00A\00L\00L\00E\00I\00N\00 \00I\00S\00T\00 \00D\00A\00S\00 \00B\00E\00S\00T\00\c4\00N\00D\00I\00G\00E") + (data $26 (i32.const 12172) "\\") + (data $26.1 (i32.const 12184) "\02\00\00\00J\00\00\00d\00e\00r\00 \00w\00e\00c\00h\00s\00e\00l\00 \00a\00l\00l\00e\00i\00n\00 \00i\00s\00t\00 \00d\00a\00s\00 \00b\00e\00s\00t\00\e4\00n\00d\00i\00g\00e") + (data $27 (i32.const 12268) "<") + (data $27.1 (i32.const 12280) "\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") + (data $28 (i32.const 12332) "<") + (data $28.1 (i32.const 12344) "\02\00\00\00$\00\00\00@\00 \00\14 \00\14\04 \04#\04\13\04 \00\'\04\15\04\1b\04\1e\04\12\04\15\04\1a\04\10\04!") + (data $29 (i32.const 12396) "<") + (data $29.1 (i32.const 12408) "\02\00\00\00$\00\00\00@\00 \00\14 \004\04@\04C\043\04 \00G\045\04;\04>\042\045\04:\040\04!") + (data $30 (i32.const 12460) "\\") + (data $30.1 (i32.const 12472) "\02\00\00\00D\00\00\00.\" \00E\00\c5\"d\00a\00 \00=\00 \00Q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") + (data $31 (i32.const 12556) "\\") + (data $31.1 (i32.const 12568) "\02\00\00\00D\00\00\00.\" \00E\00\c5\"D\00A\00 \00=\00 \00Q\00,\00 \00N\00 \00\92! \00\1e\",\00 \00\11\" \00F\00(\00I\00)\00 \00=\00 \00\0f\" \00G\00(\00I\00)") + (data $32 (i32.const 12652) "\\") + (data $32.1 (i32.const 12664) "\02\00\00\00D\00\00\00.\" \00e\00\c5\"d\00a\00 \00=\00 \00q\00,\00 \00n\00 \00\92! \00\1e\",\00 \00\11\" \00f\00(\00i\00)\00 \00=\00 \00\0f\" \00g\00(\00i\00)") + (data $33 (i32.const 12748) "\\") + (data $33.1 (i32.const 12760) "\02\00\00\00H\00\00\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") + (data $34 (i32.const 12844) "\\") + (data $34.1 (i32.const 12856) "\02\00\00\00H\00\00\00\d0\00I\00 \00I\00N\00T\00\8f\01\c8\02N\00\c6\00\a9\01\8f\01N\00\8f\01L\00 \00F\00\8f\01\c8\02N\00\90\01T\00I\00K\00 \00\8f\01S\00O\00\b1\01S\00I\00\c8\02E\00I\00\a9\01N") + (data $35 (i32.const 12940) "\\") + (data $35.1 (i32.const 12952) "\02\00\00\00H\00\00\00\f0\00i\00 \00i\00n\00t\00Y\02\c8\02n\00\e6\00\83\02Y\02n\00Y\02l\00 \00f\00Y\02\c8\02n\00[\02t\00i\00k\00 \00Y\02s\00o\00\8a\02s\00i\00\c8\02e\00i\00\83\02n") + (data $36 (i32.const 13036) "L") + (data $36.1 (i32.const 13048) "\02\00\00\00.\00\00\00\a3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00\ba\03\cc\03\c8\03\b7\03") + (data $37 (i32.const 13116) "L") + (data $37.1 (i32.const 13128) "\02\00\00\00.\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00\9a\03\8c\03\a8\03\97\03") + (data $38 (i32.const 13196) "L") + (data $38.1 (i32.const 13208) "\02\00\00\000\00\00\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\03\ae\03,") + (data $39 (i32.const 13276) "L") + (data $39.1 (i32.const 13288) "\02\00\00\004\00\00\00\a4\03\9f\03\a5\03B\03 \00\a3\03\a0\03\91\03\98\03\99\03\9f\03\a5\03B\03 \00\a4\03\ca\1f\9d\03 \00\a4\03\a1\03\9f\03\9c\03\95\03\a1\03\89\03,") + (data $40 (i32.const 13356) "<") + (data $40.1 (i32.const 13368) "\02\00\00\00,\00\00\00\c3\03r\1f \00\b3\03\bd\03\c9\03\c1\03\af\03\b6\03\c9\03 \00\00\1f\c0\03x\1f \00\c4\03t\1f\bd\03 \00D\1f\c8\03\b7\03") + (data $41 (i32.const 13420) "<") + (data $41.1 (i32.const 13432) "\02\00\00\00,\00\00\00\a3\03\c8\1f \00\93\03\9d\03\a9\03\a1\03\8a\03\96\03\a9\03 \00\08\1f\a0\03\f8\1f \00\a4\03\ca\1f\9d\03 \00L\1f\a8\03\97\03") + (data $42 (i32.const 13484) "L") + (data $42.1 (i32.const 13496) "\02\00\00\002\00\00\00\c0\03\bf\03z\1f \00\bc\03r\1f \00\b2\03\af\03\b1\03 \00\bc\03\b5\03\c4\03\c1\03\ac\03\b5\03\b9\03 \00\c4\03t\1f \00\b3\03\c6\1f.") + (data $43 (i32.const 13564) "L") + (data $43.1 (i32.const 13576) "\02\00\00\004\00\00\00\a0\03\9f\03\ea\1f \00\9c\03\c8\1f \00\92\03\8a\03\91\03 \00\9c\03\95\03\a4\03\a1\03\86\03\95\03\99\03 \00\a4\03\ca\1f \00\93\03\97\03B\03.") + (data $44 (i32.const 13644) "L") + (data $44.1 (i32.const 13656) "\02\00\00\00.\00\00\00\91\03\c0\03\bf\1f \00\c4\03p\1f \00\ba\03\cc\03\ba\03\ba\03\b1\03\bb\03\b1\03 \00\b2\03\b3\03\b1\03\bb\03\bc\03\ad\03\bd\03\b7\03") + (data $45 (i32.const 13724) "L") + (data $45.1 (i32.const 13736) "\02\00\00\00.\00\00\00\91\03\a0\03\bf\1f \00\a4\03\ba\1f \00\9a\03\8c\03\9a\03\9a\03\91\03\9b\03\91\03 \00\92\03\93\03\91\03\9b\03\9c\03\88\03\9d\03\97\03") + (data $46 (i32.const 13804) "<") + (data $46.1 (i32.const 13816) "\02\00\00\00(\00\00\00\c4\03\f6\1f\bd\03 \00\fe\1f\95\03\bb\03\bb\03\ae\03\bd\03\c9\03\bd\03 \00\c4\03p\1f \001\1f\b5\03\c1\03\ac\03") + (data $47 (i32.const 13868) "<") + (data $47.1 (i32.const 13880) "\02\00\00\00*\00\00\00\a4\03\a9\03B\03\9d\03 \00\fe\1f\95\03\9b\03\9b\03\89\03\9d\03\a9\03\9d\03 \00\a4\03\ba\1f \009\1f\95\03\a1\03\86\03") + (data $48 (i32.const 13932) "L") + (data $48.1 (i32.const 13944) "\02\00\00\002\00\00\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\03\ad\03\bd\03\b7\03") + (data $49 (i32.const 14012) "L") + (data $49.1 (i32.const 14024) "\02\00\00\004\00\00\00\9a\03\91\03\da\1f \00\a3\03\ba\1f\9d\03 \00\a0\03\a1\03\a9\03B\03\a4\03\91\03 \00\08\1f\9d\03\94\03\a1\03\95\03\99\03\a9\03\9c\03\88\03\9d\03\97\03") + (data $50 (i32.const 14092) "L") + (data $50.1 (i32.const 14104) "\02\00\00\006\00\00\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\03\ac\03!") + (data $51 (i32.const 14172) "L") + (data $51.1 (i32.const 14184) "\02\00\00\00:\00\00\00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00n\1f \00\a7\03\91\03\99\03B\03\a1\03\95\03,\00 \00\bf\1f\95\03\9b\03\95\03\a5\03\98\03\95\03\a1\03\99\03\86\03!") + (data $52 (i32.const 14252) "\9c") + (data $52.1 (i32.const 14264) "\02\00\00\00\80\00\00\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\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") + (data $53 (i32.const 14412) "\9c") + (data $53.1 (i32.const 14424) "\02\00\00\00\80\00\00\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\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") + (data $54 (i32.const 14572) "\9c") + (data $54.1 (i32.const 14584) "\02\00\00\00\80\00\00\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\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") + (data $55 (i32.const 14732) "\1c") + (data $55.1 (i32.const 14744) "\02\00\00\00\02\00\00\00\df") + (data $56 (i32.const 14764) "\1c") + (data $56.1 (i32.const 14776) "\02\00\00\00\04\00\00\00S\00S") + (data $57 (i32.const 14796) "\1c") + (data $57.1 (i32.const 14808) "\02\00\00\00\02\00\00\000\01") + (data $58 (i32.const 14828) "\1c") + (data $58.1 (i32.const 14840) "\02\00\00\00\04\00\00\00i\00\07\03") + (data $59 (i32.const 14860) "\cc") + (data $59.1 (i32.const 14872) "\02\00\00\00\ae\00\00\00\a3\00\a9\00\b5\00\c0\00\c6\00\d6\00\de\00\df\00\e9\00\f6\00\ff\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\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") + (data $60 (i32.const 15068) "\cc") + (data $60.1 (i32.const 15080) "\02\00\00\00\b2\00\00\00\a3\00\a9\00\9c\03\c0\00\c6\00\d6\00\de\00S\00S\00\c9\00\d6\00x\01\13 \14 \18 \1c \1d \1e \" & 0 \"!R\01`\01x\01}\01\ac \00\91\03\92\03\93\03\94\03\a9\03\91\03\92\03\93\03\94\03\a9\03 \00\10\04\11\04\12\04\13\04\14\04\10\04\11\04\12\04\13\04\14\04\00\"\02\"\08\"\1d!\'\"*\"a\"\1e\" \00\91!\97!\a8!\bb!\e3! \00\10%<%T%X%\91%\ba%:&@& \00F\00I\00\fd\ff@$\82 (\1f\02\1e\e4\04\84\1eo,\d0\02N#\d0\051\05\90\1c") + (data $61 (i32.const 15276) "\1c") + (data $61.1 (i32.const 15288) "\02\00\00\00\04\00\00\00s\00s") + (data $62 (i32.const 15308) "\1c") + (data $62.1 (i32.const 15320) "\02\00\00\00\02\00\00\00\01\fb") + (data $63 (i32.const 15340) "\1c") + (data $63.1 (i32.const 15352) "\02\00\00\00\04\00\00\00f\00i") + (data $64 (i32.const 15372) "\cc") + (data $64.1 (i32.const 15384) "\02\00\00\00\b8\00\00\00A\d8\0e\df \00A\d81\df \00A\d8y\df \00C\d8S\dc \00C\d8x\dc \00C\d8\96\dc \00C\d8\cf\dc \00C\d8\d5\dc \00C\d8\15\dd \00C\d8|\dd \00C\d8\7f\dd \00C\d8\0e\de \00C\d8\0f\de \00C\d8w\de \00C\d8\9d\de \00C\d8\a2\de \00C\d8\d7\de \00C\d8\f9\de \00C\d8\fa\de \00C\d8-\df \00C\d8.\df \00C\d8L\df \00C\d8\b4\df \00C\d8\bc\df \00C\d8\ea\df \00D\d8\\\dc \00D\d8o\dc \00D\d8u\dc \00D\d8v\dc \00D\d8{\dc \00D\d8\c1\dc") + (data $65 (i32.const 15580) ",") + (data $65.1 (i32.const 15592) "\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data $66 (i32.const 15628) "\1c") + (data $66.1 (i32.const 15640) "\02\00\00\00\04\00\00\00\00\d8\00\dc") + (data $67 (i32.const 15660) "\1c") + (data $67.1 (i32.const 15672) "\02\00\00\00\02\00\00\00\88\1f") + (data $68 (i32.const 15692) "\1c") + (data $68.1 (i32.const 15704) "\02\00\00\00\02\00\00\00\80\1f") + (data $69 (i32.const 15724) "\1c") + (data $69.1 (i32.const 15736) "\02\00\00\00\02\00\00\00\8f\1f") + (data $70 (i32.const 15756) "\1c") + (data $70.1 (i32.const 15768) "\02\00\00\00\02\00\00\00\87\1f") + (data $71 (i32.const 15788) "\1c") + (data $71.1 (i32.const 15800) "\02\00\00\00\02\00\00\00\fc\1f") + (data $72 (i32.const 15820) "\1c") + (data $72.1 (i32.const 15832) "\02\00\00\00\02\00\00\00\f3\1f") + (data $73 (i32.const 15852) "\1c") + (data $73.1 (i32.const 15864) "\02\00\00\00\02\00\00\00\a3\03") + (data $74 (i32.const 15884) "\1c") + (data $74.1 (i32.const 15896) "\02\00\00\00\02\00\00\00\c3\03") + (data $75 (i32.const 15916) "\1c") + (data $75.1 (i32.const 15928) "\02\00\00\00\04\00\00\00 \00\a3\03") + (data $76 (i32.const 15948) "\1c") + (data $76.1 (i32.const 15960) "\02\00\00\00\04\00\00\00 \00\c3\03") + (data $77 (i32.const 15980) "\1c") + (data $77.1 (i32.const 15992) "\02\00\00\00\04\00\00\00\a3\03 ") + (data $78 (i32.const 16012) "\1c") + (data $78.1 (i32.const 16024) "\02\00\00\00\04\00\00\00\c3\03 ") + (data $79 (i32.const 16044) "\1c") + (data $79.1 (i32.const 16056) "\02\00\00\00\06\00\00\00 \00\a3\03 ") + (data $80 (i32.const 16076) "\1c") + (data $80.1 (i32.const 16088) "\02\00\00\00\06\00\00\00 \00\c3\03 ") + (data $81 (i32.const 16108) "\1c") + (data $81.1 (i32.const 16120) "\02\00\00\00\06\00\00\00a\00\a3\03 ") + (data $82 (i32.const 16140) "\1c") + (data $82.1 (i32.const 16152) "\02\00\00\00\06\00\00\00a\00\c2\03 ") + (data $83 (i32.const 16172) "\1c") + (data $83.1 (i32.const 16184) "\02\00\00\00\06\00\00\00a\00\a3\03\n") + (data $84 (i32.const 16204) "\1c") + (data $84.1 (i32.const 16216) "\02\00\00\00\06\00\00\00a\00\c2\03\n") + (data $85 (i32.const 16236) "\1c") + (data $85.1 (i32.const 16248) "\02\00\00\00\04\00\00\00a\00\a3\03") + (data $86 (i32.const 16268) "\1c") + (data $86.1 (i32.const 16280) "\02\00\00\00\04\00\00\00a\00\c2\03") + (data $87 (i32.const 16300) "\1c") + (data $87.1 (i32.const 16312) "\02\00\00\00\06\00\00\00a\00\a3\03b") + (data $88 (i32.const 16332) "\1c") + (data $88.1 (i32.const 16344) "\02\00\00\00\06\00\00\00a\00\c3\03b") + (data $89 (i32.const 16364) "\1c") + (data $89.1 (i32.const 16376) "\02\00\00\00\06\00\00\00\a3\03\a3\03 ") + (data $90 (i32.const 16396) "\1c") + (data $90.1 (i32.const 16408) "\02\00\00\00\06\00\00\00\c3\03\c2\03 ") + (data $91 (i32.const 16428) "\1c") + (data $91.1 (i32.const 16440) "\02\00\00\00\06\00\00\001\00\a3\03 ") + (data $92 (i32.const 16460) "\1c") + (data $92.1 (i32.const 16472) "\02\00\00\00\06\00\00\001\00\c3\03 ") + (data $93 (i32.const 16492) "\1c") + (data $93.1 (i32.const 16504) "\02\00\00\00\06\00\00\00;\00\a3\03 ") + (data $94 (i32.const 16524) "\1c") + (data $94.1 (i32.const 16536) "\02\00\00\00\06\00\00\00;\00\c3\03 ") + (data $95 (i32.const 16556) "\1c") + (data $95.1 (i32.const 16568) "\02\00\00\00\06\00\00\00\01\03\a3\03 ") + (data $96 (i32.const 16588) "\1c") + (data $96.1 (i32.const 16600) "\02\00\00\00\06\00\00\00\01\03\c3\03 ") + (data $97 (i32.const 16620) "\1c") + (data $97.1 (i32.const 16632) "\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03 ") + (data $98 (i32.const 16652) "\1c") + (data $98.1 (i32.const 16664) "\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03 ") + (data $99 (i32.const 16684) "\1c") + (data $99.1 (i32.const 16696) "\02\00\00\00\06\00\00\00\a3\03\a3\03-") + (data $100 (i32.const 16716) "\1c") + (data $100.1 (i32.const 16728) "\02\00\00\00\06\00\00\00\c3\03\c2\03-") + (data $101 (i32.const 16748) "\1c") + (data $101.1 (i32.const 16760) "\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03-") + (data $102 (i32.const 16780) "\1c") + (data $102.1 (i32.const 16792) "\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03-") + (data $103 (i32.const 16812) "\1c") + (data $103.1 (i32.const 16824) "\02\00\00\00\n\00\00\00\a3\03\01\03\a3\03\01\03*s") + (data $104 (i32.const 16844) "\1c") + (data $104.1 (i32.const 16856) "\02\00\00\00\n\00\00\00\c3\03\01\03\c2\03\01\03*s") + (data $105 (i32.const 16876) "\1c") + (data $105.1 (i32.const 16888) "\02\00\00\00\06\00\00\005\d8\a2\dc\a3\03") + (data $106 (i32.const 16908) "\1c") + (data $106.1 (i32.const 16920) "\02\00\00\00\06\00\00\005\d8\a2\dc\c2\03") + (data $107 (i32.const 16940) "\1c") + (data $107.1 (i32.const 16952) "\02\00\00\00\06\00\00\00A\00.\00\a3\03") + (data $108 (i32.const 16972) "\1c") + (data $108.1 (i32.const 16984) "\02\00\00\00\06\00\00\00a\00.\00\c2\03") + (data $109 (i32.const 17004) "\1c") + (data $109.1 (i32.const 17016) "\02\00\00\00\06\00\00\00A\00\ad\00\a3\03") + (data $110 (i32.const 17036) "\1c") + (data $110.1 (i32.const 17048) "\02\00\00\00\06\00\00\00a\00\ad\00\c2\03") + (data $111 (i32.const 17068) "\1c") + (data $111.1 (i32.const 17080) "\02\00\00\00\08\00\00\00A\004\d8B\de\a3\03") + (data $112 (i32.const 17100) "\1c") + (data $112.1 (i32.const 17112) "\02\00\00\00\08\00\00\00a\004\d8B\de\c2\03") + (data $113 (i32.const 17132) "\1c") + (data $113.1 (i32.const 17144) "\02\00\00\00\04\00\00\00E\03\a3\03") + (data $114 (i32.const 17164) "\1c") + (data $114.1 (i32.const 17176) "\02\00\00\00\04\00\00\00E\03\c3\03") + (data $115 (i32.const 17196) "\1c") + (data $115.1 (i32.const 17208) "\02\00\00\00\06\00\00\00\91\03E\03\a3\03") + (data $116 (i32.const 17228) "\1c") + (data $116.1 (i32.const 17240) "\02\00\00\00\06\00\00\00\b1\03E\03\c2\03") + (data $117 (i32.const 17260) "\1c") + (data $117.1 (i32.const 17272) "\02\00\00\00\06\00\00\00A\00\a3\03B") + (data $118 (i32.const 17292) "\1c") + (data $118.1 (i32.const 17304) "\02\00\00\00\08\00\00\00A\00\a3\035\d8\a2\dc") + (data $119 (i32.const 17324) "\1c") + (data $119.1 (i32.const 17336) "\02\00\00\00\08\00\00\00a\00\c3\035\d8\a2\dc") + (data $120 (i32.const 17356) "\1c") + (data $120.1 (i32.const 17368) "\02\00\00\00\08\00\00\00A\00\a3\03.\00b") + (data $121 (i32.const 17388) "\1c") + (data $121.1 (i32.const 17400) "\02\00\00\00\08\00\00\00a\00\c3\03.\00b") + (data $122 (i32.const 17420) "\1c") + (data $122.1 (i32.const 17432) "\02\00\00\00\08\00\00\00A\00\a3\03\ad\00B") + (data $123 (i32.const 17452) "\1c") + (data $123.1 (i32.const 17464) "\02\00\00\00\08\00\00\00a\00\c3\03\ad\00b") + (data $124 (i32.const 17484) "\1c") + (data $124.1 (i32.const 17496) "\02\00\00\00\n\00\00\00A\00\a3\034\d8B\deB") + (data $125 (i32.const 17516) "\1c") + (data $125.1 (i32.const 17528) "\02\00\00\00\n\00\00\00a\00\c3\034\d8B\deb") + (data $126 (i32.const 17548) "\1c") + (data $126.1 (i32.const 17560) "\02\00\00\00\06\00\00\00A\00\a3\03E\03") + (data $127 (i32.const 17580) "\1c") + (data $127.1 (i32.const 17592) "\02\00\00\00\06\00\00\00a\00\c2\03E\03") + (data $128 (i32.const 17612) "\1c") + (data $128.1 (i32.const 17624) "\02\00\00\00\08\00\00\00A\00\a3\03E\03\91\03") + (data $129 (i32.const 17644) "\1c") + (data $129.1 (i32.const 17656) "\02\00\00\00\08\00\00\00a\00\c3\03E\03\b1\03") + (data $130 (i32.const 17676) "\1c") + (data $130.1 (i32.const 17688) "\02\00\00\00\06\00\00\00A\00\0e\18\a3\03") + (data $131 (i32.const 17708) "\1c") + (data $131.1 (i32.const 17720) "\02\00\00\00\06\00\00\00a\00\0e\18\c2\03") + (data $132 (i32.const 17740) "\1c") + (data $132.1 (i32.const 17752) "\02\00\00\00\08\00\00\00A\00\0e\18\a3\03B") + (data $133 (i32.const 17772) "\1c") + (data $133.1 (i32.const 17784) "\02\00\00\00\08\00\00\00a\00\0e\18\c3\03b") + (data $134 (i32.const 17804) "\1c") + (data $134.1 (i32.const 17816) "\02\00\00\00\06\00\00\00A\00\a3\03\0e\18") + (data $135 (i32.const 17836) "\1c") + (data $135.1 (i32.const 17848) "\02\00\00\00\06\00\00\00a\00\c2\03\0e\18") + (data $136 (i32.const 17868) "\1c") + (data $136.1 (i32.const 17880) "\02\00\00\00\08\00\00\00A\00\a3\03\0e\18B") + (data $137 (i32.const 17900) "\1c") + (data $137.1 (i32.const 17912) "\02\00\00\00\08\00\00\00a\00\c3\03\0e\18b") + (data $138 (i32.const 17932) "\1c") + (data $138.1 (i32.const 17944) "\02\00\00\00\08\00\00\00A\00\0e\18\a3\03\0e\18") + (data $139 (i32.const 17964) "\1c") + (data $139.1 (i32.const 17976) "\02\00\00\00\08\00\00\00a\00\0e\18\c2\03\0e\18") + (data $140 (i32.const 17996) "\1c") + (data $140.1 (i32.const 18008) "\02\00\00\00\n\00\00\00A\00\0e\18\a3\03\0e\18B") + (data $141 (i32.const 18028) "\1c") + (data $141.1 (i32.const 18040) "\02\00\00\00\n\00\00\00a\00\0e\18\c3\03\0e\18b") + (data $142 (i32.const 18060) "\1c") + (data $142.1 (i32.const 18072) "\02\00\00\00\02\00\00\00\00\fb") + (data $143 (i32.const 18092) "\1c") + (data $143.1 (i32.const 18104) "\02\00\00\00\04\00\00\00F\00F") + (data $144 (i32.const 18124) "\1c") + (data $144.1 (i32.const 18136) "\02\00\00\00\04\00\00\00F\00I") + (data $145 (i32.const 18156) "\1c") + (data $145.1 (i32.const 18168) "\02\00\00\00\02\00\00\00\02\fb") + (data $146 (i32.const 18188) "\1c") + (data $146.1 (i32.const 18200) "\02\00\00\00\04\00\00\00F\00L") + (data $147 (i32.const 18220) "\1c") + (data $147.1 (i32.const 18232) "\02\00\00\00\02\00\00\00\03\fb") + (data $148 (i32.const 18252) "\1c") + (data $148.1 (i32.const 18264) "\02\00\00\00\06\00\00\00F\00F\00I") + (data $149 (i32.const 18284) "\1c") + (data $149.1 (i32.const 18296) "\02\00\00\00\02\00\00\00\04\fb") + (data $150 (i32.const 18316) "\1c") + (data $150.1 (i32.const 18328) "\02\00\00\00\06\00\00\00F\00F\00L") + (data $151 (i32.const 18348) "\1c") + (data $151.1 (i32.const 18360) "\02\00\00\00\02\00\00\00\05\fb") + (data $152 (i32.const 18380) "\1c") + (data $152.1 (i32.const 18392) "\02\00\00\00\04\00\00\00S\00T") + (data $153 (i32.const 18412) "\1c") + (data $153.1 (i32.const 18424) "\02\00\00\00\02\00\00\00\06\fb") + (data $154 (i32.const 18444) "\1c") + (data $154.1 (i32.const 18456) "\02\00\00\00\02\00\00\00\f0\01") + (data $155 (i32.const 18476) "\1c") + (data $155.1 (i32.const 18488) "\02\00\00\00\04\00\00\00J\00\0c\03") + (data $156 (i32.const 18508) "\1c") + (data $156.1 (i32.const 18520) "\02\00\00\00\02\00\00\00\96\1e") + (data $157 (i32.const 18540) "\1c") + (data $157.1 (i32.const 18552) "\02\00\00\00\04\00\00\00H\001\03") + (data $158 (i32.const 18572) "\1c") + (data $158.1 (i32.const 18584) "\02\00\00\00\02\00\00\00\97\1e") + (data $159 (i32.const 18604) "\1c") + (data $159.1 (i32.const 18616) "\02\00\00\00\04\00\00\00T\00\08\03") + (data $160 (i32.const 18636) "\1c") + (data $160.1 (i32.const 18648) "\02\00\00\00\02\00\00\00\98\1e") + (data $161 (i32.const 18668) "\1c") + (data $161.1 (i32.const 18680) "\02\00\00\00\04\00\00\00W\00\n\03") + (data $162 (i32.const 18700) "\1c") + (data $162.1 (i32.const 18712) "\02\00\00\00\02\00\00\00\99\1e") + (data $163 (i32.const 18732) "\1c") + (data $163.1 (i32.const 18744) "\02\00\00\00\04\00\00\00Y\00\n\03") + (data $164 (i32.const 18764) "\1c") + (data $164.1 (i32.const 18776) "\02\00\00\00\02\00\00\00\9a\1e") + (data $165 (i32.const 18796) "\1c") + (data $165.1 (i32.const 18808) "\02\00\00\00\04\00\00\00A\00\be\02") + (data $166 (i32.const 18828) "\\") + (data $166.1 (i32.const 18840) "\02\00\00\00@\00\00\00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e") + (data $167 (i32.const 18924) "<") + (data $167.1 (i32.const 18936) "\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 ") + (data $168 (i32.const 18988) "|") + (data $168.1 (i32.const 19000) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data $169 (i32.const 19116) "<") + (data $169.1 (i32.const 19128) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data $170 (i32.const 19180) "\1c") + (data $170.1 (i32.const 19192) "\02\00\00\00\02\00\00\000") + (data $171 (i32.const 19212) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data $172 (i32.const 19612) "\1c\04") + (data $172.1 (i32.const 19624) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data $173 (i32.const 20668) "\\") + (data $173.1 (i32.const 20680) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data $174 (i32.const 20764) "<") + (data $174.1 (i32.const 20776) "\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00L\00o\00w\00e\00r\00C\00o\00d\00e\00 \00=\00 ") + (data $175 (i32.const 20828) "\\") + (data $175.1 (i32.const 20840) "\02\00\00\00@\00\00\00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00!\00=\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e") + (data $176 (i32.const 20924) "<") + (data $176.1 (i32.const 20936) "\02\00\00\00\"\00\00\00 \00o\00r\00i\00g\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 ") + (data $177 (i32.const 20988) "<") + (data $177.1 (i32.const 21000) "\02\00\00\00&\00\00\00 \00e\00x\00p\00e\00c\00t\00U\00p\00p\00e\00r\00C\00o\00d\00e\00 \00=\00 ") + (data $178 (i32.const 21056) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\a4") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1280 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 19632 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 20688 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1488 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -506,7 +507,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -524,7 +525,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -532,137 +533,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 53848 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$143 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 53848 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1152 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$143 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1152 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1152 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 21056 + i32.load + i32.gt_u + if + i32.const 1280 + i32.const 1344 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 21060 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 21056 - i32.load $0 - i32.gt_u - if - i32.const 1280 - i32.const 1344 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 21060 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -670,8 +691,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -683,10 +704,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -697,29 +718,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -727,10 +748,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -744,75 +765,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -834,7 +848,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -851,12 +865,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -873,17 +887,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -893,9 +907,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -920,13 +934,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -960,7 +974,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -1016,19 +1030,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -1040,15 +1054,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -1056,23 +1070,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1424 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1086,10 +1102,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -1097,23 +1113,22 @@ if i32.const 0 i32.const 1424 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -1125,52 +1140,53 @@ if i32.const 0 i32.const 1424 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -1178,7 +1194,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -1186,7 +1202,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1197,10 +1213,10 @@ end i32.const 53856 i32.const 0 - i32.store $0 + i32.store i32.const 55424 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -1212,7 +1228,7 @@ i32.const 53856 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -1230,7 +1246,7 @@ i32.const 53856 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -1247,9 +1263,10 @@ end i32.const 53856 i32.const 55428 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 53856 global.set $~lib/rt/tlsf/ROOT @@ -1279,7 +1296,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1292,19 +1309,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -1315,7 +1332,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1327,7 +1344,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -1340,12 +1357,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -1354,7 +1367,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1365,26 +1378,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1400,7 +1413,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1416,7 +1429,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1441,14 +1454,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1468,7 +1481,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1483,25 +1495,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1424 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1510,12 +1521,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1523,47 +1533,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1574,7 +1586,7 @@ if i32.const 0 i32.const 1424 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1584,7 +1596,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1601,10 +1613,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1620,13 +1632,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1424 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1641,7 +1653,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1668,7 +1680,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$70 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1680,16 +1692,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$70 end local.get $2 i32.const 0 @@ -1697,8 +1705,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1725,34 +1732,60 @@ if i32.const 1088 i32.const 1424 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1760,21 +1793,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1787,12 +1805,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1803,9 +1821,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1815,7 +1834,7 @@ if i32.const 0 i32.const 1424 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1823,14 +1842,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1424 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1839,8 +1858,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1849,95 +1868,95 @@ if i32.const 0 i32.const 1424 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1950,7 +1969,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/util/casemap/casemap (param $0 i32) (param $1 i32) (result i32) @@ -1959,17 +1978,18 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) local.get $0 i32.const 8 i32.shr_u local.tee $2 i32.const 6084 i32.add - i32.load8_u $0 + i32.load8_u local.get $2 i32.const 2444 i32.add - i32.load8_u $0 + i32.load8_u i32.const 86 i32.mul i32.const 2444 @@ -1981,7 +2001,7 @@ i32.const 3 i32.div_u i32.add - i32.load8_u $0 + i32.load8_u local.get $4 i32.const 3 i32.rem_u @@ -1989,7 +2009,7 @@ i32.shl i32.const 5112 i32.add - i32.load $0 + i32.load i32.mul i32.const 11 i32.shr_u @@ -2000,7 +2020,7 @@ i32.shl i32.const 5124 i32.add - i32.load $0 + i32.load local.tee $2 i32.const 255 i32.and @@ -2029,30 +2049,25 @@ local.get $3 i32.const 1 i32.shr_u - local.tee $6 + local.tee $7 i32.add i32.const 1 i32.shl i32.const 6596 i32.add - i32.load8_u $0 local.tee $5 + i32.load8_u + local.tee $6 local.get $4 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 $0 offset=1 + local.get $5 + i32.load8_u offset=1 i32.const 2 i32.shl i32.const 5124 i32.add - i32.load $0 + i32.load local.tee $2 i32.const 255 i32.and @@ -2075,17 +2090,17 @@ return else local.get $4 - local.get $5 + local.get $6 i32.lt_u if (result i32) - local.get $6 + local.get $7 else local.get $2 - local.get $6 + local.get $7 i32.add local.set $2 local.get $3 - local.get $6 + local.get $7 i32.sub end end @@ -2114,7 +2129,7 @@ i32.const 20 i32.sub local.tee $3 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -2123,25 +2138,25 @@ if local.get $3 local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 return end local.get $1 local.get $3 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $2 local.get $0 local.get $1 local.get $3 - i32.load $0 offset=16 + i32.load offset=16 local.tee $0 local.get $0 local.get $1 i32.gt_u select - memory.copy $0 $0 + memory.copy local.get $2 ) (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) @@ -2174,7 +2189,7 @@ i32.shl i32.const 19212 i32.add - i64.load32_u $0 + i64.load32_u local.get $3 i32.const 100 i32.rem_u @@ -2182,11 +2197,11 @@ i32.shl i32.const 19212 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -2209,8 +2224,8 @@ i32.shl i32.const 19212 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $1 i32.const 100 i32.div_u @@ -2232,8 +2247,8 @@ i32.shl i32.const 19212 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store else local.get $0 local.get $2 @@ -2245,7 +2260,7 @@ local.get $1 i32.const 48 i32.add - i32.store16 $0 + i32.store16 end ) (func $~lib/rt/__visit_members (param $0 i32) @@ -2258,7 +2273,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $invalid end return @@ -2268,12 +2283,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -2310,16 +2321,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $8 @@ -2339,12 +2349,12 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 1488 - i32.store $0 + i32.store i32.const 1484 - i32.load $0 + i32.load i32.const 1 i32.shr_u local.set $3 @@ -2358,7 +2368,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + local.tee $1 + i32.load16_u local.tee $2 i32.const 7 i32.shr_u @@ -2376,12 +2387,8 @@ i32.lt_u i32.and if - local.get $0 - local.get $7 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 + local.get $1 + i32.load16_u offset=2 local.tee $4 i32.const 56319 i32.sub @@ -2418,7 +2425,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $5 i32.const 1 i32.add @@ -2441,7 +2448,7 @@ local.get $2 i32.const 26 i32.sub - i32.store16 $0 + i32.store16 else local.get $2 i32.const 223 @@ -2471,7 +2478,7 @@ i32.shl i32.const 1488 i32.add - i32.load16_u $0 + i32.load16_u local.get $2 i32.sub local.tee $10 @@ -2511,7 +2518,7 @@ i32.const 1488 i32.add local.tee $1 - i32.load16_u $0 offset=6 + i32.load16_u offset=6 local.set $2 local.get $6 local.get $5 @@ -2520,11 +2527,11 @@ i32.add local.tee $4 local.get $1 - i32.load $0 offset=2 - i32.store $0 + i32.load offset=2 + i32.store local.get $4 local.get $2 - i32.store16 $0 offset=4 + i32.store16 offset=4 local.get $5 local.get $2 i32.const 0 @@ -2549,7 +2556,7 @@ i32.shl i32.add local.get $1 - i32.store16 $0 + i32.store16 else local.get $6 local.get $5 @@ -2572,7 +2579,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $5 i32.const 1 i32.add @@ -2590,8 +2597,8 @@ local.get $2 i32.const 2316 i32.add - i32.load8_u $0 - i32.store16 $0 + i32.load8_u + i32.store16 end local.get $7 i32.const 1 @@ -2609,12 +2616,10 @@ i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -2638,7 +2643,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -2658,55 +2663,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -2727,7 +2734,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$81 loop $while-continue|1 local.get $0 local.tee $3 @@ -2737,17 +2744,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$81 local.get $2 i32.const 2 i32.add @@ -2803,19 +2810,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + 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 @@ -2826,24 +2832,25 @@ return end global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $6 i32.const 2 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $9 - i32.store $0 offset=4 + local.tee $7 + i32.store offset=4 loop $for-loop|0 - local.get $2 - local.get $8 + local.get $3 + local.get $6 i32.lt_u if local.get $0 - local.get $2 + local.get $3 i32.const 1 i32.shl i32.add - i32.load16_u $0 + local.tee $1 + i32.load16_u local.tee $4 i32.const 7 i32.shr_u @@ -2854,30 +2861,26 @@ i32.sub i32.const 1025 i32.lt_u - local.get $2 - local.get $8 + local.get $3 + local.get $6 i32.const 1 i32.sub i32.lt_u i32.and if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 - local.tee $3 + local.get $1 + i32.load16_u offset=2 + local.tee $2 i32.const 56319 i32.sub i32.const 1025 i32.lt_u if - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - local.get $3 + local.set $3 + local.get $2 i32.const 1023 i32.and local.get $4 @@ -2893,21 +2896,21 @@ i32.const 131072 i32.ge_u if - local.get $9 - local.get $10 + local.get $7 + local.get $8 i32.const 1 i32.shl i32.add local.get $1 - local.get $3 + local.get $2 i32.const 16 i32.shl i32.or - i32.store $0 - local.get $10 + i32.store + local.get $8 i32.const 1 i32.add - local.set $10 + local.set $8 br $for-continue|0 end end @@ -2916,38 +2919,38 @@ i32.const 304 i32.eq if - local.get $9 - local.get $10 + local.get $7 + local.get $8 i32.const 1 i32.shl i32.add i32.const 50790505 - i32.store $0 - local.get $10 + i32.store + local.get $8 i32.const 1 i32.add - local.set $10 + local.set $8 else local.get $4 i32.const 931 i32.eq if - local.get $9 - local.get $10 + local.get $7 + local.get $8 i32.const 1 i32.shl i32.add i32.const 962 i32.const 963 - local.get $8 + local.get $6 i32.const 1 i32.gt_u if (result i32) block $~lib/util/string/isFinalSigma|inlined.0 (result i32) i32.const 0 local.set $1 - local.get $2 - local.tee $3 + local.get $3 + local.tee $2 i32.const 30 i32.sub local.tee $4 @@ -2956,51 +2959,50 @@ i32.const 0 i32.ge_s select - local.set $7 + local.set $5 loop $while-continue|1 - local.get $3 - local.get $7 + local.get $2 + local.get $5 i32.gt_s if i32.const -1 local.set $4 block $~lib/util/string/codePointBefore|inlined.0 - local.get $3 + local.get $2 i32.const 0 i32.le_s br_if $~lib/util/string/codePointBefore|inlined.0 local.get $0 - local.get $3 + local.get $2 i32.const 1 i32.sub i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.tee $5 + i32.load16_u + local.tee $9 i32.const 64512 i32.and i32.const 56320 i32.eq - local.get $3 + local.get $2 i32.const 2 i32.sub + local.tee $4 i32.const 0 i32.ge_s i32.and if - local.get $5 + local.get $9 i32.const 1023 i32.and local.get $0 - local.get $3 - i32.const 2 - i32.sub + local.get $4 i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.tee $6 + i32.load16_u + local.tee $10 i32.const 1023 i32.and i32.const 10 @@ -3009,7 +3011,7 @@ i32.const 65536 i32.add local.set $4 - local.get $6 + local.get $10 i32.const 64512 i32.and i32.const 55296 @@ -3017,8 +3019,8 @@ br_if $~lib/util/string/codePointBefore|inlined.0 end i32.const 65533 - local.get $5 - local.get $5 + local.get $9 + local.get $9 i32.const 63488 i32.and i32.const 55296 @@ -3035,7 +3037,7 @@ i32.shr_u i32.const 7212 i32.add - i32.load8_u $0 + i32.load8_u i32.const 5 i32.shl i32.const 7212 @@ -3046,7 +3048,7 @@ i32.const 3 i32.shr_u i32.add - i32.load8_u $0 + i32.load8_u local.get $4 i32.const 7 i32.and @@ -3068,7 +3070,7 @@ i32.shr_u i32.const 10220 i32.add - i32.load8_u $0 + i32.load8_u i32.const 5 i32.shl i32.const 10220 @@ -3079,7 +3081,7 @@ i32.const 3 i32.shr_u i32.add - i32.load8_u $0 + i32.load8_u local.get $4 i32.const 7 i32.and @@ -3095,14 +3097,14 @@ i32.const 1 local.set $1 end - local.get $3 + local.get $2 local.get $4 i32.const 65536 i32.ge_s i32.const 1 i32.add i32.sub - local.set $3 + local.set $2 br $while-continue|1 end end @@ -3111,49 +3113,46 @@ i32.eqz br_if $~lib/util/string/isFinalSigma|inlined.0 drop - local.get $2 + local.get $3 i32.const 1 i32.add - local.tee $3 + local.tee $2 i32.const 30 i32.add local.tee $1 - local.get $8 + local.get $6 local.get $1 - local.get $8 + local.get $6 i32.lt_s select - local.set $5 + local.set $4 loop $while-continue|2 - local.get $3 - local.get $5 + local.get $2 + local.get $4 i32.lt_s if local.get $0 - local.get $3 + local.get $2 i32.const 1 i32.shl i32.add - i32.load16_u $0 + local.tee $5 + i32.load16_u local.tee $1 i32.const 64512 i32.and i32.const 55296 i32.eq - local.get $3 + local.get $2 i32.const 1 i32.add - local.get $8 + local.get $6 i32.ne i32.and if - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 - local.tee $4 + local.get $5 + i32.load16_u offset=2 + local.tee $5 i32.const 64512 i32.and i32.const 56320 @@ -3162,7 +3161,7 @@ local.get $1 i32.const 10 i32.shl - local.get $4 + local.get $5 i32.add i32.const 56613888 i32.sub @@ -3178,7 +3177,7 @@ i32.shr_u i32.const 7212 i32.add - i32.load8_u $0 + i32.load8_u i32.const 5 i32.shl i32.const 7212 @@ -3189,7 +3188,7 @@ i32.const 3 i32.shr_u i32.add - i32.load8_u $0 + i32.load8_u local.get $1 i32.const 7 i32.and @@ -3210,7 +3209,7 @@ i32.shr_u i32.const 10220 i32.add - i32.load8_u $0 + i32.load8_u i32.const 5 i32.shl i32.const 10220 @@ -3221,7 +3220,7 @@ i32.const 3 i32.shr_u i32.add - i32.load8_u $0 + i32.load8_u local.get $1 i32.const 7 i32.and @@ -3234,14 +3233,14 @@ i32.eqz br $~lib/util/string/isFinalSigma|inlined.0 end - local.get $3 + local.get $2 local.get $1 i32.const 65536 i32.ge_u i32.const 1 i32.add i32.add - local.set $3 + local.set $2 br $while-continue|2 end end @@ -3251,7 +3250,7 @@ i32.const 0 end select - i32.store16 $0 + i32.store16 else local.get $4 i32.const 9398 @@ -3259,15 +3258,15 @@ i32.const 25 i32.le_u if - local.get $9 - local.get $10 + local.get $7 + local.get $8 i32.const 1 i32.shl i32.add local.get $4 i32.const 26 i32.add - i32.store16 $0 + i32.store16 else local.get $4 i32.const 0 @@ -3278,16 +3277,16 @@ i32.const 65536 i32.lt_u if - local.get $9 - local.get $10 + local.get $7 + local.get $8 i32.const 1 i32.shl i32.add local.get $1 - i32.store16 $0 + i32.store16 else - local.get $9 - local.get $10 + local.get $7 + local.get $8 i32.const 1 i32.shl i32.add @@ -3307,50 +3306,48 @@ i32.const 16 i32.shl i32.or - i32.store $0 - local.get $10 + i32.store + local.get $8 i32.const 1 i32.add - local.set $10 + local.set $8 end end end end end else - local.get $9 - local.get $10 + local.get $7 + local.get $8 i32.const 1 i32.shl i32.add local.get $4 i32.const 7084 i32.add - i32.load8_u $0 - i32.store16 $0 + i32.load8_u + i32.store16 end - local.get $2 + local.get $3 i32.const 1 i32.add - local.set $2 - local.get $10 + local.set $3 + local.get $8 i32.const 1 i32.add - local.set $10 + local.set $8 br $for-loop|0 end end - local.get $9 - local.get $10 + local.get $7 + local.get $8 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String#codePointAt (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -3370,16 +3367,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $2 @@ -3404,8 +3400,9 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.tee $2 + local.tee $0 + i32.load16_u + local.tee $1 i32.const 64512 i32.and i32.const 55296 @@ -3413,11 +3410,7 @@ i32.or br_if $folding-inner0 local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.tee $0 i32.const 64512 i32.and @@ -3428,7 +3421,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.const 10 i32.shl local.get $0 @@ -3441,7 +3434,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 ) (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -3457,16 +3450,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -3475,32 +3467,31 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 local.tee $2 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - local.set $4 - local.get $3 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - block $__inlined_func$~lib/string/String#concat + i32.store + block $__inlined_func$~lib/string/String#concat$148 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - local.tee $3 - local.get $4 + local.tee $4 + local.get $3 i32.add local.tee $0 i32.eqz @@ -3511,24 +3502,24 @@ global.set $~lib/memory/__stack_pointer i32.const 1056 local.set $0 - br $__inlined_func$~lib/string/String#concat + br $__inlined_func$~lib/string/String#concat$148 end global.get $~lib/memory/__stack_pointer local.get $0 i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - local.get $4 - memory.copy $0 $0 + local.get $3 + memory.copy local.get $0 - local.get $4 + local.get $3 i32.add local.get $1 - local.get $3 - memory.copy $0 $0 + local.get $4 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -3558,7 +3549,7 @@ (local $6 i32) (local $7 i64) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3573,11 +3564,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.const 28 - memory.fill $0 - memory.size $0 + i32.const 20 + memory.fill + memory.size i32.const 16 i32.shl i32.const 53848 @@ -3587,40 +3577,34 @@ global.set $~lib/rt/itcms/threshold i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/pinSpace i32.const 1236 i32.const 1232 - i32.store $0 + i32.store i32.const 1240 i32.const 1232 - i32.store $0 + i32.store i32.const 1232 global.set $~lib/rt/itcms/toSpace i32.const 1380 i32.const 1376 - i32.store $0 + i32.store i32.const 1384 i32.const 1376 - i32.store $0 + i32.store i32.const 1376 global.set $~lib/rt/itcms/fromSpace - local.get $5 - i32.const 1056 - i32.store $0 offset=8 i32.const 1056 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 1056 call $~lib/string/String.__eq @@ -3633,18 +3617,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=8 i32.const 1056 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 1056 call $~lib/string/String.__eq @@ -3657,18 +3635,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11808 - i32.store $0 offset=8 i32.const 11808 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 11856 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 11856 call $~lib/string/String.__eq @@ -3681,18 +3653,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11904 - i32.store $0 offset=8 i32.const 11904 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 11952 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 11952 call $~lib/string/String.__eq @@ -3705,18 +3671,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12000 - i32.store $0 offset=8 i32.const 12000 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12096 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 12096 call $~lib/string/String.__eq @@ -3729,18 +3689,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12096 - i32.store $0 offset=8 i32.const 12096 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12192 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 12192 call $~lib/string/String.__eq @@ -3753,18 +3707,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12288 - i32.store $0 offset=8 i32.const 12288 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12352 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 12352 call $~lib/string/String.__eq @@ -3777,18 +3725,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12352 - i32.store $0 offset=8 i32.const 12352 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12416 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 12416 call $~lib/string/String.__eq @@ -3801,18 +3743,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12480 - i32.store $0 offset=8 i32.const 12480 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12576 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 12576 call $~lib/string/String.__eq @@ -3825,18 +3761,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12576 - i32.store $0 offset=8 i32.const 12576 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12672 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 12672 call $~lib/string/String.__eq @@ -3849,18 +3779,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12768 - i32.store $0 offset=8 i32.const 12768 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12864 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 12864 call $~lib/string/String.__eq @@ -3873,18 +3797,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12864 - i32.store $0 offset=8 i32.const 12864 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12960 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 12960 call $~lib/string/String.__eq @@ -3897,18 +3815,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13056 - i32.store $0 offset=8 i32.const 13056 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13136 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 13136 call $~lib/string/String.__eq @@ -3921,18 +3833,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13216 - i32.store $0 offset=8 i32.const 13216 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13296 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 13296 call $~lib/string/String.__eq @@ -3945,18 +3851,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13376 - i32.store $0 offset=8 i32.const 13376 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13440 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 13440 call $~lib/string/String.__eq @@ -3969,18 +3869,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13504 - i32.store $0 offset=8 i32.const 13504 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13584 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 13584 call $~lib/string/String.__eq @@ -3993,18 +3887,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13664 - i32.store $0 offset=8 i32.const 13664 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13744 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 13744 call $~lib/string/String.__eq @@ -4017,18 +3905,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13824 - i32.store $0 offset=8 i32.const 13824 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13888 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 13888 call $~lib/string/String.__eq @@ -4041,18 +3923,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13952 - i32.store $0 offset=8 i32.const 13952 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14032 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 14032 call $~lib/string/String.__eq @@ -4065,18 +3941,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14112 - i32.store $0 offset=8 i32.const 14112 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14192 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 14192 call $~lib/string/String.__eq @@ -4089,18 +3959,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14272 - i32.store $0 offset=8 i32.const 14272 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14432 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 14432 call $~lib/string/String.__eq @@ -4113,18 +3977,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14272 - i32.store $0 offset=8 i32.const 14272 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14592 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 14592 call $~lib/string/String.__eq @@ -4137,18 +3995,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14752 - i32.store $0 offset=8 i32.const 14752 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14784 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 14784 call $~lib/string/String.__eq @@ -4161,18 +4013,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14816 - i32.store $0 offset=8 i32.const 14816 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14848 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 14848 call $~lib/string/String.__eq @@ -4185,18 +4031,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14880 - i32.store $0 offset=8 i32.const 14880 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15088 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15088 call $~lib/string/String.__eq @@ -4209,24 +4049,18 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14752 - i32.store $0 offset=12 i32.const 14752 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 local.get $5 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15296 call $~lib/string/String.__eq @@ -4239,24 +4073,18 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 15328 - i32.store $0 offset=12 i32.const 15328 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 local.get $5 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15360 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15360 call $~lib/string/String.__eq @@ -4269,24 +4097,18 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 15392 - i32.store $0 offset=12 i32.const 15392 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 local.get $5 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15392 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15392 call $~lib/string/String.__eq @@ -4304,16 +4126,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 local.get $5 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15648 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15648 call $~lib/string/String.__eq @@ -4331,16 +4150,13 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 local.get $5 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15648 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15648 call $~lib/string/String.__eq @@ -4353,18 +4169,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 15680 - i32.store $0 offset=8 i32.const 15680 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15712 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15712 call $~lib/string/String.__eq @@ -4377,18 +4187,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 15744 - i32.store $0 offset=8 i32.const 15744 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15776 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15776 call $~lib/string/String.__eq @@ -4401,18 +4205,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 15808 - i32.store $0 offset=8 i32.const 15808 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15840 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15840 call $~lib/string/String.__eq @@ -4425,18 +4223,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 15872 - i32.store $0 offset=8 i32.const 15872 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15904 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15904 call $~lib/string/String.__eq @@ -4449,18 +4241,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 15936 - i32.store $0 offset=8 i32.const 15936 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15968 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 15968 call $~lib/string/String.__eq @@ -4473,18 +4259,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16000 - i32.store $0 offset=8 i32.const 16000 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16032 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16032 call $~lib/string/String.__eq @@ -4497,18 +4277,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16064 - i32.store $0 offset=8 i32.const 16064 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16096 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16096 call $~lib/string/String.__eq @@ -4521,18 +4295,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16128 - i32.store $0 offset=8 i32.const 16128 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16160 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16160 call $~lib/string/String.__eq @@ -4545,18 +4313,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.store $0 offset=8 i32.const 16192 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16224 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16224 call $~lib/string/String.__eq @@ -4569,18 +4331,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16256 - i32.store $0 offset=8 i32.const 16256 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16288 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16288 call $~lib/string/String.__eq @@ -4593,18 +4349,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.store $0 offset=8 i32.const 16320 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16352 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16352 call $~lib/string/String.__eq @@ -4617,18 +4367,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16384 - i32.store $0 offset=8 i32.const 16384 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16416 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16416 call $~lib/string/String.__eq @@ -4641,18 +4385,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16448 - i32.store $0 offset=8 i32.const 16448 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16480 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16480 call $~lib/string/String.__eq @@ -4665,18 +4403,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16512 - i32.store $0 offset=8 i32.const 16512 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16544 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16544 call $~lib/string/String.__eq @@ -4689,18 +4421,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16576 - i32.store $0 offset=8 i32.const 16576 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16608 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16608 call $~lib/string/String.__eq @@ -4713,18 +4439,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16640 - i32.store $0 offset=8 i32.const 16640 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16672 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16672 call $~lib/string/String.__eq @@ -4737,18 +4457,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16704 - i32.store $0 offset=8 i32.const 16704 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16736 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16736 call $~lib/string/String.__eq @@ -4761,18 +4475,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16768 - i32.store $0 offset=8 i32.const 16768 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16800 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16800 call $~lib/string/String.__eq @@ -4785,18 +4493,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16832 - i32.store $0 offset=8 i32.const 16832 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16864 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16864 call $~lib/string/String.__eq @@ -4809,18 +4511,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16896 - i32.store $0 offset=8 i32.const 16896 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16928 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16928 call $~lib/string/String.__eq @@ -4833,18 +4529,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 16960 - i32.store $0 offset=8 i32.const 16960 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16992 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16992 call $~lib/string/String.__eq @@ -4857,18 +4547,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17024 - i32.store $0 offset=8 i32.const 17024 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17056 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17056 call $~lib/string/String.__eq @@ -4881,18 +4565,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17088 - i32.store $0 offset=8 i32.const 17088 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17120 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17120 call $~lib/string/String.__eq @@ -4905,18 +4583,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17152 - i32.store $0 offset=8 i32.const 17152 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17184 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17184 call $~lib/string/String.__eq @@ -4929,18 +4601,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17216 - i32.store $0 offset=8 i32.const 17216 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17248 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17248 call $~lib/string/String.__eq @@ -4953,18 +4619,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17280 - i32.store $0 offset=8 i32.const 17280 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16352 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 16352 call $~lib/string/String.__eq @@ -4977,18 +4637,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17312 - i32.store $0 offset=8 i32.const 17312 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17344 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17344 call $~lib/string/String.__eq @@ -5001,18 +4655,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17376 - i32.store $0 offset=8 i32.const 17376 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17408 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17408 call $~lib/string/String.__eq @@ -5025,18 +4673,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17440 - i32.store $0 offset=8 i32.const 17440 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17472 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17472 call $~lib/string/String.__eq @@ -5049,18 +4691,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17504 - i32.store $0 offset=8 i32.const 17504 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17536 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17536 call $~lib/string/String.__eq @@ -5073,18 +4709,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17568 - i32.store $0 offset=8 i32.const 17568 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17600 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17600 call $~lib/string/String.__eq @@ -5097,18 +4727,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17632 - i32.store $0 offset=8 i32.const 17632 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17664 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17664 call $~lib/string/String.__eq @@ -5121,18 +4745,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17696 - i32.store $0 offset=8 i32.const 17696 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17728 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17728 call $~lib/string/String.__eq @@ -5145,18 +4763,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17760 - i32.store $0 offset=8 i32.const 17760 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17792 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17792 call $~lib/string/String.__eq @@ -5169,18 +4781,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17824 - i32.store $0 offset=8 i32.const 17824 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17856 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17856 call $~lib/string/String.__eq @@ -5193,18 +4799,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17888 - i32.store $0 offset=8 i32.const 17888 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17920 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17920 call $~lib/string/String.__eq @@ -5217,18 +4817,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 17952 - i32.store $0 offset=8 i32.const 17952 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17984 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 17984 call $~lib/string/String.__eq @@ -5241,18 +4835,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18016 - i32.store $0 offset=8 i32.const 18016 call $~lib/string/String#toLowerCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18048 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18048 call $~lib/string/String.__eq @@ -5265,18 +4853,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18080 - i32.store $0 offset=8 i32.const 18080 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18112 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18112 call $~lib/string/String.__eq @@ -5289,18 +4871,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 15328 - i32.store $0 offset=8 i32.const 15328 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18144 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18144 call $~lib/string/String.__eq @@ -5313,18 +4889,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18176 - i32.store $0 offset=8 i32.const 18176 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18208 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18208 call $~lib/string/String.__eq @@ -5337,18 +4907,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18240 - i32.store $0 offset=8 i32.const 18240 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18272 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18272 call $~lib/string/String.__eq @@ -5361,18 +4925,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18304 - i32.store $0 offset=8 i32.const 18304 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18336 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18336 call $~lib/string/String.__eq @@ -5385,18 +4943,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18368 - i32.store $0 offset=8 i32.const 18368 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18400 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18400 call $~lib/string/String.__eq @@ -5409,18 +4961,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18432 - i32.store $0 offset=8 i32.const 18432 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18400 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18400 call $~lib/string/String.__eq @@ -5433,18 +4979,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18464 - i32.store $0 offset=8 i32.const 18464 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18496 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18496 call $~lib/string/String.__eq @@ -5457,18 +4997,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18528 - i32.store $0 offset=8 i32.const 18528 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18560 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18560 call $~lib/string/String.__eq @@ -5481,18 +5015,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18592 - i32.store $0 offset=8 i32.const 18592 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18624 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18624 call $~lib/string/String.__eq @@ -5505,18 +5033,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18656 - i32.store $0 offset=8 i32.const 18656 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18688 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18688 call $~lib/string/String.__eq @@ -5529,18 +5051,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18720 - i32.store $0 offset=8 i32.const 18720 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18752 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18752 call $~lib/string/String.__eq @@ -5553,18 +5069,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 18784 - i32.store $0 offset=8 i32.const 18784 call $~lib/string/String#toUpperCase local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18816 - i32.store $0 offset=4 + i32.store local.get $5 i32.const 18816 call $~lib/string/String.__eq @@ -5586,26 +5096,26 @@ local.get $4 call $~lib/string/String.fromCodePoint local.tee $5 - i32.store $0 offset=16 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $5 call $~lib/string/String#toLowerCase local.tee $6 - i32.store $0 offset=20 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $5 call $~lib/string/String#toUpperCase local.tee $5 - i32.store $0 offset=24 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 0 call $~lib/string/String#codePointAt @@ -5613,7 +5123,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 1 call $~lib/string/String#codePointAt @@ -5631,7 +5141,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 i32.const 2 call $~lib/string/String#codePointAt @@ -5651,7 +5161,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 0 call $~lib/string/String#codePointAt @@ -5659,7 +5169,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 1 call $~lib/string/String#codePointAt @@ -5677,7 +5187,7 @@ end global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 2 call $~lib/string/String#codePointAt @@ -5771,9 +5281,6 @@ local.get $3 i64.ne if - global.get $~lib/memory/__stack_pointer - i32.const 18848 - i32.store $0 i32.const 18848 i32.const 1 local.get $4 @@ -5783,22 +5290,19 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 18944 - i32.store $0 offset=4 local.get $1 call $~lib/util/number/itoa64 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 i32.const 18944 local.get $5 call $~lib/string/String.__concat local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 0 f64.const 0 @@ -5807,22 +5311,19 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 20784 - i32.store $0 offset=4 local.get $3 call $~lib/util/number/itoa64 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 i32.const 20784 local.get $5 call $~lib/string/String.__concat local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 0 f64.const 0 @@ -5836,9 +5337,6 @@ local.get $2 i64.ne if - global.get $~lib/memory/__stack_pointer - i32.const 20848 - i32.store $0 i32.const 20848 i32.const 1 local.get $4 @@ -5848,22 +5346,19 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 20944 - i32.store $0 offset=4 local.get $2 call $~lib/util/number/itoa64 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 i32.const 20944 local.get $5 call $~lib/string/String.__concat local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 0 f64.const 0 @@ -5872,22 +5367,19 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 21008 - i32.store $0 offset=4 local.get $0 call $~lib/util/number/itoa64 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=4 i32.const 21008 local.get $5 call $~lib/string/String.__concat local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 0 f64.const 0 @@ -5905,7 +5397,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5928,10 +5420,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2 local.get $0 i32.const 65535 @@ -5941,7 +5432,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store local.get $2 if local.get $0 @@ -5972,11 +5463,11 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store else local.get $1 local.get $0 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6008,7 +5499,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i64.eqz if @@ -6092,7 +5583,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $2 local.get $3 i32.add @@ -6159,7 +5650,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $2 local.get $3 i32.add @@ -6196,7 +5687,7 @@ i32.shl i32.const 19212 i32.add - i64.load32_u $0 + i64.load32_u local.get $6 i32.const 100 i32.rem_u @@ -6204,11 +5695,11 @@ i32.shl i32.const 19212 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store local.get $5 local.get $1 i32.const 4 @@ -6227,7 +5718,7 @@ i32.shl i32.const 19212 i32.add - i64.load32_u $0 + i64.load32_u local.get $4 i32.const 100 i32.rem_u @@ -6235,11 +5726,11 @@ i32.shl i32.const 19212 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -6253,7 +5744,7 @@ if local.get $3 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6261,23 +5752,4 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/std/string-encoding.debug.wat b/tests/compiler/std/string-encoding.debug.wat index efe98f27d7..eb35cd9489 100644 --- a/tests/compiler/std/string-encoding.debug.wat +++ b/tests/compiler/std/string-encoding.debug.wat @@ -1,14 +1,15 @@ (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 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/string-encoding/str (mut i32) (i32.const 32)) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) @@ -32,40 +33,40 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 54548)) (global $~lib/memory/__heap_base i32 (i32.const 54548)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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") - (data (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\01\d87\dc\00\00\00\00\00\00\00\00") - (data (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00h\00i\00\00\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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) "L\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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\02\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\02\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\02\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\r\0e\r\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\r\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\r\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\r\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\r\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\r\12 \00`\12\a5\12\r\13)\12 \00\ed\12\04\12\f3\12\r\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\r\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\r\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\r\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\r\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\r\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\r\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\r\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\r\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(\r(\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\r(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(\r(\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\r(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\r(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\r(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\r(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(\r(\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(\r( \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(\r(\n(\07(\11(\06( \00\01(\1d(\19( \00\r(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(;(\r(\n(\1e( \00\r(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\r(\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\r%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) "\8c\1d\00\00\00\00\00\00\00\00\00\00\02\00\00\00p\1d\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\r\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\n\00O\00t\00h\00e\00r\00\n\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c0\00\c8\00 \00/\00 \00c\003\00_\008\000\00 \00c\003\00_\008\008\00\n\00 \00 \00\d8S\cf\91 \00/\00 \00e\005\00_\008\00f\00_\009\008\00 \00e\009\00_\008\007\00_\008\00f\00\n\00 \00 \00A\d8\0e\dfA\d81\df \00/\00 \00f\000\00_\00a\000\00_\009\00c\00_\008\00e\00 \00f\000\00_\00a\000\00_\009\00c\00_\00b\001\00\n\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21760) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") + (data $1 (i32.const 44) "<\00\00\00\00\00\00\00\00\00\00\00\02\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") + (data $2 (i32.const 108) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 240) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 300) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 364) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\01\d87\dc\00\00\00\00\00\00\00\00") + (data $12 (i32.const 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00h\00i\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00R\d8b\df\00\00\00\00\00\00\00\00") + (data $15 (i32.const 668) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $16 (i32.const 732) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") + (data $17 (i32.const 780) "L\00\00\00\00\00\00\00\00\00\00\00\02\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 $18 (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\004\d8\00\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\fd\ff\00\00\00\00\00\00\00\00\00\00") + (data $20 (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\1e\dd\00\00\00\00\00\00\00\00\00\00") + (data $21 (i32.const 956) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $22 (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") + (data $23 (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00h\00i\00R\d8b\df\00\00\00\00") + (data $24 (i32.const 1068) "<3\00\00\00\00\00\00\00\00\00\00\02\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\r\0e\r\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\r\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\r\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\r\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\r\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\r\12 \00`\12\a5\12\r\13)\12 \00\ed\12\04\12\f3\12\r\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\r\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\r\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\r\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\r\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\r\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\r\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\r\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\r\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(\r(\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\r(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(\r(\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\r(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\r(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\r(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\r(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(\r(\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(\r( \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(\r(\n(\07(\11(\06( \00\01(\1d(\19( \00\r(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(;(\r(\n(\1e( \00\r(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\r(\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\r%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 $25 (i32.const 14188) "\8c\1d\00\00\00\00\00\00\00\00\00\00\02\00\00\00p\1d\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\r\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\n\00O\00t\00h\00e\00r\00\n\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c0\00\c8\00 \00/\00 \00c\003\00_\008\000\00 \00c\003\00_\008\008\00\n\00 \00 \00\d8S\cf\91 \00/\00 \00e\005\00_\008\00f\00_\009\008\00 \00e\009\00_\008\007\00_\008\00f\00\n\00 \00 \00A\d8\0e\dfA\d81\df \00/\00 \00f\000\00_\00a\000\00_\009\00c\00_\008\00e\00 \00f\000\00_\00a\000\00_\009\00c\00_\00b\001\00\n\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $26 (i32.const 21760) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String.UTF16.byteLength (param $str i32) (result i32) local.get $str @@ -77,12 +78,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -96,7 +97,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -170,7 +171,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -240,11 +241,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -252,7 +253,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 320 @@ -384,7 +385,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -397,7 +398,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -413,34 +414,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -600,7 +601,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -623,7 +624,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -637,7 +638,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -660,7 +661,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -803,7 +804,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -889,7 +890,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -969,7 +970,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1003,7 +1004,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1026,7 +1027,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1040,27 +1041,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 464 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1085,9 +1091,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1106,7 +1112,7 @@ if i32.const 0 i32.const 464 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1125,7 +1131,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1139,7 +1144,7 @@ if i32.const 0 i32.const 464 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1195,12 +1200,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1234,7 +1239,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1255,7 +1260,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1275,7 +1280,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1295,7 +1300,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1321,7 +1326,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1344,9 +1349,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1382,7 +1388,7 @@ if i32.const 0 i32.const 464 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1648,14 +1654,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1711,7 +1720,7 @@ if i32.const 128 i32.const 464 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1720,6 +1729,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1749,24 +1778,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1804,7 +1822,7 @@ if i32.const 0 i32.const 464 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1819,7 +1837,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1864,7 +1882,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1875,7 +1893,7 @@ if i32.const 0 i32.const 464 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1897,7 +1915,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1920,7 +1938,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1939,22 +1957,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1967,7 +1977,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1994,27 +2004,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2039,7 +2050,7 @@ if i32.const 0 i32.const 464 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2154,7 +2165,7 @@ if i32.const 0 i32.const 464 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2174,7 +2185,7 @@ if i32.const 0 i32.const 464 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2207,12 +2218,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2263,7 +2274,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2285,7 +2296,7 @@ local.get $buf local.get $str local.get $size - memory.copy $0 $0 + memory.copy local.get $size return ) @@ -2337,9 +2348,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2372,10 +2383,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2425,7 +2436,7 @@ i32.lt_u if local.get $strOff - i32.load16_u $0 + i32.load16_u local.set $c1 local.get $c1 i32.const 128 @@ -2468,7 +2479,7 @@ end if local.get $strOff - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 64512 i32.and i32.const 56320 @@ -2531,7 +2542,7 @@ i32.lt_u if local.get $str - i32.load16_u $0 + i32.load16_u local.set $c1 local.get $c1 i32.const 128 @@ -2539,7 +2550,7 @@ if local.get $bufOff local.get $c1 - i32.store8 $0 + i32.store8 local.get $bufOff i32.const 1 i32.add @@ -2577,7 +2588,7 @@ i32.shl local.get $b0 i32.or - i32.store16 $0 + i32.store16 local.get $bufOff i32.const 2 i32.add @@ -2603,7 +2614,7 @@ end if local.get $str - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.set $c2 local.get $c2 i32.const 64512 @@ -2665,7 +2676,7 @@ i32.or local.get $b0|11 i32.or - i32.store $0 + i32.store local.get $bufOff i32.const 4 i32.add @@ -2722,10 +2733,10 @@ i32.shl local.get $b0|15 i32.or - i32.store16 $0 + i32.store16 local.get $bufOff local.get $b2|17 - i32.store8 $0 offset=2 + i32.store8 offset=2 local.get $bufOff i32.const 3 i32.add @@ -2748,7 +2759,7 @@ local.set $bufOff local.get $18 i32.const 0 - i32.store8 $0 + i32.store8 end local.get $bufOff local.get $buf @@ -2757,7 +2768,7 @@ ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2801,7 +2812,7 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) @@ -2851,6 +2862,41 @@ i32.const 0 drop ) + (func $start:std/string-encoding + call $std/string-encoding/testUTF16Length + 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 240 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 272 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 416 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + call $std/string-encoding/testUTF16Encode + call $std/string-encoding/testUTF16Decode + call $std/string-encoding/testUTF16DecodeUnsafe + call $std/string-encoding/testUTF8Length + call $std/string-encoding/testUTF8Encode + call $std/string-encoding/testUTF8EncodeNullTerminated + call $std/string-encoding/testUTF8ErrorMode + call $std/string-encoding/testUTF8Decode + call $std/string-encoding/testUTF8DecodeNullTerminated + call $std/string-encoding/testUTF8DecodeUnsafe + i32.const 1088 + call $std/string-encoding/testRoundtrip + i32.const 14208 + call $std/string-encoding/testRoundtrip + call $~lib/rt/itcms/__collect + ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) global.get $std/string-encoding/str @@ -2876,16 +2922,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2896,7 +2937,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return @@ -2937,12 +2978,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/string-encoding/str local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/string/String.UTF16.byteLength i32.const 12 @@ -2971,25 +3012,25 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $str local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/string/String.UTF16.byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $str local.get $str local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/string/String#get:length local.get $buf @@ -3015,24 +3056,24 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/string/String.UTF16.encode local.tee $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $buf local.set $ptr local.get $buf local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 12 @@ -3047,7 +3088,7 @@ unreachable end local.get $ptr - i32.load8_u $0 + i32.load8_u i32.const 1 i32.eq i32.eqz @@ -3060,7 +3101,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=1 + i32.load8_u offset=1 i32.const 216 i32.eq i32.eqz @@ -3073,7 +3114,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=2 + i32.load8_u offset=2 i32.const 55 i32.eq i32.eqz @@ -3086,7 +3127,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=3 + i32.load8_u offset=3 i32.const 220 i32.eq i32.eqz @@ -3099,7 +3140,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=4 + i32.load8_u offset=4 i32.const 104 i32.eq i32.eqz @@ -3112,7 +3153,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=5 + i32.load8_u offset=5 i32.const 0 i32.eq i32.eqz @@ -3125,7 +3166,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=6 + i32.load8_u offset=6 i32.const 105 i32.eq i32.eqz @@ -3138,7 +3179,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=7 + i32.load8_u offset=7 i32.const 0 i32.eq i32.eqz @@ -3151,7 +3192,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=8 + i32.load8_u offset=8 i32.const 82 i32.eq i32.eqz @@ -3164,7 +3205,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=9 + i32.load8_u offset=9 i32.const 216 i32.eq i32.eqz @@ -3177,7 +3218,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=10 + i32.load8_u offset=10 i32.const 98 i32.eq i32.eqz @@ -3190,7 +3231,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=11 + i32.load8_u offset=11 i32.const 223 i32.eq i32.eqz @@ -3216,13 +3257,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $buf local.get $buf local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBuffer#get:byteLength call $~lib/string/String.UTF16.decodeUnsafe @@ -3244,7 +3285,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -3282,7 +3323,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -3291,7 +3332,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -3309,14 +3350,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -3340,37 +3381,37 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/string/String.UTF16.encode local.tee $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $buf local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 call $~lib/string/String.UTF16.decode local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 global.get $std/string-encoding/str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/string/String.__eq i32.eqz @@ -3399,25 +3440,25 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String.UTF16.encode local.tee $buf - i32.store $0 offset=4 + i32.store offset=4 global.get $std/string-encoding/str local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String.UTF16.byteLength local.set $len @@ -3429,14 +3470,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 528 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -3453,13 +3489,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 global.get $std/string-encoding/str local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/string/String.__eq i32.eqz @@ -3477,14 +3513,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 560 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -3503,14 +3534,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 592 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -3529,14 +3555,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 624 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -3555,14 +3576,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 656 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -3581,14 +3597,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 528 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -3613,12 +3624,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/string-encoding/str local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/string/String.UTF8.byteLength @@ -3637,7 +3648,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -3667,26 +3678,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer local.get $str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $nullTerminated call $~lib/string/String.UTF8.byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $str local.get $str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/string/String#get:length local.get $buf @@ -3712,7 +3723,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -3734,7 +3745,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $nullTerminated local.get $errorMode @@ -3757,13 +3768,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 0 i32.const 1 @@ -3771,14 +3782,14 @@ i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $buf local.set $ptr local.get $buf local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 10 @@ -3793,7 +3804,7 @@ unreachable end local.get $ptr - i32.load8_u $0 + i32.load8_u i32.const 240 i32.eq i32.eqz @@ -3806,7 +3817,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=1 + i32.load8_u offset=1 i32.const 144 i32.eq i32.eqz @@ -3819,7 +3830,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=2 + i32.load8_u offset=2 i32.const 144 i32.eq i32.eqz @@ -3832,7 +3843,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=3 + i32.load8_u offset=3 i32.const 183 i32.eq i32.eqz @@ -3845,7 +3856,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=4 + i32.load8_u offset=4 i32.const 104 i32.eq i32.eqz @@ -3858,7 +3869,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=5 + i32.load8_u offset=5 i32.const 105 i32.eq i32.eqz @@ -3871,7 +3882,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=6 + i32.load8_u offset=6 i32.const 240 i32.eq i32.eqz @@ -3884,7 +3895,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=7 + i32.load8_u offset=7 i32.const 164 i32.eq i32.eqz @@ -3897,7 +3908,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=8 + i32.load8_u offset=8 i32.const 173 i32.eq i32.eqz @@ -3910,7 +3921,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=9 + i32.load8_u offset=9 i32.const 162 i32.eq i32.eqz @@ -3940,16 +3951,16 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 1 i32.const 2 @@ -3957,14 +3968,14 @@ i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $buf local.set $ptr local.get $buf local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 11 @@ -3979,7 +3990,7 @@ unreachable end local.get $ptr - i32.load8_u $0 + i32.load8_u i32.const 240 i32.eq i32.eqz @@ -3992,7 +4003,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=1 + i32.load8_u offset=1 i32.const 144 i32.eq i32.eqz @@ -4005,7 +4016,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=2 + i32.load8_u offset=2 i32.const 144 i32.eq i32.eqz @@ -4018,7 +4029,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=3 + i32.load8_u offset=3 i32.const 183 i32.eq i32.eqz @@ -4031,7 +4042,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=4 + i32.load8_u offset=4 i32.const 104 i32.eq i32.eqz @@ -4044,7 +4055,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=5 + i32.load8_u offset=5 i32.const 105 i32.eq i32.eqz @@ -4057,7 +4068,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=6 + i32.load8_u offset=6 i32.const 240 i32.eq i32.eqz @@ -4070,7 +4081,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=7 + i32.load8_u offset=7 i32.const 164 i32.eq i32.eqz @@ -4083,7 +4094,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=8 + i32.load8_u offset=8 i32.const 173 i32.eq i32.eqz @@ -4096,7 +4107,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=9 + i32.load8_u offset=9 i32.const 162 i32.eq i32.eqz @@ -4109,7 +4120,7 @@ unreachable end local.get $ptr - i32.load8_u $0 offset=10 + i32.load8_u offset=10 i32.const 0 i32.eq i32.eqz @@ -4124,13 +4135,13 @@ global.get $~lib/memory/__stack_pointer i32.const 800 local.tee $str2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $str2 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 1 i32.const 2 @@ -4138,19 +4149,19 @@ i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf2 - i32.store $0 offset=12 + i32.store offset=12 local.get $buf2 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.get $str2 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -4178,13 +4189,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $buf local.get $buf local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.get $nullTerminated @@ -4201,47 +4212,34 @@ (local $str i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store global.get $~lib/memory/__stack_pointer i32.const 880 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 0 i32.const 0 call $~lib/string/String.UTF8.encode local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.tee $str - i32.store $0 offset=8 + i32.store offset=4 local.get $str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 880 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -4254,35 +4252,25 @@ end global.get $~lib/memory/__stack_pointer i32.const 880 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 0 i32.const 1 call $~lib/string/String.UTF8.encode local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.tee $str - i32.store $0 offset=8 + i32.store offset=4 local.get $str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 912 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -4295,35 +4283,25 @@ end global.get $~lib/memory/__stack_pointer i32.const 944 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 0 i32.const 0 call $~lib/string/String.UTF8.encode local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.tee $str - i32.store $0 offset=8 + i32.store offset=4 local.get $str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 944 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -4336,35 +4314,25 @@ end global.get $~lib/memory/__stack_pointer i32.const 944 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 0 i32.const 1 call $~lib/string/String.UTF8.encode local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.tee $str - i32.store $0 offset=8 + i32.store offset=4 local.get $str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 912 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -4376,7 +4344,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4390,16 +4358,16 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 0 i32.const 1 @@ -4407,25 +4375,25 @@ i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $buf local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 global.get $std/string-encoding/str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/string/String.__eq i32.eqz @@ -4457,13 +4425,13 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 32 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 1 i32.const 2 @@ -4471,25 +4439,25 @@ i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $buf local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 i32.const 1 call $~lib/string/String.UTF8.decode local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 global.get $std/string-encoding/str local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/string/String.__eq i32.eqz @@ -4504,12 +4472,12 @@ global.get $~lib/memory/__stack_pointer i32.const 976 local.tee $str2 - i32.store $0 offset=16 + i32.store offset=16 local.get $str2 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -4529,7 +4497,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 1 i32.const 2 @@ -4537,12 +4505,12 @@ i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf2 - i32.store $0 offset=20 + i32.store offset=20 local.get $buf2 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 4 @@ -4559,12 +4527,12 @@ global.get $~lib/memory/__stack_pointer i32.const 1024 local.tee $str3 - i32.store $0 offset=24 + i32.store offset=24 local.get $str3 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -4583,20 +4551,20 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 i32.const 1 call $~lib/string/String.UTF8.decode local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $str3 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/string/String.__eq i32.eqz @@ -4613,7 +4581,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 i32.const 0 i32.const 2 @@ -4621,25 +4589,25 @@ i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf3 - i32.store $0 offset=28 + i32.store offset=28 local.get $buf3 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 i32.const 1 call $~lib/string/String.UTF8.decode local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $str3 local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 call $~lib/string/String.__eq i32.eqz @@ -4668,16 +4636,16 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.const 2 @@ -4685,12 +4653,12 @@ i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf - i32.store $0 offset=4 + i32.store offset=4 global.get $std/string-encoding/str local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 call $~lib/string/String.UTF8.byteLength @@ -4704,14 +4672,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 528 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4729,13 +4692,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 global.get $std/string-encoding/str local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/string/String.__eq i32.eqz @@ -4754,14 +4717,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 560 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4781,14 +4739,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 624 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4808,14 +4761,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 656 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4835,14 +4783,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 528 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4862,14 +4805,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 1056 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4889,14 +4827,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 656 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4916,14 +4849,9 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 528 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4951,13 +4879,13 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer local.get $str local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 i32.const 1 @@ -4965,25 +4893,25 @@ i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf8 - i32.store $0 offset=4 + i32.store offset=4 local.get $buf8 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $3 i32.const 0 call $~lib/string/String.UTF8.decode local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $str local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/string/String.__eq i32.eqz @@ -5000,28 +4928,28 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String.UTF16.encode local.tee $buf16 - i32.store $0 offset=16 + i32.store offset=16 local.get $buf16 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $3 call $~lib/string/String.UTF16.decode local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $str local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/string/String.__eq i32.eqz @@ -5038,64 +4966,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $start:std/string-encoding - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - call $std/string-encoding/testUTF16Length - memory.size $0 - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 240 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 272 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 416 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - call $std/string-encoding/testUTF16Encode - call $std/string-encoding/testUTF16Decode - call $std/string-encoding/testUTF16DecodeUnsafe - call $std/string-encoding/testUTF8Length - call $std/string-encoding/testUTF8Encode - call $std/string-encoding/testUTF8EncodeNullTerminated - call $std/string-encoding/testUTF8ErrorMode - call $std/string-encoding/testUTF8Decode - call $std/string-encoding/testUTF8DecodeNullTerminated - call $std/string-encoding/testUTF8DecodeUnsafe - i32.const 1088 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $std/string-encoding/testRoundtrip - i32.const 14208 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $std/string-encoding/testRoundtrip - call $~lib/rt/itcms/__collect - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $~lib/string/String.UTF16.decodeUnsafe (param $buf i32) (param $len i32) (result i32) (local $str i32) (local $3 i32) @@ -5106,7 +4976,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $len i32.const 1 @@ -5117,11 +4987,11 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $str - i32.store $0 + i32.store local.get $str local.get $buf local.get $len - memory.copy $0 $0 + memory.copy local.get $str local.set $3 global.get $~lib/memory/__stack_pointer @@ -5149,7 +5019,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $buf local.set $bufOff local.get $buf @@ -5175,7 +5045,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $str - i32.store $0 + i32.store local.get $str local.set $strOff block $while-break|0 @@ -5185,7 +5055,7 @@ i32.lt_u if local.get $bufOff - i32.load8_u $0 + i32.load8_u local.set $u0 local.get $bufOff i32.const 1 @@ -5205,7 +5075,7 @@ end local.get $strOff local.get $u0 - i32.store16 $0 + i32.store16 else local.get $bufEnd local.get $bufOff @@ -5214,7 +5084,7 @@ br $while-break|0 end local.get $bufOff - i32.load8_u $0 + i32.load8_u i32.const 63 i32.and local.set $u1 @@ -5236,7 +5106,7 @@ i32.shl local.get $u1 i32.or - i32.store16 $0 + i32.store16 else local.get $bufEnd local.get $bufOff @@ -5245,7 +5115,7 @@ br $while-break|0 end local.get $bufOff - i32.load8_u $0 + i32.load8_u i32.const 63 i32.and local.set $u2 @@ -5292,7 +5162,7 @@ i32.shl i32.or local.get $bufOff - i32.load8_u $0 + i32.load8_u i32.const 63 i32.and i32.or @@ -5308,7 +5178,7 @@ if local.get $strOff local.get $u0 - i32.store16 $0 + i32.store16 else local.get $u0 i32.const 65536 @@ -5332,7 +5202,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $strOff i32.const 2 i32.add diff --git a/tests/compiler/std/string-encoding.release.wat b/tests/compiler/std/string-encoding.release.wat index 15f2ab71e4..1dd0f55a65 100644 --- a/tests/compiler/std/string-encoding.release.wat +++ b/tests/compiler/std/string-encoding.release.wat @@ -1,13 +1,13 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) + (type $8 (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)) @@ -22,69 +22,69 @@ (global $~argumentsLength (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 55572)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") - (data (i32.const 1068) "<") - (data (i32.const 1080) "\02\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") - (data (i32.const 1132) "<") - (data (i32.const 1144) "\02\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 1196) "<") - (data (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1324) "<") - (data (i32.const 1336) "\02\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 1388) ",") - (data (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1468) "<") - (data (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1532) "\1c") - (data (i32.const 1544) "\02") - (data (i32.const 1564) "\1c") - (data (i32.const 1576) "\02\00\00\00\04\00\00\00\01\d87\dc") - (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\02\00\00\00\02\00\00\00h") - (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\02\00\00\00\04\00\00\00h\00i") - (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\02\00\00\00\04\00\00\00R\d8b\df") - (data (i32.const 1692) "<") - (data (i32.const 1704) "\02\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) "\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 1804) "L") - (data (i32.const 1816) "\02\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) "\02\00\00\00\02\00\00\004\d8") - (data (i32.const 1916) "\1c") - (data (i32.const 1928) "\02\00\00\00\02\00\00\00\fd\ff") - (data (i32.const 1948) "\1c") - (data (i32.const 1960) "\02\00\00\00\02\00\00\00\1e\dd") - (data (i32.const 1980) ",") - (data (i32.const 1992) "\02\00\00\00\0e\00\00\001\002\003\00\00\004\005\006") - (data (i32.const 2028) "\1c") - (data (i32.const 2040) "\02\00\00\00\06\00\00\001\002\003") - (data (i32.const 2060) "\1c") - (data (i32.const 2072) "\02\00\00\00\08\00\00\00h\00i\00R\d8b\df") - (data (i32.const 2092) "<3") - (data (i32.const 2104) "\02\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\r\0e\r\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\r\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\r\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\r\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\r\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\r\12 \00`\12\a5\12\r\13)\12 \00\ed\12\04\12\f3\12\r\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\r\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\r\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\r\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\r\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\r\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\r\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\r\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\r\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(\r(\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\r(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(\r(\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\r(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\r(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\r(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\r(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(\r(\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(\r( \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(\r(\n(\07(\11(\06( \00\01(\1d(\19( \00\r(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(;(\r(\n(\1e( \00\r(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\r(\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\r%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) "\8c\1d") - (data (i32.const 15224) "\02\00\00\00p\1d\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\r\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\n\00O\00t\00h\00e\00r\00\n\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c0\00\c8\00 \00/\00 \00c\003\00_\008\000\00 \00c\003\00_\008\008\00\n\00 \00 \00\d8S\cf\91 \00/\00 \00e\005\00_\008\00f\00_\009\008\00 \00e\009\00_\008\007\00_\008\00f\00\n\00 \00 \00A\d8\0e\dfA\d81\df \00/\00 \00f\000\00_\00a\000\00_\009\00c\00_\008\00e\00 \00f\000\00_\00a\000\00_\009\00c\00_\00b\001\00\n") - (data (i32.const 22784) "\04\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\0c\00\00\00\01\d87\dch\00i\00R\d8b\df") + (data $1 (i32.const 1068) "<") + (data $1.1 (i32.const 1080) "\02\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") + (data $2 (i32.const 1132) "<") + (data $2.1 (i32.const 1144) "\02\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 $3 (i32.const 1196) "<") + (data $3.1 (i32.const 1208) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1324) "<") + (data $6.1 (i32.const 1336) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1388) ",") + (data $7.1 (i32.const 1400) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1468) "<") + (data $9.1 (i32.const 1480) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1532) "\1c") + (data $10.1 (i32.const 1544) "\02") + (data $11 (i32.const 1564) "\1c") + (data $11.1 (i32.const 1576) "\02\00\00\00\04\00\00\00\01\d87\dc") + (data $12 (i32.const 1596) "\1c") + (data $12.1 (i32.const 1608) "\02\00\00\00\02\00\00\00h") + (data $13 (i32.const 1628) "\1c") + (data $13.1 (i32.const 1640) "\02\00\00\00\04\00\00\00h\00i") + (data $14 (i32.const 1660) "\1c") + (data $14.1 (i32.const 1672) "\02\00\00\00\04\00\00\00R\d8b\df") + (data $15 (i32.const 1692) "<") + (data $15.1 (i32.const 1704) "\02\00\00\00$\00\00\00U\00n\00p\00a\00i\00r\00e\00d\00 \00s\00u\00r\00r\00o\00g\00a\00t\00e") + (data $16 (i32.const 1756) ",") + (data $16.1 (i32.const 1768) "\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") + (data $17 (i32.const 1804) "L") + (data $17.1 (i32.const 1816) "\02\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 $18 (i32.const 1884) "\1c") + (data $18.1 (i32.const 1896) "\02\00\00\00\02\00\00\004\d8") + (data $19 (i32.const 1916) "\1c") + (data $19.1 (i32.const 1928) "\02\00\00\00\02\00\00\00\fd\ff") + (data $20 (i32.const 1948) "\1c") + (data $20.1 (i32.const 1960) "\02\00\00\00\02\00\00\00\1e\dd") + (data $21 (i32.const 1980) ",") + (data $21.1 (i32.const 1992) "\02\00\00\00\0e\00\00\001\002\003\00\00\004\005\006") + (data $22 (i32.const 2028) "\1c") + (data $22.1 (i32.const 2040) "\02\00\00\00\06\00\00\001\002\003") + (data $23 (i32.const 2060) "\1c") + (data $23.1 (i32.const 2072) "\02\00\00\00\08\00\00\00h\00i\00R\d8b\df") + (data $24 (i32.const 2092) "<3") + (data $24.1 (i32.const 2104) "\02\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\r\0e\r\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\r\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\r\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\r\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\r\13\19\12b\13\n\00@\125\12 \00`\12@\125\12e\13 \00\d5\12\95\12A\12\0b\12\r\12 \00`\12\a5\12\r\13)\12 \00\ed\12\04\12\f3\12\r\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\r\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\r\12E\12b\13\n\00%\12+\12 \00\a8\12\18\12M\13s\12u\12 \00\r\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\r\13\95\12\f5\12 \00\ed\12\de\12 \00\ed\12\de\12+\12\r\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\r\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\r\13-\12\05\12\95\12 \00`\12M\13+\12=\12\05\12 \00\r\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(\r(\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\r(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(\r(\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\r(\11(\01(\1d( \00\1e(\15( \00\0e(\01(9( \009(\01(\1e( \00J( \00\05(\1d(*(\02( \00\15(\0b( \00\r(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\r(\n(#(\1e( \00\19(\01(\'(\11( \00\03(\11(2( \00\14(\n(\07(\14(+(\02( \00\r(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(\r(\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(\r( \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(\r(\n(\07(\11(\06( \00\01(\1d(\19( \00\r(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(;(\r(\n(\1e( \00\r(\11( \00\1e(\15( \00\17(\11(\0f(\11(\01(\1e(\02( \00\11(\r(\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\r%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 $25 (i32.const 15212) "\8c\1d") + (data $25.1 (i32.const 15224) "\02\00\00\00p\1d\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\r\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\n\00O\00t\00h\00e\00r\00\n\00-\00-\00-\00-\00-\00\n\00\n\00 \00 \00\c0\00\c8\00 \00/\00 \00c\003\00_\008\000\00 \00c\003\00_\008\008\00\n\00 \00 \00\d8S\cf\91 \00/\00 \00e\005\00_\008\00f\00_\009\008\00 \00e\009\00_\008\007\00_\008\00f\00\n\00 \00 \00A\d8\0e\dfA\d81\df \00/\00 \00f\000\00_\00a\000\00_\009\00c\00_\008\00e\00 \00f\000\00_\00a\000\00_\009\00c\00_\00b\001\00\n") + (data $26 (i32.const 22784) "\04\00\00\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 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1344 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1152 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1712 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -94,7 +94,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -112,7 +112,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -120,137 +120,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 55572 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$158 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 55572 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$158 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1216 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 22784 + i32.load + i32.gt_u + if + i32.const 1344 + i32.const 1408 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 22788 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 22784 - i32.load $0 - i32.gt_u - if - i32.const 1344 - i32.const 1408 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 22788 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -258,8 +278,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -271,10 +291,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -285,29 +305,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -315,10 +335,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -332,75 +352,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -422,7 +435,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -439,12 +452,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -461,17 +474,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -481,9 +494,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -508,13 +521,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -548,7 +561,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -604,19 +617,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -628,15 +641,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -644,23 +657,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1488 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -674,10 +689,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -685,23 +700,22 @@ if i32.const 0 i32.const 1488 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -713,52 +727,53 @@ if i32.const 0 i32.const 1488 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -766,7 +781,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -774,7 +789,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -785,10 +800,10 @@ end i32.const 55584 i32.const 0 - i32.store $0 + i32.store i32.const 57152 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -800,7 +815,7 @@ i32.const 55584 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -818,7 +833,7 @@ i32.const 55584 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -835,9 +850,10 @@ end i32.const 55584 i32.const 57156 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 55584 global.set $~lib/rt/tlsf/ROOT @@ -867,7 +883,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -880,19 +896,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -903,7 +919,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -915,7 +931,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -928,12 +944,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -942,7 +954,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -953,26 +965,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -988,7 +1000,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1004,7 +1016,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1029,14 +1041,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1056,7 +1068,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1071,25 +1082,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1488 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1098,12 +1108,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1111,47 +1120,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1162,7 +1173,7 @@ if i32.const 0 i32.const 1488 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1172,7 +1183,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1189,10 +1200,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1208,13 +1219,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1488 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1229,7 +1240,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1256,7 +1267,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$70 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1268,16 +1279,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$70 end local.get $2 i32.const 0 @@ -1285,8 +1292,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1313,34 +1319,60 @@ if i32.const 1152 i32.const 1488 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1348,21 +1380,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1375,12 +1392,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1391,9 +1408,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1403,7 +1421,7 @@ if i32.const 0 i32.const 1488 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1411,14 +1429,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1488 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1427,8 +1445,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1437,95 +1455,95 @@ if i32.const 0 i32.const 1488 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1538,7 +1556,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/string/String.UTF8.byteLength (param $0 i32) (param $1 i32) (result i32) @@ -1549,7 +1567,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.add local.set $4 local.get $1 @@ -1563,7 +1581,7 @@ if block $while-break|0 local.get $0 - i32.load16_u $0 + i32.load16_u local.tee $3 i32.const 128 i32.lt_u @@ -1598,7 +1616,7 @@ i32.and if local.get $0 - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 64512 i32.and i32.const 56320 @@ -1631,38 +1649,10 @@ end local.get $2 ) - (func $~lib/rt/__visit_members (param $0 i32) - block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid - end - return - end - return - end - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - unreachable - ) - (func $~start + (func $start:std/string-encoding (local $0 i32) (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1673,26 +1663,13 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22804 - i32.lt_s - br_if $folding-inner1 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 i32.const 1056 - i32.store $0 + i32.store i32.const 1052 - i32.load $0 + i32.load i32.const 12 i32.ne if @@ -1707,7 +1684,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 55572 @@ -1717,26 +1694,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1268 i32.const 1264 - i32.store $0 + i32.store i32.const 1272 i32.const 1264 - i32.store $0 + i32.store i32.const 1264 global.set $~lib/rt/itcms/pinSpace i32.const 1300 i32.const 1296 - i32.store $0 + i32.store i32.const 1304 i32.const 1296 - i32.store $0 + i32.store i32.const 1296 global.set $~lib/rt/itcms/toSpace i32.const 1444 i32.const 1440 - i32.store $0 + i32.store i32.const 1448 i32.const 1440 - i32.store $0 + i32.store i32.const 1440 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1748,24 +1725,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 call $~lib/string/String.UTF16.encode local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.ne if @@ -1777,7 +1753,7 @@ unreachable end local.get $0 - i32.load8_u $0 + i32.load8_u i32.const 1 i32.ne if @@ -1789,7 +1765,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=1 + i32.load8_u offset=1 i32.const 216 i32.ne if @@ -1801,7 +1777,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=2 + i32.load8_u offset=2 i32.const 55 i32.ne if @@ -1813,7 +1789,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=3 + i32.load8_u offset=3 i32.const 220 i32.ne if @@ -1825,7 +1801,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=4 + i32.load8_u offset=4 i32.const 104 i32.ne if @@ -1837,7 +1813,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=5 + i32.load8_u offset=5 if i32.const 0 i32.const 1088 @@ -1847,7 +1823,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=6 + i32.load8_u offset=6 i32.const 105 i32.ne if @@ -1859,7 +1835,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=7 + i32.load8_u offset=7 if i32.const 0 i32.const 1088 @@ -1869,7 +1845,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=8 + i32.load8_u offset=8 i32.const 82 i32.ne if @@ -1881,7 +1857,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=9 + i32.load8_u offset=9 i32.const 216 i32.ne if @@ -1893,7 +1869,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=10 + i32.load8_u offset=10 i32.const 98 i32.ne if @@ -1905,7 +1881,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=11 + i32.load8_u offset=11 i32.const 223 i32.ne if @@ -1929,32 +1905,31 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 call $~lib/string/String.UTF16.encode local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 call $~lib/string/String.UTF16.decode local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1056 call $~lib/string/String.__eq @@ -1971,9 +1946,8 @@ i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - call $std/string-encoding/testUTF16DecodeUnsafe 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 @@ -1981,114 +1955,288 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + call $~lib/string/String.UTF16.encode + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 1056 + i32.store + i32.const 1052 + i32.load + local.set $2 + local.get $1 i32.const 0 - call $~lib/string/String.UTF8.byteLength - i32.const 10 - i32.ne + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 1552 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1088 - i32.const 55 + i32.const 42 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $1 + local.get $2 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store offset=8 + local.get $0 i32.const 1056 - i32.const 1 - call $~lib/string/String.UTF8.byteLength - i32.const 11 - i32.ne + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1088 - i32.const 56 + i32.const 43 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer + local.get $1 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22804 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 1056 - i32.store $0 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 1056 - i32.const 0 - call $~lib/string/String.UTF8.encode@varargs - local.tee $0 - i32.store $0 offset=4 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 10 - i32.ne + i32.const 1584 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1088 - i32.const 63 + i32.const 44 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $1 + i32.const 4 + i32.add + i32.const 2 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load8_u $0 - i32.const 240 - i32.ne + i32.store + local.get $0 + i32.const 1616 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1088 - i32.const 64 + i32.const 45 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $1 + i32.const 4 + i32.add + i32.const 4 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load8_u $0 offset=1 - i32.const 144 - i32.ne + i32.store + local.get $0 + i32.const 1648 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1088 - i32.const 65 + i32.const 46 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load8_u $0 offset=2 - i32.const 144 - i32.ne - if + local.get $1 + i32.const 8 + i32.add + i32.const 4 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 1680 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 47 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 12 + i32.add + i32.const 0 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 1552 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 48 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22804 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1056 + i32.const 0 + call $~lib/string/String.UTF8.byteLength + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 55 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1056 + i32.const 1 + call $~lib/string/String.UTF8.byteLength + i32.const 11 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22804 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.const 0 + call $~lib/string/String.UTF8.encode@varargs + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 63 + 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 64 + 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 65 + 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 66 @@ -2097,7 +2245,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=3 + i32.load8_u offset=3 i32.const 183 i32.ne if @@ -2109,7 +2257,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=4 + i32.load8_u offset=4 i32.const 104 i32.ne if @@ -2121,7 +2269,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=5 + i32.load8_u offset=5 i32.const 105 i32.ne if @@ -2133,7 +2281,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=6 + i32.load8_u offset=6 i32.const 240 i32.ne if @@ -2145,7 +2293,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=7 + i32.load8_u offset=7 i32.const 164 i32.ne if @@ -2157,7 +2305,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=8 + i32.load8_u offset=8 i32.const 173 i32.ne if @@ -2169,7 +2317,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=9 + i32.load8_u offset=9 i32.const 162 i32.ne if @@ -2186,7 +2334,7 @@ global.set $~lib/memory/__stack_pointer call $std/string-encoding/testUTF8EncodeNullTerminated global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2194,15 +2342,9 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 1904 - i32.store $0 offset=4 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 1904 i32.const 0 i32.const 0 @@ -2210,19 +2352,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1904 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1904 call $~lib/string/String.__eq @@ -2236,9 +2374,6 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1904 - i32.store $0 offset=4 i32.const 1904 i32.const 0 i32.const 1 @@ -2246,19 +2381,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1936 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1936 call $~lib/string/String.__eq @@ -2272,9 +2403,6 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1968 - i32.store $0 offset=4 i32.const 1968 i32.const 0 i32.const 0 @@ -2282,19 +2410,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1968 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1968 call $~lib/string/String.__eq @@ -2308,9 +2432,6 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1968 - i32.store $0 offset=4 i32.const 1968 i32.const 0 i32.const 1 @@ -2318,19 +2439,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1936 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1936 call $~lib/string/String.__eq @@ -2344,7 +2461,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2356,36 +2473,35 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1056 i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 0 call $~lib/string/String.UTF8.decode local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1056 call $~lib/string/String.__eq @@ -2411,34 +2527,33 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.const 32 - memory.fill $0 - local.get $0 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 2 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1056 i32.const 1 call $~lib/string/String.UTF8.encode@varargs local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 1 call $~lib/string/String.UTF8.decode local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1056 call $~lib/string/String.__eq @@ -2452,12 +2567,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 2000 - i32.store $0 offset=16 - local.get $0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 2000 - i32.store $0 + i32.store i32.const 2000 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -2472,24 +2586,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 2000 - i32.store $0 + i32.store i32.const 2 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 2000 i32.const 1 call $~lib/string/String.UTF8.encode@varargs local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 4 i32.ne if @@ -2501,12 +2614,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 2048 - i32.store $0 offset=24 - local.get $1 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer i32.const 2048 - i32.store $0 + i32.store i32.const 2048 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -2522,17 +2634,17 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 1 call $~lib/string/String.UTF8.decode local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 2048 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2048 call $~lib/string/String.__eq @@ -2546,30 +2658,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 2000 - i32.store $0 + i32.store i32.const 2 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 2000 i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $0 - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 1 call $~lib/string/String.UTF8.decode local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 2048 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2048 call $~lib/string/String.__eq @@ -2587,14 +2698,8 @@ i32.add global.set $~lib/memory/__stack_pointer call $std/string-encoding/testUTF8DecodeUnsafe - global.get $~lib/memory/__stack_pointer - i32.const 2112 - i32.store $0 i32.const 2112 call $std/string-encoding/testRoundtrip - global.get $~lib/memory/__stack_pointer - i32.const 15232 - i32.store $0 i32.const 15232 call $std/string-encoding/testRoundtrip global.get $~lib/rt/itcms/state @@ -2630,10 +2735,6 @@ i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer return end i32.const 55600 @@ -2643,6 +2744,34 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/rt/__visit_members (param $0 i32) + block $invalid + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + unreachable + ) + (func $~start + call $start:std/string-encoding + ) (func $~lib/string/String.UTF16.encode (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -2661,33 +2790,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2695,7 +2823,6 @@ local.get $1 ) (func $~lib/string/String.UTF16.decode (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2712,397 +2839,183 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22804 - i32.lt_s - if - i32.const 55600 - i32.const 55648 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $0 - local.get $1 - i32.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - return - end - block $folding-inner0 - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.set $3 - local.get $2 - local.get $1 - i32.store $0 - local.get $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - local.get $1 - i32.const 8 - i32.add - local.set $1 - local.get $0 - i32.const 4 - i32.sub - local.tee $0 - i32.const 4 - i32.ge_u - br_if $do-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - i32.eqz - return - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - ) - (func $std/string-encoding/testUTF16DecodeUnsafe - (local $0 i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 22804 - i32.lt_s - if - i32.const 55600 - i32.const 55648 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 1056 - i32.store $0 - local.get $0 - i32.const 1056 - call $~lib/string/String.UTF16.encode - local.tee $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 - i32.const 1052 - i32.load $0 - local.set $1 - local.get $0 - i32.const 0 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1552 - i32.store $0 offset=8 - local.get $2 - i32.const 1552 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 42 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 - local.get $2 - i32.const 1056 - i32.store $0 offset=8 - local.get $1 - i32.const 1056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 43 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 - local.get $2 - i32.const 1584 - i32.store $0 offset=8 - local.get $1 - i32.const 1584 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 44 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.add - i32.const 2 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 - local.get $2 - i32.const 1616 - i32.store $0 offset=8 - local.get $1 - i32.const 1616 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 4 - i32.add - i32.const 4 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 - local.get $2 - i32.const 1648 - i32.store $0 offset=8 - local.get $1 - i32.const 1648 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 8 - i32.add - i32.const 4 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 - local.get $2 - i32.const 1680 - i32.store $0 offset=8 - local.get $1 - i32.const 1680 - call $~lib/string/String.__eq - i32.eqz + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22804 + i32.lt_s if - i32.const 0 - i32.const 1088 - i32.const 47 - i32.const 3 + i32.const 55600 + i32.const 55648 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 12 - i32.add - i32.const 0 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 + i64.const 0 + i64.store local.get $0 - i32.store $0 local.get $1 - i32.const 1552 - i32.store $0 offset=8 - local.get $0 - i32.const 1552 - call $~lib/string/String.__eq - i32.eqz + i32.eq if - i32.const 0 - i32.const 1088 - i32.const 48 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz + 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$94 + 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$94 + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.eqz + return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 ) (func $~lib/string/String.UTF8.encode (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -3126,49 +3039,48 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 call $~lib/string/String.UTF8.byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $5 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $5 local.set $4 local.get $0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and i32.add local.set $6 - block $__inlined_func$~lib/string/String.UTF8.encodeUnsafe + block $__inlined_func$~lib/string/String.UTF8.encodeUnsafe$1 loop $while-continue|0 local.get $0 local.get $6 i32.lt_u if local.get $0 - i32.load16_u $0 + i32.load16_u local.tee $3 i32.const 128 i32.lt_u if local.get $4 local.get $3 - i32.store8 $0 + i32.store8 local.get $4 i32.const 1 i32.add @@ -3177,7 +3089,7 @@ local.get $3 i32.eqz i32.and - br_if $__inlined_func$~lib/string/String.UTF8.encodeUnsafe + br_if $__inlined_func$~lib/string/String.UTF8.encodeUnsafe$1 else local.get $3 i32.const 2048 @@ -3197,7 +3109,7 @@ i32.const 8 i32.shl i32.or - i32.store16 $0 + i32.store16 local.get $4 i32.const 2 i32.add @@ -3219,7 +3131,7 @@ i32.and if local.get $0 - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.tee $7 i32.const 64512 i32.and @@ -3271,7 +3183,7 @@ i32.const 240 i32.or i32.or - i32.store $0 + i32.store local.get $4 i32.const 4 i32.add @@ -3316,14 +3228,14 @@ i32.const 8 i32.shl i32.or - i32.store16 $0 + i32.store16 local.get $4 local.get $3 i32.const 63 i32.and i32.const 128 i32.or - i32.store8 $0 offset=2 + i32.store8 offset=2 local.get $4 i32.const 3 i32.add @@ -3341,7 +3253,7 @@ if local.get $4 i32.const 0 - i32.store8 $0 + i32.store8 end end global.get $~lib/memory/__stack_pointer @@ -3368,7 +3280,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $0of2 block $outOfRange @@ -3384,17 +3296,15 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.const 0 call $~lib/string/String.UTF8.encode - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/string-encoding/testUTF8EncodeNullTerminated (local $0 i32) @@ -3414,30 +3324,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 2 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1056 i32.const 1 call $~lib/string/String.UTF8.encode@varargs local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 11 i32.ne if @@ -3449,7 +3358,7 @@ unreachable end local.get $0 - i32.load8_u $0 + i32.load8_u i32.const 240 i32.ne if @@ -3461,7 +3370,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=1 + i32.load8_u offset=1 i32.const 144 i32.ne if @@ -3473,7 +3382,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=2 + i32.load8_u offset=2 i32.const 144 i32.ne if @@ -3485,7 +3394,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=3 + i32.load8_u offset=3 i32.const 183 i32.ne if @@ -3497,7 +3406,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=4 + i32.load8_u offset=4 i32.const 104 i32.ne if @@ -3509,7 +3418,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=5 + i32.load8_u offset=5 i32.const 105 i32.ne if @@ -3521,7 +3430,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=6 + i32.load8_u offset=6 i32.const 240 i32.ne if @@ -3533,7 +3442,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=7 + i32.load8_u offset=7 i32.const 164 i32.ne if @@ -3545,7 +3454,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=8 + i32.load8_u offset=8 i32.const 173 i32.ne if @@ -3557,7 +3466,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=9 + i32.load8_u offset=9 i32.const 162 i32.ne if @@ -3569,7 +3478,7 @@ unreachable end local.get $0 - i32.load8_u $0 offset=10 + i32.load8_u offset=10 if i32.const 0 i32.const 1088 @@ -3579,31 +3488,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1824 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1824 - i32.store $0 + i32.store i32.const 2 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1824 i32.const 1 call $~lib/string/String.UTF8.encode@varargs local.tee $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 1824 - i32.store $0 + i32.store i32.const 1824 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -3623,7 +3531,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/string/String.UTF8.decode (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3640,25 +3547,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 local.get $1 call $~lib/string/String.UTF8.decodeUnsafe - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/string-encoding/testUTF8DecodeUnsafe (local $0 i32) @@ -3680,42 +3584,38 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 2 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1056 i32.const 1 call $~lib/string/String.UTF8.encode@varargs local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1056 i32.const 0 call $~lib/string/String.UTF8.byteLength - local.set $1 + local.set $2 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 $0 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 1552 - i32.store $0 offset=8 - local.get $2 + local.get $1 + i32.store + local.get $1 i32.const 1552 call $~lib/string/String.__eq i32.eqz @@ -3728,17 +3628,16 @@ unreachable end local.get $0 - local.get $1 + local.get $2 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 $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1056 call $~lib/string/String.__eq @@ -3757,12 +3656,8 @@ call $~lib/string/String.UTF8.decodeUnsafe local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 - local.get $2 - i32.const 1584 - i32.store $0 offset=8 + i32.store local.get $1 i32.const 1584 call $~lib/string/String.__eq @@ -3783,12 +3678,8 @@ call $~lib/string/String.UTF8.decodeUnsafe local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 - local.get $2 - i32.const 1648 - i32.store $0 offset=8 + i32.store local.get $1 i32.const 1648 call $~lib/string/String.__eq @@ -3809,12 +3700,8 @@ call $~lib/string/String.UTF8.decodeUnsafe local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 - local.get $2 - i32.const 1680 - i32.store $0 offset=8 + i32.store local.get $1 i32.const 1680 call $~lib/string/String.__eq @@ -3835,12 +3722,8 @@ call $~lib/string/String.UTF8.decodeUnsafe local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 - local.get $2 - i32.const 1552 - i32.store $0 offset=8 + i32.store local.get $1 i32.const 1552 call $~lib/string/String.__eq @@ -3861,12 +3744,8 @@ call $~lib/string/String.UTF8.decodeUnsafe local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 - local.get $2 - i32.const 2080 - i32.store $0 offset=8 + i32.store local.get $1 i32.const 2080 call $~lib/string/String.__eq @@ -3887,12 +3766,8 @@ call $~lib/string/String.UTF8.decodeUnsafe local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 - local.get $2 - i32.const 1680 - i32.store $0 offset=8 + i32.store local.get $1 i32.const 1680 call $~lib/string/String.__eq @@ -3913,12 +3788,8 @@ call $~lib/string/String.UTF8.decodeUnsafe local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 1552 - i32.store $0 offset=8 + i32.store local.get $0 i32.const 1552 call $~lib/string/String.__eq @@ -3954,34 +3825,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 call $~lib/string/String.__eq @@ -3995,26 +3865,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/string/String.UTF16.encode local.tee $1 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 call $~lib/string/String.UTF16.decode local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 call $~lib/string/String.__eq @@ -4050,27 +3919,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 i32.const -2 i32.and - local.tee $1 + local.tee $2 i32.const 2 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - local.get $0 + local.tee $1 + i32.store local.get $1 - memory.copy $0 $0 + local.get $0 + local.get $2 + memory.copy 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/string/String.UTF8.decodeUnsafe (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -4095,7 +3963,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 local.tee $3 local.get $1 @@ -4119,7 +3987,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store local.get $0 local.set $1 loop $while-continue|0 @@ -4129,7 +3997,7 @@ if block $while-break|0 local.get $3 - i32.load8_u $0 + i32.load8_u local.set $6 local.get $3 i32.const 1 @@ -4144,7 +4012,7 @@ i32.eq br_if $while-break|0 local.get $3 - i32.load8_u $0 + i32.load8_u i32.const 63 i32.and local.set $7 @@ -4166,14 +4034,14 @@ i32.shl local.get $7 i32.or - i32.store16 $0 + i32.store16 else local.get $3 local.get $5 i32.eq br_if $while-break|0 local.get $3 - i32.load8_u $0 + i32.load8_u i32.const 63 i32.and local.set $4 @@ -4205,7 +4073,7 @@ i32.eq br_if $while-break|0 local.get $3 - i32.load8_u $0 + i32.load8_u i32.const 63 i32.and local.get $6 @@ -4234,7 +4102,7 @@ if local.get $1 local.get $4 - i32.store16 $0 + i32.store16 else local.get $1 local.get $4 @@ -4253,7 +4121,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $1 i32.const 2 i32.add @@ -4268,7 +4136,7 @@ br_if $while-break|0 local.get $1 local.get $6 - i32.store16 $0 + i32.store16 end local.get $1 i32.const 2 @@ -4278,7 +4146,7 @@ end end end - block $__inlined_func$~lib/rt/itcms/__renew + block $__inlined_func$~lib/rt/itcms/__renew$157 local.get $1 local.get $0 i32.sub @@ -4287,7 +4155,7 @@ i32.const 20 i32.sub local.tee $3 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -4296,24 +4164,24 @@ if local.get $3 local.get $2 - i32.store $0 offset=16 - br $__inlined_func$~lib/rt/itcms/__renew + i32.store offset=16 + br $__inlined_func$~lib/rt/itcms/__renew$157 end local.get $2 local.get $3 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $1 local.get $0 local.get $2 local.get $3 - i32.load $0 offset=16 + i32.load offset=16 local.tee $0 local.get $0 local.get $2 i32.gt_u select - memory.copy $0 $0 + memory.copy local.get $1 local.set $0 end @@ -4323,23 +4191,4 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (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 $0 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 - ) ) diff --git a/tests/compiler/std/string-encoding.ts b/tests/compiler/std/string-encoding.ts index b184dc9f0d..7a131280dc 100644 --- a/tests/compiler/std/string-encoding.ts +++ b/tests/compiler/std/string-encoding.ts @@ -118,7 +118,7 @@ testUTF8Decode(); function testUTF8DecodeNullTerminated(): void { var buf = String.UTF8.encode(str, true); assert(String.UTF8.decode(buf, true) == str); - var str2 = "123\0456"; + var str2 = "123\x00456"; assert(String.UTF8.byteLength(str2, true) == 4); var buf2 = String.UTF8.encode(str2, true); assert(buf2.byteLength == 4); diff --git a/tests/compiler/std/string-nonnull.debug.wat b/tests/compiler/std/string-nonnull.debug.wat index 8d69ea5e0b..9e74fc89e8 100644 --- a/tests/compiler/std/string-nonnull.debug.wat +++ b/tests/compiler/std/string-nonnull.debug.wat @@ -1,9 +1,9 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -13,14 +13,14 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32812)) (global $~lib/memory/__heap_base i32 (i32.const 32812)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -72,9 +72,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -107,10 +107,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -161,7 +161,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -199,7 +199,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -208,7 +208,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -226,14 +226,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -256,18 +256,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String.__eq i32.eqz @@ -288,7 +288,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str i32.const 0 i32.eq @@ -299,7 +299,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/string/String#get:length i32.eqz @@ -322,16 +322,16 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 32 local.tee $0 - i32.store $0 + i32.store local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/string/String.__ne @@ -340,7 +340,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/string/String#get:length drop @@ -349,7 +349,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/string/String.__ne @@ -358,7 +358,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/string/String#get:length drop @@ -369,7 +369,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/string/String#get:length drop @@ -378,18 +378,17 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/string/String.__eq if - nop else local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/string/String#get:length drop @@ -398,18 +397,17 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/string/String.__eq if - nop else local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/string/String#get:length drop @@ -418,17 +416,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/string/String.__not if - nop else local.get $0 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/string/String#get:length drop diff --git a/tests/compiler/std/string-nonnull.release.wat b/tests/compiler/std/string-nonnull.release.wat index ef7345c2f1..63edc700be 100644 --- a/tests/compiler/std/string-nonnull.release.wat +++ b/tests/compiler/std/string-nonnull.release.wat @@ -1,17 +1,16 @@ (module - (type $none_=>_i32 (func (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (result i32))) + (type $1 (func)) + (type $2 (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 33836)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02") (export "memory" (memory $0)) (start $~start) (func $~start (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -22,74 +21,71 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/string/String.__ne if global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1052 - i32.load $0 + i32.load drop end global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/string/String.__ne if global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1052 - i32.load $0 + i32.load drop end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1052 - i32.load $0 + i32.load drop - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/string/String.__eq i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1052 - i32.load $0 + i32.load drop end global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/string/String.__eq i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1052 - i32.load $0 + i32.load drop end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1056 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -98,30 +94,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1052 - i32.load $0 + i32.load i32.const 1 i32.shr_u i32.eqz - local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1052 - i32.load $0 + i32.load drop end global.get $~lib/memory/__stack_pointer @@ -138,7 +131,6 @@ unreachable ) (func $~lib/string/String.__eq (result i32) - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -155,10 +147,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer @@ -182,22 +173,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 call $~lib/string/String.__eq i32.eqz - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) ) diff --git a/tests/compiler/std/string.debug.wat b/tests/compiler/std/string.debug.wat index ce0fc84384..738795005a 100644 --- a/tests/compiler/std/string.debug.wat +++ b/tests/compiler/std/string.debug.wat @@ -1,28 +1,30 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 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_=>_none (func (param i32 i32 i32 i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_=>_f64 (func (param i32) (result f64))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) - (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $i32_=>_f32 (func (param i32) (result f32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32 i32) (result i32))) + (type $4 (func (param i32))) + (type $5 (func)) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i64 i32) (result i32))) + (type $9 (func (param i32) (result f64))) + (type $10 (func (result i32))) + (type $11 (func (param i32 i64 i32))) + (type $12 (func (param i32 i32) (result f64))) + (type $13 (func (param i32 i32) (result i64))) + (type $14 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $15 (func (param i32 i32 i64) (result i32))) + (type $16 (func (param f64 i32) (result f64))) + (type $17 (func (param f64 f64) (result i32))) + (type $18 (func (param i32 i64 i32 i32))) + (type $19 (func (param i64) (result i32))) + (type $20 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) + (type $21 (func (param i32 f64 i32) (result i32))) + (type $22 (func (param i32) (result f32))) + (type $23 (func (param i32 i32 i32 i32) (result i32))) + (type $24 (func (param f64) (result i32))) + (type $25 (func (param f32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/string/str (mut i32) (i32.const 32)) (global $std/string/nullStr (mut i32) (i32.const 0)) @@ -66,483 +68,489 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 25392)) - (global $~lib/memory/__data_end i32 (i32.const 25420)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 58188)) - (global $~lib/memory/__heap_base i32 (i32.const 58188)) + (global $~lib/builtins/f32.EPSILON f32 (f32.const 1.1920928955078125e-07)) + (global $~lib/builtins/f32.MAX_VALUE f32 (f32.const 3402823466385288598117041e14)) + (global $~lib/rt/__rtti_base i32 (i32.const 25584)) + (global $~lib/memory/__data_end i32 (i32.const 25612)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 58380)) + (global $~lib/memory/__heap_base i32 (i32.const 58380)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00\00\00") - (data (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\df\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\df\00\df\00\00\00\00\00\00\00\00\00") - (data (i32.const 188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\df\00a\00b\00\00\00\00\00\00\00") - (data (i32.const 220) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 284) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s\00") - (data (i32.const 332) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 464) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 496) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 524) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 576) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00@\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\006\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\00\d8\00\df\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\08\00\00\00\00\00\00\006\00\00\00\00\00\00\00") - (data (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\00\006\00\00\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\0c\00\00\00A\00\00\00B\00\00\00C\00\00\00") - (data (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00A\00B\00C\00\00\00\00\00\00\00") - (data (i32.const 1020) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\004\d8\00\00\06\df\00\00a\00\00\004\d8\00\00\07\df\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1068) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\004\d8\06\dfa\004\d8\07\df\00\00") - (data (i32.const 1100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\004\d8\06\df\00\00\00\00\00\00\00\00") - (data (i32.const 1132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00h\00i\00\00\00\00\00\00\00\00\00") - (data (i32.const 1164) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00I\00\'\00m\00\00\00\00\00\00\00") - (data (i32.const 1228) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00 \00 \00\00\00\00\00\00\00") - (data (i32.const 1292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00c\00\00\00\00\00\00\00") - (data (i32.const 1324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \00 \00a\00b\00c\00\00\00") - (data (i32.const 1356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") - (data (i32.const 1388) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\002\003\00a\00b\00c\00") - (data (i32.const 1420) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\002\003\001\002\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00b\00c\00 \00 \00\00\00") - (data (i32.const 1500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00b\00c\00a\00b\00c\00") - (data (i32.const 1532) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1580) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1644) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00,\00 \00I\00\00\00\00\00\00\00") - (data (i32.const 1676) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00g\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1708) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00i\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1740) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00n\00u\00l\00l\00\00\00\00\00") - (data (i32.const 1772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00d\00\00\00\00\00\00\00") - (data (i32.const 1804) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00f\00\00\00\00\00\00\00") - (data (i32.const 1836) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00z\00\00\00\00\00\00\00") - (data (i32.const 1868) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00c\00d\00\00\00\00\00") - (data (i32.const 1900) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00d\00d\00\00\00\00\00") - (data (i32.const 1932) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00 \00c\00\00\00\00\00") - (data (i32.const 1964) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00 \00\n\00\t\00\r\00a\00b\00c\00 \00\t\00\r\00 \00\00\00\00\00\00\00") - (data (i32.const 2012) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00b\00c\00 \00\t\00\r\00 \00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2060) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00 \00\n\00\t\00\r\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2108) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00\t\00\n\00 \00t\00r\00u\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2156) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00\t\00\n\00 \00t\00r\00u\00e\00\n\00\r\00 \00\00\00\00\00\00\00\00\00") - (data (i32.const 2204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00 \00 \00t\00r\00u\00e\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00t\00r\00u\00\00\00\00\00\00\00") - (data (i32.const 2284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00T\00r\00u\00e\00\00\00\00\00") - (data (i32.const 2316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00f\00a\00l\00s\00e\00\00\00") - (data (i32.const 2348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\000\000\00\00\00\00\00\00\00") - (data (i32.const 2412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\000\000\001\00\00\00\00\00") - (data (i32.const 2476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00b\001\000\001\00\00\00") - (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00o\007\000\007\00\00\00") - (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00x\00f\000\00f\00\00\00") - (data (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00X\00F\000\00F\00\00\00") - (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\001\001\00\00\00\00\00\00\00") - (data (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\00x\001\00g\00\00\00\00\00") - (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00-\001\002\003\00\00\00\00\00") - (data (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00+\001\002\003\00\00\00\00\00") - (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\001\002\00.\003\00\00\00") - (data (i32.const 2764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00x\000\00\00\00\00\00\00\00") - (data (i32.const 2796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\00b\001\001\00\00\00\00\00") - (data (i32.const 2828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\n\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 2860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00( 1\00\00\00\00\00\00\00\00\00") - (data (i32.const 2892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00) 1\00\00\00\00\00\00\00\00\00") - (data (i32.const 2924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00-\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 2956) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\000\00X\00A\00B\00C\00D\00E\00F\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00A\00B\00C\00D\00E\00F\00") - (data (i32.const 3036) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\003\006\008\009\003\004\008\008\001\004\007\004\001\009\001\000\003\002\003\002\00\00\00\00\00") - (data (i32.const 3100) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00-\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 3180) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\000\00x\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\00") - (data (i32.const 3244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00=\d8%\dd\00\00\00\00\00\00") - (data (i32.const 3276) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\002\00b\00a\00d\00n\00u\00m\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00 \00\t\00\n\001\00\00\00\00\00") - (data (i32.const 3356) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3404) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00 \00a\00b\00c\00\00\00") - (data (i32.const 3436) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00 \00a\00b\00c\00\00\00") - (data (i32.const 3468) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00 \00\t\00\n\000\00 \00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3516) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3548) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3580) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00=\d8%\dd\00\00\00\00\00\00\00\00") - (data (i32.const 3612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00b\00a\00d\00n\00u\00m\00") - (data (i32.const 3648) "\00\00\00\00\00\00\f0?\00\00\00\00\00\00$@\00\00\00\00\00\00Y@\00\00\00\00\00@\8f@\00\00\00\00\00\88\c3@\00\00\00\00\00j\f8@\00\00\00\00\80\84.A\00\00\00\00\d0\12cA\00\00\00\00\84\d7\97A\00\00\00\00e\cd\cdA\00\00\00 _\a0\02B\00\00\00\e8vH7B\00\00\00\a2\94\1amB\00\00@\e5\9c0\a2B\00\00\90\1e\c4\bc\d6B\00\004&\f5k\0cC\00\80\e07y\c3AC\00\a0\d8\85W4vC\00\c8Ngm\c1\abC\00=\91`\e4X\e1C@\8c\b5x\1d\af\15DP\ef\e2\d6\e4\1aKD\92\d5M\06\cf\f0\80D") - (data (i32.const 3836) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00\00\00\00\00\00\00\00\00") - (data (i32.const 3884) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00\00\00\00\00\00\00\00\00") - (data (i32.const 3948) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\00.\00\00\00\00\00\00\00\00\00") - (data (i32.const 3980) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00.\000\000\00\00\00\00\00") - (data (i32.const 4012) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\00-\005\00\00\00\00\00") - (data (i32.const 4044) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\001\00e\00-\005\00\00\00") - (data (i32.const 4076) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00-\000\00.\003\00e\00-\002\002\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\000\00.\003\00e\00+\002\002\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\00-\001\00\00\00\00\00") - (data (i32.const 4204) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\000\00.\001\00e\00-\000\00") - (data (i32.const 4236) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\001\00\00\00\00\00\00\00") - (data (i32.const 4268) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00.\002\005\00\00\00\00\00\00\00") - (data (i32.const 4300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00.\00e\00+\003\00a\00") - (data (i32.const 4332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00.\000\00e\00-\001\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4380) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00.\000\00e\00-\003\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4428) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\003\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4476) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\004\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00e\00+\003\000\008\00") - (data (i32.const 4556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00e\00+\003\000\009\00") - (data (i32.const 4588) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\00.\000\00e\00-\001\00_\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4636) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00.\000\00e\00-\001\000\00_\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4684) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\00.\000\00e\00+\001\00_\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00_\000\00\00\00\00\00\00\00") - (data (i32.const 4764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00_\001\00\00\00\00\00\00\00") - (data (i32.const 4796) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\000\00.\000\000\00_\000\001\00e\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 4844) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\001\002\003\004\005\006\007\008\009\00_\004\00\00\00\00\00\00\00") - (data (i32.const 4892) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\001\00_\000\001\002\003\004\005\006\007\008\009\00\00\00\00\00") - (data (i32.const 4940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\006\000\00\00\00") - (data (i32.const 4972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\006\000\00\00\00\00\00") - (data (i32.const 5004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\002\003\00.\004\00e\00") - (data (i32.const 5036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\00x\00\00\00\00\00\00\00\00\00") - (data (i32.const 5068) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00-\001\001\00e\00-\001\00s\00t\00r\00i\00n\00g\00\00\00\00\00") - (data (i32.const 5116) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\000\001\00e\001\00s\00t\00r\00i\00n\00g\00\00\00\00\00\00\00\00\00") - (data (i32.const 5164) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\000\001\000\00s\00t\00r\00i\00n\00g\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5212) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00+\00.\002\002\00e\00-\001\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\001\00.\00s\001\00\00\00") - (data (i32.const 5292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00x\005\00\00\00\00\00\00\00") - (data (i32.const 5324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00x\00D\00\00\00\00\00\00\00") - (data (i32.const 5356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00\0b\001\00.\001\00\00\00\00\00") - (data (i32.const 5388) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00\0b\00\0b\00-\001\00.\001\00") - (data (i32.const 5420) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00\0c\00\0c\00-\001\00.\001\00") - (data (i32.const 5452) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00( ( -\001\00.\001\00") - (data (i32.const 5484) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00) ) -\001\00.\001\00") - (data (i32.const 5516) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\000\000\000\000\00\00\00") - (data (i32.const 5548) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\000\000\000\00a\00\00\00") - (data (i32.const 5580) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\000\000\000\001\00\00\00") - (data (i32.const 5612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\000\00.\000\000\00\00\00") - (data (i32.const 5644) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\000\00.\000\00a\00\00\00") - (data (i32.const 5676) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\001\00e\00\00\00\00\00") - (data (i32.const 5708) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00e\00+\000\000\000\001\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5756) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\000\00e\00+\001\000\000\00") - (data (i32.const 5788) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00.\00-\001\00.\00\00\00") - (data (i32.const 5820) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00e\00-\001\00.\002\00") - (data (i32.const 5852) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\00e\00x\00\00\00\00\00\00\00") - (data (i32.const 5884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\001\00x\00\00\00\00\00") - (data (i32.const 5916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\00-\00x\00\00\00\00\00") - (data (i32.const 5948) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\001\00x\00\00\00") - (data (i32.const 5980) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\000\00.\001\00e\00-\001\00x\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6028) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\000\00.\00\00\00\00\00\00\00") - (data (i32.const 6060) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00.\000\000\00\00\00\00\00\00\00") - (data (i32.const 6092) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00.\000\00.\00\00\00\00\00\00\00") - (data (i32.const 6124) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00.\001\00.\00\00\00\00\00\00\00") - (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\00.\00\00\00\00\00\00\00") - (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\00a\00\00\00\00\00\00\00") - (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00.\00.\001\00\00\00\00\00") - (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\000\00.\001\00.\001\00\00\00") - (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\000\00.\00 \001\00\00\00\00\00") - (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00+\000\00.\000\00\00\00\00\00") - (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00-\000\00.\000\00\00\00\00\00") - (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00+\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 6412) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\00.\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6460) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00-\00-\000\00\00\00\00\00\00\00") - (data (i32.const 6492) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00+\00+\000\00\00\00\00\00\00\00") - (data (i32.const 6524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00.\00a\00\00\00\00\00\00\00\00\00") - (data (i32.const 6556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00.\00.\000\00\00\00\00\00\00\00") - (data (i32.const 6588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00.\00.\00\00\00\00\00\00\00\00\00") - (data (i32.const 6652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 6684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\0e\18\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00\0e\181\00.\001\00\00\00\00\00") - (data (i32.const 6780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\0e\18\0e\181\00.\001\00\00\00") - (data (i32.const 6812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6844) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00t\00r\00u\00e\00\00\00\00\00") - (data (i32.const 6876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\002\002\00\00\00\00\00") - (data (i32.const 6908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\002\002\00\00\00") - (data (i32.const 6940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\002\003\00\00\00\00\00") - (data (i32.const 6972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\002\003\00\00\00") - (data (i32.const 7004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\003\007\00\00\00\00\00") - (data (i32.const 7036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\003\007\00\00\00") - (data (i32.const 7068) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\00e\003\008\00\00\00\00\00") - (data (i32.const 7100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\00-\003\008\00\00\00") - (data (i32.const 7132) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006\00\00\00") - (data (i32.const 7196) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00.\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\005\00e\00-\003\002\004\00") - (data (i32.const 7308) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\000\00.\000\000\000\000\000\001\00e\00+\003\001\004\00\00\00") - (data (i32.const 7356) "\8c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00|\00\00\000\00.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\00e\00+\005\006\00") - (data (i32.const 7500) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00+\001\00E\00-\003\002\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7548) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00+\001\00E\00+\003\000\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7596) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\001\00E\00-\003\002\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7644) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\001\00E\00+\003\000\009\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7692) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\00e\00-\001\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 7740) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\00e\00+\001\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 7788) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\00.\00e\003\006\000\00") - (data (i32.const 7820) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00 \00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7868) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7916) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 7964) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00x\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8012) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00+\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 8060) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00I\00n\00f\00i\00\00\00\00\00") - (data (i32.const 8092) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8140) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00i\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8188) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\aa\00\00\00.\002\004\007\000\003\002\008\002\002\009\002\000\006\002\003\002\007\002\000\008\008\002\008\004\003\009\006\004\003\004\001\001\000\006\008\006\001\008\002\005\002\009\009\000\001\003\000\007\001\006\002\003\008\002\002\001\002\007\009\002\008\004\001\002\005\000\003\003\007\007\005\003\006\003\005\001\000\004\003\00e\00-\003\002\003\00\00\00") - (data (i32.const 8380) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\aa\00\00\00.\007\004\001\000\009\008\004\006\008\007\006\001\008\006\009\008\001\006\002\006\004\008\005\003\001\008\009\003\000\002\003\003\002\000\005\008\005\004\007\005\008\009\007\000\003\009\002\001\004\008\007\001\004\006\006\003\008\003\007\008\005\002\003\007\005\001\000\001\003\002\006\000\009\000\005\003\001\003\002\00e\00-\003\002\003\00\00\00") - (data (i32.const 8572) "\bc\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\aa\00\00\00.\002\002\002\005\000\007\003\008\005\008\005\000\007\002\000\001\006\003\000\001\002\003\000\005\005\006\003\007\009\005\005\006\007\006\001\005\002\005\000\003\006\001\002\004\001\004\005\007\003\000\001\008\000\001\003\000\008\003\002\002\008\007\002\004\000\004\009\005\008\006\006\004\007\006\000\006\007\006\000\00e\00-\003\000\007\00\00\00") - (data (i32.const 8764) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\88\00\00\001\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\008\000\007\009\003\007\002\008\009\007\001\004\000\005\003\000\003\004\001\005\000\007\009\009\003\004\001\003\002\007\001\000\000\003\007\008\002\006\009\003\006\001\007\003\007\007\008\009\008\000\004\004\00\00\00\00\00") - (data (i32.const 8924) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\88\00\00\004\009\006\008\002\009\002\007\006\004\007\005\000\009\004\006\006\004\009\000\001\007\009\007\007\005\008\007\002\000\007\000\009\006\003\003\000\002\008\006\004\001\006\006\009\002\008\008\007\009\001\000\009\004\006\005\005\005\005\004\007\008\005\001\009\004\000\004\00\00\00\00\00") - (data (i32.const 9084) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\88\00\00\000\002\006\003\000\006\005\007\004\008\008\006\007\001\005\000\005\008\002\000\006\008\001\009\000\008\009\000\002\000\000\000\007\000\008\003\008\003\006\007\006\002\007\003\008\005\004\008\004\005\008\001\007\007\001\001\005\003\001\007\006\004\004\007\005\007\003\000\00\00\00\00\00") - (data (i32.const 9244) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\88\00\00\002\007\000\000\006\009\008\005\005\005\007\001\003\006\006\009\005\009\006\002\002\008\004\002\009\001\004\008\001\009\008\006\000\008\003\004\009\003\006\004\007\005\002\009\002\007\001\009\000\007\004\001\006\008\004\004\004\003\006\005\005\001\000\007\000\004\003\004\00\00\00\00\00") - (data (i32.const 9404) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\88\00\00\002\007\001\001\005\005\009\006\009\009\005\000\008\000\009\003\000\004\002\008\008\000\001\007\007\009\000\004\001\007\004\004\009\007\007\009\001\00.\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\00\00\00\00\00") - (data (i32.const 9564) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\\\00\00\000\00.\009\007\005\003\005\003\001\008\008\008\007\009\009\005\000\002\006\001\003\008\000\007\001\003\005\002\007\006\001\004\007\001\006\004\004\000\004\003\009\00e\00-\001\000\003\00") - (data (i32.const 9676) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\00.\005\009\006\001\008\006\000\003\004\008\001\003\001\008\000\007\000\009\001\008\006\001\000\000\002\002\006\006\004\005\003\009\004\001\009\005\000\004\002\008\00e\000\000\00\00\00\00\00") - (data (i32.const 9788) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\001\00.\008\001\005\000\001\003\001\006\009\002\001\008\000\003\008\007\002\009\008\008\007\004\006\000\008\009\008\007\003\003\005\002\006\009\005\007\004\004\002\00e\00-\001\00\00\00\00\00") - (data (i32.const 9900) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\004\002\00.\000\007\000\008\002\003\005\007\005\003\004\004\005\003\006\000\000\006\008\001\006\001\008\006\008\005\006\008\002\002\005\007\005\009\000\007\007\002\00e\00-\002\00\00\00\00\00") - (data (i32.const 10012) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\006\006\005\00.\004\006\008\006\003\000\006\005\001\006\002\006\001\004\005\006\003\002\008\009\007\003\002\002\005\005\007\009\008\003\003\004\007\000\008\001\006\00e\00-\003\00\00\00\00\00") - (data (i32.const 10124) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\006\001\000\001\00.\008\005\002\009\002\002\009\007\000\008\006\008\006\002\001\007\008\006\006\009\000\004\009\005\004\008\005\004\004\009\008\003\001\007\005\003\00e\00-\004\00\00\00\00\00") - (data (i32.const 10236) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\007\006\009\006\006\00.\009\005\002\000\008\002\003\006\009\006\008\000\007\007\008\004\009\004\006\004\003\004\008\008\007\005\004\007\001\001\005\008\005\004\009\00e\00-\005\00\00\00\00\00") - (data (i32.const 10348) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\002\005\000\005\000\006\00.\005\003\002\002\002\002\008\006\008\002\004\009\006\001\003\002\006\000\004\008\000\007\002\002\002\009\002\003\007\000\002\003\000\004\00e\00-\006\00\00\00\00\00") - (data (i32.const 10460) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\002\007\004\000\000\003\007\00.\002\003\000\002\002\008\000\000\005\003\002\005\008\005\002\004\002\004\006\009\007\006\009\008\003\003\001\001\007\007\003\007\007\00e\00-\007\00\00\00\00\00") - (data (i32.const 10572) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\002\000\007\002\003\000\009\003\00.\005\000\000\004\009\007\004\002\006\004\005\009\004\001\005\002\009\002\006\008\007\001\005\004\002\008\003\002\004\004\009\000\00e\00-\008\00\00\00\00\00") - (data (i32.const 10684) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\007\009\000\000\002\008\000\002\003\008\000\008\001\006\000\004\009\005\006\002\002\006\000\001\001\000\004\007\004\006\000\002\003\008\007\004\008\009\001\002\00e\001\00\00\00\00\00") - (data (i32.const 10796) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\009\008\002\002\008\006\000\006\005\003\007\003\007\002\009\006\008\004\008\001\009\000\005\005\008\004\004\008\007\006\000\004\006\005\008\006\003\005\009\007\00e\002\00\00\00\00\00") - (data (i32.const 10908) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\007\004\006\008\009\004\009\007\002\003\001\009\000\003\007\000\008\000\009\004\000\005\005\007\000\005\006\000\001\006\000\004\000\005\003\002\004\008\006\009\00e\003\00\00\00\00\00") - (data (i32.const 11020) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\001\006\003\000\002\006\008\003\002\000\002\008\002\007\002\008\004\007\005\009\008\000\004\005\009\008\004\004\002\007\001\000\003\001\007\005\001\006\006\005\00e\004\00\00\00\00\00") - (data (i32.const 11132) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\004\006\003\007\001\006\008\006\002\009\007\001\009\001\007\000\006\009\005\001\000\009\009\001\008\007\006\009\006\004\005\004\009\002\000\002\002\000\008\008\00e\005\00\00\00\00\00") - (data (i32.const 11244) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\006\005\003\007\008\000\005\009\004\004\004\009\007\007\001\001\005\005\004\002\000\009\004\006\001\006\008\006\004\001\005\008\007\002\000\006\007\005\002\003\00e\006\00\00\00\00\00") - (data (i32.const 11356) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\002\003\004\006\003\002\004\003\005\006\005\000\002\004\003\007\000\004\005\002\001\002\002\003\000\007\001\003\009\006\000\004\005\007\006\007\006\005\003\001\00e\006\00\00\00\00\00") - (data (i32.const 11468) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\009\007\000\009\004\008\001\007\001\006\004\002\000\000\004\008\003\004\001\008\009\007\002\005\008\009\008\000\004\005\004\002\009\008\002\000\005\002\007\008\00e\008\00\00\00\00\00") - (data (i32.const 11580) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00X\00\00\000\00.\004\009\009\006\009\000\008\005\002\002\000\005\001\008\007\004\001\001\000\007\007\009\009\008\002\003\005\004\009\003\002\004\009\009\004\009\009\006\000\002\00e\009\00\00\00\00\00") - (data (i32.const 11692) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00Z\00\00\000\00.\007\009\002\005\002\000\001\002\000\000\005\005\007\002\004\005\008\006\001\009\004\004\000\001\001\002\006\007\000\004\001\007\008\007\005\000\005\001\004\009\00e\002\002\00\00\00") - (data (i32.const 11804) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00Z\00\00\000\00.\006\000\009\006\005\006\004\005\008\005\009\008\003\001\007\007\004\000\008\009\003\004\003\005\002\005\007\000\002\001\003\003\007\007\004\007\005\007\003\009\00e\003\000\00\00\00") - (data (i32.const 11916) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00Z\00\00\000\00.\004\008\000\000\004\001\006\001\001\007\004\007\007\000\002\008\007\008\007\008\007\004\003\006\000\002\000\005\000\002\003\005\004\009\004\009\007\001\002\008\00e\006\007\00\00\00") - (data (i32.const 12028) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\\\00\00\000\00.\008\005\002\004\008\002\009\000\007\009\008\001\007\009\006\008\002\002\004\008\003\000\003\003\007\009\003\001\000\005\002\007\008\001\006\004\001\004\008\003\00e\001\000\005\00") - (data (i32.const 12140) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\\\00\00\000\00.\000\003\002\007\001\002\003\009\002\009\001\007\000\009\007\008\002\001\001\005\004\004\007\000\006\009\003\007\002\007\004\008\009\005\006\000\008\004\002\005\00e\002\006\009\00") - (data (i32.const 12252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00 \00\t\00\n\00\00\00\00\00\00\00") - (data (i32.const 12284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00 \00\t\00\n\00\r\00.\001\00") - (data (i32.const 12316) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12348) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 12380) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00k\00e\00y\001\00\00\00\00\00") - (data (i32.const 12412) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00k\00e\00y\002\00\00\00\00\00") - (data (i32.const 12444) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00k\00e\001\00\00\00\00\00\00\00") - (data (i32.const 12476) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00k\00e\002\00\00\00\00\00\00\00") - (data (i32.const 12508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00k\00e\00y\001\002\00\00\00") - (data (i32.const 12540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00k\00e\00y\001\001\00\00\00") - (data (i32.const 12572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l\00\00\00\00\00\00\00") - (data (i32.const 12716) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l\00\00\00\00\00\00\00\00\00") - (data (i32.const 12764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00a\00\00\00\00\00\00\00\00\00") - (data (i32.const 12796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00a\00\00\00\00\00\00\00\00\00") - (data (i32.const 12828) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 12860) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 12892) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\000\001\00\00\00\00\00\00\00") - (data (i32.const 12924) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\002\00\00\00\00\00\00\00") - (data (i32.const 12956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\002\003\004\00\00\00\00\00") - (data (i32.const 12988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\002\003\003\00\00\00\00\00") - (data (i32.const 13020) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 13068) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00a\00a\00\00\00\00\00\00\00") - (data (i32.const 13100) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13148) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00a\00a\00a\00a\00\00\00") - (data (i32.const 13180) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a\00") - (data (i32.const 13212) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00-\00b\00-\00c\00\00\00") - (data (i32.const 13292) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00+\00b\00-\00c\00\00\00") - (data (i32.const 13324) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00+\00a\00b\00c\00\00\00\00\00") - (data (i32.const 13356) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00\n\00a\00b\00c\00\00\00\00\00") - (data (i32.const 13388) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13420) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13452) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00+\00+\00\00\00\00\00\00\00\00\00") - (data (i32.const 13484) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00a\00b\00+\00+\00\00\00\00\00") - (data (i32.const 13516) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13564) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00+\00+\00+\00\00\00\00\00\00\00") - (data (i32.const 13596) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13644) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+\00\00\00") - (data (i32.const 13692) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c\00") - (data (i32.const 13724) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00c\00c\00c\00c\00\00\00\00\00") - (data (i32.const 13756) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00c\00c\00\00\00\00\00\00\00\00\00") - (data (i32.const 13788) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00+\00+\00+\00+\00\00\00\00\00") - (data (i32.const 13820) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13852) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00b\00c\00\00\00\00\00\00\00\00\00") - (data (i32.const 13884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00+\00\00\00\00\00\00\00\00\00") - (data (i32.const 13916) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00+\00b\00+\00c\00\00\00") - (data (i32.const 13948) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13996) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00b\00c\00d\00e\00\00\00") - (data (i32.const 14028) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00-\00-\00-\00\00\00\00\00\00\00") - (data (i32.const 14060) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\00-\00-\00b\00c\00d\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\00-\00-\00-\00-\00\00\00") - (data (i32.const 14140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00-\00-\00-\00-\00\00\00\00\00") - (data (i32.const 14172) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00\00\00\00\00") - (data (i32.const 14220) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00-\00-\00-\00a\00\00\00\00\00") - (data (i32.const 14252) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n\00") - (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00j\00k\00l\00m\00n\00\00\00") - (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00c\00d\00e\00f\00g\00\00\00") - (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00d\00e\00f\00g\00h\00\00\00") - (data (i32.const 14428) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00\00\00") - (data (i32.const 14476) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00c\00d\00e\00f\00g\00h\00i\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00e\00f\00g\00\00\00\00\00\00\00") - (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00e\00f\00g\00h\00\00\00\00\00") - (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 14668) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14796) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00a\00,\00b\00,\00c\00\00\00") - (data (i32.const 14828) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00a\00,\00 \00b\00,\00 \00c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00,\00 \00\00\00\00\00\00\00\00\00") - (data (i32.const 14908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00,\00b\00,\00,\00c\00") - (data (i32.const 14940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00,\00a\00,\00b\00,\00c\00") - (data (i32.const 14972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00a\00,\00b\00,\00c\00,\00") - (data (i32.const 15004) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 15132) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 15196) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 15596) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 16652) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 16748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\008\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 16780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 16812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\001\000\000\000\00\00\00") - (data (i32.const 16844) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\002\003\004\005\00\00\00") - (data (i32.const 16876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\002\003\004\005\006\00") - (data (i32.const 16908) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 16956) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\002\003\004\005\006\007\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17004) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\001\002\003\004\005\006\007\008\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17052) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\002\003\004\005\006\007\008\009\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17100) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 17148) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007\00\00\00\00\00\00\00\00\00") - (data (i32.const 17196) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008\00\00\00\00\00\00\00") - (data (i32.const 17244) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00-\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 17276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00-\001\002\008\00\00\00\00\00") - (data (i32.const 17308) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00-\003\002\007\006\008\00") - (data (i32.const 17340) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\000\000\000\00\00\00\00\00") - (data (i32.const 17372) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008\00\00\00\00\00\00\00\00\00") - (data (i32.const 17420) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005\00\00\00\00\00\00\00\00\00") - (data (i32.const 17468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\007\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 17500) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\004\00d\002\00\00\00\00\00\00\00") - (data (i32.const 17532) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\003\000\003\009\00\00\00\00\00") - (data (i32.const 17564) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\00e\002\004\000\00\00\00") - (data (i32.const 17596) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\000\00f\004\004\007\00") - (data (i32.const 17628) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\002\00d\006\008\007\00") - (data (i32.const 17660) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00b\00c\006\001\004\00e\00") - (data (i32.const 17692) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\007\005\00b\00c\00d\001\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17740) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00e\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17788) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17836) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\008\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17884) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17932) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 17980) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00-\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18028) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\008\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18076) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\001\001\00\00\00\00\00\00\00") - (data (i32.const 18108) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\001\001\001\000\00\00\00\00\00") - (data (i32.const 18140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\001\001\001\000\001\00\00\00") - (data (i32.const 18172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\001\001\001\000\001\001\00") - (data (i32.const 18204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00") - (data (i32.const 18252) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18332) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\001\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18428) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18524) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18620) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18716) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00-\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00") - (data (i32.const 18764) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00*\00\00\001\000\002\000\000\002\000\002\002\002\000\001\002\002\001\001\001\001\002\001\000\00\00\00") - (data (i32.const 18828) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 18892) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\003\002\002\004\004\000\000\002\004\002\003\001\004\000\00") - (data (i32.const 18940) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\003\007\007\007\007\007\007\007\007\007\007\00\00\00\00\00\00\00") - (data (i32.const 18988) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\001\009\000\004\004\004\000\005\005\003\00\00\00\00\00\00\00\00\00") - (data (i32.const 19036) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00a\002\000\00d\00c\00d\008\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19084) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00a\007\00f\00f\00d\00a\009\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19132) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\002\008\001\00d\005\005\00i\003\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19180) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00b\002\008\00j\00p\00d\00l\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19228) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\003\00v\00v\00v\00v\00v\00v\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19276) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\001\00z\001\004\001\00z\003\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19324) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\009\009\009\009\009\009\009\009\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19372) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19420) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\007\00\00\00\00\00\00\00\00\00") - (data (i32.const 19468) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00") - (data (i32.const 19516) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00") - (data (i32.const 19564) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\00\00\00") - (data (i32.const 19612) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\001\00") - (data (i32.const 19660) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19724) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19788) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 19852) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\001\002\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00") - (data (i32.const 19916) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\001\002\003\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00") - (data (i32.const 19980) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005\00\00\00\00\00") - (data (i32.const 20044) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\001\002\003\004\00\00\00") - (data (i32.const 20076) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005\00\00\00\00\00\00\00") - (data (i32.const 20124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00") - (data (i32.const 20172) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00") - (data (i32.const 20220) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20284) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005\00\00\00\00\00\00\00\00\00") - (data (i32.const 20348) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007\00\00\00\00\00\00\00") - (data (i32.const 20412) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008\00\00\00\00\00") - (data (i32.const 20476) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20524) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\005\006\007\008\009\00a\00b\00c\00d\00e\001\00\00\00\00\00\00\00") - (data (i32.const 20572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\004\005\006\007\008\009\00a\00b\00c\00d\00e\001\00\00\00\00\00") - (data (i32.const 20620) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00\00\00") - (data (i32.const 20668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00") - (data (i32.const 20716) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20780) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20844) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20908) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 20972) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21036) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00-\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21100) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00b\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21228) "\9c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\80\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21388) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00D\00\00\00-\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 21484) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00R\00\00\001\001\001\001\002\002\002\000\000\002\002\001\002\002\001\002\000\001\000\001\002\001\001\000\002\000\001\002\000\002\001\000\002\001\000\002\001\001\002\002\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21596) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00@\00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21692) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\008\00\00\002\002\001\004\002\002\000\003\000\003\001\001\004\004\000\000\004\002\004\001\002\001\001\002\002\004\003\000\00\00\00\00\00") - (data (i32.const 21772) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00,\00\00\001\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\00") - (data (i32.const 21836) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\003\003\005\005\000\000\005\001\006\00a\004\002\009\000\007\001\002\008\004\00\00\00\00\00\00\00") - (data (i32.const 21900) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\002\00c\001\00d\005\006\00b\006\004\008\00c\006\00c\00d\001\001\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 21964) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\006\007\009\007\009\00g\006\000\00f\005\004\002\008\000\001\000\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 22028) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\005\00e\008\00g\004\00g\00g\00g\007\00g\005\006\00d\00i\00f\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 22092) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\004\00e\00o\008\00h\00f\00a\00m\006\00f\00l\00l\00m\00o\00") - (data (i32.const 22140) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00f\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00\00\00") - (data (i32.const 22188) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\003\00w\005\00e\001\001\002\006\004\00s\00g\00s\00f\00\00\00") - (data (i32.const 22236) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 22268) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 22320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 22376) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/memory/memory.repeat (param $dst i32) (param $src i32) (param $srcLength i32) (param $count i32) (local $index i32) @@ -2987,7 +3005,7 @@ i32.add local.get $src local.get $srcLength - memory.copy $0 $0 + memory.copy local.get $index local.get $srcLength i32.add @@ -3419,7 +3437,7 @@ ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -3463,30 +3481,30 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) (func $~lib/array/Array<~lib/string/String>#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String>#set:length_ (param $this i32) (param $length_ i32) local.get $this local.get $length_ - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/util/number/decimalCount32 (param $value i32) (result i32) local.get $value @@ -3583,14 +3601,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 15196 local.get $d2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -3606,7 +3624,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -3633,7 +3651,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits local.get $buffer local.get $offset @@ -3641,7 +3659,7 @@ i32.shl i32.add local.get $digits - i32.store $0 + i32.store end local.get $num i32.const 10 @@ -3656,7 +3674,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits|12 local.get $buffer local.get $offset @@ -3664,7 +3682,7 @@ i32.shl i32.add local.get $digits|12 - i32.store $0 + i32.store else local.get $offset i32.const 1 @@ -3680,7 +3698,7 @@ i32.shl i32.add local.get $digit - i32.store16 $0 + i32.store16 end ) (func $~lib/util/number/utoa_hex_lut (param $buffer i32) (param $num i64) (param $offset i32) @@ -3706,8 +3724,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $num i64.const 8 i64.shr_u @@ -3726,8 +3744,8 @@ i32.const 6 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end ) (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) @@ -3851,8 +3869,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num local.get $shift i64.shr_u @@ -3887,8 +3905,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -4015,14 +4033,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 15196 local.get $c2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -4038,20 +4056,20 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store i32.const 15196 local.get $b1 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 15196 local.get $b2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -4067,7 +4085,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -4320,7 +4338,7 @@ i32.const 65535 i32.and i32.add - i32.store16 $0 + i32.store16 end local.get $kappa i32.const 1 @@ -4355,7 +4373,7 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.get $one_exp i64.extend_i32_s i64.shl @@ -4371,7 +4389,7 @@ i32.add local.set $lastp local.get $lastp - i32.load16_u $0 + i32.load16_u local.set $digit loop $while-continue|3 local.get $rest @@ -4422,7 +4440,7 @@ end local.get $lastp local.get $digit - i32.store16 $0 + i32.store16 local.get $len return end @@ -4468,7 +4486,7 @@ i32.const 65535 i32.and i32.add - i32.store16 $0 + i32.store16 end local.get $p2 local.get $mask @@ -4494,7 +4512,7 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u i64.mul local.set $wp_w_frc local.get $buffer @@ -4518,7 +4536,7 @@ i32.add local.set $lastp|35 local.get $lastp|35 - i32.load16_u $0 + i32.load16_u local.set $digit|36 loop $while-continue|6 local.get $rest|32 @@ -4569,7 +4587,7 @@ end local.get $lastp|35 local.get $digit|36 - i32.store16 $0 + i32.store16 local.get $len return end @@ -4612,7 +4630,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $length i32.const 2 i32.add @@ -4646,7 +4664,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -4664,7 +4682,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $kk i32.const 2 i32.add @@ -4696,14 +4714,14 @@ i32.sub i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $buffer local.get $kk i32.const 1 i32.shl i32.add i32.const 46 - i32.store16 $0 + i32.store16 local.get $length i32.const 1 i32.add @@ -4733,14 +4751,14 @@ local.get $length i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $buffer i32.const 48 i32.const 46 i32.const 16 i32.shl i32.or - i32.store $0 + i32.store i32.const 2 local.set $i|7 loop $for-loop|1 @@ -4754,7 +4772,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $i|7 i32.const 1 i32.add @@ -4773,7 +4791,7 @@ if local.get $buffer i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 block $~lib/util/number/genExponent|inlined.0 (result i32) local.get $buffer i32.const 4 @@ -4818,7 +4836,7 @@ i32.const 43 local.get $sign select - i32.store16 $0 + i32.store16 local.get $decimals br $~lib/util/number/genExponent|inlined.0 end @@ -4841,15 +4859,15 @@ local.get $len i32.const 2 i32.sub - memory.copy $0 $0 + memory.copy local.get $buffer i32.const 46 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $buffer local.get $len i32.add i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $length block $~lib/util/number/genExponent|inlined.1 (result i32) local.get $buffer @@ -4897,7 +4915,7 @@ i32.const 43 local.get $sign|18 select - i32.store16 $0 + i32.store16 local.get $decimals|19 br $~lib/util/number/genExponent|inlined.1 end @@ -4916,26 +4934,30 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (param $buffer i32) (param $value f64) (result i32) + (func $~lib/util/number/dtoa_core (param $buffer i32) (param $value f64) (param $isSingle i32) (result i32) (local $sign i32) - (local $value|3 f64) - (local $buffer|4 i32) - (local $sign|5 i32) - (local $uv i64) - (local $exp i32) - (local $sid i64) + (local $value|4 f64) + (local $buffer|5 i32) + (local $sign|6 i32) + (local $isSingle|7 i32) (local $frc i64) + (local $exp i32) + (local $uv i32) + (local $sid i32) + (local $uv|12 i64) + (local $sid|13 i64) (local $f i64) (local $e i32) - (local $frc|12 i64) - (local $exp|13 i32) + (local $isSingle|16 i32) + (local $frc|17 i64) + (local $exp|18 i32) (local $off i32) (local $m i32) (local $minExp i32) (local $dk f64) (local $k i32) (local $index i32) - (local $off|20 i32) + (local $off|25 i32) (local $frc_pow i64) (local $exp_pow i32) (local $u i64) @@ -4951,28 +4973,28 @@ (local $e1 i32) (local $e2 i32) (local $w_exp i32) - (local $u|36 i64) - (local $v|37 i64) - (local $u0|38 i64) - (local $v0|39 i64) - (local $u1|40 i64) - (local $v1|41 i64) - (local $l|42 i64) - (local $t|43 i64) - (local $w|44 i64) + (local $u|41 i64) + (local $v|42 i64) + (local $u0|43 i64) + (local $v0|44 i64) + (local $u1|45 i64) + (local $v1|46 i64) + (local $l|47 i64) + (local $t|48 i64) + (local $w|49 i64) (local $wp_frc i64) - (local $e1|46 i32) - (local $e2|47 i32) + (local $e1|51 i32) + (local $e2|52 i32) (local $wp_exp i32) - (local $u|49 i64) - (local $v|50 i64) - (local $u0|51 i64) - (local $v0|52 i64) - (local $u1|53 i64) - (local $v1|54 i64) - (local $l|55 i64) - (local $t|56 i64) - (local $w|57 i64) + (local $u|54 i64) + (local $v|55 i64) + (local $u0|56 i64) + (local $v0|57 i64) + (local $u1|58 i64) + (local $v1|59 i64) + (local $l|60 i64) + (local $t|61 i64) + (local $w|62 i64) (local $wm_frc i64) (local $delta i64) (local $len i32) @@ -4987,81 +5009,131 @@ local.set $value local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 end block $~lib/util/number/grisu2|inlined.0 (result i32) local.get $value - local.set $value|3 + local.set $value|4 local.get $buffer - local.set $buffer|4 + local.set $buffer|5 local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp + local.set $sign|6 + local.get $isSingle + local.set $isSingle|7 + local.get $isSingle|7 + if + local.get $value|4 + f32.demote_f64 + i32.reinterpret_f32 + local.set $uv + local.get $uv + i32.const 2139095040 + i32.and + i32.const 23 + i32.shr_u + local.set $exp + local.get $uv + i32.const 8388607 + i32.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 23 + i64.shl + local.get $sid + i64.extend_i32_u + i64.add + local.set $frc + local.get $exp + if (result i32) + local.get $exp + else + i32.const 1 + end + i32.const 127 + i32.const 23 + i32.add + i32.sub + local.set $exp + else + local.get $value|4 + i64.reinterpret_f64 + local.set $uv|12 + local.get $uv|12 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv|12 + i64.const 4503599627370495 + i64.and + local.set $sid|13 + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid|13 + i64.add + local.set $frc + local.get $exp + if (result i32) + local.get $exp + else + i32.const 1 + end + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + end local.get $frc local.set $f local.get $exp local.set $e + local.get $isSingle|7 + local.set $isSingle|16 local.get $f i64.const 1 i64.shl i64.const 1 i64.add - local.set $frc|12 + local.set $frc|17 local.get $e i32.const 1 i32.sub - local.set $exp|13 - local.get $frc|12 + local.set $exp|18 + local.get $frc|17 i64.clz i32.wrap_i64 local.set $off - local.get $frc|12 + local.get $frc|17 local.get $off i64.extend_i32_s i64.shl - local.set $frc|12 - local.get $exp|13 + local.set $frc|17 + local.get $exp|18 local.get $off i32.sub - local.set $exp|13 + local.set $exp|18 i32.const 1 local.get $f - i64.const 4503599627370496 + local.get $isSingle|16 + if (result i64) + i64.const 8388608 + else + i64.const 4503599627370496 + end i64.eq i32.add local.set $m - local.get $frc|12 + local.get $frc|17 global.set $~lib/util/number/_frc_plus local.get $f local.get $m @@ -5072,12 +5144,12 @@ local.get $e local.get $m i32.sub - local.get $exp|13 + local.get $exp|18 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $exp|13 + local.get $exp|18 global.set $~lib/util/number/_exp global.get $~lib/util/number/_exp local.set $minExp @@ -5117,26 +5189,26 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load global.set $~lib/util/number/_frc_pow i32.const 23072 local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $frc i64.clz i32.wrap_i64 - local.set $off|20 + local.set $off|25 local.get $frc - local.get $off|20 + local.get $off|25 i64.extend_i32_s i64.shl local.set $frc local.get $exp - local.get $off|20 + local.get $off|25 i32.sub local.set $exp global.get $~lib/util/number/_frc_pow @@ -5221,63 +5293,63 @@ local.set $w_exp block $~lib/util/number/umul64f|inlined.1 (result i64) global.get $~lib/util/number/_frc_plus - local.set $u|36 + local.set $u|41 local.get $frc_pow - local.set $v|37 - local.get $u|36 + local.set $v|42 + local.get $u|41 i64.const 4294967295 i64.and - local.set $u0|38 - local.get $v|37 + local.set $u0|43 + local.get $v|42 i64.const 4294967295 i64.and - local.set $v0|39 - local.get $u|36 + local.set $v0|44 + local.get $u|41 i64.const 32 i64.shr_u - local.set $u1|40 - local.get $v|37 + local.set $u1|45 + local.get $v|42 i64.const 32 i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 + local.set $v1|46 + local.get $u0|43 + local.get $v0|44 i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 + local.set $l|47 + local.get $u1|45 + local.get $v0|44 i64.mul - local.get $l|42 + local.get $l|47 i64.const 32 i64.shr_u i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 + local.set $t|48 + local.get $u0|43 + local.get $v1|46 i64.mul - local.get $t|43 + local.get $t|48 i64.const 4294967295 i64.and i64.add - local.set $w|44 - local.get $w|44 + local.set $w|49 + local.get $w|49 i64.const 2147483647 i64.add - local.set $w|44 - local.get $t|43 + local.set $w|49 + local.get $t|48 i64.const 32 i64.shr_u - local.set $t|43 - local.get $w|44 + local.set $t|48 + local.get $w|49 i64.const 32 i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 + local.set $w|49 + local.get $u1|45 + local.get $v1|46 i64.mul - local.get $t|43 + local.get $t|48 i64.add - local.get $w|44 + local.get $w|49 i64.add br $~lib/util/number/umul64f|inlined.1 end @@ -5286,11 +5358,11 @@ local.set $wp_frc block $~lib/util/number/umul64e|inlined.1 (result i32) global.get $~lib/util/number/_exp - local.set $e1|46 + local.set $e1|51 local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 + local.set $e2|52 + local.get $e1|51 + local.get $e2|52 i32.add i32.const 64 i32.add @@ -5299,63 +5371,63 @@ local.set $wp_exp block $~lib/util/number/umul64f|inlined.2 (result i64) global.get $~lib/util/number/_frc_minus - local.set $u|49 + local.set $u|54 local.get $frc_pow - local.set $v|50 - local.get $u|49 + local.set $v|55 + local.get $u|54 i64.const 4294967295 i64.and - local.set $u0|51 - local.get $v|50 + local.set $u0|56 + local.get $v|55 i64.const 4294967295 i64.and - local.set $v0|52 - local.get $u|49 + local.set $v0|57 + local.get $u|54 i64.const 32 i64.shr_u - local.set $u1|53 - local.get $v|50 + local.set $u1|58 + local.get $v|55 i64.const 32 i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 + local.set $v1|59 + local.get $u0|56 + local.get $v0|57 i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 + local.set $l|60 + local.get $u1|58 + local.get $v0|57 i64.mul - local.get $l|55 + local.get $l|60 i64.const 32 i64.shr_u i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 + local.set $t|61 + local.get $u0|56 + local.get $v1|59 i64.mul - local.get $t|56 + local.get $t|61 i64.const 4294967295 i64.and i64.add - local.set $w|57 - local.get $w|57 + local.set $w|62 + local.get $w|62 i64.const 2147483647 i64.add - local.set $w|57 - local.get $t|56 + local.set $w|62 + local.get $t|61 i64.const 32 i64.shr_u - local.set $t|56 - local.get $w|57 + local.set $t|61 + local.get $w|62 i64.const 32 i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 + local.set $w|62 + local.get $u1|58 + local.get $v1|59 i64.mul - local.get $t|56 + local.get $t|61 i64.add - local.get $w|57 + local.get $w|62 i64.add br $~lib/util/number/umul64f|inlined.2 end @@ -5366,13 +5438,13 @@ local.get $wm_frc i64.sub local.set $delta - local.get $buffer|4 + local.get $buffer|5 local.get $w_frc local.get $w_exp local.get $wp_frc local.get $wp_exp local.get $delta - local.get $sign|5 + local.get $sign|6 call $~lib/util/number/genDigits br $~lib/util/number/grisu2|inlined.0 end @@ -5484,20 +5556,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5509,7 +5576,7 @@ ) (func $~lib/array/Array<~lib/string/String>#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array<~lib/string/String>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -5530,7 +5597,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array<~lib/string/String> $invalid end return @@ -5564,8 +5631,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 58208 - i32.const 58256 + i32.const 58400 + i32.const 58448 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -5582,7 +5649,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -5620,7 +5687,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -5629,7 +5696,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -5647,14 +5714,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -5677,13 +5744,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $pos local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/string/String#get:length i32.ge_u @@ -5702,7 +5769,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -5723,12 +5790,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/string/String#get:length local.set $len @@ -5750,7 +5817,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $first local.get $first i32.const 64512 @@ -5781,7 +5848,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.set $second local.get $second i32.const 64512 @@ -5828,12 +5895,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/string/String#get:length local.set $len @@ -5867,8 +5934,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $out local.set $4 global.get $~lib/memory/__stack_pointer @@ -5888,13 +5955,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $pos local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ge_u @@ -5913,15 +5980,15 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $pos i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $out local.set $3 global.get $~lib/memory/__stack_pointer @@ -5940,7 +6007,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str i32.const 0 i32.eq @@ -5951,7 +6018,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/string/String#get:length i32.eqz @@ -5973,12 +6040,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -6002,12 +6069,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $units local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:length local.set $length @@ -6018,12 +6085,12 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $units local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array#get:dataStart local.set $ptr @@ -6044,8 +6111,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store16 $0 + i32.load + i32.store16 local.get $i i32.const 1 i32.add @@ -6078,12 +6145,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $len @@ -6107,7 +6174,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $searchLength @@ -6130,14 +6197,14 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 local.get $searchStart local.get $search local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=4 + i32.store offset=4 local.get $10 i32.const 0 local.get $searchLength @@ -6166,7 +6233,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $end local.tee $3 i32.const 0 @@ -6180,7 +6247,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/string/String#get:length local.tee $6 @@ -6193,7 +6260,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/string/String#get:length local.set $searchLength @@ -6218,14 +6285,14 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 local.get $searchStart local.get $search local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 i32.const 0 local.get $searchLength @@ -6248,7 +6315,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $1of1 block $0of1 block $outOfRange @@ -6266,13 +6333,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $search local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $end call $~lib/string/String#endsWith @@ -6299,12 +6366,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $search local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $searchLen @@ -6324,7 +6391,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $len @@ -6369,14 +6436,14 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 local.get $searchStart local.get $search local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=4 + i32.store offset=4 local.get $10 i32.const 0 local.get $searchLen @@ -6417,18 +6484,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $search local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $start call $~lib/string/String#indexOf @@ -6459,12 +6526,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length i32.const 1 @@ -6478,7 +6545,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length i32.const 1 @@ -6512,7 +6579,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $prependSize local.get $padSize i32.gt_u @@ -6541,19 +6608,19 @@ i32.add local.get $pad local.get $restSize - memory.copy $0 $0 + memory.copy else local.get $out local.get $pad local.get $prependSize - memory.copy $0 $0 + memory.copy end local.get $out local.get $prependSize i32.add local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $out local.set $11 global.get $~lib/memory/__stack_pointer @@ -6580,12 +6647,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length i32.const 1 @@ -6599,7 +6666,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length i32.const 1 @@ -6633,11 +6700,11 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $appendSize local.get $padSize i32.gt_u @@ -6670,14 +6737,14 @@ i32.add local.get $pad local.get $restSize - memory.copy $0 $0 + memory.copy else local.get $out local.get $thisSize i32.add local.get $pad local.get $appendSize - memory.copy $0 $0 + memory.copy end local.get $out local.set $11 @@ -6704,12 +6771,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $search local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $searchLen @@ -6720,7 +6787,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $10 @@ -6735,7 +6802,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $len @@ -6778,14 +6845,14 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 local.get $searchStart local.get $search local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=4 + i32.store offset=4 local.get $10 i32.const 0 local.get $searchLen @@ -6826,7 +6893,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $1of1 block $0of1 block $outOfRange @@ -6844,13 +6911,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $search local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $start call $~lib/string/String#lastIndexOf @@ -6875,7 +6942,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $other local.get $this i32.eq @@ -6893,7 +6960,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/string/String#get:length local.set $alen @@ -6901,7 +6968,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/string/String#get:length local.set $blen @@ -6909,14 +6976,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 i32.const 0 local.get $other local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 local.get $alen @@ -6965,12 +7032,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/string/String#get:length i32.const 1 @@ -6986,7 +7053,7 @@ local.get $this local.get $offset i32.add - i32.load16_u $0 + i32.load16_u call $~lib/util/string/isSpace else i32.const 0 @@ -7032,13 +7099,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $offset i32.add local.get $size - memory.copy $0 $0 + memory.copy local.get $out local.set $4 global.get $~lib/memory/__stack_pointer @@ -7060,12 +7127,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/string/String#get:length i32.const 1 @@ -7081,7 +7148,7 @@ i32.add i32.const 2 i32.sub - i32.load16_u $0 + i32.load16_u call $~lib/util/string/isSpace else i32.const 0 @@ -7124,11 +7191,11 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $size - memory.copy $0 $0 + memory.copy local.get $out local.set $4 global.get $~lib/memory/__stack_pointer @@ -7151,12 +7218,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/string/String#get:length local.set $len @@ -7172,7 +7239,7 @@ i32.add i32.const 2 i32.sub - i32.load16_u $0 + i32.load16_u call $~lib/util/string/isSpace else i32.const 0 @@ -7195,7 +7262,7 @@ local.get $this local.get $offset i32.add - i32.load16_u $0 + i32.load16_u call $~lib/util/string/isSpace else i32.const 0 @@ -7250,13 +7317,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $offset i32.add local.get $size - memory.copy $0 $0 + memory.copy local.get $out local.set $5 global.get $~lib/memory/__stack_pointer @@ -7277,12 +7344,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.const 1 @@ -7302,7 +7369,7 @@ i32.add i32.const 2 i32.sub - i32.load16_u $0 + i32.load16_u call $~lib/util/string/isSpace else i32.const 0 @@ -7327,7 +7394,7 @@ local.get $str local.get $offset i32.add - i32.load16_u $0 + i32.load16_u call $~lib/util/string/isSpace else i32.const 0 @@ -7362,7 +7429,7 @@ local.get $str local.get $offset i32.add - i64.load $0 + i64.load i64.const 28429475166421108 i64.eq local.set $3 @@ -7391,12 +7458,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $len @@ -7417,7 +7484,7 @@ local.get $str local.set $ptr local.get $ptr - i32.load16_u $0 + i32.load16_u local.set $code loop $while-continue|0 local.get $code @@ -7427,7 +7494,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code local.get $len i32.const 1 @@ -7477,7 +7544,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code end local.get $radix @@ -7520,7 +7587,7 @@ end if (result i32) local.get $ptr - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 32 i32.or i32.const 120 @@ -7556,7 +7623,7 @@ block $case1|1 block $case0|1 local.get $ptr - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 32 i32.or local.set $6 @@ -7634,7 +7701,7 @@ local.get $9 if local.get $ptr - i32.load16_u $0 + i32.load16_u local.set $code local.get $code i32.const 48 @@ -7737,12 +7804,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $radix call $~lib/util/string/strtol @@ -7818,12 +7885,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store local.get $55 call $~lib/string/String#get:length local.set $len @@ -7842,7 +7909,7 @@ local.get $str local.set $ptr local.get $ptr - i32.load16_u $0 + i32.load16_u local.set $code f64.const 1 local.set $sign @@ -7859,7 +7926,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code local.get $len i32.const 1 @@ -7903,7 +7970,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code f64.const -1 local.set $sign @@ -7931,7 +7998,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code end end @@ -7947,12 +8014,12 @@ end if local.get $ptr - i64.load $0 + i64.load i64.const 29555310648492105 i64.eq if (result i32) local.get $ptr - i64.load $0 offset=8 + i64.load offset=8 i64.const 34058970405077102 i64.eq else @@ -8012,7 +8079,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code local.get $len i32.const 1 @@ -8082,7 +8149,7 @@ local.set $pointed loop $for-loop|2 local.get $ptr - i32.load16_u $0 + i32.load16_u local.tee $code i32.const 48 i32.eq @@ -8212,7 +8279,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code local.get $code i32.const 48 @@ -8251,7 +8318,7 @@ i32.const 0 local.set $magnitude local.get $ptr|14 - i32.load16_u $0 + i32.load16_u local.set $code|18 local.get $code|18 i32.const 32 @@ -8275,7 +8342,7 @@ i32.const 2 i32.add local.tee $ptr|14 - i32.load16_u $0 + i32.load16_u local.set $code|18 local.get $code|18 i32.const 45 @@ -8294,7 +8361,7 @@ i32.const 2 i32.add local.tee $ptr|14 - i32.load16_u $0 + i32.load16_u local.set $code|18 i32.const -1 local.set $sign|16 @@ -8316,7 +8383,7 @@ i32.const 2 i32.add local.tee $ptr|14 - i32.load16_u $0 + i32.load16_u local.set $code|18 end end @@ -8338,7 +8405,7 @@ i32.const 2 i32.add local.tee $ptr|14 - i32.load16_u $0 + i32.load16_u local.set $code|18 br $while-continue|4 end @@ -8376,7 +8443,7 @@ i32.const 2 i32.add local.tee $ptr|14 - i32.load16_u $0 + i32.load16_u local.set $code|18 local.get $len|15 i32.const 1 @@ -8451,7 +8518,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load br $~lib/util/string/pow10|inlined.0 end f64.mul @@ -8491,7 +8558,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load br $~lib/util/string/pow10|inlined.1 end f64.mul @@ -8508,7 +8575,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load br $~lib/util/string/pow10|inlined.2 end f64.div @@ -8817,12 +8884,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $value local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/util/string/strtod f32.demote_f64 @@ -8844,12 +8911,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $value local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/util/string/strtod local.set $2 @@ -8877,12 +8944,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $len @@ -8903,7 +8970,7 @@ local.get $str local.set $ptr local.get $ptr - i32.load16_u $0 + i32.load16_u local.set $code loop $while-continue|0 local.get $code @@ -8913,7 +8980,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code local.get $len i32.const 1 @@ -8963,7 +9030,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code end local.get $radix @@ -9006,7 +9073,7 @@ end if (result i32) local.get $ptr - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 32 i32.or i32.const 120 @@ -9042,7 +9109,7 @@ block $case1|1 block $case0|1 local.get $ptr - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 32 i32.or local.set $6 @@ -9120,7 +9187,7 @@ local.get $9 if local.get $ptr - i32.load16_u $0 + i32.load16_u local.set $code local.get $code i32.const 48 @@ -9220,12 +9287,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $value local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $radix call $~lib/util/string/strtol @@ -9255,12 +9322,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $len @@ -9281,7 +9348,7 @@ local.get $str local.set $ptr local.get $ptr - i32.load16_u $0 + i32.load16_u local.set $code loop $while-continue|0 local.get $code @@ -9291,7 +9358,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code local.get $len i32.const 1 @@ -9341,7 +9408,7 @@ i32.const 2 i32.add local.tee $ptr - i32.load16_u $0 + i32.load16_u local.set $code end local.get $radix @@ -9384,7 +9451,7 @@ end if (result i32) local.get $ptr - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 32 i32.or i32.const 120 @@ -9420,7 +9487,7 @@ block $case1|1 block $case0|1 local.get $ptr - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 32 i32.or local.set $6 @@ -9498,7 +9565,7 @@ local.get $9 if local.get $ptr - i32.load16_u $0 + i32.load16_u local.set $code local.get $code i32.const 48 @@ -9601,12 +9668,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $value local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $radix call $~lib/util/string/strtol @@ -9628,12 +9695,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/util/string/strtod local.set $2 @@ -9657,12 +9724,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -9672,7 +9739,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -9700,17 +9767,17 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $out local.get $thisSize i32.add local.get $other local.get $otherSize - memory.copy $0 $0 + memory.copy local.get $out local.set $6 global.get $~lib/memory/__stack_pointer @@ -9729,18 +9796,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String#concat local.set $2 @@ -9760,18 +9827,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String.__eq i32.eqz @@ -9797,7 +9864,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -9815,7 +9882,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/string/String#get:length local.set $leftLength @@ -9835,7 +9902,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/string/String#get:length local.set $rightLength @@ -9855,14 +9922,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 i32.const 0 local.get $right local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 local.get $leftLength @@ -9907,7 +9974,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -9925,7 +9992,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/string/String#get:length local.set $rightLength @@ -9945,7 +10012,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 call $~lib/string/String#get:length local.set $leftLength @@ -9965,14 +10032,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 i32.const 0 local.get $right local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 local.get $leftLength @@ -10012,18 +10079,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String.__lt i32.eqz @@ -10044,18 +10111,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String.__gt i32.eqz @@ -10078,12 +10145,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/string/String#get:length local.set $length @@ -10152,7 +10219,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $length @@ -10184,15 +10251,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/string/String#get:length local.set $len @@ -10200,7 +10267,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/string/String#get:length local.set $slen @@ -10220,13 +10287,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 local.get $this local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/string/String.__eq select @@ -10243,13 +10310,13 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 local.get $search local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 i32.const 0 call $~lib/string/String#indexOf @@ -10262,7 +10329,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 + i32.store local.get $9 call $~lib/string/String#get:length local.set $rlen @@ -10283,13 +10350,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $this local.get $index i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $out local.get $index i32.const 1 @@ -10299,7 +10366,7 @@ local.get $rlen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $out local.get $index local.get $rlen @@ -10319,7 +10386,7 @@ i32.sub i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $out local.set $9 global.get $~lib/memory/__stack_pointer @@ -10365,12 +10432,12 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill local.get $this local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/string/String#get:length local.set $thisLen @@ -10378,7 +10445,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/string/String#get:length local.set $searchLen @@ -10398,13 +10465,13 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 local.get $this local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/string/String.__eq select @@ -10421,7 +10488,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/string/String#get:length local.set $replaceLen @@ -10453,13 +10520,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $replacement local.get $replaceLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $replaceLen local.set $offset i32.const 0 @@ -10484,8 +10551,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $out local.get $offset i32.const 1 @@ -10495,7 +10562,7 @@ local.get $replaceLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $replaceLen i32.add @@ -10533,23 +10600,23 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out|13 - i32.store $0 offset=12 + i32.store offset=12 local.get $out|13 local.get $this local.get $outSize - memory.copy $0 $0 + memory.copy loop $while-continue|1 local.get $this local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 local.get $search local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 local.get $prev call $~lib/string/String#indexOf @@ -10566,7 +10633,7 @@ local.get $replaceLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $next local.get $searchLen i32.add @@ -10594,13 +10661,13 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 local.get $search local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 local.get $prev call $~lib/string/String#indexOf @@ -10612,7 +10679,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 + i32.store local.get $19 call $~lib/string/String.__not if @@ -10623,7 +10690,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out|14 - i32.store $0 offset=16 + i32.store offset=16 end local.get $next local.get $prev @@ -10648,7 +10715,7 @@ i32.shl call $~lib/rt/itcms/__renew local.tee $out|14 - i32.store $0 offset=16 + i32.store offset=16 end local.get $out|14 local.get $offset|15 @@ -10663,7 +10730,7 @@ local.get $chunk i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset|15 local.get $chunk i32.add @@ -10677,7 +10744,7 @@ local.get $replaceLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset|15 local.get $replaceLen i32.add @@ -10712,7 +10779,7 @@ i32.shl call $~lib/rt/itcms/__renew local.tee $out|14 - i32.store $0 offset=16 + i32.store offset=16 end local.get $rest if @@ -10729,7 +10796,7 @@ local.get $rest i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy end local.get $rest local.get $offset|15 @@ -10746,7 +10813,7 @@ i32.shl call $~lib/rt/itcms/__renew local.tee $out|14 - i32.store $0 offset=16 + i32.store offset=16 end local.get $out|14 local.set $19 @@ -10785,12 +10852,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 + i32.store local.get $13 call $~lib/string/String#get:length local.set $len @@ -10868,7 +10935,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $start @@ -10878,7 +10945,7 @@ local.get $len i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $out local.set $13 global.get $~lib/memory/__stack_pointer @@ -10897,7 +10964,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -10915,7 +10982,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $start local.get $end @@ -10947,7 +11014,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $start local.set $intStart local.get $length @@ -10956,7 +11023,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/string/String#get:length local.set $len @@ -11014,7 +11081,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $intStart @@ -11022,7 +11089,7 @@ i32.shl i32.add local.get $size - memory.copy $0 $0 + memory.copy local.get $out local.set $14 global.get $~lib/memory/__stack_pointer @@ -11041,7 +11108,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -11059,7 +11126,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $start local.get $length @@ -11099,12 +11166,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $22 global.get $~lib/memory/__stack_pointer local.get $22 - i32.store $0 + i32.store local.get $22 call $~lib/string/String#get:length local.set $len @@ -11204,13 +11271,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $fromPos i32.add local.get $size - memory.copy $0 $0 + memory.copy local.get $out local.set $22 global.get $~lib/memory/__stack_pointer @@ -11229,7 +11296,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -11247,7 +11314,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $start local.get $end @@ -11278,12 +11345,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $oldCapacity @@ -11310,7 +11377,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 + i32.store local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $oldData @@ -11360,10 +11427,10 @@ if local.get $array local.get $newData - i32.store $0 + i32.store local.get $array local.get $newData - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $newData i32.const 0 @@ -11371,7 +11438,7 @@ end local.get $array local.get $newCapacity - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -11387,13 +11454,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u @@ -11420,7 +11487,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $index i32.const 1 @@ -11431,7 +11498,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index @@ -11439,7 +11506,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store i32.const 1 drop local.get $this @@ -11462,12 +11529,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/string/String>#get:length_ local.set $oldLen @@ -11486,7 +11553,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $oldLen @@ -11494,7 +11561,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store local.get $this local.get $value i32.const 1 @@ -11503,7 +11570,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $len call $~lib/array/Array<~lib/string/String>#set:length_ @@ -11518,34 +11585,33 @@ ) (func $~lib/string/String#split (param $this i32) (param $separator i32) (param $limit i32) (result i32) (local $3 i32) - (local $4 i32) (local $length i32) (local $sepLen i32) + (local $6 i32) (local $7 i32) - (local $8 i32) (local $result i32) (local $resultStart i32) (local $i i32) (local $charStr i32) + (local $result|12 i32) (local $result|13 i32) - (local $result|14 i32) (local $end i32) (local $start i32) - (local $i|17 i32) + (local $i|16 i32) (local $len i32) (local $out i32) - (local $len|20 i32) - (local $out|21 i32) - (local $22 i32) + (local $len|19 i32) + (local $out|20 i32) + (local $21 i32) global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 40 - memory.fill $0 + i32.const 36 + memory.fill local.get $limit i32.eqz if @@ -11554,12 +11620,12 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $21 return end local.get $separator @@ -11573,39 +11639,34 @@ i32.const 0 call $~lib/rt/__newArray local.tee $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load $0 offset=4 - local.tee $4 - i32.store $0 offset=4 + i32.store local.get $3 i32.const 0 local.get $this call $~lib/array/Array<~lib/string/String>#__set local.get $3 - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $21 return end local.get $this - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 + local.get $21 + i32.store offset=4 + local.get $21 call $~lib/string/String#get:length local.set $length local.get $separator - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 + local.get $21 + i32.store offset=4 + local.get $21 call $~lib/string/String#get:length local.set $sepLen local.get $limit @@ -11626,20 +11687,20 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $21 return end local.get $length - local.tee $7 + local.tee $6 local.get $limit - local.tee $8 + local.tee $7 + local.get $6 local.get $7 - local.get $8 i32.lt_s select local.set $length @@ -11650,13 +11711,13 @@ i32.const 0 call $~lib/rt/__newArray local.tee $result - i32.store $0 offset=12 + i32.store offset=8 local.get $result - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 + local.get $21 + i32.store offset=4 + local.get $21 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $resultStart i32.const 0 @@ -11671,22 +11732,22 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $charStr - i32.store $0 offset=16 + i32.store offset=12 local.get $charStr local.get $this local.get $i i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $resultStart local.get $i i32.const 2 i32.shl i32.add local.get $charStr - i32.store $0 + i32.store local.get $result local.get $charStr i32.const 1 @@ -11699,12 +11760,12 @@ end end local.get $result - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $21 return else local.get $length @@ -11716,24 +11777,24 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.tee $result|13 - i32.store $0 offset=20 - local.get $result|13 - local.set $22 + local.tee $result|12 + i32.store offset=16 + local.get $result|12 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 + local.get $21 + i32.store offset=4 + local.get $21 call $~lib/array/Array<~lib/string/String>#get:dataStart i32.const 688 - i32.store $0 - local.get $result|13 - local.set $22 + i32.store + local.get $result|12 + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $21 return end end @@ -11743,27 +11804,27 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.tee $result|14 - i32.store $0 offset=24 + local.tee $result|13 + i32.store offset=20 i32.const 0 local.set $end i32.const 0 local.set $start i32.const 0 - local.set $i|17 + local.set $i|16 loop $while-continue|1 local.get $this - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 + local.get $21 + i32.store offset=4 + local.get $21 local.get $separator - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 + local.get $21 + i32.store offset=24 + local.get $21 local.get $start call $~lib/string/String#indexOf local.tee $end @@ -11785,7 +11846,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=32 + i32.store offset=28 local.get $out local.get $this local.get $start @@ -11795,51 +11856,46 @@ local.get $len i32.const 1 i32.shl - memory.copy $0 $0 - local.get $result|14 - local.set $22 + memory.copy + local.get $result|13 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 + local.get $21 + i32.store offset=4 + local.get $21 local.get $out - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 + local.get $21 + i32.store offset=24 + local.get $21 call $~lib/array/Array<~lib/string/String>#push drop else - local.get $result|14 - local.set $22 + local.get $result|13 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 + local.get $21 + i32.store offset=4 + local.get $21 i32.const 688 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 call $~lib/array/Array<~lib/string/String>#push drop end - local.get $i|17 + local.get $i|16 i32.const 1 i32.add - local.tee $i|17 + local.tee $i|16 local.get $limit i32.eq if - local.get $result|14 - local.set $22 + local.get $result|13 + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $21 return end local.get $end @@ -11852,92 +11908,87 @@ local.get $start i32.eqz if - local.get $result|14 - local.set $22 + local.get $result|13 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 + local.get $21 + i32.store offset=4 + local.get $21 local.get $this - local.set $22 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 + local.get $21 + i32.store offset=24 + local.get $21 call $~lib/array/Array<~lib/string/String>#push drop - local.get $result|14 - local.set $22 + local.get $result|13 + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $21 return end local.get $length local.get $start i32.sub - local.set $len|20 - local.get $len|20 + local.set $len|19 + local.get $len|19 i32.const 0 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $len|20 + local.get $len|19 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $out|21 - i32.store $0 offset=36 - local.get $out|21 + local.tee $out|20 + i32.store offset=32 + local.get $out|20 local.get $this local.get $start i32.const 1 i32.shl i32.add - local.get $len|20 + local.get $len|19 i32.const 1 i32.shl - memory.copy $0 $0 - local.get $result|14 - local.set $22 + memory.copy + local.get $result|13 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 - local.get $out|21 - local.set $22 + local.get $21 + i32.store offset=4 + local.get $21 + local.get $out|20 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 + local.get $21 + i32.store offset=24 + local.get $21 call $~lib/array/Array<~lib/string/String>#push drop else - local.get $result|14 - local.set $22 + local.get $result|13 + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=8 - local.get $22 + local.get $21 + i32.store offset=4 + local.get $21 i32.const 688 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 call $~lib/array/Array<~lib/string/String>#push drop end - local.get $result|14 - local.set $22 + local.get $result|13 + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $21 return ) (func $~lib/string/String#split@varargs (param $this i32) (param $separator i32) (param $limit i32) (result i32) @@ -11949,7 +12000,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $2of2 block $1of2 block $0of2 @@ -11969,13 +12020,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $separator local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $limit call $~lib/string/String#split @@ -11995,12 +12046,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array<~lib/string/String>#get:length_ local.set $1 @@ -12021,13 +12072,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u @@ -12044,16 +12095,16 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 drop i32.const 0 @@ -12089,26 +12140,26 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) + (local $10 f64) + (local $11 f64) + (local $12 f64) (local $13 f64) (local $14 f64) (local $15 f64) (local $16 f64) - (local $17 f64) + (local $17 f32) (local $18 f64) - (local $19 f64) + (local $19 i32) (local $20 f32) - (local $21 f64) - (local $22 i32) - (local $23 f32) + (local $21 i32) + (local $22 f64) + (local $23 i32) (local $24 i32) - (local $25 f64) + (local $25 i32) (local $26 i32) - (local $27 i32) - (local $28 i32) - (local $29 i32) + (local $27 f64) + (local $28 f64) + (local $29 f64) (local $30 f64) (local $31 f64) (local $32 f64) @@ -12127,23 +12178,20 @@ (local $45 f64) (local $46 f64) (local $47 f64) - (local $48 f64) - (local $49 f64) - (local $50 f64) + (local $48 i32) + (local $49 i32) + (local $50 i32) (local $51 i32) (local $52 i32) - (local $53 i32) - (local $54 i32) - (local $55 i32) global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 76 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 96 - memory.fill $0 + i32.const 76 + memory.fill global.get $std/string/str i32.const 32 i32.eq @@ -12157,17 +12205,7 @@ unreachable end i32.const 144 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 144 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12179,17 +12217,7 @@ unreachable end i32.const 176 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 176 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12201,17 +12229,7 @@ unreachable end i32.const 208 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 208 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12223,11 +12241,11 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/string/String#get:length i32.const 16 i32.eq @@ -12241,11 +12259,11 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 0 call $~lib/string/String#charCodeAt i32.const 104 @@ -12260,11 +12278,11 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1 call $~lib/string/String#codePointAt i32.const 105 @@ -12278,7 +12296,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -12296,31 +12314,31 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=8 + local.get $52 i32.const 15 call $~lib/string/String#at - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=8 + local.get $52 i32.const 15 call $~lib/string/String#charAt - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -12332,39 +12350,39 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=8 + local.get $52 i32.const -1 call $~lib/string/String#at - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=8 + local.get $52 global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 + local.get $52 + i32.store offset=12 + local.get $52 call $~lib/string/String#get:length i32.const 1 i32.sub call $~lib/string/String#charAt - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -12376,32 +12394,27 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 + local.get $52 + i32.store offset=8 + local.get $52 call $~lib/string/String#get:length i32.sub call $~lib/string/String#at - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 720 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12413,11 +12426,6 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/String.__not i32.eqz i32.const 0 @@ -12432,11 +12440,6 @@ unreachable end i32.const 752 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/String.__not i32.eqz i32.const 1 @@ -12451,11 +12454,6 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/String.__not i32.eqz i32.const 1 @@ -12474,17 +12472,12 @@ global.set $~argumentsLength i32.const 0 call $~lib/string/String.fromCharCode@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 752 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12500,17 +12493,12 @@ global.set $~argumentsLength i32.const 0 call $~lib/string/String.fromCharCode@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12526,17 +12514,12 @@ global.set $~argumentsLength i32.const 0 call $~lib/string/String.fromCharCode@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12554,17 +12537,12 @@ global.set $~argumentsLength i32.const 0 call $~lib/string/String.fromCharCode@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12578,17 +12556,12 @@ i32.const 55296 i32.const 57088 call $~lib/string/String.fromCharCode - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12604,23 +12577,18 @@ i32.const 4 i32.const 912 call $~lib/rt/__newArray - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 call $~lib/string/String.fromCharCodes - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 944 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12636,23 +12604,18 @@ i32.const 4 i32.const 976 call $~lib/rt/__newArray - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 call $~lib/string/String.fromCharCodes - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1008 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12668,23 +12631,18 @@ i32.const 4 i32.const 1040 call $~lib/rt/__newArray - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 call $~lib/string/String.fromCharCodes - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1088 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12697,17 +12655,12 @@ end i32.const 0 call $~lib/string/String.fromCodePoint - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 752 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12720,17 +12673,12 @@ end i32.const 54 call $~lib/string/String.fromCodePoint - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12743,17 +12691,12 @@ end i32.const 119558 call $~lib/string/String.fromCodePoint - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1120 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12765,17 +12708,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1152 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#startsWith i32.eqz @@ -12788,17 +12726,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1184 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 @@ -12813,17 +12746,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1216 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#includes i32.eqz @@ -12836,30 +12764,25 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 0 + local.get $52 + i32.store offset=8 + local.get $52 + i32.const 0 i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -12871,30 +12794,25 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=8 + local.get $52 i32.const 15 i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -12906,30 +12824,15 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 3 i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12941,30 +12844,15 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 10 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -12976,30 +12864,15 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 100 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -13011,30 +12884,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 5 i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1344 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -13046,30 +12904,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 6 i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1408 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -13081,30 +12924,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 8 i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -13116,30 +12944,25 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=8 + local.get $52 i32.const 0 i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -13151,30 +12974,25 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=8 + local.get $52 i32.const 15 i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 call $~lib/string/String.__eq i32.eqz if @@ -13186,30 +13004,15 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 3 i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -13221,30 +13024,15 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 10 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -13256,30 +13044,15 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 100 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -13291,30 +13064,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 5 i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1488 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -13326,30 +13084,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 6 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 1520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 1520 call $~lib/string/String.__eq i32.eqz if @@ -13361,30 +13104,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 8 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#padEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1552 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -13396,17 +13124,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#indexOf i32.const 0 @@ -13421,17 +13139,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1152 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#indexOf i32.const -1 @@ -13446,17 +13154,7 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#indexOf i32.const 0 @@ -13471,17 +13169,17 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/string/String#indexOf i32.const 0 @@ -13496,17 +13194,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#indexOf i32.const 0 @@ -13521,17 +13214,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#indexOf i32.const 2 @@ -13546,17 +13234,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1632 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#indexOf i32.const -1 @@ -13571,17 +13254,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 2 call $~lib/string/String#indexOf i32.const 2 @@ -13596,17 +13274,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 3 call $~lib/string/String#indexOf i32.const -1 @@ -13621,17 +13294,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1664 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const -1 call $~lib/string/String#indexOf i32.const 2 @@ -13646,17 +13314,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 @@ -13673,17 +13331,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1152 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 @@ -13700,27 +13348,22 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#lastIndexOf@varargs global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/string/String#get:length i32.eq i32.eqz @@ -13733,17 +13376,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 @@ -13760,17 +13398,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1632 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 @@ -13787,17 +13420,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1696 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 @@ -13814,17 +13442,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 2 call $~lib/string/String#lastIndexOf i32.const 2 @@ -13839,17 +13462,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 3 call $~lib/string/String#lastIndexOf i32.const 2 @@ -13864,17 +13482,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1664 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const -1 call $~lib/string/String#lastIndexOf i32.const -1 @@ -13889,17 +13502,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1728 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#lastIndexOf i32.const -1 @@ -13914,17 +13522,12 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1152 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#lastIndexOf i32.const 0 @@ -13939,17 +13542,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const 0 i32.eq @@ -13963,17 +13556,7 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const 1 i32.eq @@ -13987,17 +13570,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const -1 i32.eq @@ -14011,17 +13584,7 @@ unreachable end i32.const 1760 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1760 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const 0 i32.eq @@ -14035,17 +13598,7 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1792 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const -1 i32.eq @@ -14059,17 +13612,7 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1824 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const -1 i32.eq @@ -14083,17 +13626,7 @@ unreachable end i32.const 1792 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const 1 i32.eq @@ -14107,17 +13640,7 @@ unreachable end i32.const 1856 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const 1 i32.eq @@ -14131,17 +13654,7 @@ unreachable end i32.const 1888 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const 1 i32.eq @@ -14155,17 +13668,7 @@ unreachable end i32.const 1856 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1920 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const 1 i32.eq @@ -14179,17 +13682,7 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1888 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const -1 i32.eq @@ -14203,17 +13696,7 @@ unreachable end i32.const 1920 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1856 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const -1 i32.eq @@ -14227,17 +13710,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const -1 i32.eq @@ -14251,17 +13724,7 @@ unreachable end i32.const 752 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String#localeCompare i32.const 1 i32.eq @@ -14275,23 +13738,13 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 call $~lib/string/String#trimStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -14303,23 +13756,13 @@ unreachable end i32.const 1952 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 call $~lib/string/String#trimStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1952 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -14331,23 +13774,13 @@ unreachable end i32.const 1984 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 call $~lib/string/String#trimStart - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2032 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -14359,23 +13792,13 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 call $~lib/string/String#trimEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -14387,23 +13810,13 @@ unreachable end i32.const 1952 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 call $~lib/string/String#trimEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1952 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -14415,23 +13828,13 @@ unreachable end i32.const 1984 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 call $~lib/string/String#trimEnd - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2080 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -14443,23 +13846,13 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 call $~lib/string/String#trim - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -14471,23 +13864,13 @@ unreachable end i32.const 1952 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 call $~lib/string/String#trim - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1952 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -14499,23 +13882,13 @@ unreachable end i32.const 1984 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 call $~lib/string/String#trim - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -14529,14 +13902,14 @@ block $~lib/builtins/bool.parse|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer i32.const 2128 - local.tee $6 - i32.store $0 offset=20 - local.get $6 - local.set $55 + local.tee $3 + i32.store offset=16 + local.get $3 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/util/string/strtob br $~lib/builtins/bool.parse|inlined.0 end @@ -14556,14 +13929,14 @@ block $~lib/builtins/bool.parse|inlined.1 (result i32) global.get $~lib/memory/__stack_pointer i32.const 2176 - local.tee $7 - i32.store $0 offset=24 - local.get $7 - local.set $55 + local.tee $4 + i32.store offset=20 + local.get $4 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/util/string/strtob br $~lib/builtins/bool.parse|inlined.1 end @@ -14583,14 +13956,14 @@ block $~lib/builtins/bool.parse|inlined.2 (result i32) global.get $~lib/memory/__stack_pointer i32.const 2224 - local.tee $8 - i32.store $0 offset=28 - local.get $8 - local.set $55 + local.tee $5 + i32.store offset=24 + local.get $5 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/util/string/strtob br $~lib/builtins/bool.parse|inlined.2 end @@ -14610,14 +13983,14 @@ block $~lib/builtins/bool.parse|inlined.3 (result i32) global.get $~lib/memory/__stack_pointer i32.const 688 - local.tee $9 - i32.store $0 offset=32 - local.get $9 - local.set $55 + local.tee $6 + i32.store offset=28 + local.get $6 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/util/string/strtob br $~lib/builtins/bool.parse|inlined.3 end @@ -14637,14 +14010,14 @@ block $~lib/builtins/bool.parse|inlined.4 (result i32) global.get $~lib/memory/__stack_pointer i32.const 2272 - local.tee $10 - i32.store $0 offset=36 - local.get $10 - local.set $55 + local.tee $7 + i32.store offset=32 + local.get $7 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/util/string/strtob br $~lib/builtins/bool.parse|inlined.4 end @@ -14664,14 +14037,14 @@ block $~lib/builtins/bool.parse|inlined.5 (result i32) global.get $~lib/memory/__stack_pointer i32.const 2304 - local.tee $11 - i32.store $0 offset=40 - local.get $11 - local.set $55 + local.tee $8 + i32.store offset=36 + local.get $8 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/util/string/strtob br $~lib/builtins/bool.parse|inlined.5 end @@ -14691,14 +14064,14 @@ block $~lib/builtins/bool.parse|inlined.6 (result i32) global.get $~lib/memory/__stack_pointer i32.const 2336 - local.tee $12 - i32.store $0 offset=44 - local.get $12 - local.set $55 + local.tee $9 + i32.store offset=40 + local.get $9 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/util/string/strtob br $~lib/builtins/bool.parse|inlined.6 end @@ -14716,11 +14089,6 @@ unreachable end i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 0 @@ -14735,11 +14103,6 @@ unreachable end i32.const 2400 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 0 @@ -14754,11 +14117,6 @@ unreachable end i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -14773,11 +14131,6 @@ unreachable end i32.const 2464 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -14792,11 +14145,6 @@ unreachable end i32.const 2496 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 5 @@ -14811,11 +14159,6 @@ unreachable end i32.const 2528 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 455 @@ -14830,11 +14173,6 @@ unreachable end i32.const 2560 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 3855 @@ -14849,11 +14187,6 @@ unreachable end i32.const 2592 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 3855 @@ -14868,11 +14201,6 @@ unreachable end i32.const 2624 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 11 @@ -14887,11 +14215,6 @@ unreachable end i32.const 2656 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -14906,11 +14229,6 @@ unreachable end i32.const 2688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const -123 @@ -14925,11 +14243,6 @@ unreachable end i32.const 2720 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 123 @@ -14944,11 +14257,6 @@ unreachable end i32.const 2752 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const -12 @@ -14963,11 +14271,6 @@ unreachable end i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 0 @@ -14982,11 +14285,6 @@ unreachable end i32.const 2784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 0 @@ -15001,11 +14299,6 @@ unreachable end i32.const 2816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 16 call $~lib/string/parseInt f64.const 2833 @@ -15020,11 +14313,6 @@ unreachable end i32.const 2848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -15039,11 +14327,6 @@ unreachable end i32.const 2880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -15058,11 +14341,6 @@ unreachable end i32.const 2912 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -15078,15 +14356,10 @@ end block $~lib/math/NativeMath.signbit|inlined.0 (result i32) i32.const 2944 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt - local.set $13 - local.get $13 + local.set $10 + local.get $10 i64.reinterpret_f64 i64.const 63 i64.shr_u @@ -15106,19 +14379,9 @@ unreachable end i32.const 2976 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt i32.const 3024 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 16 call $~lib/string/parseInt f64.eq @@ -15132,11 +14395,6 @@ unreachable end i32.const 3056 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 36893488147419103232 @@ -15151,11 +14409,6 @@ unreachable end i32.const 3056 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 13 call $~lib/string/parseInt f64.const 5135857308667095285760 @@ -15170,11 +14423,6 @@ unreachable end i32.const 3120 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 10 call $~lib/string/parseInt f64.const -1.e+24 @@ -15189,11 +14437,6 @@ unreachable end i32.const 3200 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 16 call $~lib/string/parseInt f64.const 75557863725914323419136 @@ -15208,11 +14451,6 @@ unreachable end i32.const 3264 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -15227,11 +14465,6 @@ unreachable end i32.const 3296 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 2 @@ -15246,11 +14479,6 @@ unreachable end i32.const 3344 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -15265,11 +14493,6 @@ unreachable end i32.const 3376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 2 @@ -15284,11 +14507,6 @@ unreachable end i32.const 3424 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 0 @@ -15303,11 +14521,6 @@ unreachable end i32.const 3456 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 1 @@ -15322,11 +14535,6 @@ unreachable end i32.const 3488 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt f64.const 0 @@ -15341,15 +14549,10 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt - local.tee $14 - local.get $14 + local.tee $11 + local.get $11 f64.ne i32.eqz if @@ -15361,15 +14564,10 @@ unreachable end i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt - local.tee $15 - local.get $15 + local.tee $12 + local.get $12 f64.ne i32.eqz if @@ -15381,15 +14579,10 @@ unreachable end i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt - local.tee $16 - local.get $16 + local.tee $13 + local.get $13 f64.ne i32.eqz if @@ -15401,15 +14594,10 @@ unreachable end i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 37 call $~lib/string/parseInt - local.tee $17 - local.get $17 + local.tee $14 + local.get $14 f64.ne i32.eqz if @@ -15421,15 +14609,10 @@ unreachable end i32.const 3600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt - local.tee $18 - local.get $18 + local.tee $15 + local.get $15 f64.ne i32.eqz if @@ -15441,15 +14624,10 @@ unreachable end i32.const 3632 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/string/parseInt - local.tee $19 - local.get $19 + local.tee $16 + local.get $16 f64.ne i32.eqz if @@ -15461,14 +14639,9 @@ unreachable end i32.const 3632 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/number/F32.parseFloat - local.tee $20 - local.get $20 + local.tee $17 + local.get $17 f32.ne i32.eqz if @@ -15480,14 +14653,9 @@ unreachable end i32.const 3632 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/number/F64.parseFloat - local.tee $21 - local.get $21 + local.tee $18 + local.get $18 f64.ne i32.eqz if @@ -15501,20 +14669,20 @@ block $~lib/builtins/f32.parse|inlined.0 (result f32) global.get $~lib/memory/__stack_pointer i32.const 3632 - local.tee $22 - i32.store $0 offset=48 - local.get $22 - local.set $55 + local.tee $19 + i32.store offset=44 + local.get $19 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/util/string/strtod f32.demote_f64 br $~lib/builtins/f32.parse|inlined.0 end - local.tee $23 - local.get $23 + local.tee $20 + local.get $20 f32.ne i32.eqz if @@ -15528,19 +14696,19 @@ block $~lib/builtins/f64.parse|inlined.0 (result f64) global.get $~lib/memory/__stack_pointer i32.const 3632 - local.tee $24 - i32.store $0 offset=52 - local.get $24 - local.set $55 + local.tee $21 + i32.store offset=48 + local.get $21 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/util/string/strtod br $~lib/builtins/f64.parse|inlined.0 end - local.tee $25 - local.get $25 + local.tee $22 + local.get $22 f64.ne i32.eqz if @@ -15552,11 +14720,6 @@ unreachable end i32.const 3856 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/number/I32.parseInt global.get $~lib/number/I32.MAX_VALUE @@ -15573,17 +14736,17 @@ block $~lib/builtins/i32.parse|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer i32.const 3856 - local.tee $26 - i32.store $0 offset=56 + local.tee $23 + i32.store offset=52 i32.const 0 - local.set $27 - local.get $26 - local.set $55 + local.set $24 + local.get $23 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - local.get $27 + local.get $52 + i32.store + local.get $52 + local.get $24 call $~lib/util/string/strtol br $~lib/builtins/i32.parse|inlined.0 end @@ -15599,11 +14762,6 @@ unreachable end i32.const 3904 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 call $~lib/number/I64.parseInt global.get $~lib/number/I64.MAX_VALUE @@ -15620,17 +14778,17 @@ block $~lib/builtins/i64.parse|inlined.0 (result i64) global.get $~lib/memory/__stack_pointer i32.const 3904 - local.tee $28 - i32.store $0 offset=60 + local.tee $25 + i32.store offset=56 i32.const 0 - local.set $29 - local.get $28 - local.set $55 + local.set $26 + local.get $25 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - local.get $29 + local.get $52 + i32.store + local.get $52 + local.get $26 call $~lib/util/string/strtol br $~lib/builtins/i64.parse|inlined.0 end @@ -15646,11 +14804,6 @@ unreachable end i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -15664,11 +14817,6 @@ unreachable end i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -15682,11 +14830,6 @@ unreachable end i32.const 3968 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -15700,11 +14843,6 @@ unreachable end i32.const 4000 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -15718,11 +14856,6 @@ unreachable end i32.const 4032 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e-05 f64.eq @@ -15736,11 +14869,6 @@ unreachable end i32.const 4064 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const -1e-05 f64.eq @@ -15754,11 +14882,6 @@ unreachable end i32.const 4096 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const -3e-23 f64.eq @@ -15772,11 +14895,6 @@ unreachable end i32.const 4144 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 3e21 f64.eq @@ -15790,11 +14908,6 @@ unreachable end i32.const 4192 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -15808,11 +14921,6 @@ unreachable end i32.const 4224 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -15826,11 +14934,6 @@ unreachable end i32.const 4256 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -15844,11 +14947,6 @@ unreachable end i32.const 4288 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.25 f64.eq @@ -15862,11 +14960,6 @@ unreachable end i32.const 4320 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e3 f64.eq @@ -15880,11 +14973,6 @@ unreachable end i32.const 4352 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e-10 f64.eq @@ -15898,11 +14986,6 @@ unreachable end i32.const 4400 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e-30 f64.eq @@ -15916,11 +14999,6 @@ unreachable end i32.const 4448 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e-323 f64.eq @@ -15934,11 +15012,6 @@ unreachable end i32.const 4496 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -15952,11 +15025,6 @@ unreachable end i32.const 4544 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1.e+308 f64.eq @@ -15970,11 +15038,6 @@ unreachable end i32.const 4576 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const inf f64.eq @@ -15988,14 +15051,9 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $30 - local.get $30 + local.tee $27 + local.get $27 f64.ne i32.eqz if @@ -16007,11 +15065,6 @@ unreachable end i32.const 4608 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -16025,11 +15078,6 @@ unreachable end i32.const 4656 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e-10 f64.eq @@ -16043,11 +15091,6 @@ unreachable end i32.const 4704 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -16061,11 +15104,6 @@ unreachable end i32.const 4752 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -16079,11 +15117,6 @@ unreachable end i32.const 4784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -16097,11 +15130,6 @@ unreachable end i32.const 4816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -16115,11 +15143,6 @@ unreachable end i32.const 4864 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 123456789 f64.eq @@ -16133,11 +15156,6 @@ unreachable end i32.const 4912 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -16151,11 +15169,6 @@ unreachable end i32.const 4960 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e-60 f64.eq @@ -16169,11 +15182,6 @@ unreachable end i32.const 4992 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1.e+60 f64.eq @@ -16187,11 +15195,6 @@ unreachable end i32.const 5024 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 123.4 f64.eq @@ -16205,11 +15208,6 @@ unreachable end i32.const 5056 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -16223,11 +15221,6 @@ unreachable end i32.const 5088 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const -1.1 f64.eq @@ -16241,11 +15234,6 @@ unreachable end i32.const 5136 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -16259,11 +15247,6 @@ unreachable end i32.const 5184 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -16277,11 +15260,6 @@ unreachable end i32.const 5232 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.022 f64.eq @@ -16295,11 +15273,6 @@ unreachable end i32.const 5280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 11 f64.eq @@ -16313,11 +15286,6 @@ unreachable end i32.const 2784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16331,11 +15299,6 @@ unreachable end i32.const 5312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16349,11 +15312,6 @@ unreachable end i32.const 5344 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16367,11 +15325,6 @@ unreachable end i32.const 5376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1.1 f64.eq @@ -16385,11 +15338,6 @@ unreachable end i32.const 5408 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const -1.1 f64.eq @@ -16403,11 +15351,6 @@ unreachable end i32.const 5440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const -1.1 f64.eq @@ -16421,11 +15364,6 @@ unreachable end i32.const 5472 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const -1.1 f64.eq @@ -16439,11 +15377,6 @@ unreachable end i32.const 5504 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const -1.1 f64.eq @@ -16457,11 +15390,6 @@ unreachable end i32.const 5536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16475,11 +15403,6 @@ unreachable end i32.const 5568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16493,11 +15416,6 @@ unreachable end i32.const 5600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -16511,11 +15429,6 @@ unreachable end i32.const 5632 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16529,11 +15442,6 @@ unreachable end i32.const 5664 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16547,11 +15455,6 @@ unreachable end i32.const 5696 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -16565,11 +15468,6 @@ unreachable end i32.const 5728 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -16583,11 +15481,6 @@ unreachable end i32.const 5776 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16601,11 +15494,6 @@ unreachable end i32.const 5808 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -16619,11 +15507,6 @@ unreachable end i32.const 5840 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -16637,11 +15520,6 @@ unreachable end i32.const 5872 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -16655,11 +15533,6 @@ unreachable end i32.const 5904 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 10 f64.eq @@ -16673,11 +15546,6 @@ unreachable end i32.const 5936 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -16691,11 +15559,6 @@ unreachable end i32.const 5968 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -16709,11 +15572,6 @@ unreachable end i32.const 6000 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.01 f64.eq @@ -16727,11 +15585,6 @@ unreachable end i32.const 6048 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16745,11 +15598,6 @@ unreachable end i32.const 6080 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16763,11 +15611,6 @@ unreachable end i32.const 6112 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16781,11 +15624,6 @@ unreachable end i32.const 6144 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -16799,11 +15637,6 @@ unreachable end i32.const 6176 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16817,11 +15650,6 @@ unreachable end i32.const 6208 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16835,11 +15663,6 @@ unreachable end i32.const 6240 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -16853,11 +15676,6 @@ unreachable end i32.const 6272 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -16871,11 +15689,6 @@ unreachable end i32.const 6304 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -16889,11 +15702,6 @@ unreachable end i32.const 6336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 call $~lib/object/Object.is @@ -16909,11 +15717,6 @@ unreachable end i32.const 6368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const -0 call $~lib/object/Object.is @@ -16929,11 +15732,6 @@ unreachable end i32.const 6400 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 call $~lib/object/Object.is @@ -16949,11 +15747,6 @@ unreachable end i32.const 2944 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const -0 call $~lib/object/Object.is @@ -16969,11 +15762,6 @@ unreachable end i32.const 6432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const -0 call $~lib/object/Object.is @@ -16989,14 +15777,9 @@ unreachable end i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $31 - local.get $31 + local.tee $28 + local.get $28 f64.ne i32.eqz if @@ -17008,14 +15791,9 @@ unreachable end i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $32 - local.get $32 + local.tee $29 + local.get $29 f64.ne i32.eqz if @@ -17027,14 +15805,9 @@ unreachable end i32.const 6480 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $33 - local.get $33 + local.tee $30 + local.get $30 f64.ne i32.eqz if @@ -17046,14 +15819,9 @@ unreachable end i32.const 6512 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $34 - local.get $34 + local.tee $31 + local.get $31 f64.ne i32.eqz if @@ -17065,14 +15833,9 @@ unreachable end i32.const 6544 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $35 - local.get $35 + local.tee $32 + local.get $32 f64.ne i32.eqz if @@ -17084,14 +15847,9 @@ unreachable end i32.const 6576 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $36 - local.get $36 + local.tee $33 + local.get $33 f64.ne i32.eqz if @@ -17103,14 +15861,9 @@ unreachable end i32.const 6608 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $37 - local.get $37 + local.tee $34 + local.get $34 f64.ne i32.eqz if @@ -17122,14 +15875,9 @@ unreachable end i32.const 6640 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $38 - local.get $38 + local.tee $35 + local.get $35 f64.ne i32.eqz if @@ -17141,14 +15889,9 @@ unreachable end i32.const 6672 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $39 - local.get $39 + local.tee $36 + local.get $36 f64.ne i32.eqz if @@ -17160,14 +15903,9 @@ unreachable end i32.const 6704 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $40 - local.get $40 + local.tee $37 + local.get $37 f64.ne i32.eqz if @@ -17179,14 +15917,9 @@ unreachable end i32.const 6736 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $41 - local.get $41 + local.tee $38 + local.get $38 f64.ne i32.eqz if @@ -17198,14 +15931,9 @@ unreachable end i32.const 6768 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $42 - local.get $42 + local.tee $39 + local.get $39 f64.ne i32.eqz if @@ -17217,14 +15945,9 @@ unreachable end i32.const 6800 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $43 - local.get $43 + local.tee $40 + local.get $40 f64.ne i32.eqz if @@ -17236,14 +15959,9 @@ unreachable end i32.const 6832 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $44 - local.get $44 + local.tee $41 + local.get $41 f64.ne i32.eqz if @@ -17255,14 +15973,9 @@ unreachable end i32.const 6864 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $45 - local.get $45 + local.tee $42 + local.get $42 f64.ne i32.eqz if @@ -17274,14 +15987,9 @@ unreachable end i32.const 2336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $46 - local.get $46 + local.tee $43 + local.get $43 f64.ne i32.eqz if @@ -17293,11 +16001,6 @@ unreachable end i32.const 6896 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e22 f64.eq @@ -17311,11 +16014,6 @@ unreachable end i32.const 6928 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e-22 f64.eq @@ -17329,11 +16027,6 @@ unreachable end i32.const 6960 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1.e+23 f64.eq @@ -17347,11 +16040,6 @@ unreachable end i32.const 6992 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e-23 f64.eq @@ -17365,11 +16053,6 @@ unreachable end i32.const 7024 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1.e+37 f64.eq @@ -17383,11 +16066,6 @@ unreachable end i32.const 7056 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e-37 f64.eq @@ -17401,11 +16079,6 @@ unreachable end i32.const 7088 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1.e+38 f64.eq @@ -17419,11 +16092,6 @@ unreachable end i32.const 7120 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1e-38 f64.eq @@ -17437,11 +16105,6 @@ unreachable end i32.const 7152 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat global.get $~lib/builtins/f64.EPSILON f64.eq @@ -17455,11 +16118,6 @@ unreachable end i32.const 7216 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat global.get $~lib/builtins/f64.MAX_VALUE f64.eq @@ -17473,11 +16131,6 @@ unreachable end i32.const 7296 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat global.get $~lib/builtins/f64.MIN_VALUE f64.eq @@ -17491,11 +16144,6 @@ unreachable end i32.const 7328 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1.e+308 f64.eq @@ -17509,11 +16157,6 @@ unreachable end i32.const 7376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1 f64.eq @@ -17527,11 +16170,6 @@ unreachable end i32.const 7520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -17545,11 +16183,6 @@ unreachable end i32.const 7568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const inf f64.eq @@ -17563,11 +16196,6 @@ unreachable end i32.const 7616 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -17581,11 +16209,6 @@ unreachable end i32.const 7664 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const inf f64.neg @@ -17600,11 +16223,6 @@ unreachable end i32.const 7712 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -17618,11 +16236,6 @@ unreachable end i32.const 7760 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const inf f64.eq @@ -17636,11 +16249,6 @@ unreachable end i32.const 7808 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const inf f64.eq @@ -17654,11 +16262,6 @@ unreachable end i32.const 7840 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const inf f64.eq @@ -17672,11 +16275,6 @@ unreachable end i32.const 7888 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const inf f64.eq @@ -17690,11 +16288,6 @@ unreachable end i32.const 7936 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const inf f64.neg @@ -17709,11 +16302,6 @@ unreachable end i32.const 7984 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const inf f64.eq @@ -17727,11 +16315,6 @@ unreachable end i32.const 8032 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const inf f64.eq @@ -17745,14 +16328,9 @@ unreachable end i32.const 8080 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $47 - local.get $47 + local.tee $44 + local.get $44 f64.ne i32.eqz if @@ -17764,14 +16342,9 @@ unreachable end i32.const 8112 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $48 - local.get $48 + local.tee $45 + local.get $45 f64.ne i32.eqz if @@ -17783,14 +16356,9 @@ unreachable end i32.const 8160 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $49 - local.get $49 + local.tee $46 + local.get $46 f64.ne i32.eqz if @@ -17802,11 +16370,6 @@ unreachable end i32.const 8208 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0 f64.eq @@ -17820,11 +16383,6 @@ unreachable end i32.const 8400 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat global.get $std/string/Ox1p_1073 f64.eq @@ -17838,11 +16396,6 @@ unreachable end i32.const 8592 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat global.get $std/string/Ox1_0000000000001p_1022 f64.eq @@ -17856,59 +16409,34 @@ unreachable end i32.const 8784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=72 - local.get $55 i32.const 8944 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=76 - local.get $55 call $~lib/string/String.__concat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=64 - local.get $55 + local.get $52 + i32.store offset=12 + local.get $52 i32.const 9104 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=68 - local.get $55 call $~lib/string/String.__concat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 + local.get $52 + i32.store offset=8 + local.get $52 i32.const 9264 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String.__concat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 9424 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 call $~lib/string/String.__concat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/string/parseFloat global.get $~lib/builtins/f64.MAX_VALUE f64.eq @@ -17922,11 +16450,6 @@ unreachable end i32.const 9584 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 9.753531888799502e-104 f64.eq @@ -17940,11 +16463,6 @@ unreachable end i32.const 9696 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.5961860348131807 f64.eq @@ -17958,11 +16476,6 @@ unreachable end i32.const 9808 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.18150131692180388 f64.eq @@ -17976,11 +16489,6 @@ unreachable end i32.const 9920 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.42070823575344535 f64.eq @@ -17994,11 +16502,6 @@ unreachable end i32.const 10032 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.6654686306516261 f64.eq @@ -18012,11 +16515,6 @@ unreachable end i32.const 10144 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.6101852922970868 f64.eq @@ -18030,11 +16528,6 @@ unreachable end i32.const 10256 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.7696695208236968 f64.eq @@ -18048,11 +16541,6 @@ unreachable end i32.const 10368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.25050653222286823 f64.eq @@ -18066,11 +16554,6 @@ unreachable end i32.const 10480 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.2740037230228005 f64.eq @@ -18084,11 +16567,6 @@ unreachable end i32.const 10592 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.20723093500497428 f64.eq @@ -18102,11 +16580,6 @@ unreachable end i32.const 10704 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 7.900280238081605 f64.eq @@ -18120,11 +16593,6 @@ unreachable end i32.const 10816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 98.22860653737297 f64.eq @@ -18138,11 +16606,6 @@ unreachable end i32.const 10928 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 746.894972319037 f64.eq @@ -18156,11 +16619,6 @@ unreachable end i32.const 11040 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 1630.2683202827284 f64.eq @@ -18174,11 +16632,6 @@ unreachable end i32.const 11152 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 46371.68629719171 f64.eq @@ -18192,11 +16645,6 @@ unreachable end i32.const 11264 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 653780.5944497711 f64.eq @@ -18210,11 +16658,6 @@ unreachable end i32.const 11376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 234632.43565024371 f64.eq @@ -18228,11 +16671,6 @@ unreachable end i32.const 11488 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 97094817.16420048 f64.eq @@ -18246,11 +16684,6 @@ unreachable end i32.const 11600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 499690852.20518744 f64.eq @@ -18264,11 +16697,6 @@ unreachable end i32.const 11712 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 7925201200557245595648 f64.eq @@ -18282,11 +16710,6 @@ unreachable end i32.const 11824 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 6096564585983177528398588e5 f64.eq @@ -18300,11 +16723,6 @@ unreachable end i32.const 11936 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 4800416117477028695992383e42 f64.eq @@ -18318,11 +16736,6 @@ unreachable end i32.const 12048 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 8524829079817968137287277e80 f64.eq @@ -18336,11 +16749,6 @@ unreachable end i32.const 12160 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 3271239291709782092398754e243 f64.eq @@ -18354,14 +16762,9 @@ unreachable end i32.const 12272 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat - local.tee $50 - local.get $50 + local.tee $47 + local.get $47 f64.ne i32.eqz if @@ -18373,11 +16776,6 @@ unreachable end i32.const 12304 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/parseFloat f64.const 0.1 f64.eq @@ -18392,32 +16790,17 @@ end global.get $~lib/memory/__stack_pointer i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__concat - local.tee $51 - i32.store $0 offset=80 - local.get $51 - local.set $55 + local.tee $48 + i32.store offset=60 + local.get $48 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -18428,18 +16811,13 @@ call $~lib/builtins/abort unreachable end - local.get $51 - local.set $55 + local.get $48 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__ne i32.eqz if @@ -18451,17 +16829,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -18473,11 +16841,11 @@ unreachable end global.get $std/string/nullStr - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 0 call $~lib/string/String.__eq i32.eqz @@ -18490,17 +16858,12 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 global.get $std/string/nullStr - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/string/String.__ne i32.eqz if @@ -18512,17 +16875,12 @@ unreachable end global.get $std/string/nullStr - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__ne i32.eqz if @@ -18534,17 +16892,7 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__ne i32.eqz if @@ -18556,17 +16904,7 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -18578,17 +16916,7 @@ unreachable end i32.const 12400 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__ne i32.eqz if @@ -18600,17 +16928,7 @@ unreachable end i32.const 12400 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12400 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -18622,17 +16940,7 @@ unreachable end i32.const 12464 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12496 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__ne i32.eqz if @@ -18644,17 +16952,7 @@ unreachable end i32.const 12528 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12560 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__ne i32.eqz if @@ -18666,17 +16964,7 @@ unreachable end i32.const 12592 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12592 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -18688,17 +16976,7 @@ unreachable end i32.const 12592 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12640 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__ne i32.eqz if @@ -18710,17 +16988,7 @@ unreachable end i32.const 12688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12736 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__ne i32.eqz if @@ -18732,17 +17000,7 @@ unreachable end i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gt i32.eqz if @@ -18754,17 +17012,7 @@ unreachable end i32.const 12784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gt i32.eqz if @@ -18776,17 +17024,7 @@ unreachable end i32.const 12784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gte i32.eqz if @@ -18798,17 +17036,7 @@ unreachable end i32.const 12784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gt i32.eqz if @@ -18820,17 +17048,7 @@ unreachable end i32.const 12784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -18843,17 +17061,7 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gt i32.eqz if @@ -18865,17 +17073,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lt i32.eqz if @@ -18887,17 +17085,7 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gte i32.eqz if @@ -18909,17 +17097,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lte i32.eqz if @@ -18931,17 +17109,7 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -18954,17 +17122,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gt i32.eqz i32.eqz @@ -18977,17 +17135,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -19000,17 +17148,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gt i32.eqz i32.eqz @@ -19023,17 +17161,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gte i32.eqz if @@ -19045,17 +17173,7 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lte i32.eqz if @@ -19067,17 +17185,7 @@ unreachable end i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lt i32.eqz if @@ -19089,17 +17197,7 @@ unreachable end i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gt i32.eqz if @@ -19111,17 +17209,7 @@ unreachable end i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -19134,17 +17222,7 @@ unreachable end i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gt i32.eqz i32.eqz @@ -19157,17 +17235,7 @@ unreachable end i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gt i32.eqz if @@ -19179,17 +17247,7 @@ unreachable end i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lt i32.eqz if @@ -19201,17 +17259,7 @@ unreachable end i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lt i32.eqz i32.eqz @@ -19224,17 +17272,7 @@ unreachable end i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gt i32.eqz i32.eqz @@ -19247,17 +17285,7 @@ unreachable end i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lte i32.eqz if @@ -19269,17 +17297,7 @@ unreachable end i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gte i32.eqz if @@ -19291,17 +17309,7 @@ unreachable end i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12912 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gte i32.eqz i32.eqz @@ -19314,17 +17322,7 @@ unreachable end i32.const 12912 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__gte i32.eqz if @@ -19336,17 +17334,7 @@ unreachable end i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12912 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__lte i32.eqz if @@ -19358,17 +17346,7 @@ unreachable end i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19380,17 +17358,7 @@ unreachable end i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19402,17 +17370,7 @@ unreachable end i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19424,17 +17382,7 @@ unreachable end i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12944 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__ne i32.eqz if @@ -19446,17 +17394,7 @@ unreachable end i32.const 12976 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12976 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19468,17 +17406,7 @@ unreachable end i32.const 13008 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 12976 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__ne i32.eqz if @@ -19492,38 +17420,38 @@ global.get $~lib/memory/__stack_pointer i32.const 65377 call $~lib/string/String.fromCodePoint - local.tee $52 - i32.store $0 offset=84 + local.tee $49 + i32.store offset=64 global.get $~lib/memory/__stack_pointer i32.const 55296 call $~lib/string/String.fromCodePoint - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 56322 call $~lib/string/String.fromCodePoint - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__concat - local.tee $53 - i32.store $0 offset=88 local.get $52 - local.set $55 + i32.store offset=4 + local.get $52 + call $~lib/string/String.__concat + local.tee $50 + i32.store offset=68 + local.get $49 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - local.get $53 - local.set $55 + local.get $52 + i32.store + local.get $52 + local.get $50 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 call $~lib/string/String.__gt i32.eqz if @@ -19535,11 +17463,6 @@ unreachable end i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 call $~lib/string/String#get:length i32.const 3 i32.eq @@ -19553,24 +17476,14 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 100 call $~lib/string/String#repeat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19582,24 +17495,14 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 0 call $~lib/string/String#repeat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19611,24 +17514,14 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 1 call $~lib/string/String#repeat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19640,24 +17533,14 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 2 call $~lib/string/String#repeat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19669,24 +17552,14 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 3 call $~lib/string/String#repeat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13088 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19698,24 +17571,14 @@ unreachable end i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 4 call $~lib/string/String#repeat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13120 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19727,24 +17590,14 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 5 call $~lib/string/String#repeat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13168 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19756,24 +17609,14 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 6 call $~lib/string/String#repeat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13200 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19785,24 +17628,14 @@ unreachable end i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 7 call $~lib/string/String#repeat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13232 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19814,35 +17647,15 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19854,35 +17667,15 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19894,35 +17687,15 @@ unreachable end i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19934,35 +17707,15 @@ unreachable end i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -19974,35 +17727,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20014,35 +17747,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20054,35 +17767,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 1888 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20094,35 +17787,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20134,35 +17807,15 @@ unreachable end i32.const 13280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20174,35 +17827,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13344 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20214,35 +17847,15 @@ unreachable end i32.const 13376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 13408 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13344 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20254,35 +17867,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 13472 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13504 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20294,35 +17887,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replace - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20334,35 +17907,15 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20374,35 +17927,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20414,35 +17947,15 @@ unreachable end i32.const 1520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13472 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20454,35 +17967,15 @@ unreachable end i32.const 13536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13584 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20494,35 +17987,15 @@ unreachable end i32.const 1520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20534,35 +18007,15 @@ unreachable end i32.const 13616 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 13584 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13664 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20574,35 +18027,15 @@ unreachable end i32.const 1520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 13472 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13712 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20614,35 +18047,15 @@ unreachable end i32.const 13744 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 13776 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 13472 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13808 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20654,35 +18067,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 1888 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20694,35 +18087,15 @@ unreachable end i32.const 1888 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 13840 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 13472 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1888 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20734,35 +18107,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 13872 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13904 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20774,35 +18127,15 @@ unreachable end i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20814,35 +18147,15 @@ unreachable end i32.const 13280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13936 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20854,35 +18167,15 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20894,35 +18187,15 @@ unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 3568 - local.set $55 + call $~lib/string/String#replaceAll + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 3568 call $~lib/string/String.__eq i32.eqz if @@ -20934,35 +18207,15 @@ unreachable end i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -20974,35 +18227,15 @@ unreachable end i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21014,35 +18247,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21054,35 +18267,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 1792 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21094,35 +18287,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13968 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21134,35 +18307,15 @@ unreachable end i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21174,35 +18327,15 @@ unreachable end i32.const 14016 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 14048 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14080 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21214,35 +18347,15 @@ unreachable end i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 14128 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14128 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21254,35 +18367,15 @@ unreachable end i32.const 13088 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 14160 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14192 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21294,35 +18387,15 @@ unreachable end i32.const 13088 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 12816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 i32.const 14048 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 call $~lib/string/String#replaceAll - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14240 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21336,27 +18409,22 @@ i32.const 14272 global.set $std/string/str global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#slice@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14272 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21368,27 +18436,22 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const -1 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#slice@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14320 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21400,27 +18463,22 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const -5 i32.const 1 global.set $~argumentsLength i32.const 0 - call $~lib/string/String#slice@varargs - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 14352 - local.set $55 + call $~lib/string/String#slice@varargs + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 14352 call $~lib/string/String.__eq i32.eqz if @@ -21432,25 +18490,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 i32.const 7 call $~lib/string/String#slice - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14384 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21462,25 +18515,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const -11 i32.const -6 call $~lib/string/String#slice - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14416 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21492,25 +18540,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 4 i32.const 3 call $~lib/string/String#slice - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21522,25 +18565,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 i32.const -1 call $~lib/string/String#slice - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14448 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21552,27 +18590,22 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#substr@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14272 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21584,27 +18617,22 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const -1 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#substr@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14320 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21616,27 +18644,22 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const -5 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#substr@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14352 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21648,25 +18671,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 i32.const 7 call $~lib/string/String#substr - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14496 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21678,25 +18696,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const -11 i32.const -6 call $~lib/string/String#substr - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21708,25 +18721,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 4 i32.const 3 call $~lib/string/String#substr - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14544 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21738,25 +18746,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 i32.const -1 call $~lib/string/String#substr - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21768,25 +18771,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 i32.const 100 call $~lib/string/String#substr - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14272 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21798,25 +18796,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 4 i32.const 4 call $~lib/string/String#substr - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14576 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21828,25 +18821,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 4 i32.const -3 call $~lib/string/String#substr - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21858,27 +18846,22 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#substring@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14272 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21890,27 +18873,22 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const -1 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#substring@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14272 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21922,27 +18900,22 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const -5 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#substring@varargs - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14272 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -21954,25 +18927,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 i32.const 7 - call $~lib/string/String#substring - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 14384 - local.set $55 + call $~lib/string/String#substring + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 14384 call $~lib/string/String.__eq i32.eqz if @@ -21984,25 +18952,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const -11 i32.const -6 call $~lib/string/String#substring - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -22014,25 +18977,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 4 i32.const 3 call $~lib/string/String#substring - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14608 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -22044,25 +19002,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 i32.const -1 call $~lib/string/String#substring - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -22074,25 +19027,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 i32.const 100 call $~lib/string/String#substring - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14272 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -22104,25 +19052,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 4 i32.const 4 call $~lib/string/String#substring - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -22134,25 +19077,20 @@ unreachable end global.get $std/string/str - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 4 i32.const -3 call $~lib/string/String#substring - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1888 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -22165,47 +19103,37 @@ end global.get $~lib/memory/__stack_pointer i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 0 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 1 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -22221,29 +19149,19 @@ end global.get $~lib/memory/__stack_pointer i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 0 i32.eq @@ -22258,52 +19176,37 @@ end global.get $~lib/memory/__stack_pointer i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 1 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -22319,52 +19222,37 @@ end global.get $~lib/memory/__stack_pointer i32.const 14816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 6608 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 1 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 14816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -22380,100 +19268,75 @@ end global.get $~lib/memory/__stack_pointer i32.const 14816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 3 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -22489,100 +19352,75 @@ end global.get $~lib/memory/__stack_pointer i32.const 14848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 14896 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 3 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -22598,124 +19436,94 @@ end global.get $~lib/memory/__stack_pointer i32.const 14928 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 4 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 3 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -22731,124 +19539,94 @@ end global.get $~lib/memory/__stack_pointer i32.const 14960 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 4 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 3 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -22864,124 +19642,94 @@ end global.get $~lib/memory/__stack_pointer i32.const 14992 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 4 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 3 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -22997,100 +19745,75 @@ end global.get $~lib/memory/__stack_pointer i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 3 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -23106,27 +19829,17 @@ end global.get $~lib/memory/__stack_pointer i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 0 call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 0 i32.eq @@ -23141,50 +19854,35 @@ end global.get $~lib/memory/__stack_pointer i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 1 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -23200,50 +19898,35 @@ end global.get $~lib/memory/__stack_pointer i32.const 14816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 1 call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 1 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -23259,98 +19942,73 @@ end global.get $~lib/memory/__stack_pointer i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const 4 call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 3 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -23366,98 +20024,73 @@ end global.get $~lib/memory/__stack_pointer i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const -1 call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 3 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -23473,98 +20106,73 @@ end global.get $~lib/memory/__stack_pointer i32.const 14816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 i32.const 1600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 i32.const -1 call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - local.set $55 + local.tee $51 + i32.store offset=72 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length i32.const 3 i32.eq if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 end if (result i32) - local.get $54 - local.set $55 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $52 + i32.store offset=4 + local.get $52 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq else i32.const 0 @@ -23581,17 +20189,12 @@ i32.const 0 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23605,17 +20208,12 @@ i32.const 1 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23629,17 +20227,12 @@ i32.const 8 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16768 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23653,17 +20246,12 @@ i32.const 12 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16800 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23677,17 +20265,12 @@ i32.const 123 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23701,17 +20284,12 @@ i32.const -1000 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16832 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23725,17 +20303,12 @@ i32.const 1234 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12976 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23749,17 +20322,12 @@ i32.const 12345 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16864 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23773,17 +20341,12 @@ i32.const 123456 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16896 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23797,17 +20360,12 @@ i32.const 1111111 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16928 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23821,17 +20379,12 @@ i32.const 1234567 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16976 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23845,17 +20398,12 @@ i32.const 12345678 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17024 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23869,17 +20417,12 @@ i32.const 123456789 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17072 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23893,17 +20436,12 @@ i32.const 2147483646 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17120 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23917,17 +20455,12 @@ i32.const 2147483647 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17168 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23941,17 +20474,12 @@ i32.const -2147483648 i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17216 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -23964,18 +20492,13 @@ end i32.const -1 i32.const 10 - call $~lib/util/number/itoa32 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 17264 - local.set $55 + call $~lib/util/number/itoa32 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 17264 call $~lib/string/String.__eq i32.eqz if @@ -23989,17 +20512,12 @@ global.get $~lib/builtins/i8.MIN_VALUE i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17296 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24013,17 +20531,12 @@ global.get $~lib/builtins/i16.MIN_VALUE i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17328 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24037,17 +20550,12 @@ global.get $~lib/builtins/i32.MIN_VALUE i32.const 10 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17216 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24061,17 +20569,12 @@ i32.const 0 i32.const 10 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24085,17 +20588,12 @@ i32.const 1000 i32.const 10 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17360 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24109,17 +20607,12 @@ i32.const 2147483647 i32.const 10 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17168 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24133,17 +20626,12 @@ i32.const -2147483648 i32.const 10 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17392 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24157,17 +20645,12 @@ global.get $~lib/builtins/u32.MAX_VALUE i32.const 10 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24181,17 +20664,12 @@ i32.const 0 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24205,17 +20683,12 @@ i32.const 1 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24229,17 +20702,12 @@ i32.const 8 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16768 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24253,17 +20721,12 @@ i32.const 12 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24277,17 +20740,12 @@ i32.const 123 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17488 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24301,17 +20759,12 @@ i32.const 1234 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24325,17 +20778,12 @@ i32.const 12345 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17552 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24349,17 +20797,12 @@ i32.const 123456 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17584 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24373,17 +20816,12 @@ i32.const 1111111 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17616 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24397,17 +20835,12 @@ i32.const 1234567 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17648 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24421,17 +20854,12 @@ i32.const 12345678 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17680 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24445,17 +20873,12 @@ i32.const 123456789 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17712 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24469,17 +20892,12 @@ i32.const 2147483646 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17760 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24493,17 +20911,12 @@ i32.const 2147483647 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17808 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24517,17 +20930,12 @@ i32.const -2147483648 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17856 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24541,17 +20949,12 @@ i32.const -1 i32.const 16 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17904 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24565,17 +20968,12 @@ i32.const 0 i32.const 16 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24589,17 +20987,12 @@ i32.const -4096 i32.const 16 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16832 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24613,17 +21006,12 @@ i32.const 2147483647 i32.const 16 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17808 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24636,18 +21024,13 @@ end i32.const -2147483647 i32.const 16 - call $~lib/util/number/itoa32 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 17952 - local.set $55 + call $~lib/util/number/itoa32 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 17952 call $~lib/string/String.__eq i32.eqz if @@ -24661,17 +21044,12 @@ i32.const -268435455 i32.const 16 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18000 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24685,17 +21063,12 @@ i32.const -2147483648 i32.const 16 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18048 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24709,17 +21082,12 @@ i32.const -2147483648 i32.const 16 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18048 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24733,17 +21101,12 @@ i32.const 0 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24757,17 +21120,12 @@ i32.const 1 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24781,17 +21139,12 @@ i32.const 3 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24805,17 +21158,12 @@ i32.const 7 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18096 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24829,17 +21177,12 @@ i32.const 14 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18128 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24853,17 +21196,12 @@ i32.const 29 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18160 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24877,17 +21215,12 @@ i32.const 59 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18192 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24901,17 +21234,12 @@ i32.const 4095 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18224 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24925,17 +21253,12 @@ i32.const 33554431 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18272 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24949,17 +21272,12 @@ i32.const -12 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18352 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24973,17 +21291,12 @@ i32.const -4 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18448 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -24997,17 +21310,12 @@ i32.const -2 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18544 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25021,17 +21329,12 @@ i32.const -1 i32.const 2 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18640 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25045,17 +21348,12 @@ i32.const -2047 i32.const 2 call $~lib/util/number/itoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18736 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25069,17 +21367,12 @@ i32.const -1 i32.const 3 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25093,17 +21386,12 @@ i32.const -1 i32.const 4 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25117,17 +21405,12 @@ i32.const -1 i32.const 5 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18912 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25141,17 +21424,12 @@ i32.const -1 i32.const 8 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18960 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25165,17 +21443,12 @@ i32.const -1 i32.const 11 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19008 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25189,17 +21462,12 @@ i32.const -1 i32.const 15 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19056 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25213,17 +21481,12 @@ i32.const -1 i32.const 17 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19104 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25237,17 +21500,12 @@ i32.const -1 i32.const 21 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19152 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25261,17 +21519,12 @@ i32.const -1 i32.const 27 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19200 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25285,17 +21538,12 @@ i32.const -1 i32.const 32 call $~lib/util/number/utoa32 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25308,18 +21556,13 @@ end i32.const -1 i32.const 36 - call $~lib/util/number/utoa32 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 19296 - local.set $55 + call $~lib/util/number/utoa32 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 19296 call $~lib/string/String.__eq i32.eqz if @@ -25333,17 +21576,12 @@ i64.const 0 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25357,17 +21595,12 @@ i64.const 12 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16800 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25381,17 +21614,12 @@ i64.const 123 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25405,17 +21633,12 @@ i64.const 1234 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 12976 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25429,17 +21652,12 @@ i64.const 12345 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16864 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25453,17 +21671,12 @@ i64.const 123456 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16896 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25477,17 +21690,12 @@ i64.const 1234567 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 16976 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25501,17 +21709,12 @@ i64.const 99999999 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19344 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25525,17 +21728,12 @@ i64.const 100000000 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19392 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25549,17 +21747,12 @@ i64.const 4294967295 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25573,17 +21766,12 @@ i64.const 4294967297 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25597,17 +21785,12 @@ i64.const 68719476735 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19488 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25621,17 +21804,12 @@ i64.const 868719476735 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25645,17 +21823,12 @@ i64.const 8687194767350 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19584 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25669,17 +21842,12 @@ i64.const 86871947673501 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19632 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25693,17 +21861,12 @@ i64.const 999868719476735 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19680 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25717,17 +21880,12 @@ i64.const 9999868719476735 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19744 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25741,17 +21899,12 @@ i64.const 19999868719476735 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19808 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25765,17 +21918,12 @@ i64.const 129999868719476735 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19872 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25789,17 +21937,12 @@ i64.const 1239999868719476735 i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19936 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25813,17 +21956,12 @@ global.get $~lib/builtins/u64.MAX_VALUE i32.const 10 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20000 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25837,17 +21975,12 @@ i64.const 0 i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25861,17 +21994,12 @@ i64.const -1234 i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20064 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25885,17 +22013,12 @@ i64.const 4294967295 i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25909,17 +22032,12 @@ i64.const 4294967297 i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25933,17 +22051,12 @@ i64.const -4294967295 i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20096 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25957,17 +22070,12 @@ i64.const 68719476735 i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 19488 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -25980,18 +22088,13 @@ end i64.const -68719476735 i32.const 10 - call $~lib/util/number/itoa64 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 20144 - local.set $55 + call $~lib/util/number/itoa64 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 20144 call $~lib/string/String.__eq i32.eqz if @@ -26005,17 +22108,12 @@ i64.const -868719476735 i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20192 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26029,17 +22127,12 @@ i64.const -999868719476735 i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20240 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26053,17 +22146,12 @@ i64.const -19999868719476735 i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20304 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26077,17 +22165,12 @@ global.get $~lib/builtins/i64.MAX_VALUE i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26101,17 +22184,12 @@ global.get $~lib/builtins/i64.MIN_VALUE i32.const 10 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26125,17 +22203,12 @@ i64.const 0 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26149,17 +22222,12 @@ i64.const 1 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26173,17 +22241,12 @@ i64.const 12 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26197,17 +22260,12 @@ i64.const 1234 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26221,17 +22279,12 @@ i64.const 1111111 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 17616 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26245,17 +22298,12 @@ i64.const 8589934591 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20496 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26269,17 +22317,12 @@ i64.const 5942249508321 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20544 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26293,17 +22336,12 @@ i64.const 76310993685985 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20592 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26317,17 +22355,12 @@ i64.const 920735923817967 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20640 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26341,17 +22374,12 @@ i64.const 9927935178558959 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26365,17 +22393,12 @@ i64.const 81985529216486895 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20736 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26389,17 +22412,12 @@ i64.const 1311768467463790320 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20800 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26413,17 +22431,12 @@ i64.const 9223372036854775807 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20864 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26437,17 +22450,12 @@ i64.const -1 i32.const 16 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20928 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26461,17 +22469,12 @@ i64.const -9223372036854775807 i32.const 16 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 20992 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26485,17 +22488,12 @@ i64.const -9223372036854775808 i32.const 16 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21056 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26509,17 +22507,12 @@ i64.const -9223372036854775808 i32.const 16 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21056 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26533,17 +22526,12 @@ i64.const 0 i32.const 2 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26557,17 +22545,12 @@ i64.const 1 i32.const 2 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26581,17 +22564,12 @@ i64.const 7 i32.const 2 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18096 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26605,17 +22583,12 @@ i64.const 14 i32.const 2 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18128 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26629,17 +22602,12 @@ i64.const 59 i32.const 2 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18192 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26652,18 +22620,13 @@ end i64.const 4095 i32.const 2 - call $~lib/util/number/utoa64 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 18224 - local.set $55 + call $~lib/util/number/utoa64 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 18224 call $~lib/string/String.__eq i32.eqz if @@ -26677,17 +22640,12 @@ i64.const 4294967295 i32.const 2 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 18640 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26701,17 +22659,12 @@ i64.const 562949953421311 i32.const 2 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21120 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26725,17 +22678,12 @@ i64.const -1 i32.const 2 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26749,17 +22697,12 @@ i64.const -8589934591 i32.const 2 call $~lib/util/number/itoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21408 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26773,17 +22716,12 @@ i64.const -1 i32.const 3 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21504 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26797,17 +22735,12 @@ i64.const -1 i32.const 4 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21616 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26821,17 +22754,12 @@ i64.const -1 i32.const 5 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21712 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26845,17 +22773,12 @@ i64.const -1 i32.const 8 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21792 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26869,17 +22792,12 @@ i64.const -1 i32.const 11 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21856 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26893,17 +22811,12 @@ i64.const -1 i32.const 15 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21920 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26917,17 +22830,12 @@ i64.const -1 i32.const 17 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 21984 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26941,17 +22849,12 @@ i64.const -1 i32.const 21 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 22048 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26965,17 +22868,12 @@ i64.const -1 i32.const 27 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 22112 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -26989,17 +22887,12 @@ i64.const -1 i32.const 32 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 22160 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -27013,17 +22906,12 @@ i64.const -1 i32.const 36 call $~lib/util/number/utoa64 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 22208 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -27035,18 +22923,13 @@ unreachable end f64.const 0 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 22256 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -27058,18 +22941,13 @@ unreachable end f64.const -0 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 22256 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -27081,18 +22959,13 @@ unreachable end f64.const nan:0x8000000000000 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 6672 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -27104,18 +22977,13 @@ unreachable end f64.const inf - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 22288 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -27128,18 +22996,13 @@ end f64.const inf f64.neg - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 7936 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -27151,18 +23014,13 @@ unreachable end global.get $~lib/builtins/f64.EPSILON - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 7152 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if @@ -27173,809 +23031,708 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.EPSILON - f64.neg - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23312 - local.set $55 + global.get $~lib/builtins/f64.EPSILON + f64.neg + call $~lib/util/number/dtoa + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store + local.get $52 + i32.const 23312 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 742 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + call $~lib/util/number/dtoa + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store + local.get $52 + i32.const 7216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 743 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f64.MAX_VALUE + f64.neg + call $~lib/util/number/dtoa + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store + local.get $52 + i32.const 23376 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 744 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f32.EPSILON + call $~lib/util/number/dtoa + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store + local.get $52 + i32.const 23456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 745 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/builtins/f32.EPSILON + f32.neg + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 23504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 742 + i32.const 746 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MAX_VALUE - call $~lib/util/number/dtoa - local.set $55 + global.get $~lib/builtins/f32.MAX_VALUE + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 7216 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 23552 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 743 + i32.const 747 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MAX_VALUE - f64.neg - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23376 - local.set $55 + global.get $~lib/builtins/f32.MAX_VALUE + f32.neg + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 23600 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 744 + i32.const 748 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4185580496821356722454785e274 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23456 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 23648 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 745 + i32.const 749 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072014e-308 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23520 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 23712 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 746 + i32.const 750 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.940656e-318 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23600 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 23792 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 749 + i32.const 751 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9060801153433600 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23648 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 23840 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 750 + i32.const 752 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4708356024711512064 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23712 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 23904 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 751 + i32.const 753 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9409340012568248320 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23776 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 23968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 752 + i32.const 754 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5e-324 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 7296 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 753 + i32.const 755 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23840 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24032 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 759 + i32.const 757 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.1 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 4256 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 760 + i32.const 758 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23872 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24064 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 761 + i32.const 759 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.1 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23904 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24096 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 762 + i32.const 760 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e6 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23936 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24128 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 764 + i32.const 762 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-06 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23984 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24176 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 765 + i32.const 763 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e6 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24032 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24224 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 766 + i32.const 764 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e-06 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24080 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24272 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 767 + i32.const 765 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e7 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24128 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24320 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 768 + i32.const 766 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-07 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24176 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24368 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 769 + i32.const 767 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.e+308 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 4544 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 771 + i32.const 769 i32.const 1 call $~lib/builtins/abort - unreachable - end - f64.const -1.e+308 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24208 - local.set $55 + unreachable + end + f64.const -1.e+308 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24400 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 772 + i32.const 770 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 22288 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 773 + i32.const 771 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 7936 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 774 + i32.const 772 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-308 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24256 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24448 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 775 + i32.const 773 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e-308 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24288 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24480 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 776 + i32.const 774 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-323 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24336 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24528 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 777 + i32.const 775 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e-323 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24368 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24560 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 778 + i32.const 776 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 22256 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 779 + i32.const 777 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4294967272 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24416 - local.set $55 + i32.const -24 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24608 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 781 + i32.const 779 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.2312145673456234e-08 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24464 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24656 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 782 + i32.const 780 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 555555555.5555556 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24528 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24720 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 784 + i32.const 781 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.9999999999999999 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24592 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24784 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 785 + i32.const 782 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 23840 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24032 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 786 + i32.const 783 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 12.34 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24656 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24848 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 787 + i32.const 784 i32.const 1 call $~lib/builtins/abort unreachable @@ -27983,432 +23740,287 @@ f64.const 1 f64.const 3 f64.div - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24688 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24880 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 789 + i32.const 785 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1234e17 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24752 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 24944 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 790 + i32.const 786 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1234e18 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24832 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 25024 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 791 + i32.const 787 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.71828 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24880 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 25072 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 792 + i32.const 788 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.0271828 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24928 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 25120 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 793 + i32.const 789 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 271.828 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 24976 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 25168 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 794 + i32.const 790 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.1e+128 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 25024 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 25216 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 795 + i32.const 791 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.1e-64 - call $~lib/util/number/dtoa - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 25072 - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 25264 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 796 + i32.const 792 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.000035689 - call $~lib/util/number/dtoa - local.set $55 + call $~lib/util/number/dtoa + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 25120 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 25312 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 797 + i32.const 793 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25168 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 25200 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 + i32.const 25360 + i32.const 25392 call $~lib/string/String#concat - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 25232 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 25424 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 802 + i32.const 820 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 25280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 + i32.const 25472 call $~lib/string/String#concat - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 25280 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 25472 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 803 + i32.const 821 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + i32.const 25472 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 call $~lib/string/String#concat - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 25280 - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $52 + i32.store + local.get $52 + i32.const 25472 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 804 + i32.const 822 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 call $~lib/string/String#concat - local.set $55 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + local.get $52 + i32.store + local.get $52 i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 805 + i32.const 823 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 25312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + i32.const 25504 + i32.const 25504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 816 + i32.const 831 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 25312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + i32.const 25504 + i32.const 25504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 817 + i32.const 832 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25344 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 25344 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + i32.const 25536 + i32.const 25536 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 818 + i32.const 833 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 25376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + i32.const 25568 + i32.const 25568 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 819 + i32.const 834 i32.const 1 call $~lib/builtins/abort unreachable @@ -28419,7 +24031,7 @@ global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 76 i32.add global.set $~lib/memory/__stack_pointer ) @@ -28432,14 +24044,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -28461,14 +24073,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 drop local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:dataStart local.set $cur @@ -28477,7 +24089,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:length_ i32.const 2 @@ -28490,7 +24102,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -28509,7 +24121,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 call $~lib/array/Array<~lib/string/String>#get:buffer local.get $cookie @@ -28530,7 +24142,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $surr i32.const 0 i32.gt_s @@ -28542,15 +24154,15 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $unit - i32.store16 $0 + i32.store16 local.get $hasSur if local.get $out local.get $surr - i32.store16 $0 offset=2 + i32.store16 offset=2 end local.get $out local.set $4 @@ -28573,7 +24185,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -28584,27 +24196,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer @@ -28627,7 +24239,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $code i32.const 65535 i32.gt_u @@ -28639,13 +24251,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $hasSur i32.eqz if local.get $out local.get $code - i32.store16 $0 + i32.store16 else local.get $code i32.const 1114111 @@ -28681,7 +24293,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store end local.get $out local.set $5 @@ -28713,7 +24325,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -28773,7 +24385,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -28813,7 +24425,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -28848,7 +24460,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -28863,7 +24475,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $14 @@ -28893,7 +24505,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -28938,7 +24550,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer local.get $value @@ -28974,7 +24586,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|8 local.get $value @@ -29003,7 +24615,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $value i64.extend_i32_u @@ -29045,7 +24657,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -29100,7 +24712,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer local.get $val32 @@ -29126,7 +24738,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|9 local.get $value @@ -29164,7 +24776,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|13 local.get $value @@ -29191,7 +24803,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $value local.get $decimals|16 @@ -29233,7 +24845,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -29304,7 +24916,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -29334,7 +24946,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -29376,7 +24988,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -29407,7 +25019,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -29421,7 +25033,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $18 @@ -29432,10 +25044,12 @@ local.get $18 return ) - (func $~lib/util/number/dtoa (param $value f64) (result i32) + (func $~lib/util/number/dtoa (param $value f64) (result i32) + (local $value|1 f64) + (local $isSingle i32) (local $size i32) (local $result i32) - (local $3 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -29443,77 +25057,221 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $value - f64.const 0 - f64.eq - if - i32.const 22256 - local.set $3 + i32.store + block $~lib/util/number/dtoa_impl|inlined.0 (result i32) + local.get $value + local.set $value|1 + i32.const 0 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq + if + i32.const 22256 + br $~lib/util/number/dtoa_impl|inlined.0 + end + local.get $value|1 + local.get $value|1 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 6672 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 7936 + i32.const 22288 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 22320 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 22320 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.0 end - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - local.get $value + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/util/number/dtoa (param $value f32) (result i32) + (local $value|1 f64) + (local $isSingle i32) + (local $size i32) + (local $result i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $~lib/util/number/dtoa_impl|inlined.1 (result i32) local.get $value - f64.ne + f64.promote_f32 + local.set $value|1 + i32.const 1 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq if - i32.const 6672 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 22256 + br $~lib/util/number/dtoa_impl|inlined.1 end - i32.const 7936 - i32.const 22288 - local.get $value + local.get $value|1 + local.get $value|1 + f64.sub f64.const 0 - f64.lt - select - local.set $3 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 6672 + br $~lib/util/number/dtoa_impl|inlined.1 + end + i32.const 7936 + i32.const 22288 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.1 + end + i32.const 22320 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 22320 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.1 end - i32.const 22320 - local.get $value - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $size + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 - local.get $result - i32.const 22320 - local.get $size - memory.copy $0 $0 - local.get $result - local.set $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/util/number/dtoa (param $value i32) (result i32) + (local $value|1 f64) + (local $isSingle i32) + (local $size i32) + (local $result i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $~lib/util/number/dtoa_impl|inlined.2 (result i32) + local.get $value + f64.convert_i32_u + local.set $value|1 + i32.const 0 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq + if + i32.const 22256 + br $~lib/util/number/dtoa_impl|inlined.2 + end + local.get $value|1 + local.get $value|1 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 6672 + br $~lib/util/number/dtoa_impl|inlined.2 + end + i32.const 7936 + i32.const 22288 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.2 + end + i32.const 22320 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size + global.get $~lib/memory/__stack_pointer + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 22320 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.2 + end + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 return ) ) diff --git a/tests/compiler/std/string.release.wat b/tests/compiler/std/string.release.wat index 038fc87bde..57e9b4af89 100644 --- a/tests/compiler/std/string.release.wat +++ b/tests/compiler/std/string.release.wat @@ -1,23 +1,26 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) - (type $i32_=>_f64 (func (param i32) (result f64))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $f64_i32_=>_f64 (func (param f64 i32) (result f64))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i64_i64_i32_i64_i32_=>_i32 (func (param i64 i64 i32 i64 i32) (result i32))) - (type $none_=>_i64 (func (result i64))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func)) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32))) + (type $6 (func (result i32))) + (type $7 (func (param i32 i32 i32))) + (type $8 (func (param i32 i32) (result f64))) + (type $9 (func (param i32) (result f64))) + (type $10 (func (param i64 i32) (result i32))) + (type $11 (func (param i32 i32 i32 i32))) + (type $12 (func (param i32 i32 i32 i32) (result i32))) + (type $13 (func (param i32 i32 i64))) + (type $14 (func (param f64 i32) (result f64))) + (type $15 (func (param i32 i64 i32 i32))) + (type $16 (func (param i32 i64 i32))) + (type $17 (func (param i64 i64 i32 i64 i32) (result i32))) + (type $18 (func (param f64 i32) (result i32))) + (type $19 (func (result i64))) + (type $20 (func (param f64) (result i32))) + (type $21 (func (param f32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/string/str (mut i32) (i32.const 1056)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -38,938 +41,946 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 59212)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 59404)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\00\00\00 \00\00\00h\00i\00,\00 \00I\00\'\00m\00 \00a\00 \00s\00t\00r\00i\00n\00g") - (data (i32.const 1100) ",") - (data (i32.const 1112) "\02\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 1148) "\1c") - (data (i32.const 1160) "\02\00\00\00\02\00\00\00\df") - (data (i32.const 1180) "\1c") - (data (i32.const 1192) "\02\00\00\00\04\00\00\00\df\00\df") - (data (i32.const 1212) "\1c") - (data (i32.const 1224) "\02\00\00\00\06\00\00\00\df\00a\00b") - (data (i32.const 1244) "<") - (data (i32.const 1256) "\02\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 1308) ",") - (data (i32.const 1320) "\02\00\00\00\1c\00\00\00~\00l\00i\00b\00/\00s\00t\00r\00i\00n\00g\00.\00t\00s") - (data (i32.const 1356) "<") - (data (i32.const 1368) "\02\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 1420) "<") - (data (i32.const 1432) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1548) ",") - (data (i32.const 1560) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1628) "<") - (data (i32.const 1640) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\02") - (data (i32.const 1724) "\1c") - (data (i32.const 1736) "\02\00\00\00\02\00\00\00h") - (data (i32.const 1756) "\1c") - (data (i32.const 1768) "\02\00\00\00\02") - (data (i32.const 1788) "\1c") - (data (i32.const 1800) "\02\00\00\00\02\00\00\00a") - (data (i32.const 1820) "\1c") - (data (i32.const 1832) "\02\00\00\00\02\00\00\00@") - (data (i32.const 1852) "\1c") - (data (i32.const 1864) "\02\00\00\00\02\00\00\006") - (data (i32.const 1884) "\1c") - (data (i32.const 1896) "\02\00\00\00\04\00\00\00\00\d8\00\df") - (data (i32.const 1916) "\1c") - (data (i32.const 1928) "\01\00\00\00\08\00\00\00\00\00\00\006") - (data (i32.const 1948) "\1c") - (data (i32.const 1960) "\02\00\00\00\04\00\00\00\00\006") - (data (i32.const 1980) "\1c") - (data (i32.const 1992) "\01\00\00\00\0c\00\00\00A\00\00\00B\00\00\00C") - (data (i32.const 2012) "\1c") - (data (i32.const 2024) "\02\00\00\00\06\00\00\00A\00B\00C") - (data (i32.const 2044) ",") - (data (i32.const 2056) "\01\00\00\00\14\00\00\004\d8\00\00\06\df\00\00a\00\00\004\d8\00\00\07\df") - (data (i32.const 2092) "\1c") - (data (i32.const 2104) "\02\00\00\00\n\00\00\004\d8\06\dfa\004\d8\07\df") - (data (i32.const 2124) "\1c") - (data (i32.const 2136) "\02\00\00\00\04\00\00\004\d8\06\df") - (data (i32.const 2156) "\1c") - (data (i32.const 2168) "\02\00\00\00\04\00\00\00h\00i") - (data (i32.const 2188) "\1c") - (data (i32.const 2200) "\02\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g") - (data (i32.const 2220) "\1c") - (data (i32.const 2232) "\02\00\00\00\06\00\00\00I\00\'\00m") - (data (i32.const 2252) "\1c") - (data (i32.const 2264) "\02\00\00\00\02\00\00\00 ") - (data (i32.const 2284) "\1c") - (data (i32.const 2296) "\02\00\00\00\06\00\00\00 \00 \00 ") - (data (i32.const 2316) "\1c") - (data (i32.const 2328) "\02\00\00\00\06\00\00\00a\00b\00c") - (data (i32.const 2348) "\1c") - (data (i32.const 2360) "\02\00\00\00\n\00\00\00 \00 \00a\00b\00c") - (data (i32.const 2380) "\1c") - (data (i32.const 2392) "\02\00\00\00\06\00\00\001\002\003") - (data (i32.const 2412) "\1c") - (data (i32.const 2424) "\02\00\00\00\0c\00\00\001\002\003\00a\00b\00c") - (data (i32.const 2444) ",") - (data (i32.const 2456) "\02\00\00\00\10\00\00\001\002\003\001\002\00a\00b\00c") - (data (i32.const 2492) "\1c") - (data (i32.const 2504) "\02\00\00\00\n\00\00\00a\00b\00c\00 \00 ") - (data (i32.const 2524) "\1c") - (data (i32.const 2536) "\02\00\00\00\0c\00\00\00a\00b\00c\00a\00b\00c") - (data (i32.const 2556) ",") - (data (i32.const 2568) "\02\00\00\00\10\00\00\00a\00b\00c\00a\00b\00c\00a\00b") - (data (i32.const 2604) "\1c") - (data (i32.const 2616) "\02\00\00\00\02\00\00\00,") - (data (i32.const 2636) "\1c") - (data (i32.const 2648) "\02\00\00\00\02\00\00\00x") - (data (i32.const 2668) "\1c") - (data (i32.const 2680) "\02\00\00\00\06\00\00\00,\00 \00I") - (data (i32.const 2700) "\1c") - (data (i32.const 2712) "\02\00\00\00\02\00\00\00g") - (data (i32.const 2732) "\1c") - (data (i32.const 2744) "\02\00\00\00\02\00\00\00i") - (data (i32.const 2764) "\1c") - (data (i32.const 2776) "\02\00\00\00\08\00\00\00n\00u\00l\00l") - (data (i32.const 2796) "\1c") - (data (i32.const 2808) "\02\00\00\00\06\00\00\00a\00b\00d") - (data (i32.const 2828) "\1c") - (data (i32.const 2840) "\02\00\00\00\06\00\00\00a\00b\00f") - (data (i32.const 2860) "\1c") - (data (i32.const 2872) "\02\00\00\00\06\00\00\00a\00b\00z") - (data (i32.const 2892) "\1c") - (data (i32.const 2904) "\02\00\00\00\08\00\00\00a\00b\00c\00d") - (data (i32.const 2924) "\1c") - (data (i32.const 2936) "\02\00\00\00\08\00\00\00a\00b\00d\00d") - (data (i32.const 2956) "\1c") - (data (i32.const 2968) "\02\00\00\00\08\00\00\00a\00b\00 \00c") - (data (i32.const 2988) ",") - (data (i32.const 3000) "\02\00\00\00\16\00\00\00 \00\n\00\t\00\r\00a\00b\00c\00 \00\t\00\r\00 ") - (data (i32.const 3036) ",") - (data (i32.const 3048) "\02\00\00\00\0e\00\00\00a\00b\00c\00 \00\t\00\r\00 ") - (data (i32.const 3084) ",") - (data (i32.const 3096) "\02\00\00\00\0e\00\00\00 \00\n\00\t\00\r\00a\00b\00c") - (data (i32.const 3132) ",") - (data (i32.const 3144) "\02\00\00\00\0e\00\00\00\t\00\n\00 \00t\00r\00u\00e") - (data (i32.const 3180) ",") - (data (i32.const 3192) "\02\00\00\00\14\00\00\00\t\00\n\00 \00t\00r\00u\00e\00\n\00\r\00 ") - (data (i32.const 3228) ",") - (data (i32.const 3240) "\02\00\00\00\12\00\00\00 \00 \00t\00r\00u\00e\00a\00b\00c") - (data (i32.const 3276) "\1c") - (data (i32.const 3288) "\02\00\00\00\06\00\00\00t\00r\00u") - (data (i32.const 3308) "\1c") - (data (i32.const 3320) "\02\00\00\00\08\00\00\00T\00r\00u\00e") - (data (i32.const 3340) "\1c") - (data (i32.const 3352) "\02\00\00\00\n\00\00\00f\00a\00l\00s\00e") - (data (i32.const 3372) "\1c") - (data (i32.const 3384) "\02\00\00\00\02\00\00\000") - (data (i32.const 3404) "\1c") - (data (i32.const 3416) "\02\00\00\00\06\00\00\000\000\000") - (data (i32.const 3436) "\1c") - (data (i32.const 3448) "\02\00\00\00\02\00\00\001") - (data (i32.const 3468) "\1c") - (data (i32.const 3480) "\02\00\00\00\08\00\00\000\000\000\001") - (data (i32.const 3500) "\1c") - (data (i32.const 3512) "\02\00\00\00\n\00\00\000\00b\001\000\001") - (data (i32.const 3532) "\1c") - (data (i32.const 3544) "\02\00\00\00\n\00\00\000\00o\007\000\007") - (data (i32.const 3564) "\1c") - (data (i32.const 3576) "\02\00\00\00\n\00\00\000\00x\00f\000\00f") - (data (i32.const 3596) "\1c") - (data (i32.const 3608) "\02\00\00\00\n\00\00\000\00X\00F\000\00F") - (data (i32.const 3628) "\1c") - (data (i32.const 3640) "\02\00\00\00\06\00\00\000\001\001") - (data (i32.const 3660) "\1c") - (data (i32.const 3672) "\02\00\00\00\08\00\00\000\00x\001\00g") - (data (i32.const 3692) "\1c") - (data (i32.const 3704) "\02\00\00\00\08\00\00\00-\001\002\003") - (data (i32.const 3724) "\1c") - (data (i32.const 3736) "\02\00\00\00\08\00\00\00+\001\002\003") - (data (i32.const 3756) "\1c") - (data (i32.const 3768) "\02\00\00\00\n\00\00\00-\001\002\00.\003") - (data (i32.const 3788) "\1c") - (data (i32.const 3800) "\02\00\00\00\06\00\00\000\00x\000") - (data (i32.const 3820) "\1c") - (data (i32.const 3832) "\02\00\00\00\08\00\00\000\00b\001\001") - (data (i32.const 3852) "\1c") - (data (i32.const 3864) "\02\00\00\00\04\00\00\00\n\001") - (data (i32.const 3884) "\1c") - (data (i32.const 3896) "\02\00\00\00\04\00\00\00( 1") - (data (i32.const 3916) "\1c") - (data (i32.const 3928) "\02\00\00\00\04\00\00\00) 1") - (data (i32.const 3948) "\1c") - (data (i32.const 3960) "\02\00\00\00\04\00\00\00-\000") - (data (i32.const 3980) ",") - (data (i32.const 3992) "\02\00\00\00\10\00\00\000\00X\00A\00B\00C\00D\00E\00F") - (data (i32.const 4028) "\1c") - (data (i32.const 4040) "\02\00\00\00\0c\00\00\00A\00B\00C\00D\00E\00F") - (data (i32.const 4060) "<") - (data (i32.const 4072) "\02\00\00\00(\00\00\003\006\008\009\003\004\008\008\001\004\007\004\001\009\001\000\003\002\003\002") - (data (i32.const 4124) "L") - (data (i32.const 4136) "\02\00\00\004\00\00\00-\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") - (data (i32.const 4204) "<") - (data (i32.const 4216) "\02\00\00\00,\00\00\000\00x\001\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") - (data (i32.const 4268) "\1c") - (data (i32.const 4280) "\02\00\00\00\06\00\00\001\00=\d8%\dd") - (data (i32.const 4300) ",") - (data (i32.const 4312) "\02\00\00\00\0e\00\00\002\00b\00a\00d\00n\00u\00m") - (data (i32.const 4348) "\1c") - (data (i32.const 4360) "\02\00\00\00\08\00\00\00 \00\t\00\n\001") - (data (i32.const 4380) ",") - (data (i32.const 4392) "\02\00\00\00\0e\00\00\00 \00\t\00\n\000\00x\000\002") - (data (i32.const 4428) "\1c") - (data (i32.const 4440) "\02\00\00\00\n\00\00\000\00 \00a\00b\00c") - (data (i32.const 4460) "\1c") - (data (i32.const 4472) "\02\00\00\00\n\00\00\001\00 \00a\00b\00c") - (data (i32.const 4492) ",") - (data (i32.const 4504) "\02\00\00\00\10\00\00\00 \00\t\00\n\000\00 \00a\00b\00c") - (data (i32.const 4540) "\1c") - (data (i32.const 4552) "\02\00\00\00\02\00\00\00-") - (data (i32.const 4572) "\1c") - (data (i32.const 4584) "\02\00\00\00\02\00\00\00+") - (data (i32.const 4604) "\1c") - (data (i32.const 4616) "\02\00\00\00\04\00\00\00=\d8%\dd") - (data (i32.const 4636) "\1c") - (data (i32.const 4648) "\02\00\00\00\0c\00\00\00b\00a\00d\00n\00u\00m") - (data (i32.const 4678) "\f0?\00\00\00\00\00\00$@\00\00\00\00\00\00Y@\00\00\00\00\00@\8f@\00\00\00\00\00\88\c3@\00\00\00\00\00j\f8@\00\00\00\00\80\84.A\00\00\00\00\d0\12cA\00\00\00\00\84\d7\97A\00\00\00\00e\cd\cdA\00\00\00 _\a0\02B\00\00\00\e8vH7B\00\00\00\a2\94\1amB\00\00@\e5\9c0\a2B\00\00\90\1e\c4\bc\d6B\00\004&\f5k\0cC\00\80\e07y\c3AC\00\a0\d8\85W4vC\00\c8Ngm\c1\abC\00=\91`\e4X\e1C@\8c\b5x\1d\af\15DP\ef\e2\d6\e4\1aKD\92\d5M\06\cf\f0\80D") - (data (i32.const 4860) ",") - (data (i32.const 4872) "\02\00\00\00\14\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F") - (data (i32.const 4908) "<") - (data (i32.const 4920) "\02\00\00\00$\00\00\000\00x\007\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F\00F") - (data (i32.const 4972) "\1c") - (data (i32.const 4984) "\02\00\00\00\04\00\00\001\00.") - (data (i32.const 5004) "\1c") - (data (i32.const 5016) "\02\00\00\00\08\00\00\001\00.\000\000") - (data (i32.const 5036) "\1c") - (data (i32.const 5048) "\02\00\00\00\08\00\00\001\00e\00-\005") - (data (i32.const 5068) "\1c") - (data (i32.const 5080) "\02\00\00\00\n\00\00\00-\001\00e\00-\005") - (data (i32.const 5100) ",") - (data (i32.const 5112) "\02\00\00\00\10\00\00\00-\000\00.\003\00e\00-\002\002") - (data (i32.const 5148) ",") - (data (i32.const 5160) "\02\00\00\00\0e\00\00\000\00.\003\00e\00+\002\002") - (data (i32.const 5196) "\1c") - (data (i32.const 5208) "\02\00\00\00\08\00\00\001\00e\00-\001") - (data (i32.const 5228) "\1c") - (data (i32.const 5240) "\02\00\00\00\0c\00\00\000\00.\001\00e\00-\000") - (data (i32.const 5260) "\1c") - (data (i32.const 5272) "\02\00\00\00\06\00\00\000\00.\001") - (data (i32.const 5292) "\1c") - (data (i32.const 5304) "\02\00\00\00\06\00\00\00.\002\005") - (data (i32.const 5324) "\1c") - (data (i32.const 5336) "\02\00\00\00\0c\00\00\001\00.\00e\00+\003\00a") - (data (i32.const 5356) ",") - (data (i32.const 5368) "\02\00\00\00\0e\00\00\001\00.\000\00e\00-\001\000") - (data (i32.const 5404) ",") - (data (i32.const 5416) "\02\00\00\00\0e\00\00\001\00.\000\00e\00-\003\000") - (data (i32.const 5452) ",") - (data (i32.const 5464) "\02\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\003") - (data (i32.const 5500) ",") - (data (i32.const 5512) "\02\00\00\00\10\00\00\001\00.\000\00e\00-\003\002\004") - (data (i32.const 5548) "\1c") - (data (i32.const 5560) "\02\00\00\00\0c\00\00\001\00e\00+\003\000\008") - (data (i32.const 5580) "\1c") - (data (i32.const 5592) "\02\00\00\00\0c\00\00\001\00e\00+\003\000\009") - (data (i32.const 5612) ",") - (data (i32.const 5624) "\02\00\00\00\10\00\00\001\00.\000\00e\00-\001\00_\000") - (data (i32.const 5660) ",") - (data (i32.const 5672) "\02\00\00\00\12\00\00\001\00.\000\00e\00-\001\000\00_\000") - (data (i32.const 5708) ",") - (data (i32.const 5720) "\02\00\00\00\10\00\00\001\00.\000\00e\00+\001\00_\000") - (data (i32.const 5756) "\1c") - (data (i32.const 5768) "\02\00\00\00\06\00\00\001\00_\000") - (data (i32.const 5788) "\1c") - (data (i32.const 5800) "\02\00\00\00\06\00\00\001\00_\001") - (data (i32.const 5820) ",") - (data (i32.const 5832) "\02\00\00\00\14\00\00\001\000\00.\000\000\00_\000\001\00e\002") - (data (i32.const 5868) ",") - (data (i32.const 5880) "\02\00\00\00\16\00\00\001\002\003\004\005\006\007\008\009\00_\004") - (data (i32.const 5916) ",") - (data (i32.const 5928) "\02\00\00\00\18\00\00\001\00_\000\001\002\003\004\005\006\007\008\009") - (data (i32.const 5964) "\1c") - (data (i32.const 5976) "\02\00\00\00\n\00\00\001\00e\00-\006\000") - (data (i32.const 5996) "\1c") - (data (i32.const 6008) "\02\00\00\00\08\00\00\001\00e\006\000") - (data (i32.const 6028) "\1c") - (data (i32.const 6040) "\02\00\00\00\0c\00\00\001\002\003\00.\004\00e") - (data (i32.const 6060) "\1c") - (data (i32.const 6072) "\02\00\00\00\04\00\00\001\00x") - (data (i32.const 6092) ",") - (data (i32.const 6104) "\02\00\00\00\18\00\00\00-\001\001\00e\00-\001\00s\00t\00r\00i\00n\00g") - (data (i32.const 6140) ",") - (data (i32.const 6152) "\02\00\00\00\14\00\00\000\001\00e\001\00s\00t\00r\00i\00n\00g") - (data (i32.const 6188) ",") - (data (i32.const 6200) "\02\00\00\00\12\00\00\000\001\000\00s\00t\00r\00i\00n\00g") - (data (i32.const 6236) ",") - (data (i32.const 6248) "\02\00\00\00\0e\00\00\00+\00.\002\002\00e\00-\001") - (data (i32.const 6284) "\1c") - (data (i32.const 6296) "\02\00\00\00\n\00\00\001\001\00.\00s\001") - (data (i32.const 6316) "\1c") - (data (i32.const 6328) "\02\00\00\00\06\00\00\000\00x\005") - (data (i32.const 6348) "\1c") - (data (i32.const 6360) "\02\00\00\00\06\00\00\000\00x\00D") - (data (i32.const 6380) "\1c") - (data (i32.const 6392) "\02\00\00\00\08\00\00\00\0b\001\00.\001") - (data (i32.const 6412) "\1c") - (data (i32.const 6424) "\02\00\00\00\0c\00\00\00\0b\00\0b\00-\001\00.\001") - (data (i32.const 6444) "\1c") - (data (i32.const 6456) "\02\00\00\00\0c\00\00\00\0c\00\0c\00-\001\00.\001") - (data (i32.const 6476) "\1c") - (data (i32.const 6488) "\02\00\00\00\0c\00\00\00( ( -\001\00.\001") - (data (i32.const 6508) "\1c") - (data (i32.const 6520) "\02\00\00\00\0c\00\00\00) ) -\001\00.\001") - (data (i32.const 6540) "\1c") - (data (i32.const 6552) "\02\00\00\00\n\00\00\000\000\000\000\000") - (data (i32.const 6572) "\1c") - (data (i32.const 6584) "\02\00\00\00\n\00\00\000\000\000\000\00a") - (data (i32.const 6604) "\1c") - (data (i32.const 6616) "\02\00\00\00\n\00\00\000\000\000\000\001") - (data (i32.const 6636) "\1c") - (data (i32.const 6648) "\02\00\00\00\n\00\00\000\000\00.\000\000") - (data (i32.const 6668) "\1c") - (data (i32.const 6680) "\02\00\00\00\n\00\00\000\000\00.\000\00a") - (data (i32.const 6700) "\1c") - (data (i32.const 6712) "\02\00\00\00\08\00\00\001\00e\001\00e") - (data (i32.const 6732) ",") - (data (i32.const 6744) "\02\00\00\00\0e\00\00\001\00e\00+\000\000\000\001") - (data (i32.const 6780) "\1c") - (data (i32.const 6792) "\02\00\00\00\0c\00\00\000\00e\00+\001\000\000") - (data (i32.const 6812) "\1c") - (data (i32.const 6824) "\02\00\00\00\n\00\00\001\00.\00-\001\00.") - (data (i32.const 6844) "\1c") - (data (i32.const 6856) "\02\00\00\00\0c\00\00\001\00e\00-\001\00.\002") - (data (i32.const 6876) "\1c") - (data (i32.const 6888) "\02\00\00\00\06\00\00\001\00e\00x") - (data (i32.const 6908) "\1c") - (data (i32.const 6920) "\02\00\00\00\08\00\00\001\00e\001\00x") - (data (i32.const 6940) "\1c") - (data (i32.const 6952) "\02\00\00\00\08\00\00\001\00e\00-\00x") - (data (i32.const 6972) "\1c") - (data (i32.const 6984) "\02\00\00\00\n\00\00\001\00e\00-\001\00x") - (data (i32.const 7004) ",") - (data (i32.const 7016) "\02\00\00\00\0e\00\00\000\00.\001\00e\00-\001\00x") - (data (i32.const 7052) "\1c") - (data (i32.const 7064) "\02\00\00\00\06\00\00\000\000\00.") - (data (i32.const 7084) "\1c") - (data (i32.const 7096) "\02\00\00\00\06\00\00\00.\000\000") - (data (i32.const 7116) "\1c") - (data (i32.const 7128) "\02\00\00\00\06\00\00\00.\000\00.") - (data (i32.const 7148) "\1c") - (data (i32.const 7160) "\02\00\00\00\06\00\00\00.\001\00.") - (data (i32.const 7180) "\1c") - (data (i32.const 7192) "\02\00\00\00\06\00\00\000\00.\00.") - (data (i32.const 7212) "\1c") - (data (i32.const 7224) "\02\00\00\00\06\00\00\000\00.\00a") - (data (i32.const 7244) "\1c") - (data (i32.const 7256) "\02\00\00\00\08\00\00\001\00.\00.\001") - (data (i32.const 7276) "\1c") - (data (i32.const 7288) "\02\00\00\00\n\00\00\000\00.\001\00.\001") - (data (i32.const 7308) "\1c") - (data (i32.const 7320) "\02\00\00\00\08\00\00\000\00.\00 \001") - (data (i32.const 7340) "\1c") - (data (i32.const 7352) "\02\00\00\00\08\00\00\00+\000\00.\000") - (data (i32.const 7372) "\1c") - (data (i32.const 7384) "\02\00\00\00\08\00\00\00-\000\00.\000") - (data (i32.const 7404) "\1c") - (data (i32.const 7416) "\02\00\00\00\04\00\00\00+\000") - (data (i32.const 7436) ",") - (data (i32.const 7448) "\02\00\00\00\0e\00\00\00-\00.\000\000\000\000\000") - (data (i32.const 7484) "\1c") - (data (i32.const 7496) "\02\00\00\00\06\00\00\00-\00-\000") - (data (i32.const 7516) "\1c") - (data (i32.const 7528) "\02\00\00\00\06\00\00\00+\00+\000") - (data (i32.const 7548) "\1c") - (data (i32.const 7560) "\02\00\00\00\04\00\00\00.\00a") - (data (i32.const 7580) "\1c") - (data (i32.const 7592) "\02\00\00\00\06\00\00\00.\00.\000") - (data (i32.const 7612) "\1c") - (data (i32.const 7624) "\02\00\00\00\02\00\00\00.") - (data (i32.const 7644) "\1c") - (data (i32.const 7656) "\02\00\00\00\04\00\00\00.\00.") - (data (i32.const 7676) "\1c") - (data (i32.const 7688) "\02\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 7708) "\1c") - (data (i32.const 7720) "\02\00\00\00\02\00\00\00\0b") - (data (i32.const 7740) "\1c") - (data (i32.const 7752) "\02\00\00\00\02\00\00\00\0e\18") - (data (i32.const 7772) "\1c") - (data (i32.const 7784) "\02\00\00\00\08\00\00\00\0e\181\00.\001") - (data (i32.const 7804) "\1c") - (data (i32.const 7816) "\02\00\00\00\n\00\00\00\0e\18\0e\181\00.\001") - (data (i32.const 7836) "\1c") - (data (i32.const 7848) "\02\00\00\00\02\00\00\00\0c") - (data (i32.const 7868) "\1c") - (data (i32.const 7880) "\02\00\00\00\08\00\00\00t\00r\00u\00e") - (data (i32.const 7900) "\1c") - (data (i32.const 7912) "\02\00\00\00\08\00\00\001\00e\002\002") - (data (i32.const 7932) "\1c") - (data (i32.const 7944) "\02\00\00\00\n\00\00\001\00e\00-\002\002") - (data (i32.const 7964) "\1c") - (data (i32.const 7976) "\02\00\00\00\08\00\00\001\00e\002\003") - (data (i32.const 7996) "\1c") - (data (i32.const 8008) "\02\00\00\00\n\00\00\001\00e\00-\002\003") - (data (i32.const 8028) "\1c") - (data (i32.const 8040) "\02\00\00\00\08\00\00\001\00e\003\007") - (data (i32.const 8060) "\1c") - (data (i32.const 8072) "\02\00\00\00\n\00\00\001\00e\00-\003\007") - (data (i32.const 8092) "\1c") - (data (i32.const 8104) "\02\00\00\00\08\00\00\001\00e\003\008") - (data (i32.const 8124) "\1c") - (data (i32.const 8136) "\02\00\00\00\n\00\00\001\00e\00-\003\008") - (data (i32.const 8156) "<") - (data (i32.const 8168) "\02\00\00\00*\00\00\002\00.\002\002\000\004\004\006\000\004\009\002\005\000\003\001\003\00e\00-\001\006") - (data (i32.const 8220) "L") - (data (i32.const 8232) "\02\00\00\00.\00\00\001\00.\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\007\00e\00+\003\000\008") - (data (i32.const 8300) "\1c") - (data (i32.const 8312) "\02\00\00\00\0c\00\00\005\00e\00-\003\002\004") - (data (i32.const 8332) ",") - (data (i32.const 8344) "\02\00\00\00\1a\00\00\000\00.\000\000\000\000\000\001\00e\00+\003\001\004") - (data (i32.const 8380) "\8c") - (data (i32.const 8392) "\02\00\00\00|\00\00\000\00.\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\001\00e\00+\005\006") - (data (i32.const 8524) ",") - (data (i32.const 8536) "\02\00\00\00\0e\00\00\00+\001\00E\00-\003\002\005") - (data (i32.const 8572) ",") - (data (i32.const 8584) "\02\00\00\00\0e\00\00\00+\001\00E\00+\003\000\009") - (data (i32.const 8620) ",") - (data (i32.const 8632) "\02\00\00\00\0e\00\00\00-\001\00E\00-\003\002\005") - (data (i32.const 8668) ",") - (data (i32.const 8680) "\02\00\00\00\0e\00\00\00-\001\00E\00+\003\000\009") - (data (i32.const 8716) ",") - (data (i32.const 8728) "\02\00\00\00\14\00\00\001\00e\00-\001\000\000\000\000\000\000") - (data (i32.const 8764) ",") - (data (i32.const 8776) "\02\00\00\00\14\00\00\001\00e\00+\001\000\000\000\000\000\000") - (data (i32.const 8812) "\1c") - (data (i32.const 8824) "\02\00\00\00\0c\00\00\001\00.\00e\003\006\000") - (data (i32.const 8844) ",") - (data (i32.const 8856) "\02\00\00\00\12\00\00\00 \00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 8892) ",") - (data (i32.const 8904) "\02\00\00\00\12\00\00\00+\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 8940) ",") - (data (i32.const 8952) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 8988) ",") - (data (i32.const 9000) "\02\00\00\00\12\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00x") - (data (i32.const 9036) ",") - (data (i32.const 9048) "\02\00\00\00\14\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00+\001") - (data (i32.const 9084) "\1c") - (data (i32.const 9096) "\02\00\00\00\08\00\00\00I\00n\00f\00i") - (data (i32.const 9116) ",") - (data (i32.const 9128) "\02\00\00\00\10\00\00\00+\00I\00n\00f\00i\00n\00i\00t") - (data (i32.const 9164) ",") - (data (i32.const 9176) "\02\00\00\00\10\00\00\00i\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 9212) "\bc") - (data (i32.const 9224) "\02\00\00\00\aa\00\00\00.\002\004\007\000\003\002\008\002\002\009\002\000\006\002\003\002\007\002\000\008\008\002\008\004\003\009\006\004\003\004\001\001\000\006\008\006\001\008\002\005\002\009\009\000\001\003\000\007\001\006\002\003\008\002\002\001\002\007\009\002\008\004\001\002\005\000\003\003\007\007\005\003\006\003\005\001\000\004\003\00e\00-\003\002\003") - (data (i32.const 9404) "\bc") - (data (i32.const 9416) "\02\00\00\00\aa\00\00\00.\007\004\001\000\009\008\004\006\008\007\006\001\008\006\009\008\001\006\002\006\004\008\005\003\001\008\009\003\000\002\003\003\002\000\005\008\005\004\007\005\008\009\007\000\003\009\002\001\004\008\007\001\004\006\006\003\008\003\007\008\005\002\003\007\005\001\000\001\003\002\006\000\009\000\005\003\001\003\002\00e\00-\003\002\003") - (data (i32.const 9596) "\bc") - (data (i32.const 9608) "\02\00\00\00\aa\00\00\00.\002\002\002\005\000\007\003\008\005\008\005\000\007\002\000\001\006\003\000\001\002\003\000\005\005\006\003\007\009\005\005\006\007\006\001\005\002\005\000\003\006\001\002\004\001\004\005\007\003\000\001\008\000\001\003\000\008\003\002\002\008\007\002\004\000\004\009\005\008\006\006\004\007\006\000\006\007\006\000\00e\00-\003\000\007") - (data (i32.const 9788) "\9c") - (data (i32.const 9800) "\02\00\00\00\88\00\00\001\007\009\007\006\009\003\001\003\004\008\006\002\003\001\005\008\000\007\009\003\007\002\008\009\007\001\004\000\005\003\000\003\004\001\005\000\007\009\009\003\004\001\003\002\007\001\000\000\003\007\008\002\006\009\003\006\001\007\003\007\007\008\009\008\000\004\004") - (data (i32.const 9948) "\9c") - (data (i32.const 9960) "\02\00\00\00\88\00\00\004\009\006\008\002\009\002\007\006\004\007\005\000\009\004\006\006\004\009\000\001\007\009\007\007\005\008\007\002\000\007\000\009\006\003\003\000\002\008\006\004\001\006\006\009\002\008\008\007\009\001\000\009\004\006\005\005\005\005\004\007\008\005\001\009\004\000\004") - (data (i32.const 10108) "\9c") - (data (i32.const 10120) "\02\00\00\00\88\00\00\000\002\006\003\000\006\005\007\004\008\008\006\007\001\005\000\005\008\002\000\006\008\001\009\000\008\009\000\002\000\000\000\007\000\008\003\008\003\006\007\006\002\007\003\008\005\004\008\004\005\008\001\007\007\001\001\005\003\001\007\006\004\004\007\005\007\003\000") - (data (i32.const 10268) "\9c") - (data (i32.const 10280) "\02\00\00\00\88\00\00\002\007\000\000\006\009\008\005\005\005\007\001\003\006\006\009\005\009\006\002\002\008\004\002\009\001\004\008\001\009\008\006\000\008\003\004\009\003\006\004\007\005\002\009\002\007\001\009\000\007\004\001\006\008\004\004\004\003\006\005\005\001\000\007\000\004\003\004") - (data (i32.const 10428) "\9c") - (data (i32.const 10440) "\02\00\00\00\88\00\00\002\007\001\001\005\005\009\006\009\009\005\000\008\000\009\003\000\004\002\008\008\000\001\007\007\009\000\004\001\007\004\004\009\007\007\009\001\00.\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009\009") - (data (i32.const 10588) "l") - (data (i32.const 10600) "\02\00\00\00\\\00\00\000\00.\009\007\005\003\005\003\001\008\008\008\007\009\009\005\000\002\006\001\003\008\000\007\001\003\005\002\007\006\001\004\007\001\006\004\004\000\004\003\009\00e\00-\001\000\003") - (data (i32.const 10700) "l") - (data (i32.const 10712) "\02\00\00\00X\00\00\00.\005\009\006\001\008\006\000\003\004\008\001\003\001\008\000\007\000\009\001\008\006\001\000\000\002\002\006\006\004\005\003\009\004\001\009\005\000\004\002\008\00e\000\000") - (data (i32.const 10812) "l") - (data (i32.const 10824) "\02\00\00\00X\00\00\001\00.\008\001\005\000\001\003\001\006\009\002\001\008\000\003\008\007\002\009\008\008\007\004\006\000\008\009\008\007\003\003\005\002\006\009\005\007\004\004\002\00e\00-\001") - (data (i32.const 10924) "l") - (data (i32.const 10936) "\02\00\00\00X\00\00\004\002\00.\000\007\000\008\002\003\005\007\005\003\004\004\005\003\006\000\000\006\008\001\006\001\008\006\008\005\006\008\002\002\005\007\005\009\000\007\007\002\00e\00-\002") - (data (i32.const 11036) "l") - (data (i32.const 11048) "\02\00\00\00X\00\00\006\006\005\00.\004\006\008\006\003\000\006\005\001\006\002\006\001\004\005\006\003\002\008\009\007\003\002\002\005\005\007\009\008\003\003\004\007\000\008\001\006\00e\00-\003") - (data (i32.const 11148) "l") - (data (i32.const 11160) "\02\00\00\00X\00\00\006\001\000\001\00.\008\005\002\009\002\002\009\007\000\008\006\008\006\002\001\007\008\006\006\009\000\004\009\005\004\008\005\004\004\009\008\003\001\007\005\003\00e\00-\004") - (data (i32.const 11260) "l") - (data (i32.const 11272) "\02\00\00\00X\00\00\007\006\009\006\006\00.\009\005\002\000\008\002\003\006\009\006\008\000\007\007\008\004\009\004\006\004\003\004\008\008\007\005\004\007\001\001\005\008\005\004\009\00e\00-\005") - (data (i32.const 11372) "l") - (data (i32.const 11384) "\02\00\00\00X\00\00\002\005\000\005\000\006\00.\005\003\002\002\002\002\008\006\008\002\004\009\006\001\003\002\006\000\004\008\000\007\002\002\002\009\002\003\007\000\002\003\000\004\00e\00-\006") - (data (i32.const 11484) "l") - (data (i32.const 11496) "\02\00\00\00X\00\00\002\007\004\000\000\003\007\00.\002\003\000\002\002\008\000\000\005\003\002\005\008\005\002\004\002\004\006\009\007\006\009\008\003\003\001\001\007\007\003\007\007\00e\00-\007") - (data (i32.const 11596) "l") - (data (i32.const 11608) "\02\00\00\00X\00\00\002\000\007\002\003\000\009\003\00.\005\000\000\004\009\007\004\002\006\004\005\009\004\001\005\002\009\002\006\008\007\001\005\004\002\008\003\002\004\004\009\000\00e\00-\008") - (data (i32.const 11708) "l") - (data (i32.const 11720) "\02\00\00\00X\00\00\000\00.\007\009\000\000\002\008\000\002\003\008\000\008\001\006\000\004\009\005\006\002\002\006\000\001\001\000\004\007\004\006\000\002\003\008\007\004\008\009\001\002\00e\001") - (data (i32.const 11820) "l") - (data (i32.const 11832) "\02\00\00\00X\00\00\000\00.\009\008\002\002\008\006\000\006\005\003\007\003\007\002\009\006\008\004\008\001\009\000\005\005\008\004\004\008\007\006\000\004\006\005\008\006\003\005\009\007\00e\002") - (data (i32.const 11932) "l") - (data (i32.const 11944) "\02\00\00\00X\00\00\000\00.\007\004\006\008\009\004\009\007\002\003\001\009\000\003\007\000\008\000\009\004\000\005\005\007\000\005\006\000\001\006\000\004\000\005\003\002\004\008\006\009\00e\003") - (data (i32.const 12044) "l") - (data (i32.const 12056) "\02\00\00\00X\00\00\000\00.\001\006\003\000\002\006\008\003\002\000\002\008\002\007\002\008\004\007\005\009\008\000\004\005\009\008\004\004\002\007\001\000\003\001\007\005\001\006\006\005\00e\004") - (data (i32.const 12156) "l") - (data (i32.const 12168) "\02\00\00\00X\00\00\000\00.\004\006\003\007\001\006\008\006\002\009\007\001\009\001\007\000\006\009\005\001\000\009\009\001\008\007\006\009\006\004\005\004\009\002\000\002\002\000\008\008\00e\005") - (data (i32.const 12268) "l") - (data (i32.const 12280) "\02\00\00\00X\00\00\000\00.\006\005\003\007\008\000\005\009\004\004\004\009\007\007\001\001\005\005\004\002\000\009\004\006\001\006\008\006\004\001\005\008\007\002\000\006\007\005\002\003\00e\006") - (data (i32.const 12380) "l") - (data (i32.const 12392) "\02\00\00\00X\00\00\000\00.\002\003\004\006\003\002\004\003\005\006\005\000\002\004\003\007\000\004\005\002\001\002\002\003\000\007\001\003\009\006\000\004\005\007\006\007\006\005\003\001\00e\006") - (data (i32.const 12492) "l") - (data (i32.const 12504) "\02\00\00\00X\00\00\000\00.\009\007\000\009\004\008\001\007\001\006\004\002\000\000\004\008\003\004\001\008\009\007\002\005\008\009\008\000\004\005\004\002\009\008\002\000\005\002\007\008\00e\008") - (data (i32.const 12604) "l") - (data (i32.const 12616) "\02\00\00\00X\00\00\000\00.\004\009\009\006\009\000\008\005\002\002\000\005\001\008\007\004\001\001\000\007\007\009\009\008\002\003\005\004\009\003\002\004\009\009\004\009\009\006\000\002\00e\009") - (data (i32.const 12716) "l") - (data (i32.const 12728) "\02\00\00\00Z\00\00\000\00.\007\009\002\005\002\000\001\002\000\000\005\005\007\002\004\005\008\006\001\009\004\004\000\001\001\002\006\007\000\004\001\007\008\007\005\000\005\001\004\009\00e\002\002") - (data (i32.const 12828) "l") - (data (i32.const 12840) "\02\00\00\00Z\00\00\000\00.\006\000\009\006\005\006\004\005\008\005\009\008\003\001\007\007\004\000\008\009\003\004\003\005\002\005\007\000\002\001\003\003\007\007\004\007\005\007\003\009\00e\003\000") - (data (i32.const 12940) "l") - (data (i32.const 12952) "\02\00\00\00Z\00\00\000\00.\004\008\000\000\004\001\006\001\001\007\004\007\007\000\002\008\007\008\007\008\007\004\003\006\000\002\000\005\000\002\003\005\004\009\004\009\007\001\002\008\00e\006\007") - (data (i32.const 13052) "l") - (data (i32.const 13064) "\02\00\00\00\\\00\00\000\00.\008\005\002\004\008\002\009\000\007\009\008\001\007\009\006\008\002\002\004\008\003\000\003\003\007\009\003\001\000\005\002\007\008\001\006\004\001\004\008\003\00e\001\000\005") - (data (i32.const 13164) "l") - (data (i32.const 13176) "\02\00\00\00\\\00\00\000\00.\000\003\002\007\001\002\003\009\002\009\001\007\000\009\007\008\002\001\001\005\004\004\007\000\006\009\003\007\002\007\004\008\009\005\006\000\008\004\002\005\00e\002\006\009") - (data (i32.const 13276) "\1c") - (data (i32.const 13288) "\02\00\00\00\06\00\00\00 \00\t\00\n") - (data (i32.const 13308) "\1c") - (data (i32.const 13320) "\02\00\00\00\0c\00\00\00 \00\t\00\n\00\r\00.\001") - (data (i32.const 13340) "\1c") - (data (i32.const 13352) "\02\00\00\00\02\00\00\00b") - (data (i32.const 13372) "\1c") - (data (i32.const 13384) "\02\00\00\00\04\00\00\00a\00b") - (data (i32.const 13404) "\1c") - (data (i32.const 13416) "\02\00\00\00\08\00\00\00k\00e\00y\001") - (data (i32.const 13436) "\1c") - (data (i32.const 13448) "\02\00\00\00\08\00\00\00k\00e\00y\002") - (data (i32.const 13468) "\1c") - (data (i32.const 13480) "\02\00\00\00\06\00\00\00k\00e\001") - (data (i32.const 13500) "\1c") - (data (i32.const 13512) "\02\00\00\00\06\00\00\00k\00e\002") - (data (i32.const 13532) "\1c") - (data (i32.const 13544) "\02\00\00\00\n\00\00\00k\00e\00y\001\002") - (data (i32.const 13564) "\1c") - (data (i32.const 13576) "\02\00\00\00\n\00\00\00k\00e\00y\001\001") - (data (i32.const 13596) ",") - (data (i32.const 13608) "\02\00\00\00\0e\00\00\00\a40\ed0\cf0\cb0\db0\d80\c80") - (data (i32.const 13644) ",") - (data (i32.const 13656) "\02\00\00\00\0e\00\00\00\a60\f00\ce0\aa0\af0\e40\de0") - (data (i32.const 13692) ",") - (data (i32.const 13704) "\02\00\00\00\16\00\00\00D\00\19 f\00h\00u\00a\00s\00c\00a\00i\00l") - (data (i32.const 13740) ",") - (data (i32.const 13752) "\02\00\00\00\14\00\00\00D\00\19 \1f\1eu\00a\00s\00c\00a\00i\00l") - (data (i32.const 13788) "\1c") - (data (i32.const 13800) "\02\00\00\00\04\00\00\00b\00a") - (data (i32.const 13820) "\1c") - (data (i32.const 13832) "\02\00\00\00\04\00\00\00a\00a") - (data (i32.const 13852) "\1c") - (data (i32.const 13864) "\02\00\00\00\04\00\00\001\000") - (data (i32.const 13884) "\1c") - (data (i32.const 13896) "\02\00\00\00\04\00\00\001\001") - (data (i32.const 13916) "\1c") - (data (i32.const 13928) "\02\00\00\00\06\00\00\001\000\001") - (data (i32.const 13948) "\1c") - (data (i32.const 13960) "\02\00\00\00\06\00\00\001\002\002") - (data (i32.const 13980) "\1c") - (data (i32.const 13992) "\02\00\00\00\08\00\00\001\002\003\004") - (data (i32.const 14012) "\1c") - (data (i32.const 14024) "\02\00\00\00\08\00\00\001\002\003\003") - (data (i32.const 14044) ",") - (data (i32.const 14056) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 14092) "\1c") - (data (i32.const 14104) "\02\00\00\00\06\00\00\00a\00a\00a") - (data (i32.const 14124) ",") - (data (i32.const 14136) "\02\00\00\00\10\00\00\00a\00b\00a\00b\00a\00b\00a\00b") - (data (i32.const 14172) "\1c") - (data (i32.const 14184) "\02\00\00\00\n\00\00\00a\00a\00a\00a\00a") - (data (i32.const 14204) "\1c") - (data (i32.const 14216) "\02\00\00\00\0c\00\00\00a\00a\00a\00a\00a\00a") - (data (i32.const 14236) ",") - (data (i32.const 14248) "\02\00\00\00\0e\00\00\00a\00a\00a\00a\00a\00a\00a") - (data (i32.const 14284) "\1c") - (data (i32.const 14296) "\02\00\00\00\n\00\00\00a\00-\00b\00-\00c") - (data (i32.const 14316) "\1c") - (data (i32.const 14328) "\02\00\00\00\n\00\00\00a\00+\00b\00-\00c") - (data (i32.const 14348) "\1c") - (data (i32.const 14360) "\02\00\00\00\08\00\00\00+\00a\00b\00c") - (data (i32.const 14380) "\1c") - (data (i32.const 14392) "\02\00\00\00\08\00\00\00\n\00a\00b\00c") - (data (i32.const 14412) "\1c") - (data (i32.const 14424) "\02\00\00\00\02\00\00\00\n") - (data (i32.const 14444) "\1c") - (data (i32.const 14456) "\02\00\00\00\02\00\00\00c") - (data (i32.const 14476) "\1c") - (data (i32.const 14488) "\02\00\00\00\04\00\00\00+\00+") - (data (i32.const 14508) "\1c") - (data (i32.const 14520) "\02\00\00\00\08\00\00\00a\00b\00+\00+") - (data (i32.const 14540) ",") - (data (i32.const 14552) "\02\00\00\00\12\00\00\00a\00b\00c\00a\00b\00c\00a\00b\00c") - (data (i32.const 14588) "\1c") - (data (i32.const 14600) "\02\00\00\00\06\00\00\00+\00+\00+") - (data (i32.const 14620) ",") - (data (i32.const 14632) "\02\00\00\00\0e\00\00\00a\00b\00c\00a\00b\00c\00a") - (data (i32.const 14668) ",") - (data (i32.const 14680) "\02\00\00\00\1a\00\00\00+\00+\00+\00b\00c\00+\00+\00+\00b\00c\00+\00+\00+") - (data (i32.const 14716) "\1c") - (data (i32.const 14728) "\02\00\00\00\0c\00\00\00+\00+\00c\00+\00+\00c") - (data (i32.const 14748) "\1c") - (data (i32.const 14760) "\02\00\00\00\08\00\00\00c\00c\00c\00c") - (data (i32.const 14780) "\1c") - (data (i32.const 14792) "\02\00\00\00\04\00\00\00c\00c") - (data (i32.const 14812) "\1c") - (data (i32.const 14824) "\02\00\00\00\08\00\00\00+\00+\00+\00+") - (data (i32.const 14844) "\1c") - (data (i32.const 14856) "\02\00\00\00\02\00\00\00e") - (data (i32.const 14876) "\1c") - (data (i32.const 14888) "\02\00\00\00\04\00\00\00b\00c") - (data (i32.const 14908) "\1c") - (data (i32.const 14920) "\02\00\00\00\04\00\00\00a\00+") - (data (i32.const 14940) "\1c") - (data (i32.const 14952) "\02\00\00\00\n\00\00\00a\00+\00b\00+\00c") - (data (i32.const 14972) ",") - (data (i32.const 14984) "\02\00\00\00\0e\00\00\00+\00a\00+\00b\00+\00c\00+") - (data (i32.const 15020) "\1c") - (data (i32.const 15032) "\02\00\00\00\n\00\00\00a\00b\00c\00d\00e") - (data (i32.const 15052) "\1c") - (data (i32.const 15064) "\02\00\00\00\06\00\00\00-\00-\00-") - (data (i32.const 15084) ",") - (data (i32.const 15096) "\02\00\00\00\0e\00\00\00-\00-\00-\00b\00c\00d\00e") - (data (i32.const 15132) "\1c") - (data (i32.const 15144) "\02\00\00\00\n\00\00\00-\00-\00-\00-\00-") - (data (i32.const 15164) "\1c") - (data (i32.const 15176) "\02\00\00\00\08\00\00\00-\00-\00-\00-") - (data (i32.const 15196) ",") - (data (i32.const 15208) "\02\00\00\00\18\00\00\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-\00-") - (data (i32.const 15244) "\1c") - (data (i32.const 15256) "\02\00\00\00\08\00\00\00-\00-\00-\00a") - (data (i32.const 15276) ",") - (data (i32.const 15288) "\02\00\00\00\1c\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m\00n") - (data (i32.const 15324) "\1c") - (data (i32.const 15336) "\02\00\00\00\02\00\00\00n") - (data (i32.const 15356) "\1c") - (data (i32.const 15368) "\02\00\00\00\n\00\00\00j\00k\00l\00m\00n") - (data (i32.const 15388) "\1c") - (data (i32.const 15400) "\02\00\00\00\n\00\00\00c\00d\00e\00f\00g") - (data (i32.const 15420) "\1c") - (data (i32.const 15432) "\02\00\00\00\n\00\00\00d\00e\00f\00g\00h") - (data (i32.const 15452) ",") - (data (i32.const 15464) "\02\00\00\00\1a\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i\00j\00k\00l\00m") - (data (i32.const 15500) ",") - (data (i32.const 15512) "\02\00\00\00\0e\00\00\00c\00d\00e\00f\00g\00h\00i") - (data (i32.const 15548) "\1c") - (data (i32.const 15560) "\02\00\00\00\06\00\00\00e\00f\00g") - (data (i32.const 15580) "\1c") - (data (i32.const 15592) "\02\00\00\00\08\00\00\00e\00f\00g\00h") - (data (i32.const 15612) "\1c") - (data (i32.const 15624) "\02\00\00\00\02\00\00\00d") - (data (i32.const 15644) ",") - (data (i32.const 15656) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 15692) "|") - (data (i32.const 15704) "\02\00\00\00^\00\00\00E\00l\00e\00m\00e\00n\00t\00 \00t\00y\00p\00e\00 \00m\00u\00s\00t\00 \00b\00e\00 \00n\00u\00l\00l\00a\00b\00l\00e\00 \00i\00f\00 \00a\00r\00r\00a\00y\00 \00i\00s\00 \00h\00o\00l\00e\00y") - (data (i32.const 15820) "\1c") - (data (i32.const 15832) "\02\00\00\00\n\00\00\00a\00,\00b\00,\00c") - (data (i32.const 15852) ",") - (data (i32.const 15864) "\02\00\00\00\0e\00\00\00a\00,\00 \00b\00,\00 \00c") - (data (i32.const 15900) "\1c") - (data (i32.const 15912) "\02\00\00\00\04\00\00\00,\00 ") - (data (i32.const 15932) "\1c") - (data (i32.const 15944) "\02\00\00\00\0c\00\00\00a\00,\00b\00,\00,\00c") - (data (i32.const 15964) "\1c") - (data (i32.const 15976) "\02\00\00\00\0c\00\00\00,\00a\00,\00b\00,\00c") - (data (i32.const 15996) "\1c") - (data (i32.const 16008) "\02\00\00\00\0c\00\00\00a\00,\00b\00,\00c\00,") - (data (i32.const 16028) "|") - (data (i32.const 16040) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 16156) "<") - (data (i32.const 16168) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 16220) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 16620) "\1c\04") - (data (i32.const 16632) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 17676) "\\") - (data (i32.const 17688) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 17772) "\1c") - (data (i32.const 17784) "\02\00\00\00\02\00\00\008") - (data (i32.const 17804) "\1c") - (data (i32.const 17816) "\02\00\00\00\04\00\00\001\002") - (data (i32.const 17836) "\1c") - (data (i32.const 17848) "\02\00\00\00\n\00\00\00-\001\000\000\000") - (data (i32.const 17868) "\1c") - (data (i32.const 17880) "\02\00\00\00\n\00\00\001\002\003\004\005") - (data (i32.const 17900) "\1c") - (data (i32.const 17912) "\02\00\00\00\0c\00\00\001\002\003\004\005\006") - (data (i32.const 17932) ",") - (data (i32.const 17944) "\02\00\00\00\0e\00\00\001\001\001\001\001\001\001") - (data (i32.const 17980) ",") - (data (i32.const 17992) "\02\00\00\00\0e\00\00\001\002\003\004\005\006\007") - (data (i32.const 18028) ",") - (data (i32.const 18040) "\02\00\00\00\10\00\00\001\002\003\004\005\006\007\008") - (data (i32.const 18076) ",") - (data (i32.const 18088) "\02\00\00\00\12\00\00\001\002\003\004\005\006\007\008\009") - (data (i32.const 18124) ",") - (data (i32.const 18136) "\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\006") - (data (i32.const 18172) ",") - (data (i32.const 18184) "\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\007") - (data (i32.const 18220) ",") - (data (i32.const 18232) "\02\00\00\00\16\00\00\00-\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 18268) "\1c") - (data (i32.const 18280) "\02\00\00\00\04\00\00\00-\001") - (data (i32.const 18300) "\1c") - (data (i32.const 18312) "\02\00\00\00\08\00\00\00-\001\002\008") - (data (i32.const 18332) "\1c") - (data (i32.const 18344) "\02\00\00\00\0c\00\00\00-\003\002\007\006\008") - (data (i32.const 18364) "\1c") - (data (i32.const 18376) "\02\00\00\00\08\00\00\001\000\000\000") - (data (i32.const 18396) ",") - (data (i32.const 18408) "\02\00\00\00\14\00\00\002\001\004\007\004\008\003\006\004\008") - (data (i32.const 18444) ",") - (data (i32.const 18456) "\02\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 18492) "\1c") - (data (i32.const 18504) "\02\00\00\00\04\00\00\007\00b") - (data (i32.const 18524) "\1c") - (data (i32.const 18536) "\02\00\00\00\06\00\00\004\00d\002") - (data (i32.const 18556) "\1c") - (data (i32.const 18568) "\02\00\00\00\08\00\00\003\000\003\009") - (data (i32.const 18588) "\1c") - (data (i32.const 18600) "\02\00\00\00\n\00\00\001\00e\002\004\000") - (data (i32.const 18620) "\1c") - (data (i32.const 18632) "\02\00\00\00\0c\00\00\001\000\00f\004\004\007") - (data (i32.const 18652) "\1c") - (data (i32.const 18664) "\02\00\00\00\0c\00\00\001\002\00d\006\008\007") - (data (i32.const 18684) "\1c") - (data (i32.const 18696) "\02\00\00\00\0c\00\00\00b\00c\006\001\004\00e") - (data (i32.const 18716) ",") - (data (i32.const 18728) "\02\00\00\00\0e\00\00\007\005\00b\00c\00d\001\005") - (data (i32.const 18764) ",") - (data (i32.const 18776) "\02\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00e") - (data (i32.const 18812) ",") - (data (i32.const 18824) "\02\00\00\00\10\00\00\007\00f\00f\00f\00f\00f\00f\00f") - (data (i32.const 18860) ",") - (data (i32.const 18872) "\02\00\00\00\10\00\00\008\000\000\000\000\000\000\000") - (data (i32.const 18908) ",") - (data (i32.const 18920) "\02\00\00\00\10\00\00\00f\00f\00f\00f\00f\00f\00f\00f") - (data (i32.const 18956) ",") - (data (i32.const 18968) "\02\00\00\00\12\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f") - (data (i32.const 19004) ",") - (data (i32.const 19016) "\02\00\00\00\10\00\00\00-\00f\00f\00f\00f\00f\00f\00f") - (data (i32.const 19052) ",") - (data (i32.const 19064) "\02\00\00\00\12\00\00\00-\008\000\000\000\000\000\000\000") - (data (i32.const 19100) "\1c") - (data (i32.const 19112) "\02\00\00\00\06\00\00\001\001\001") - (data (i32.const 19132) "\1c") - (data (i32.const 19144) "\02\00\00\00\08\00\00\001\001\001\000") - (data (i32.const 19164) "\1c") - (data (i32.const 19176) "\02\00\00\00\n\00\00\001\001\001\000\001") - (data (i32.const 19196) "\1c") - (data (i32.const 19208) "\02\00\00\00\0c\00\00\001\001\001\000\001\001") - (data (i32.const 19228) ",") - (data (i32.const 19240) "\02\00\00\00\18\00\00\001\001\001\001\001\001\001\001\001\001\001\001") - (data (i32.const 19276) "L") - (data (i32.const 19288) "\02\00\00\002\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") - (data (i32.const 19356) "\\") - (data (i32.const 19368) "\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\001\000\000") - (data (i32.const 19452) "\\") - (data (i32.const 19464) "\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000\000") - (data (i32.const 19548) "\\") - (data (i32.const 19560) "\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\000") - (data (i32.const 19644) "\\") - (data (i32.const 19656) "\02\00\00\00@\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") - (data (i32.const 19740) ",") - (data (i32.const 19752) "\02\00\00\00\18\00\00\00-\001\001\001\001\001\001\001\001\001\001\001") - (data (i32.const 19788) "<") - (data (i32.const 19800) "\02\00\00\00*\00\00\001\000\002\000\000\002\000\002\002\002\000\001\002\002\001\001\001\001\002\001\000") - (data (i32.const 19852) "<") - (data (i32.const 19864) "\02\00\00\00 \00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003") - (data (i32.const 19916) ",") - (data (i32.const 19928) "\02\00\00\00\1c\00\00\003\002\002\004\004\000\000\002\004\002\003\001\004\000") - (data (i32.const 19964) ",") - (data (i32.const 19976) "\02\00\00\00\16\00\00\003\007\007\007\007\007\007\007\007\007\007") - (data (i32.const 20012) ",") - (data (i32.const 20024) "\02\00\00\00\14\00\00\001\009\000\004\004\004\000\005\005\003") - (data (i32.const 20060) ",") - (data (i32.const 20072) "\02\00\00\00\12\00\00\001\00a\002\000\00d\00c\00d\008\000") - (data (i32.const 20108) ",") - (data (i32.const 20120) "\02\00\00\00\10\00\00\00a\007\00f\00f\00d\00a\009\000") - (data (i32.const 20156) ",") - (data (i32.const 20168) "\02\00\00\00\10\00\00\002\008\001\00d\005\005\00i\003") - (data (i32.const 20204) ",") - (data (i32.const 20216) "\02\00\00\00\0e\00\00\00b\002\008\00j\00p\00d\00l") - (data (i32.const 20252) ",") - (data (i32.const 20264) "\02\00\00\00\0e\00\00\003\00v\00v\00v\00v\00v\00v") - (data (i32.const 20300) ",") - (data (i32.const 20312) "\02\00\00\00\0e\00\00\001\00z\001\004\001\00z\003") - (data (i32.const 20348) ",") - (data (i32.const 20360) "\02\00\00\00\10\00\00\009\009\009\009\009\009\009\009") - (data (i32.const 20396) ",") - (data (i32.const 20408) "\02\00\00\00\12\00\00\001\000\000\000\000\000\000\000\000") - (data (i32.const 20444) ",") - (data (i32.const 20456) "\02\00\00\00\14\00\00\004\002\009\004\009\006\007\002\009\007") - (data (i32.const 20492) ",") - (data (i32.const 20504) "\02\00\00\00\16\00\00\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 20540) ",") - (data (i32.const 20552) "\02\00\00\00\18\00\00\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 20588) ",") - (data (i32.const 20600) "\02\00\00\00\1a\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000") - (data (i32.const 20636) ",") - (data (i32.const 20648) "\02\00\00\00\1c\00\00\008\006\008\007\001\009\004\007\006\007\003\005\000\001") - (data (i32.const 20684) "<") - (data (i32.const 20696) "\02\00\00\00\1e\00\00\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 20748) "<") - (data (i32.const 20760) "\02\00\00\00 \00\00\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 20812) "<") - (data (i32.const 20824) "\02\00\00\00\"\00\00\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 20876) "<") - (data (i32.const 20888) "\02\00\00\00$\00\00\001\002\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 20940) "<") - (data (i32.const 20952) "\02\00\00\00&\00\00\001\002\003\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 21004) "<") - (data (i32.const 21016) "\02\00\00\00(\00\00\001\008\004\004\006\007\004\004\000\007\003\007\000\009\005\005\001\006\001\005") - (data (i32.const 21068) "\1c") - (data (i32.const 21080) "\02\00\00\00\n\00\00\00-\001\002\003\004") - (data (i32.const 21100) ",") - (data (i32.const 21112) "\02\00\00\00\16\00\00\00-\004\002\009\004\009\006\007\002\009\005") - (data (i32.const 21148) ",") - (data (i32.const 21160) "\02\00\00\00\18\00\00\00-\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 21196) ",") - (data (i32.const 21208) "\02\00\00\00\1a\00\00\00-\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 21244) "<") - (data (i32.const 21256) "\02\00\00\00 \00\00\00-\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 21308) "<") - (data (i32.const 21320) "\02\00\00\00$\00\00\00-\001\009\009\009\009\008\006\008\007\001\009\004\007\006\007\003\005") - (data (i32.const 21372) "<") - (data (i32.const 21384) "\02\00\00\00&\00\00\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\007") - (data (i32.const 21436) "<") - (data (i32.const 21448) "\02\00\00\00(\00\00\00-\009\002\002\003\003\007\002\000\003\006\008\005\004\007\007\005\008\000\008") - (data (i32.const 21500) ",") - (data (i32.const 21512) "\02\00\00\00\12\00\00\001\00f\00f\00f\00f\00f\00f\00f\00f") - (data (i32.const 21548) ",") - (data (i32.const 21560) "\02\00\00\00\16\00\00\005\006\007\008\009\00a\00b\00c\00d\00e\001") - (data (i32.const 21596) ",") - (data (i32.const 21608) "\02\00\00\00\18\00\00\004\005\006\007\008\009\00a\00b\00c\00d\00e\001") - (data (i32.const 21644) ",") - (data (i32.const 21656) "\02\00\00\00\1a\00\00\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f") - (data (i32.const 21692) ",") - (data (i32.const 21704) "\02\00\00\00\1c\00\00\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f") - (data (i32.const 21740) "<") - (data (i32.const 21752) "\02\00\00\00\1e\00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f") - (data (i32.const 21804) "<") - (data (i32.const 21816) "\02\00\00\00 \00\00\001\002\003\004\005\006\007\008\009\00a\00b\00c\00d\00e\00f\000") - (data (i32.const 21868) "<") - (data (i32.const 21880) "\02\00\00\00 \00\00\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f") - (data (i32.const 21932) "<") - (data (i32.const 21944) "\02\00\00\00 \00\00\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f") - (data (i32.const 21996) "<") - (data (i32.const 22008) "\02\00\00\00\"\00\00\00-\007\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f\00f") - (data (i32.const 22060) "<") - (data (i32.const 22072) "\02\00\00\00\"\00\00\00-\008\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000") - (data (i32.const 22124) "|") - (data (i32.const 22136) "\02\00\00\00b\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") - (data (i32.const 22252) "\9c") - (data (i32.const 22264) "\02\00\00\00\80\00\00\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") - (data (i32.const 22412) "\\") - (data (i32.const 22424) "\02\00\00\00D\00\00\00-\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001\001") - (data (i32.const 22508) "l") - (data (i32.const 22520) "\02\00\00\00R\00\00\001\001\001\001\002\002\002\000\000\002\002\001\002\002\001\002\000\001\000\001\002\001\001\000\002\000\001\002\000\002\001\000\002\001\000\002\001\001\002\002\000") - (data (i32.const 22620) "\\") - (data (i32.const 22632) "\02\00\00\00@\00\00\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003\003") - (data (i32.const 22716) "L") - (data (i32.const 22728) "\02\00\00\008\00\00\002\002\001\004\002\002\000\003\000\003\001\001\004\004\000\000\004\002\004\001\002\001\001\002\002\004\003\000") - (data (i32.const 22796) "<") - (data (i32.const 22808) "\02\00\00\00,\00\00\001\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007\007") - (data (i32.const 22860) "<") - (data (i32.const 22872) "\02\00\00\00&\00\00\003\003\005\005\000\000\005\001\006\00a\004\002\009\000\007\001\002\008\004") - (data (i32.const 22924) "<") - (data (i32.const 22936) "\02\00\00\00\"\00\00\002\00c\001\00d\005\006\00b\006\004\008\00c\006\00c\00d\001\001\000") - (data (i32.const 22988) "<") - (data (i32.const 23000) "\02\00\00\00 \00\00\006\007\009\007\009\00g\006\000\00f\005\004\002\008\000\001\000") - (data (i32.const 23052) "<") - (data (i32.const 23064) "\02\00\00\00\1e\00\00\005\00e\008\00g\004\00g\00g\00g\007\00g\005\006\00d\00i\00f") - (data (i32.const 23116) ",") - (data (i32.const 23128) "\02\00\00\00\1c\00\00\004\00e\00o\008\00h\00f\00a\00m\006\00f\00l\00l\00m\00o") - (data (i32.const 23164) ",") - (data (i32.const 23176) "\02\00\00\00\1a\00\00\00f\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v\00v") - (data (i32.const 23212) ",") - (data (i32.const 23224) "\02\00\00\00\1a\00\00\003\00w\005\00e\001\001\002\006\004\00s\00g\00s\00f") - (data (i32.const 23260) "\1c") - (data (i32.const 23272) "\02\00\00\00\06\00\00\000\00.\000") - (data (i32.const 23292) ",") - (data (i32.const 23304) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 23400) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 $~lib/array/Array<~lib/string/String> $invalid end return @@ -4152,12 +4283,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end global.get $~lib/memory/__stack_pointer @@ -4165,12 +4292,12 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store br $folding-inner1 end global.get $~lib/memory/__stack_pointer @@ -4178,25 +4305,24 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 2 i32.shl i32.add @@ -4207,11 +4333,11 @@ i32.lt_u if local.get $1 - i32.load $0 + i32.load local.tee $3 if local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end local.get $1 i32.const 4 @@ -4224,8 +4350,8 @@ end unreachable end - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4233,14 +4359,10 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4251,17 +4373,16 @@ ) (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4269,7 +4390,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -4289,47 +4410,43 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $2 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $2 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 local.get $1 local.get $2 call $~lib/util/string/compareImpl i32.eqz - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end global.get $~lib/memory/__stack_pointer @@ -4345,28 +4462,27 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $2 @@ -4396,8 +4512,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -4411,28 +4527,27 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ge_u @@ -4449,15 +4564,15 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 local.get $1 i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -4470,11 +4585,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4482,61 +4597,55 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u else i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 i32.eqz ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String.fromCharCodes (param $0 i32) (result i32) (local $1 i32) @@ -4547,45 +4656,44 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $1 + i32.load offset=4 + local.set $3 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if local.get $2 @@ -4593,13 +4701,13 @@ i32.const 1 i32.shl i32.add - local.get $1 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - i32.store16 $0 + i32.load + i32.store16 local.get $0 i32.const 1 i32.add @@ -4616,36 +4724,34 @@ (func $~lib/string/String#indexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $4 + local.tee $3 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -4657,14 +4763,14 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $3 + local.tee $4 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -4681,32 +4787,31 @@ i32.gt_s select local.tee $2 - local.get $3 + local.get $4 local.get $2 - local.get $3 + local.get $4 i32.lt_s select local.set $2 - local.get $3 local.get $4 + local.get $3 i32.sub - local.set $5 + local.set $4 loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.le_s if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 local.get $1 - local.get $4 + local.get $3 call $~lib/util/string/compareImpl i32.eqz if @@ -4742,46 +4847,45 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - local.set $3 - local.get $5 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - local.tee $5 + local.tee $3 i32.eqz local.get $1 i32.const 1 i32.shl local.tee $1 - local.get $3 + local.get $4 i32.lt_u i32.or if @@ -4797,40 +4901,40 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - local.get $3 + local.get $4 i32.sub local.tee $8 - local.get $5 + local.get $3 i32.gt_u if local.get $8 local.get $8 i32.const 2 i32.sub - local.get $5 + local.get $3 i32.div_u - local.get $5 + local.get $3 i32.mul local.tee $6 i32.sub local.set $1 loop $while-continue|0 - local.get $4 + local.get $5 local.get $6 i32.lt_u if - local.get $4 + local.get $5 local.get $7 i32.add local.get $2 - local.get $5 - memory.copy $0 $0 - local.get $4 + local.get $3 + memory.copy + local.get $3 local.get $5 i32.add - local.set $4 + local.set $5 br $while-continue|0 end end @@ -4839,19 +4943,19 @@ i32.add local.get $2 local.get $1 - memory.copy $0 $0 + memory.copy else local.get $7 local.get $2 local.get $8 - memory.copy $0 $0 + memory.copy end local.get $7 local.get $8 i32.add local.get $0 - local.get $3 - memory.copy $0 $0 + local.get $4 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -4869,37 +4973,36 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.tee $4 @@ -4924,11 +5027,11 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $0 local.get $3 - memory.copy $0 $0 + memory.copy local.get $1 local.get $3 i32.sub @@ -4963,7 +5066,7 @@ i32.add local.get $2 local.get $4 - memory.copy $0 $0 + memory.copy local.get $0 local.get $4 i32.add @@ -4978,14 +5081,14 @@ i32.add local.get $2 local.get $7 - memory.copy $0 $0 + memory.copy else local.get $3 local.get $6 i32.add local.get $2 local.get $0 - memory.copy $0 $0 + memory.copy end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -5001,57 +5104,53 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $3 i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $4 @@ -5086,12 +5185,11 @@ i32.ge_s if global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 local.get $1 @@ -5121,17 +5219,16 @@ ) (func $~lib/string/String#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -5139,7 +5236,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $1of1 block $0of1 block $outOfRange @@ -5154,37 +5251,33 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 local.get $2 call $~lib/string/String#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String#localeCompare (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -5192,7 +5285,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -5205,45 +5298,44 @@ return end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $4 - local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 local.get $1 + local.get $2 local.get $3 - local.get $4 + local.get $2 local.get $3 - local.get $4 i32.lt_s select call $~lib/util/string/compareImpl local.tee $0 + local.get $2 local.get $3 - local.get $4 i32.sub local.get $0 select @@ -5269,27 +5361,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.set $2 @@ -5302,7 +5393,7 @@ local.get $0 local.get $1 i32.add - i32.load16_u $0 + i32.load16_u local.tee $3 i32.const 5760 i32.lt_u @@ -5404,13 +5495,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $0 local.get $1 i32.add local.get $2 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -5426,27 +5517,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.tee $3 @@ -5454,13 +5544,13 @@ loop $while-continue|0 local.get $1 if (result i32) - block $__inlined_func$~lib/util/string/isSpace (result i32) + block $__inlined_func$~lib/util/string/isSpace$1 (result i32) local.get $0 local.get $1 i32.add i32.const 2 i32.sub - i32.load16_u $0 + i32.load16_u local.tee $2 i32.const 5760 i32.lt_u @@ -5476,7 +5566,7 @@ i32.const 4 i32.le_u i32.or - br $__inlined_func$~lib/util/string/isSpace + br $__inlined_func$~lib/util/string/isSpace$1 end i32.const 1 local.get $2 @@ -5484,7 +5574,7 @@ i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$1 drop block $break|0 block $case6|0 @@ -5519,7 +5609,7 @@ br $break|0 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace + br $__inlined_func$~lib/util/string/isSpace$1 end i32.const 0 end @@ -5560,11 +5650,11 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 local.get $1 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -5581,27 +5671,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $3 @@ -5611,13 +5700,13 @@ loop $while-continue|0 local.get $1 if (result i32) - block $__inlined_func$~lib/util/string/isSpace (result i32) + block $__inlined_func$~lib/util/string/isSpace$2 (result i32) local.get $0 local.get $1 i32.add i32.const 2 i32.sub - i32.load16_u $0 + i32.load16_u local.tee $4 i32.const 5760 i32.lt_u @@ -5633,7 +5722,7 @@ i32.const 4 i32.le_u i32.or - br $__inlined_func$~lib/util/string/isSpace + br $__inlined_func$~lib/util/string/isSpace$2 end i32.const 1 local.get $4 @@ -5641,7 +5730,7 @@ i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$2 drop block $break|0 block $case6|0 @@ -5676,7 +5765,7 @@ br $break|0 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace + br $__inlined_func$~lib/util/string/isSpace$2 end i32.const 0 end @@ -5696,11 +5785,11 @@ local.get $2 i32.gt_u if (result i32) - block $__inlined_func$~lib/util/string/isSpace0 (result i32) + block $__inlined_func$~lib/util/string/isSpace$3 (result i32) local.get $0 local.get $2 i32.add - i32.load16_u $0 + i32.load16_u local.tee $4 i32.const 5760 i32.lt_u @@ -5716,7 +5805,7 @@ i32.const 4 i32.le_u i32.or - br $__inlined_func$~lib/util/string/isSpace0 + br $__inlined_func$~lib/util/string/isSpace$3 end i32.const 1 local.get $4 @@ -5724,42 +5813,42 @@ i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace0 + br_if $__inlined_func$~lib/util/string/isSpace$3 drop - block $break|01 - block $case6|02 + block $break|00 + block $case6|01 local.get $4 i32.const 5760 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $4 i32.const 8232 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $4 i32.const 8233 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $4 i32.const 8239 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $4 i32.const 8287 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $4 i32.const 12288 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $4 i32.const 65279 i32.eq - br_if $case6|02 - br $break|01 + br_if $case6|01 + br $break|00 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace0 + br $__inlined_func$~lib/util/string/isSpace$3 end i32.const 0 end @@ -5809,13 +5898,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $0 local.get $2 i32.add local.get $1 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -5831,27 +5920,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.tee $1 @@ -5861,13 +5949,13 @@ loop $while-continue|0 local.get $1 if (result i32) - block $__inlined_func$~lib/util/string/isSpace (result i32) + block $__inlined_func$~lib/util/string/isSpace$4 (result i32) local.get $0 local.get $1 i32.add i32.const 2 i32.sub - i32.load16_u $0 + i32.load16_u local.tee $3 i32.const 5760 i32.lt_u @@ -5883,7 +5971,7 @@ i32.const 4 i32.le_u i32.or - br $__inlined_func$~lib/util/string/isSpace + br $__inlined_func$~lib/util/string/isSpace$4 end i32.const 1 local.get $3 @@ -5891,7 +5979,7 @@ i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$4 drop block $break|0 block $case6|0 @@ -5926,7 +6014,7 @@ br $break|0 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace + br $__inlined_func$~lib/util/string/isSpace$4 end i32.const 0 end @@ -5950,11 +6038,11 @@ local.get $2 i32.gt_u if (result i32) - block $__inlined_func$~lib/util/string/isSpace0 (result i32) + block $__inlined_func$~lib/util/string/isSpace$5 (result i32) local.get $0 local.get $2 i32.add - i32.load16_u $0 + i32.load16_u local.tee $3 i32.const 5760 i32.lt_u @@ -5970,7 +6058,7 @@ i32.const 4 i32.le_u i32.or - br $__inlined_func$~lib/util/string/isSpace0 + br $__inlined_func$~lib/util/string/isSpace$5 end i32.const 1 local.get $3 @@ -5978,42 +6066,42 @@ i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace0 + br_if $__inlined_func$~lib/util/string/isSpace$5 drop - block $break|01 - block $case6|02 + block $break|00 + block $case6|01 local.get $3 i32.const 5760 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $3 i32.const 8232 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $3 i32.const 8233 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $3 i32.const 8239 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $3 i32.const 8287 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $3 i32.const 12288 i32.eq - br_if $case6|02 + br_if $case6|01 local.get $3 i32.const 65279 i32.eq - br_if $case6|02 - br $break|01 + br_if $case6|01 + br $break|00 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace0 + br $__inlined_func$~lib/util/string/isSpace$5 end i32.const 0 end @@ -6050,15 +6138,13 @@ local.get $0 local.get $2 i32.add - i64.load $0 + i64.load i64.const 28429475166421108 i64.eq - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/util/string/strtol (param $0 i32) (param $1 i32) (result f64) (local $2 i32) @@ -6066,101 +6152,101 @@ (local $4 f64) (local $5 f64) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store block $folding-inner0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $3 + local.tee $2 i32.eqz br_if $folding-inner0 local.get $0 - i32.load16_u $0 - local.set $2 + i32.load16_u + local.set $3 loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $2 + block $__inlined_func$~lib/util/string/isSpace$6 (result i32) + local.get $3 i32.const 128 i32.or i32.const 160 i32.eq - local.get $2 + local.get $3 i32.const 9 i32.sub i32.const 4 i32.le_u i32.or - local.get $2 + local.get $3 i32.const 5760 i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$6 drop i32.const 1 - local.get $2 + local.get $3 i32.const -8192 i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$6 drop block $break|0 block $case6|0 - local.get $2 + local.get $3 i32.const 5760 i32.eq br_if $case6|0 - local.get $2 + local.get $3 i32.const 8232 i32.eq br_if $case6|0 - local.get $2 + local.get $3 i32.const 8233 i32.eq br_if $case6|0 - local.get $2 + local.get $3 i32.const 8239 i32.eq br_if $case6|0 - local.get $2 + local.get $3 i32.const 8287 i32.eq br_if $case6|0 - local.get $2 + local.get $3 i32.const 12288 i32.eq br_if $case6|0 - local.get $2 + local.get $3 i32.const 65279 i32.eq br_if $case6|0 br $break|0 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace + br $__inlined_func$~lib/util/string/isSpace$6 end i32.const 0 end @@ -6169,44 +6255,43 @@ i32.const 2 i32.add local.tee $0 - i32.load16_u $0 - local.set $2 - local.get $3 + i32.load16_u + local.set $3 + local.get $2 i32.const 1 i32.sub - local.set $3 + local.set $2 br $while-continue|0 end end f64.const 1 local.set $4 - local.get $2 - i32.const 43 - i32.eq - local.get $2 + local.get $3 i32.const 45 i32.eq + local.tee $6 + local.get $3 + i32.const 43 + i32.eq i32.or if - local.get $3 + local.get $2 i32.const 1 i32.sub - local.tee $3 + local.tee $2 i32.eqz br_if $folding-inner0 f64.const -1 f64.const 1 - local.get $2 - i32.const 45 - i32.eq + local.get $6 select local.set $4 local.get $0 i32.const 2 i32.add local.tee $0 - i32.load16_u $0 - local.set $2 + i32.load16_u + local.set $3 end local.get $1 if @@ -6222,16 +6307,16 @@ i32.const 16 i32.eq if - local.get $2 + local.get $3 i32.const 48 i32.eq - local.get $3 + local.get $2 i32.const 2 i32.gt_s i32.and if (result i32) local.get $0 - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 32 i32.or i32.const 120 @@ -6240,10 +6325,10 @@ i32.const 0 end if - local.get $3 + local.get $2 i32.const 2 i32.sub - local.set $3 + local.set $2 local.get $0 i32.const 4 i32.add @@ -6251,10 +6336,10 @@ end end else - local.get $2 + local.get $3 i32.const 48 i32.eq - local.get $3 + local.get $2 i32.const 2 i32.gt_s i32.and @@ -6263,18 +6348,18 @@ block $case2|1 block $case1|1 local.get $0 - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 32 i32.or - local.tee $2 + local.tee $3 i32.const 98 i32.ne if - local.get $2 + local.get $3 i32.const 111 i32.eq br_if $case1|1 - local.get $2 + local.get $3 i32.const 120 i32.eq br_if $case2|1 @@ -6284,10 +6369,10 @@ i32.const 4 i32.add local.set $0 - local.get $3 + local.get $2 i32.const 2 i32.sub - local.set $3 + local.set $2 i32.const 2 local.set $1 br $break|1 @@ -6296,10 +6381,10 @@ i32.const 4 i32.add local.set $0 - local.get $3 + local.get $2 i32.const 2 i32.sub - local.set $3 + local.set $2 i32.const 8 local.set $1 br $break|1 @@ -6308,10 +6393,10 @@ i32.const 4 i32.add local.set $0 - local.get $3 + local.get $2 i32.const 2 i32.sub - local.set $3 + local.set $2 i32.const 16 local.set $1 end @@ -6322,59 +6407,57 @@ select local.set $1 end - local.get $3 + local.get $2 i32.const 1 i32.sub - local.set $6 + local.set $7 loop $while-continue|2 - local.get $3 - local.tee $2 + local.get $2 + local.tee $3 i32.const 1 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 if block $while-break|2 local.get $0 - i32.load16_u $0 - local.tee $2 + i32.load16_u + local.tee $6 i32.const 48 i32.sub + local.tee $3 i32.const 10 - i32.lt_u - if (result i32) - local.get $2 - i32.const 48 - i32.sub - else - local.get $2 + i32.ge_u + if + local.get $6 i32.const 65 i32.sub i32.const 25 i32.le_u if (result i32) - local.get $2 + local.get $6 i32.const 55 i32.sub else - local.get $2 + local.get $6 i32.const 87 i32.sub - local.get $2 - local.get $2 + local.get $6 + local.get $6 i32.const 97 i32.sub i32.const 25 i32.le_u select end + local.set $3 end - local.tee $2 local.get $1 - i32.ge_u + local.get $3 + i32.le_u if - local.get $3 - local.get $6 + local.get $2 + local.get $7 i32.eq br_if $folding-inner0 br $while-break|2 @@ -6383,7 +6466,7 @@ local.get $1 f64.convert_i32_s f64.mul - local.get $2 + local.get $3 f64.convert_i32_u f64.add local.set $5 @@ -6411,154 +6494,150 @@ f64.const nan:0x8000000000000 ) (func $~lib/string/parseInt (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) - (local $3 f64) + (local $2 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 call $~lib/util/string/strtol - local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) (func $~lib/util/string/strtod (param $0 i32) (result f64) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i64) + (local $4 i32) + (local $5 i32) (local $6 i64) (local $7 i64) (local $8 f64) (local $9 i32) (local $10 f64) - (local $11 i64) - (local $12 i32) - (local $13 i32) + (local $11 i32) + (local $12 i64) + (local $13 i64) + (local $14 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store block $folding-inner1 block $folding-inner0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $12 + local.tee $5 i32.eqz br_if $folding-inner0 local.get $0 - i32.load16_u $0 - local.set $13 + i32.load16_u + local.set $4 f64.const 1 - local.set $8 + local.set $10 loop $while-continue|0 - local.get $12 + local.get $5 if (result i32) - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $13 + block $__inlined_func$~lib/util/string/isSpace$7 (result i32) + local.get $4 i32.const 128 i32.or i32.const 160 i32.eq - local.get $13 + local.get $4 i32.const 9 i32.sub i32.const 4 i32.le_u i32.or - local.get $13 + local.get $4 i32.const 5760 i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$7 drop i32.const 1 - local.get $13 + local.get $4 i32.const -8192 i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$7 drop block $break|0 block $case6|0 - local.get $13 + local.get $4 i32.const 5760 i32.eq br_if $case6|0 - local.get $13 + local.get $4 i32.const 8232 i32.eq br_if $case6|0 - local.get $13 + local.get $4 i32.const 8233 i32.eq br_if $case6|0 - local.get $13 + local.get $4 i32.const 8239 i32.eq br_if $case6|0 - local.get $13 + local.get $4 i32.const 8287 i32.eq br_if $case6|0 - local.get $13 + local.get $4 i32.const 12288 i32.eq br_if $case6|0 - local.get $13 + local.get $4 i32.const 65279 i32.eq br_if $case6|0 br $break|0 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace + br $__inlined_func$~lib/util/string/isSpace$7 end i32.const 0 end @@ -6570,70 +6649,70 @@ i32.const 2 i32.add local.tee $0 - i32.load16_u $0 - local.set $13 - local.get $12 + i32.load16_u + local.set $4 + local.get $5 i32.const 1 i32.sub - local.set $12 + local.set $5 br $while-continue|0 end end - local.get $12 + local.get $5 i32.eqz br_if $folding-inner0 - local.get $13 + local.get $4 i32.const 45 i32.eq if (result i32) - local.get $12 + local.get $5 i32.const 1 i32.sub - local.tee $12 + local.tee $5 i32.eqz br_if $folding-inner0 f64.const -1 - local.set $8 + local.set $10 local.get $0 i32.const 2 i32.add local.tee $0 - i32.load16_u $0 + i32.load16_u else - local.get $13 + local.get $4 i32.const 43 i32.eq if (result i32) - local.get $12 + local.get $5 i32.const 1 i32.sub - local.tee $12 + local.tee $5 i32.eqz br_if $folding-inner0 local.get $0 i32.const 2 i32.add local.tee $0 - i32.load16_u $0 + i32.load16_u else - local.get $13 + local.get $4 end end - local.tee $13 + local.tee $4 i32.const 73 i32.eq - local.get $12 + local.get $5 i32.const 8 i32.ge_s i32.and if local.get $0 - i64.load $0 + i64.load i64.const 29555310648492105 i64.eq if (result i32) local.get $0 - i64.load $0 offset=8 + i64.load offset=8 i64.const 34058970405077102 i64.eq else @@ -6644,17 +6723,17 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $10 f64.const inf f64.mul return end br $folding-inner0 end - local.get $13 + local.get $4 i32.const 46 i32.ne - local.get $13 + local.get $4 i32.const 48 i32.sub i32.const 10 @@ -6662,9 +6741,9 @@ i32.and br_if $folding-inner0 local.get $0 - local.set $1 + local.set $3 loop $while-continue|1 - local.get $13 + local.get $4 i32.const 48 i32.eq if @@ -6672,36 +6751,36 @@ i32.const 2 i32.add local.tee $0 - i32.load16_u $0 - local.set $13 - local.get $12 + i32.load16_u + local.set $4 + local.get $5 i32.const 1 i32.sub - local.set $12 + local.set $5 br $while-continue|1 end end - local.get $12 + local.get $5 i32.const 0 i32.le_s br_if $folding-inner1 - local.get $13 + local.get $4 i32.const 46 i32.eq if local.get $0 - local.get $1 + local.get $3 i32.eq - local.set $1 + local.set $3 local.get $0 i32.const 2 i32.add local.set $0 - local.get $1 - local.get $12 + local.get $3 + local.get $5 i32.const 1 i32.sub - local.tee $12 + local.tee $5 i32.eqz i32.and br_if $folding-inner0 @@ -6709,15 +6788,15 @@ local.set $9 loop $for-loop|2 local.get $0 - i32.load16_u $0 - local.tee $13 + i32.load16_u + local.tee $4 i32.const 48 i32.eq if - local.get $12 + local.get $5 i32.const 1 i32.sub - local.set $12 + local.set $5 local.get $2 i32.const 1 i32.sub @@ -6729,15 +6808,15 @@ br $for-loop|2 end end - local.get $12 + local.get $5 i32.const 0 i32.le_s br_if $folding-inner1 - local.get $1 + local.get $3 local.get $2 i32.eqz i32.and - local.get $13 + local.get $4 i32.const 48 i32.sub i32.const 10 @@ -6745,85 +6824,84 @@ i32.and br_if $folding-inner0 end - local.get $13 + local.get $4 i32.const 48 i32.sub - local.set $1 + local.set $3 loop $for-loop|3 + local.get $3 + i32.const 10 + i32.lt_u + local.tee $11 local.get $9 i32.eqz - local.get $13 + local.get $4 i32.const 46 i32.eq i32.and - local.get $1 - i32.const 10 - i32.lt_u i32.or if block $for-break3 - local.get $1 - i32.const 10 - i32.lt_u + local.get $11 if - local.get $3 + local.get $1 i32.const 19 i32.lt_s if (result i64) - local.get $1 + local.get $3 i64.extend_i32_u - local.get $11 + local.get $6 i64.const 10 i64.mul i64.add else - local.get $11 - local.get $1 + local.get $6 + local.get $3 i32.const 0 i32.ne i64.extend_i32_u i64.or end - local.set $11 - local.get $3 + local.set $6 + local.get $1 i32.const 1 i32.add - local.set $3 + local.set $1 else - local.get $3 + local.get $1 local.set $2 i32.const 1 local.set $9 end - local.get $12 + local.get $5 i32.const 1 i32.sub - local.tee $12 + local.tee $5 i32.eqz br_if $for-break3 local.get $0 i32.const 2 i32.add local.tee $0 - i32.load16_u $0 - local.tee $13 + i32.load16_u + local.tee $4 i32.const 48 i32.sub - local.set $1 + local.set $3 br $for-loop|3 end end end block $~lib/util/string/scientific|inlined.0 - local.get $11 + local.get $6 i64.eqz local.get $2 - local.get $3 + local.get $1 local.get $9 select i32.const 19 - local.get $3 - local.get $3 + local.get $1 + local.get $1 i32.const 19 i32.gt_s select @@ -6832,10 +6910,10 @@ i32.const 1 local.set $9 i32.const 0 - local.set $13 + local.set $4 i32.const 0 local.get $0 - i32.load16_u $0 + i32.load16_u i32.const 32 i32.or i32.const 101 @@ -6843,10 +6921,10 @@ br_if $~lib/util/string/parseExp|inlined.0 drop i32.const 0 - local.get $12 + local.get $5 i32.const 1 i32.sub - local.tee $12 + local.tee $5 i32.eqz br_if $~lib/util/string/parseExp|inlined.0 drop @@ -6854,16 +6932,16 @@ i32.const 2 i32.add local.tee $0 - i32.load16_u $0 + i32.load16_u local.tee $1 i32.const 45 i32.eq if (result i32) i32.const 0 - local.get $12 + local.get $5 i32.const 1 i32.sub - local.tee $12 + local.tee $5 i32.eqz br_if $~lib/util/string/parseExp|inlined.0 drop @@ -6873,17 +6951,17 @@ i32.const 2 i32.add local.tee $0 - i32.load16_u $0 + i32.load16_u else local.get $1 i32.const 43 i32.eq if (result i32) i32.const 0 - local.get $12 + local.get $5 i32.const 1 i32.sub - local.tee $12 + local.tee $5 i32.eqz br_if $~lib/util/string/parseExp|inlined.0 drop @@ -6891,22 +6969,22 @@ i32.const 2 i32.add local.tee $0 - i32.load16_u $0 + i32.load16_u else local.get $1 end end - local.set $1 + local.set $3 loop $while-continue|4 - local.get $1 + local.get $3 i32.const 48 i32.eq if i32.const 0 - local.get $12 + local.get $5 i32.const 1 i32.sub - local.tee $12 + local.tee $5 i32.eqz br_if $~lib/util/string/parseExp|inlined.0 drop @@ -6914,54 +6992,54 @@ i32.const 2 i32.add local.tee $0 - i32.load16_u $0 - local.set $1 + i32.load16_u + local.set $3 br $while-continue|4 end end - local.get $1 + local.get $3 i32.const 48 i32.sub - local.set $1 + local.set $3 loop $for-loop|5 - local.get $1 + local.get $3 i32.const 10 i32.lt_u i32.const 0 - local.get $12 + local.get $5 select if local.get $9 i32.const 3200 i32.mul - local.get $13 + local.get $4 i32.const 3200 i32.ge_s br_if $~lib/util/string/parseExp|inlined.0 drop - local.get $13 + local.get $4 i32.const 10 i32.mul - local.get $1 + local.get $3 i32.add - local.set $13 - local.get $12 + local.set $4 + local.get $5 i32.const 1 i32.sub - local.set $12 + local.set $5 local.get $0 i32.const 2 i32.add local.tee $0 - i32.load16_u $0 + i32.load16_u i32.const 48 i32.sub - local.set $1 + local.set $3 br $for-loop|5 end end + local.get $4 local.get $9 - local.get $13 i32.mul end i32.add @@ -6971,14 +7049,14 @@ i32.or br_if $~lib/util/string/scientific|inlined.0 f64.const inf - local.set $10 + local.set $8 local.get $0 i32.const 308 i32.gt_s br_if $~lib/util/string/scientific|inlined.0 - local.get $11 + local.get $6 f64.convert_i64_u - local.set $10 + local.set $8 local.get $0 i32.eqz br_if $~lib/util/string/scientific|inlined.0 @@ -6990,19 +7068,19 @@ i32.gt_s i32.and if - local.get $10 + local.get $8 local.get $0 i32.const 3 i32.shl i32.const 4496 i32.add - f64.load $0 + f64.load f64.mul - local.set $10 + local.set $8 i32.const 22 local.set $0 end - local.get $11 + local.get $6 i64.const 9007199254740991 i64.le_u if (result i32) @@ -7024,18 +7102,18 @@ i32.const 0 i32.gt_s if - local.get $10 + local.get $8 local.get $0 i32.const 3 i32.shl i32.const 4672 i32.add - f64.load $0 + f64.load f64.mul - local.set $10 + local.set $8 br $~lib/util/string/scientific|inlined.0 end - local.get $10 + local.get $8 i32.const 0 local.get $0 i32.sub @@ -7043,22 +7121,22 @@ i32.shl i32.const 4672 i32.add - f64.load $0 + f64.load f64.div else local.get $0 i32.const 0 i32.lt_s if (result f64) - local.get $11 - local.get $11 + local.get $6 + local.get $6 i64.clz - local.tee $4 + local.tee $7 i64.shl - local.set $11 + local.set $6 local.get $0 i64.extend_i32_s - local.get $4 + local.get $7 i64.sub local.set $7 loop $for-loop|6 @@ -7066,15 +7144,15 @@ i32.const -14 i32.le_s if - local.get $11 + local.get $6 i64.const 6103515625 i64.rem_u - local.get $11 + local.get $6 i64.const 6103515625 i64.div_u - local.tee $5 + local.tee $6 i64.clz - local.tee $4 + local.tee $12 i64.const 18 i64.sub i64.shl @@ -7083,13 +7161,13 @@ f64.mul f64.nearest i64.trunc_sat_f64_u - local.get $5 - local.get $4 + local.get $6 + local.get $12 i64.shl i64.add - local.set $11 + local.set $6 local.get $7 - local.get $4 + local.get $12 i64.sub local.set $7 local.get $0 @@ -7099,49 +7177,49 @@ br $for-loop|6 end end - local.get $11 + local.get $6 i32.const 0 local.get $0 i32.sub call $~lib/math/ipow32 i64.extend_i32_s - local.tee $5 + local.tee $13 i64.div_u - local.tee $4 + local.tee $14 i64.clz - local.set $6 - local.get $11 - local.get $5 + local.set $12 + local.get $6 + local.get $13 i64.rem_u f64.convert_i64_u i64.reinterpret_f64 - local.get $6 + local.get $12 i64.const 52 i64.shl i64.add f64.reinterpret_i64 - local.get $5 + local.get $13 f64.convert_i64_u f64.div i64.trunc_sat_f64_u - local.get $4 - local.get $6 + local.get $14 + local.get $12 i64.shl i64.add f64.convert_i64_u local.get $7 - local.get $6 + local.get $12 i64.sub i32.wrap_i64 call $~lib/math/NativeMath.scalbn else - local.get $11 - local.get $11 + local.get $6 + local.get $6 i64.ctz - local.tee $4 + local.tee $7 i64.shr_u - local.set $11 - local.get $4 + local.set $6 + local.get $7 local.get $0 i64.extend_i32_s i64.add @@ -7152,50 +7230,50 @@ i32.ge_s if i64.const 32 - local.get $11 + local.get $6 i64.const 32 i64.shr_u i64.const 1220703125 i64.mul - local.get $11 + local.get $6 i64.const 4294967295 i64.and i64.const 1220703125 i64.mul - local.tee $7 + local.tee $6 i64.const 32 i64.shr_u i64.add - local.tee $6 + local.tee $7 i64.const 32 i64.shr_u i32.wrap_i64 i32.clz i64.extend_i32_u - local.tee $5 + local.tee $12 i64.sub - local.tee $4 + local.tee $13 global.get $~lib/util/string/__fixmulShift i64.add global.set $~lib/util/string/__fixmulShift - local.get $7 - local.get $5 + local.get $6 + local.get $12 i64.shl i64.const 31 i64.shr_u i64.const 1 i64.and - local.get $6 - local.get $5 - i64.shl local.get $7 + local.get $12 + i64.shl + local.get $6 i64.const 4294967295 i64.and - local.get $4 + local.get $13 i64.shr_u i64.or i64.add - local.set $11 + local.set $6 local.get $0 i32.const 13 i32.sub @@ -7206,19 +7284,19 @@ local.get $0 call $~lib/math/ipow32 i64.extend_i32_u - local.tee $4 - local.get $11 + local.tee $7 + local.get $6 i64.const 4294967295 i64.and i64.mul - local.set $7 + local.set $12 i64.const 32 - local.get $11 + local.get $6 i64.const 32 i64.shr_u - local.get $4 - i64.mul local.get $7 + i64.mul + local.get $12 i64.const 32 i64.shr_u i64.add @@ -7228,26 +7306,26 @@ i32.wrap_i64 i32.clz i64.extend_i32_u - local.tee $5 + local.tee $7 i64.sub - local.tee $4 + local.tee $13 global.get $~lib/util/string/__fixmulShift i64.add global.set $~lib/util/string/__fixmulShift + local.get $12 local.get $7 - local.get $5 i64.shl i64.const 31 i64.shr_u i64.const 1 i64.and local.get $6 - local.get $5 - i64.shl local.get $7 + i64.shl + local.get $12 i64.const 4294967295 i64.and - local.get $4 + local.get $13 i64.shr_u i64.or i64.add @@ -7257,14 +7335,14 @@ call $~lib/math/NativeMath.scalbn end end - local.set $10 + local.set $8 end 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 $10 f64.copysign return end @@ -7279,43 +7357,39 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $10 f64.const 0 f64.mul ) (func $~lib/number/F64.parseFloat (param $0 i32) (result f64) - (local $1 i32) - (local $2 f64) + (local $1 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/util/string/strtod - local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/util/string/strtol (result i32) (local $0 i32) @@ -7325,6 +7399,7 @@ (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) i32.const 4880 local.set $2 global.get $~lib/memory/__stack_pointer @@ -7332,36 +7407,35 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4880 - i32.store $0 + i32.store block $folding-inner0 i32.const 4876 - i32.load $0 + i32.load i32.const 1 i32.shr_u local.tee $0 i32.eqz br_if $folding-inner0 i32.const 4880 - i32.load16_u $0 + i32.load16_u local.set $1 loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace (result i32) + block $__inlined_func$~lib/util/string/isSpace$8 (result i32) local.get $1 i32.const 128 i32.or @@ -7376,7 +7450,7 @@ local.get $1 i32.const 5760 i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$8 drop i32.const 1 local.get $1 @@ -7384,7 +7458,7 @@ i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$8 drop block $break|0 block $case6|0 @@ -7419,7 +7493,7 @@ br $break|0 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace + br $__inlined_func$~lib/util/string/isSpace$8 end i32.const 0 end @@ -7428,7 +7502,7 @@ i32.const 2 i32.add local.tee $2 - i32.load16_u $0 + i32.load16_u local.set $1 local.get $0 i32.const 1 @@ -7438,12 +7512,13 @@ end end i32.const 1 - local.set $3 + local.set $4 local.get $1 - i32.const 43 + i32.const 45 i32.eq + local.tee $6 local.get $1 - i32.const 45 + i32.const 43 i32.eq i32.or if (result i32) @@ -7455,16 +7530,14 @@ br_if $folding-inner0 i32.const -1 i32.const 1 - local.get $1 - i32.const 45 - i32.eq + local.get $6 select - local.set $3 + local.set $4 local.get $2 i32.const 2 i32.add local.tee $2 - i32.load16_u $0 + i32.load16_u else local.get $1 end @@ -7479,7 +7552,7 @@ block $case2|1 block $case1|1 local.get $2 - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 32 i32.or local.tee $1 @@ -7505,7 +7578,7 @@ i32.sub local.set $0 i32.const 2 - local.set $4 + local.set $3 br $break|1 end local.get $2 @@ -7517,7 +7590,7 @@ i32.sub local.set $0 i32.const 8 - local.set $4 + local.set $3 br $break|1 end local.get $2 @@ -7529,18 +7602,18 @@ i32.sub local.set $0 i32.const 16 - local.set $4 + local.set $3 end end - local.get $4 + local.get $3 i32.const 10 - local.get $4 + local.get $3 select - local.set $4 + local.set $6 local.get $0 i32.const 1 i32.sub - local.set $6 + local.set $7 loop $while-continue|2 local.get $0 local.tee $1 @@ -7550,52 +7623,50 @@ local.get $1 if block $while-break|2 - local.get $4 local.get $2 - i32.load16_u $0 - local.tee $1 + i32.load16_u + local.tee $3 i32.const 48 i32.sub + local.tee $1 i32.const 10 - i32.lt_u - if (result i32) - local.get $1 - i32.const 48 - i32.sub - else - local.get $1 + i32.ge_u + if + local.get $3 i32.const 65 i32.sub i32.const 25 i32.le_u if (result i32) - local.get $1 + local.get $3 i32.const 55 i32.sub else - local.get $1 + local.get $3 i32.const 87 i32.sub - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.const 97 i32.sub i32.const 25 i32.le_u select end + local.set $1 end - local.tee $1 - i32.le_u + local.get $1 + local.get $6 + i32.ge_u if local.get $0 - local.get $6 + local.get $7 i32.eq br_if $folding-inner0 br $while-break|2 end - local.get $4 local.get $5 + local.get $6 i32.mul local.get $1 i32.add @@ -7612,7 +7683,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $4 local.get $5 i32.mul return @@ -7631,6 +7702,7 @@ (local $4 i64) (local $5 i64) (local $6 i32) + (local $7 i32) i32.const 4928 local.set $2 global.get $~lib/memory/__stack_pointer @@ -7638,36 +7710,35 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4928 - i32.store $0 + i32.store block $folding-inner0 i32.const 4924 - i32.load $0 + i32.load i32.const 1 i32.shr_u local.tee $0 i32.eqz br_if $folding-inner0 i32.const 4928 - i32.load16_u $0 + i32.load16_u local.set $1 loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace (result i32) + block $__inlined_func$~lib/util/string/isSpace$9 (result i32) local.get $1 i32.const 128 i32.or @@ -7682,7 +7753,7 @@ local.get $1 i32.const 5760 i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$9 drop i32.const 1 local.get $1 @@ -7690,7 +7761,7 @@ i32.add i32.const 10 i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace + br_if $__inlined_func$~lib/util/string/isSpace$9 drop block $break|0 block $case6|0 @@ -7725,7 +7796,7 @@ br $break|0 end i32.const 1 - br $__inlined_func$~lib/util/string/isSpace + br $__inlined_func$~lib/util/string/isSpace$9 end i32.const 0 end @@ -7734,7 +7805,7 @@ i32.const 2 i32.add local.tee $2 - i32.load16_u $0 + i32.load16_u local.set $1 local.get $0 i32.const 1 @@ -7746,10 +7817,11 @@ i64.const 1 local.set $4 local.get $1 - i32.const 43 + i32.const 45 i32.eq + local.tee $6 local.get $1 - i32.const 45 + i32.const 43 i32.eq i32.or if (result i32) @@ -7761,16 +7833,14 @@ br_if $folding-inner0 i64.const -1 i64.const 1 - local.get $1 - i32.const 45 - i32.eq + local.get $6 select local.set $4 local.get $2 i32.const 2 i32.add local.tee $2 - i32.load16_u $0 + i32.load16_u else local.get $1 end @@ -7785,7 +7855,7 @@ block $case2|1 block $case1|1 local.get $2 - i32.load16_u $0 offset=2 + i32.load16_u offset=2 i32.const 32 i32.or local.tee $1 @@ -7846,7 +7916,7 @@ local.get $0 i32.const 1 i32.sub - local.set $3 + local.set $7 loop $while-continue|2 local.get $0 local.tee $1 @@ -7856,46 +7926,44 @@ local.get $1 if block $while-break|2 - local.get $6 local.get $2 - i32.load16_u $0 - local.tee $1 + i32.load16_u + local.tee $3 i32.const 48 i32.sub + local.tee $1 i32.const 10 - i32.lt_u - if (result i32) - local.get $1 - i32.const 48 - i32.sub - else - local.get $1 + i32.ge_u + if + local.get $3 i32.const 65 i32.sub i32.const 25 i32.le_u if (result i32) - local.get $1 + local.get $3 i32.const 55 i32.sub else - local.get $1 + local.get $3 i32.const 87 i32.sub - local.get $1 - local.get $1 + local.get $3 + local.get $3 i32.const 97 i32.sub i32.const 25 i32.le_u select end + local.set $1 end - local.tee $1 - i32.le_u + local.get $1 + local.get $6 + i32.ge_u if local.get $0 - local.get $3 + local.get $7 i32.eq br_if $folding-inner0 br $while-break|2 @@ -7940,37 +8008,36 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.set $2 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.tee $3 @@ -7991,17 +8058,17 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $0 local.get $2 - memory.copy $0 $0 + memory.copy local.get $2 local.get $4 i32.add local.get $1 local.get $3 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -8009,94 +8076,85 @@ local.get $4 ) (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $~lib/string/String#concat - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String.__ne (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $~lib/string/String.__eq i32.eqz - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String.__gt (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8104,7 +8162,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $folding-inner0 local.get $0 local.get $1 @@ -8112,11 +8170,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $2 @@ -8124,11 +8182,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $3 @@ -8142,12 +8200,11 @@ return end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 local.get $1 @@ -8182,17 +8239,16 @@ (func $~lib/string/String.__lt (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -8200,7 +8256,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $folding-inner0 local.get $0 local.get $1 @@ -8208,11 +8264,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $2 @@ -8220,11 +8276,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $3 @@ -8238,12 +8294,11 @@ return end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 local.get $1 @@ -8275,80 +8330,72 @@ i32.const 0 ) (func $~lib/string/String.__gte (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $~lib/string/String.__lt i32.eqz - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String.__lte (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 call $~lib/string/String.__gt i32.eqz - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String#repeat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -8359,40 +8406,43 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 - i32.const 0 - i32.lt_s + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $3 - i64.extend_i32_s + local.set $4 local.get $1 - i64.extend_i32_s - i64.mul - i64.const 268435456 - i64.gt_u - i32.or + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $4 + i64.extend_i32_s + local.get $1 + i64.extend_i32_s + i64.mul + i64.const 268435456 + i64.gt_u + end if i32.const 14064 i32.const 1328 @@ -8401,7 +8451,7 @@ call $~lib/builtins/abort unreachable end - local.get $3 + local.get $4 i32.eqz local.get $1 i32.eqz @@ -8427,18 +8477,18 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - local.get $3 + local.get $4 i32.mul i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=4 - local.get $3 + local.tee $3 + i32.store offset=4 + local.get $4 i32.const 1 i32.shl - local.tee $3 + local.tee $4 local.get $1 i32.mul local.set $1 @@ -8448,13 +8498,13 @@ i32.gt_u if local.get $2 - local.get $4 + local.get $3 i32.add local.get $0 - local.get $3 - memory.copy $0 $0 + local.get $4 + memory.copy local.get $2 - local.get $3 + local.get $4 i32.add local.set $2 br $while-continue|0 @@ -8464,7 +8514,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/string/String#replace (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -8477,160 +8527,157 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $4 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - block $folding-inner0 + i32.store + local.get $4 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + i32.le_u + if + local.get $3 local.get $4 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $5 i32.le_u if - local.get $4 - local.get $5 - i32.ge_u - if (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=4 - local.get $2 - local.get $0 - local.get $1 - local.get $0 - call $~lib/string/String.__eq - select - else - local.get $0 - end - local.set $1 - br $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $2 + local.get $0 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + select + local.set $0 end global.get $~lib/memory/__stack_pointer - local.tee $3 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/string/String#indexOf + local.tee $1 + i32.const -1 + i32.xor + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.tee $5 + local.get $4 local.get $3 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.const 0 - call $~lib/string/String#indexOf - local.tee $3 - i32.const -1 - i32.xor + i32.sub + local.tee $6 + i32.add + local.tee $4 if global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=8 + local.get $4 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + local.tee $7 + memory.copy + local.get $4 + local.get $7 + i32.add local.get $2 - i32.store $0 + local.get $5 + i32.const 1 + i32.shl + memory.copy local.get $4 + local.get $1 local.get $5 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $1 + local.get $3 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $1 i32.sub - local.tee $6 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 1 - i32.shr_u - local.tee $4 + i32.shl + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.tee $1 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $3 - i32.const 1 - i32.shl - local.tee $7 - memory.copy $0 $0 - local.get $1 - local.get $7 - i32.add - local.get $2 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $3 - local.get $4 - i32.add - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $3 - local.get $5 - i32.add - i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $3 - i32.sub - i32.const 1 - i32.shl - memory.copy $0 $0 - br $folding-inner0 - end + global.set $~lib/memory/__stack_pointer + local.get $4 + return end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return end global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $0 ) (func $~lib/string/String#replaceAll (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -8647,56 +8694,54 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 i32.const 20 - memory.fill $0 - local.get $5 + memory.fill + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $4 - local.get $5 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store block $folding-inner1 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $9 - local.get $4 + local.tee $8 + local.get $3 i32.ge_u if - local.get $4 - local.get $9 + local.get $3 + local.get $8 i32.ge_u if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $1 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 local.get $1 @@ -8709,61 +8754,61 @@ end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $5 + local.set $4 block $folding-inner0 - local.get $9 + local.get $8 i32.eqz if - local.get $5 + local.get $4 i32.eqz br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $4 + local.get $3 + local.get $3 i32.const 1 i32.add - local.get $5 + local.get $4 i32.mul i32.add i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=8 - local.get $6 + local.tee $11 + i32.store offset=8 + local.get $11 local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl - memory.copy $0 $0 - local.get $5 + memory.copy + local.get $4 local.set $1 loop $for-loop|0 local.get $3 - local.get $4 - i32.lt_u + local.get $5 + i32.gt_u if - local.get $6 + local.get $11 local.get $1 i32.const 1 i32.shl i32.add local.get $0 - local.get $3 + local.get $5 i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $6 + i32.load16_u + i32.store16 + local.get $11 local.get $1 i32.const 1 i32.add @@ -8772,224 +8817,222 @@ i32.shl i32.add local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $1 - local.get $5 + local.get $4 i32.add local.set $1 - local.get $3 + local.get $5 i32.const 1 i32.add - local.set $3 + local.set $5 br $for-loop|0 end end br $folding-inner0 end - local.get $5 - local.get $9 + local.get $4 + local.get $8 i32.eq if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.const 1 i32.shl local.tee $3 i32.const 2 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 - local.get $6 + local.tee $11 + i32.store offset=12 + local.get $11 local.get $0 local.get $3 - memory.copy $0 $0 + memory.copy loop $while-continue|1 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - local.get $7 + local.get $10 call $~lib/string/String#indexOf local.tee $3 i32.const -1 i32.xor if - local.get $6 + local.get $11 local.get $3 i32.const 1 i32.shl i32.add local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $3 - local.get $9 + local.get $8 i32.add - local.set $7 + local.set $10 br $while-continue|1 end end br $folding-inner0 end - local.get $4 - local.set $3 + local.get $3 + local.set $5 loop $while-continue|2 global.get $~lib/memory/__stack_pointer - local.tee $10 local.get $0 - i32.store $0 - local.get $10 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - local.get $7 + local.get $10 call $~lib/string/String#indexOf - local.tee $10 + local.tee $7 i32.const -1 i32.xor if global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 + local.get $11 + i32.store + local.get $11 call $~lib/string/String.__not if global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $3 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=16 + local.tee $11 + i32.store offset=16 end - local.get $10 local.get $7 + local.get $10 i32.sub - local.tee $11 - local.get $8 + local.tee $6 + local.get $9 i32.add - local.get $5 + local.get $4 i32.add - local.get $3 + local.get $5 i32.gt_u if global.get $~lib/memory/__stack_pointer - local.get $6 - local.get $3 + local.get $11 + local.get $5 i32.const 1 i32.shl - local.tee $3 + local.tee $5 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $6 - i32.store $0 offset=16 + local.tee $11 + i32.store offset=16 end - local.get $6 - local.get $8 + local.get $11 + local.get $9 i32.const 1 i32.shl i32.add local.get $0 - local.get $7 + local.get $10 i32.const 1 i32.shl i32.add - local.get $11 + local.get $6 i32.const 1 i32.shl - memory.copy $0 $0 - local.get $6 - local.get $8 + memory.copy local.get $11 + local.get $6 + local.get $9 i32.add - local.tee $7 + local.tee $6 i32.const 1 i32.shl i32.add local.get $2 - local.get $5 + local.get $4 i32.const 1 i32.shl - memory.copy $0 $0 - local.get $5 - local.get $7 + memory.copy + local.get $4 + local.get $6 i32.add - local.set $8 - local.get $9 - local.get $10 + local.set $9 + local.get $7 + local.get $8 i32.add - local.set $7 + local.set $10 br $while-continue|2 end end - local.get $6 + local.get $11 if - local.get $4 - local.get $7 + local.get $3 + local.get $10 i32.sub local.tee $1 - local.get $8 + local.get $9 i32.add - local.get $3 + local.get $5 i32.gt_u if global.get $~lib/memory/__stack_pointer - local.get $6 - local.get $3 + local.get $11 + local.get $5 i32.const 1 i32.shl - local.tee $3 + local.tee $5 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $6 - i32.store $0 offset=16 + local.tee $11 + i32.store offset=16 end local.get $1 if - local.get $6 - local.get $8 + local.get $11 + local.get $9 i32.const 1 i32.shl i32.add local.get $0 - local.get $7 + local.get $10 i32.const 1 i32.shl i32.add local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy end local.get $1 - local.get $8 + local.get $9 i32.add local.tee $0 - local.get $3 + local.get $5 i32.lt_u if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $11 local.get $0 i32.const 1 i32.shl call $~lib/rt/itcms/__renew - local.tee $6 - i32.store $0 offset=16 + local.tee $11 + i32.store offset=16 end br $folding-inner0 end @@ -8999,7 +9042,7 @@ i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $11 return end global.get $~lib/memory/__stack_pointer @@ -9015,27 +9058,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 @@ -9103,7 +9145,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $0 local.get $1 @@ -9111,7 +9153,7 @@ i32.shl i32.add local.get $2 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -9125,11 +9167,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -9137,7 +9179,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -9153,17 +9195,15 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/string/String#slice - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String#substr (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -9172,23 +9212,22 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 i32.const 0 local.get $2 @@ -9199,7 +9238,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $3 @@ -9243,7 +9282,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $0 local.get $1 @@ -9251,7 +9290,7 @@ i32.shl i32.add local.get $2 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -9265,11 +9304,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -9277,7 +9316,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -9293,17 +9332,15 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/string/String#substr - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String#substring (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -9313,42 +9350,41 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 i32.const 0 local.get $1 i32.const 0 i32.gt_s select - local.tee $1 + local.tee $3 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $3 + local.tee $1 local.get $1 local.get $3 - i32.lt_s + i32.gt_s select - local.tee $1 + local.tee $3 local.get $2 i32.const 0 local.get $2 @@ -9356,31 +9392,31 @@ i32.gt_s select local.tee $2 - local.get $3 + local.get $1 + local.get $1 local.get $2 - local.get $3 - i32.lt_s + i32.gt_s select local.tee $2 - local.get $1 local.get $2 - i32.lt_s + local.get $3 + i32.gt_s select i32.const 1 i32.shl local.set $4 - local.get $1 + local.get $3 local.get $2 - local.get $1 local.get $2 - i32.gt_s + local.get $3 + i32.lt_s select i32.const 1 i32.shl - local.tee $1 + local.tee $2 local.get $4 i32.sub - local.tee $2 + local.tee $3 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -9392,8 +9428,8 @@ end local.get $4 i32.eqz + local.get $2 local.get $1 - local.get $3 i32.const 1 i32.shl i32.eq @@ -9407,17 +9443,17 @@ return end global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 local.get $4 i32.add - local.get $2 - memory.copy $0 $0 + local.get $3 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -9431,11 +9467,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -9443,7 +9479,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -9459,17 +9495,15 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/string/String#substring - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/ensureCapacity (param $0 i32) (param $1 i32) (local $2 i32) @@ -9479,27 +9513,26 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 - local.tee $2 + i32.load offset=8 + local.tee $3 i32.const 2 i32.shr_u i32.gt_u @@ -9517,20 +9550,20 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $3 + i32.load + local.tee $2 i32.const 1073741820 - local.get $2 + local.get $3 i32.const 1 i32.shl - local.tee $2 - local.get $2 + local.tee $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.const 8 local.get $1 local.get $1 @@ -9541,32 +9574,29 @@ i32.shl local.tee $1 local.get $1 - local.get $2 + local.get $3 i32.lt_u select local.tee $1 call $~lib/rt/itcms/__renew - local.tee $2 - local.get $3 + local.tee $3 + local.get $2 i32.ne if local.get $0 - local.get $2 - i32.store $0 + local.get $3 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $3 + i32.store offset=4 + local.get $0 + local.get $3 + i32.const 0 + call $~lib/rt/itcms/__link end local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -9581,26 +9611,25 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $2 i32.const 1 i32.add @@ -9608,30 +9637,26 @@ call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 2 i32.shl i32.add local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 local.get $3 - i32.store $0 offset=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 @@ -9646,21 +9671,21 @@ (local $9 i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner3 - block $folding-inner2 + block $folding-inner4 + block $folding-inner3 block $folding-inner1 block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 40 - memory.fill $0 + i32.const 36 + memory.fill local.get $2 i32.eqz br_if $folding-inner1 @@ -9672,91 +9697,82 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=4 + local.tee $2 + 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 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=12 + i32.store + local.get $2 + i32.load offset=12 i32.eqz if - local.get $1 + local.get $2 i32.const 1 call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 + local.get $2 + i32.store + local.get $2 i32.const 1 - i32.store $0 offset=12 + i32.store offset=12 end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 + local.get $2 + i32.store + local.get $2 + i32.load offset=4 local.get $0 - i32.store $0 + i32.store + local.get $2 local.get $0 - if - local.get $1 - local.get $0 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $folding-inner2 + br $folding-inner4 end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $5 - local.get $6 + local.set $6 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=4 i32.const 2147483647 local.get $2 local.get $2 i32.const 0 i32.lt_s select - local.set $7 + local.set $8 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.tee $8 + local.tee $4 if - local.get $5 + local.get $6 i32.eqz if global.get $~lib/memory/__stack_pointer @@ -9764,44 +9780,44 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=20 + local.tee $2 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - i32.load $0 offset=4 + local.get $2 + i32.store offset=4 + local.get $2 + i32.load offset=4 i32.const 1712 - i32.store $0 - br $folding-inner2 + i32.store + br $folding-inner4 end else - local.get $5 + local.get $6 i32.eqz br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.get $5 - local.get $7 - local.get $5 - local.get $7 + local.get $6 + local.get $8 + local.get $6 + local.get $8 i32.lt_s select local.tee $3 i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - i32.load $0 offset=4 + local.get $2 + i32.store offset=4 + local.get $2 + i32.load offset=4 local.set $4 i32.const 0 - local.set $2 + local.set $1 loop $for-loop|0 - local.get $2 + local.get $1 local.get $3 i32.lt_s if @@ -9810,37 +9826,34 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $5 - i32.store $0 offset=16 + i32.store offset=12 local.get $5 local.get $0 - local.get $2 + local.get $1 i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $4 - local.get $2 + local.get $1 i32.const 2 i32.shl i32.add local.get $5 - i32.store $0 - local.get $5 - if - local.get $1 - local.get $5 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.store local.get $2 + local.get $5 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 br $for-loop|0 end end - br $folding-inner2 + br $folding-inner4 end global.get $~lib/memory/__stack_pointer i32.const 0 @@ -9848,15 +9861,14 @@ i32.const 0 call $~lib/rt/__newArray local.tee $2 - i32.store $0 offset=24 + i32.store offset=20 loop $while-continue|1 global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $0 - i32.store $0 offset=8 - local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=28 + i32.store offset=24 local.get $0 local.get $1 local.get $3 @@ -9868,56 +9880,52 @@ local.get $9 local.get $3 i32.sub - local.tee $6 + local.tee $7 i32.const 0 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $7 i32.const 1 i32.shl local.tee $10 i32.const 2 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=32 - local.get $6 + local.tee $7 + i32.store offset=28 + local.get $7 local.get $0 local.get $3 i32.const 1 i32.shl i32.add local.get $10 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=28 + local.get $7 + i32.store offset=24 local.get $2 - local.get $6 + local.get $7 call $~lib/array/Array<~lib/string/String>#push else global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=8 - local.get $3 - i32.const 1712 - i32.store $0 offset=28 + i32.store offset=4 local.get $2 i32.const 1712 call $~lib/array/Array<~lib/string/String>#push end - local.get $4 + local.get $5 i32.const 1 i32.add - local.tee $4 - local.get $7 + local.tee $5 + local.get $8 i32.eq br_if $folding-inner3 - local.get $8 + local.get $4 local.get $9 i32.add local.set $3 @@ -9928,18 +9936,17 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $2 - i32.store $0 offset=8 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=28 + i32.store offset=24 local.get $2 local.get $0 call $~lib/array/Array<~lib/string/String>#push br $folding-inner3 end - local.get $5 + local.get $6 local.get $3 i32.sub local.tee $1 @@ -9954,7 +9961,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $4 - i32.store $0 offset=36 + i32.store offset=32 local.get $4 local.get $0 local.get $3 @@ -9962,37 +9969,28 @@ i32.shl i32.add local.get $1 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=28 + i32.store offset=24 local.get $2 local.get $4 call $~lib/array/Array<~lib/string/String>#push else global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $2 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=28 + i32.store offset=4 local.get $2 i32.const 1712 call $~lib/array/Array<~lib/string/String>#push end - global.get $~lib/memory/__stack_pointer - i32.const 40 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return + br $folding-inner4 end - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -10002,34 +10000,34 @@ i32.const 5 i32.const 0 call $~lib/rt/__newArray - local.set $1 + local.set $2 + br $folding-inner4 end global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 return end global.get $~lib/memory/__stack_pointer - i32.const 40 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer local.get $2 ) (func $~lib/string/String#split@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -10037,7 +10035,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store block $2of2 block $1of2 block $0of2 @@ -10054,50 +10052,45 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 local.get $2 call $~lib/string/String#split - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/array/Array<~lib/string/String>#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1264 @@ -10108,19 +10101,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -10139,25 +10131,25 @@ ) (func $start:std/string (local $0 i32) - (local $1 i32) - (local $2 f64) - (local $3 f32) - (local $4 i64) + (local $1 f64) + (local $2 f32) + (local $3 i64) + (local $4 i32) (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 76 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 96 - memory.fill $0 + i32.const 76 + memory.fill global.get $std/string/str i32.const 1056 i32.ne @@ -10169,13 +10161,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1168 - i32.store $0 - local.get $0 - i32.const 1168 - i32.store $0 offset=4 i32.const 1168 i32.const 1168 call $~lib/string/String.__eq @@ -10188,13 +10173,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1200 - i32.store $0 - local.get $0 - i32.const 1200 - i32.store $0 offset=4 i32.const 1200 i32.const 1200 call $~lib/string/String.__eq @@ -10207,13 +10185,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1232 - i32.store $0 - local.get $0 - i32.const 1232 - i32.store $0 offset=4 i32.const 1232 i32.const 1232 call $~lib/string/String.__eq @@ -10229,11 +10200,11 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.const 16 @@ -10247,30 +10218,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $5 - i32.store $0 - local.get $0 + local.tee $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 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $5 - i32.store $0 - block $__inlined_func$~lib/string/String#charCodeAt - local.get $5 + i32.store + block $__inlined_func$~lib/string/String#charCodeAt$294 + local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.eqz @@ -10281,10 +10250,10 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/string/String#charCodeAt + br $__inlined_func$~lib/string/String#charCodeAt$294 end - local.get $5 - i32.load16_u $0 + local.get $0 + i32.load16_u local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -10303,30 +10272,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $5 - i32.store $0 - local.get $0 + local.tee $4 + 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 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 - local.get $5 - i32.store $0 - block $__inlined_func$~lib/string/String#codePointAt - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + block $__inlined_func$~lib/string/String#codePointAt$295 + local.get $4 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $0 @@ -10339,13 +10306,13 @@ global.set $~lib/memory/__stack_pointer i32.const -1 local.set $0 - br $__inlined_func$~lib/string/String#codePointAt + br $__inlined_func$~lib/string/String#codePointAt$295 end local.get $0 i32.const 2 i32.eq - local.get $5 - i32.load16_u $0 offset=2 + local.get $4 + i32.load16_u offset=2 local.tee $0 i32.const 64512 i32.and @@ -10357,11 +10324,11 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#codePointAt + br $__inlined_func$~lib/string/String#codePointAt$295 end - local.get $5 - i32.load16_u $0 offset=4 - local.tee $5 + local.get $4 + i32.load16_u offset=4 + local.tee $4 i32.const 64512 i32.and i32.const 56320 @@ -10371,7 +10338,7 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#codePointAt + br $__inlined_func$~lib/string/String#codePointAt$295 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -10380,7 +10347,7 @@ local.get $0 i32.const 10 i32.shl - local.get $5 + local.get $4 i32.add i32.const 56613888 i32.sub @@ -10397,62 +10364,62 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl - i32.const 59212 + i32.const 59404 i32.sub i32.const 1 i32.shr_u global.set $~lib/rt/itcms/threshold i32.const 1492 i32.const 1488 - i32.store $0 + i32.store i32.const 1496 i32.const 1488 - i32.store $0 + i32.store i32.const 1488 global.set $~lib/rt/itcms/pinSpace i32.const 1524 i32.const 1520 - i32.store $0 + i32.store i32.const 1528 i32.const 1520 - i32.store $0 + i32.store i32.const 1520 global.set $~lib/rt/itcms/toSpace i32.const 1604 i32.const 1600 - i32.store $0 + i32.store i32.const 1608 i32.const 1600 - i32.store $0 + i32.store i32.const 1600 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 15 call $~lib/string/String#at local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $5 - i32.store $0 offset=8 - local.get $5 + local.tee $4 + i32.store offset=8 + local.get $4 i32.const 15 call $~lib/string/String#charAt - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -10466,38 +10433,38 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const -1 call $~lib/string/String#at local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $5 - i32.store $0 offset=8 + local.tee $4 + i32.store offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $6 - i32.store $0 offset=12 + local.tee $5 + i32.store offset=12 + local.get $4 local.get $5 - local.get $6 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.const 1 i32.sub call $~lib/string/String#charAt - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $4 + i32.store offset=4 local.get $0 - local.get $5 + local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -10509,19 +10476,19 @@ unreachable end global.get $~lib/memory/__stack_pointer + global.get $std/string/str local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $5 - i32.store $0 offset=8 + local.tee $4 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=12 - local.get $5 i32.const 0 - local.get $5 + local.get $4 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.sub @@ -10529,10 +10496,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1744 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1744 call $~lib/string/String.__eq @@ -10545,9 +10509,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 i32.const 1712 call $~lib/string/String.__not i32.eqz @@ -10559,9 +10520,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1776 - i32.store $0 i32.const 1776 call $~lib/string/String.__not if @@ -10572,9 +10530,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 i32.const 1808 call $~lib/string/String.__not if @@ -10591,12 +10546,8 @@ call $~lib/string/String.fromCharCode@varargs local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 - i32.const 1776 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1776 call $~lib/string/String.__eq @@ -10615,12 +10566,8 @@ call $~lib/string/String.fromCharCode@varargs local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 - i32.const 1840 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1840 call $~lib/string/String.__eq @@ -10639,12 +10586,8 @@ call $~lib/string/String.fromCharCode@varargs local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 - i32.const 1872 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1872 call $~lib/string/String.__eq @@ -10663,12 +10606,8 @@ call $~lib/string/String.fromCharCode@varargs local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $0 - i32.store $0 - local.get $5 - i32.const 1872 - i32.store $0 offset=4 + local.get $0 + i32.store local.get $0 i32.const 1872 call $~lib/string/String.__eq @@ -10686,12 +10625,8 @@ call $~lib/string/String.fromCharCode local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 - i32.const 1904 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1904 call $~lib/string/String.__eq @@ -10711,16 +10646,13 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String.fromCharCodes local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1968 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1968 call $~lib/string/String.__eq @@ -10740,16 +10672,13 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String.fromCharCodes local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2032 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2032 call $~lib/string/String.__eq @@ -10769,16 +10698,13 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 call $~lib/string/String.fromCharCodes local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2112 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2112 call $~lib/string/String.__eq @@ -10795,12 +10721,8 @@ call $~lib/string/String.fromCodePoint local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 - i32.const 1776 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1776 call $~lib/string/String.__eq @@ -10817,12 +10739,8 @@ call $~lib/string/String.fromCodePoint local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 - i32.const 1872 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1872 call $~lib/string/String.__eq @@ -10839,12 +10757,8 @@ call $~lib/string/String.fromCodePoint local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 - local.get $5 - i32.const 2144 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2144 call $~lib/string/String.__eq @@ -10858,45 +10772,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $5 - i32.store $0 - local.get $0 - i32.const 2176 - i32.store $0 offset=4 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - local.get $5 - i32.store $0 - local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $6 - local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 2176 - i32.store $0 - block $__inlined_func$~lib/string/String#startsWith - local.get $6 + i32.store + block $__inlined_func$~lib/string/String#startsWith$296 + local.get $4 i32.const 2172 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.tee $0 + local.tee $4 i32.lt_s if global.get $~lib/memory/__stack_pointer @@ -10905,19 +10814,18 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - br $__inlined_func$~lib/string/String#startsWith + br $__inlined_func$~lib/string/String#startsWith$296 end global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $5 - i32.store $0 - local.get $6 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2176 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + local.get $0 i32.const 0 i32.const 2176 - local.get $0 + local.get $4 call $~lib/util/string/compareImpl i32.eqz local.set $0 @@ -10937,91 +10845,66 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $5 - i32.store $0 - local.get $0 - i32.const 2208 - i32.store $0 offset=4 + local.tee $0 + i32.store i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 536870910 - local.set $1 - end + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2208 - i32.store $0 offset=4 - local.get $0 + 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 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - local.get $5 - i32.store $0 - local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u - local.set $6 - local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer i32.const 2208 - i32.store $0 - block $__inlined_func$~lib/string/String#endsWith - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 + i32.store + block $__inlined_func$~lib/string/String#endsWith$297 + i32.const 536870910 + local.get $4 + local.get $4 + i32.const 536870910 i32.gt_s select - local.tee $0 - local.get $6 - local.get $0 - local.get $6 - i32.lt_s - select i32.const 2204 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.tee $0 + local.tee $4 i32.sub - local.tee $1 + local.tee $5 i32.const 0 i32.lt_s if @@ -11031,19 +10914,18 @@ global.set $~lib/memory/__stack_pointer i32.const 0 local.set $0 - br $__inlined_func$~lib/string/String#endsWith + br $__inlined_func$~lib/string/String#endsWith$297 end global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $5 - i32.store $0 - local.get $6 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2208 - i32.store $0 offset=4 + i32.store offset=4 + local.get $0 local.get $5 - local.get $1 i32.const 2208 - local.get $0 + local.get $4 call $~lib/util/string/compareImpl i32.eqz local.set $0 @@ -11067,43 +10949,36 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 - local.get $0 - i32.const 2240 - i32.store $0 offset=4 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - local.get $1 - i32.store $0 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2240 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + local.get $0 i32.const 2240 i32.const 0 call $~lib/string/String#indexOf i32.const -1 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 i32.eqz if i32.const 0 @@ -11114,27 +10989,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 local.get $0 - i32.const 2272 - i32.store $0 offset=16 - local.get $1 i32.const 0 i32.const 2272 call $~lib/string/String#padStart local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $1 - i32.store $0 offset=4 + local.tee $4 + i32.store offset=4 local.get $0 - local.get $1 + local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -11146,27 +11017,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 local.get $0 - i32.const 2272 - i32.store $0 offset=16 - local.get $1 i32.const 15 i32.const 2272 call $~lib/string/String#padStart local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $1 - i32.store $0 offset=4 + local.tee $4 + i32.store offset=4 local.get $0 - local.get $1 + local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -11177,13 +11044,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 i32.const 1712 i32.const 3 i32.const 2272 @@ -11191,10 +11051,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2304 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2304 call $~lib/string/String.__eq @@ -11207,13 +11064,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 1712 i32.const 10 i32.const 1712 @@ -11221,10 +11071,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -11237,13 +11084,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 1808 i32.const 100 i32.const 1712 @@ -11251,10 +11091,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1808 call $~lib/string/String.__eq @@ -11267,13 +11104,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 i32.const 2336 i32.const 5 i32.const 2272 @@ -11281,10 +11111,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2368 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2368 call $~lib/string/String.__eq @@ -11297,13 +11124,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2400 - i32.store $0 offset=16 i32.const 2336 i32.const 6 i32.const 2400 @@ -11311,10 +11131,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2432 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2432 call $~lib/string/String.__eq @@ -11327,13 +11144,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2400 - i32.store $0 offset=16 i32.const 2336 i32.const 8 i32.const 2400 @@ -11341,10 +11151,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2464 call $~lib/string/String.__eq @@ -11358,27 +11165,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 local.get $0 - i32.const 2272 - i32.store $0 offset=16 - local.get $1 i32.const 0 i32.const 2272 call $~lib/string/String#padEnd local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $1 - i32.store $0 offset=4 + local.tee $4 + i32.store offset=4 local.get $0 - local.get $1 + local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -11390,27 +11193,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 offset=8 + local.tee $0 + i32.store offset=8 local.get $0 - i32.const 2272 - i32.store $0 offset=16 - local.get $1 i32.const 15 i32.const 2272 call $~lib/string/String#padEnd local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $1 - i32.store $0 offset=4 + local.tee $4 + i32.store offset=4 local.get $0 - local.get $1 + local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -11421,13 +11220,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 i32.const 1712 i32.const 3 i32.const 2272 @@ -11435,10 +11227,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2304 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2304 call $~lib/string/String.__eq @@ -11451,13 +11240,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 1712 i32.const 10 i32.const 1712 @@ -11465,10 +11247,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -11481,13 +11260,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 1808 i32.const 100 i32.const 1712 @@ -11495,10 +11267,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1808 call $~lib/string/String.__eq @@ -11511,13 +11280,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 i32.const 2336 i32.const 5 i32.const 2272 @@ -11525,10 +11287,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2512 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2512 call $~lib/string/String.__eq @@ -11541,13 +11300,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=16 i32.const 2336 i32.const 6 i32.const 2336 @@ -11555,10 +11307,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2544 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2544 call $~lib/string/String.__eq @@ -11571,13 +11320,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=16 i32.const 2336 i32.const 8 i32.const 2336 @@ -11585,10 +11327,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2576 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2576 call $~lib/string/String.__eq @@ -11601,13 +11340,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1712 i32.const 1712 i32.const 0 @@ -11616,17 +11348,10 @@ i32.const 0 i32.const 1120 i32.const 60 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2176 - i32.store $0 offset=4 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 1712 i32.const 2176 i32.const 0 @@ -11641,13 +11366,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 i32.const 1808 i32.const 1808 i32.const 0 @@ -11661,15 +11379,15 @@ unreachable end global.get $~lib/memory/__stack_pointer + global.get $std/string/str local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $4 + i32.store offset=4 local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 - local.get $1 + local.get $4 i32.const 0 call $~lib/string/String#indexOf if @@ -11681,15 +11399,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1712 - i32.store $0 offset=4 - local.get $1 - i32.const 1712 i32.const 0 call $~lib/string/String#indexOf if @@ -11701,15 +11415,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 2624 - i32.store $0 offset=4 - local.get $1 - i32.const 2624 i32.const 0 call $~lib/string/String#indexOf i32.const 2 @@ -11723,15 +11433,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 2656 - i32.store $0 offset=4 - local.get $1 - i32.const 2656 i32.const 0 call $~lib/string/String#indexOf i32.const -1 @@ -11745,15 +11451,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 2624 - i32.store $0 offset=4 - local.get $1 - i32.const 2624 i32.const 2 call $~lib/string/String#indexOf i32.const 2 @@ -11767,15 +11469,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 2624 - i32.store $0 offset=4 - local.get $1 - i32.const 2624 i32.const 3 call $~lib/string/String#indexOf i32.const -1 @@ -11789,15 +11487,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 2688 - i32.store $0 offset=4 - local.get $1 - i32.const 2688 i32.const -1 call $~lib/string/String#indexOf i32.const 2 @@ -11810,13 +11504,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength i32.const 1712 @@ -11830,13 +11517,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2176 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength i32.const 1712 @@ -11853,28 +11533,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 + local.tee $0 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $0 i32.const 1712 call $~lib/string/String#lastIndexOf@varargs - local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/string/str - local.tee $1 - i32.store $0 - local.get $0 - local.get $1 + local.tee $4 + i32.store + local.get $4 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne @@ -11887,16 +11561,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 + local.tee $0 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $0 i32.const 2624 call $~lib/string/String#lastIndexOf@varargs i32.const 2 @@ -11910,16 +11580,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 - local.get $0 - i32.const 2656 - i32.store $0 offset=4 + local.tee $0 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $0 i32.const 2656 call $~lib/string/String#lastIndexOf@varargs i32.const -1 @@ -11933,16 +11599,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 - local.get $0 - i32.const 2720 - i32.store $0 offset=4 + local.tee $0 + i32.store i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $0 i32.const 2720 call $~lib/string/String#lastIndexOf@varargs i32.const 15 @@ -11956,15 +11618,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 2624 - i32.store $0 offset=4 - local.get $1 - i32.const 2624 i32.const 2 call $~lib/string/String#lastIndexOf i32.const 2 @@ -11978,15 +11636,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 2624 - i32.store $0 offset=4 - local.get $1 - i32.const 2624 i32.const 3 call $~lib/string/String#lastIndexOf i32.const 2 @@ -12000,15 +11654,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 2688 - i32.store $0 offset=4 - local.get $1 - i32.const 2688 i32.const -1 call $~lib/string/String#lastIndexOf i32.const -1 @@ -12022,15 +11672,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 2752 - i32.store $0 offset=4 - local.get $1 - i32.const 2752 i32.const 0 call $~lib/string/String#lastIndexOf i32.const -1 @@ -12044,15 +11690,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/string/str - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 2176 - i32.store $0 offset=4 - local.get $1 - i32.const 2176 i32.const 0 call $~lib/string/String#lastIndexOf if @@ -12063,13 +11705,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1712 i32.const 1712 call $~lib/string/String#localeCompare @@ -12081,13 +11716,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1808 i32.const 1712 call $~lib/string/String#localeCompare @@ -12101,13 +11729,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 i32.const 1712 i32.const 1808 call $~lib/string/String#localeCompare @@ -12121,13 +11742,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2784 - i32.store $0 - local.get $0 - i32.const 2784 - i32.store $0 offset=4 i32.const 2784 i32.const 2784 call $~lib/string/String#localeCompare @@ -12139,13 +11753,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 2816 - i32.store $0 offset=4 i32.const 2336 i32.const 2816 call $~lib/string/String#localeCompare @@ -12159,13 +11766,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 2848 - i32.store $0 offset=4 i32.const 2336 i32.const 2848 call $~lib/string/String#localeCompare @@ -12179,13 +11779,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2816 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 i32.const 2816 i32.const 2336 call $~lib/string/String#localeCompare @@ -12199,13 +11792,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2880 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 i32.const 2880 i32.const 2336 call $~lib/string/String#localeCompare @@ -12219,13 +11805,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2912 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 i32.const 2912 i32.const 2336 call $~lib/string/String#localeCompare @@ -12239,13 +11818,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2880 - i32.store $0 - local.get $0 - i32.const 2944 - i32.store $0 offset=4 i32.const 2880 i32.const 2944 call $~lib/string/String#localeCompare @@ -12259,13 +11831,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 2912 - i32.store $0 offset=4 i32.const 2336 i32.const 2912 call $~lib/string/String#localeCompare @@ -12279,13 +11844,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2944 - i32.store $0 - local.get $0 - i32.const 2880 - i32.store $0 offset=4 i32.const 2944 i32.const 2880 call $~lib/string/String#localeCompare @@ -12299,13 +11857,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2304 - i32.store $0 offset=4 i32.const 1712 i32.const 2304 call $~lib/string/String#localeCompare @@ -12319,13 +11870,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1776 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1776 i32.const 1712 call $~lib/string/String#localeCompare @@ -12339,18 +11883,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=8 i32.const 1712 call $~lib/string/String#trimStart local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -12363,18 +11901,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=8 i32.const 2976 call $~lib/string/String#trimStart local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2976 call $~lib/string/String.__eq @@ -12387,18 +11919,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3008 - i32.store $0 offset=8 i32.const 3008 call $~lib/string/String#trimStart local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3056 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3056 call $~lib/string/String.__eq @@ -12411,18 +11937,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=8 i32.const 1712 call $~lib/string/String#trimEnd local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -12435,18 +11955,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=8 i32.const 2976 call $~lib/string/String#trimEnd local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2976 call $~lib/string/String.__eq @@ -12459,18 +11973,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3008 - i32.store $0 offset=8 i32.const 3008 call $~lib/string/String#trimEnd local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3104 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3104 call $~lib/string/String.__eq @@ -12483,18 +11991,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=8 i32.const 1712 call $~lib/string/String#trim local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -12507,18 +12009,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=8 i32.const 2976 call $~lib/string/String#trim local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2976 call $~lib/string/String.__eq @@ -12531,18 +12027,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3008 - i32.store $0 offset=8 i32.const 3008 call $~lib/string/String#trim local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2336 call $~lib/string/String.__eq @@ -12556,12 +12046,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 3152 - i32.store $0 offset=20 - local.get $0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 3152 - i32.store $0 + i32.store i32.const 3152 call $~lib/util/string/strtob i32.eqz @@ -12574,12 +12063,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 3200 - i32.store $0 offset=24 - local.get $0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 3200 - i32.store $0 + i32.store i32.const 3200 call $~lib/util/string/strtob i32.eqz @@ -12592,12 +12080,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 3248 - i32.store $0 offset=28 - local.get $0 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer i32.const 3248 - i32.store $0 + i32.store i32.const 3248 call $~lib/util/string/strtob if @@ -12609,12 +12096,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1712 - i32.store $0 offset=32 - local.get $0 + i32.store offset=28 + global.get $~lib/memory/__stack_pointer i32.const 1712 - i32.store $0 + i32.store i32.const 1712 call $~lib/util/string/strtob if @@ -12626,12 +12112,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 3296 - i32.store $0 offset=36 - local.get $0 + i32.store offset=32 + global.get $~lib/memory/__stack_pointer i32.const 3296 - i32.store $0 + i32.store i32.const 3296 call $~lib/util/string/strtob if @@ -12643,12 +12128,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 3328 - i32.store $0 offset=40 - local.get $0 + i32.store offset=36 + global.get $~lib/memory/__stack_pointer i32.const 3328 - i32.store $0 + i32.store i32.const 3328 call $~lib/util/string/strtob if @@ -12660,12 +12144,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 3360 - i32.store $0 offset=44 - local.get $0 + i32.store offset=40 + global.get $~lib/memory/__stack_pointer i32.const 3360 - i32.store $0 + i32.store i32.const 3360 call $~lib/util/string/strtob if @@ -12676,9 +12159,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3392 - i32.store $0 i32.const 3392 i32.const 0 call $~lib/string/parseInt @@ -12692,9 +12172,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3424 - i32.store $0 i32.const 3424 i32.const 0 call $~lib/string/parseInt @@ -12708,9 +12185,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 i32.const 3456 i32.const 0 call $~lib/string/parseInt @@ -12724,9 +12198,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3488 - i32.store $0 i32.const 3488 i32.const 0 call $~lib/string/parseInt @@ -12740,9 +12211,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3520 - i32.store $0 i32.const 3520 i32.const 0 call $~lib/string/parseInt @@ -12755,10 +12223,7 @@ i32.const 1 call $~lib/builtins/abort unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3552 - i32.store $0 + end i32.const 3552 i32.const 0 call $~lib/string/parseInt @@ -12772,9 +12237,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3584 - i32.store $0 i32.const 3584 i32.const 0 call $~lib/string/parseInt @@ -12788,9 +12250,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 i32.const 3616 i32.const 0 call $~lib/string/parseInt @@ -12804,9 +12263,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3648 - i32.store $0 i32.const 3648 i32.const 0 call $~lib/string/parseInt @@ -12820,9 +12276,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3680 - i32.store $0 i32.const 3680 i32.const 0 call $~lib/string/parseInt @@ -12836,9 +12289,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3712 - i32.store $0 i32.const 3712 i32.const 0 call $~lib/string/parseInt @@ -12852,9 +12302,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3744 - i32.store $0 i32.const 3744 i32.const 0 call $~lib/string/parseInt @@ -12868,9 +12315,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3776 - i32.store $0 i32.const 3776 i32.const 0 call $~lib/string/parseInt @@ -12884,9 +12328,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3392 - i32.store $0 i32.const 3392 i32.const 0 call $~lib/string/parseInt @@ -12900,9 +12341,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3808 - i32.store $0 i32.const 3808 i32.const 0 call $~lib/string/parseInt @@ -12916,9 +12354,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3840 - i32.store $0 i32.const 3840 i32.const 16 call $~lib/string/parseInt @@ -12932,9 +12367,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3872 - i32.store $0 i32.const 3872 i32.const 0 call $~lib/string/parseInt @@ -12948,9 +12380,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3904 - i32.store $0 i32.const 3904 i32.const 0 call $~lib/string/parseInt @@ -12964,9 +12393,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3936 - i32.store $0 i32.const 3936 i32.const 0 call $~lib/string/parseInt @@ -12980,9 +12406,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3968 - i32.store $0 i32.const 3968 i32.const 0 call $~lib/string/parseInt @@ -12998,20 +12421,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4000 - i32.store $0 i32.const 4000 i32.const 0 call $~lib/string/parseInt - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4048 - i32.store $0 i32.const 4048 i32.const 16 call $~lib/string/parseInt - local.get $2 f64.ne if i32.const 0 @@ -13021,9 +12436,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4080 - i32.store $0 i32.const 4080 i32.const 0 call $~lib/string/parseInt @@ -13037,9 +12449,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4080 - i32.store $0 i32.const 4080 i32.const 13 call $~lib/string/parseInt @@ -13053,9 +12462,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4144 - i32.store $0 i32.const 4144 i32.const 10 call $~lib/string/parseInt @@ -13069,9 +12475,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4224 - i32.store $0 i32.const 4224 i32.const 16 call $~lib/string/parseInt @@ -13085,9 +12488,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4288 - i32.store $0 i32.const 4288 i32.const 0 call $~lib/string/parseInt @@ -13101,9 +12501,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4320 - i32.store $0 i32.const 4320 i32.const 0 call $~lib/string/parseInt @@ -13117,9 +12514,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4368 - i32.store $0 i32.const 4368 i32.const 0 call $~lib/string/parseInt @@ -13133,9 +12527,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4400 - i32.store $0 i32.const 4400 i32.const 0 call $~lib/string/parseInt @@ -13149,9 +12540,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4448 - i32.store $0 i32.const 4448 i32.const 0 call $~lib/string/parseInt @@ -13165,9 +12553,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4480 - i32.store $0 i32.const 4480 i32.const 0 call $~lib/string/parseInt @@ -13181,9 +12566,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4512 - i32.store $0 i32.const 4512 i32.const 0 call $~lib/string/parseInt @@ -13197,14 +12579,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 i32.const 1712 i32.const 0 call $~lib/string/parseInt - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -13214,14 +12593,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4560 - i32.store $0 i32.const 4560 i32.const 0 call $~lib/string/parseInt - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -13231,14 +12607,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 i32.const 4592 i32.const 0 call $~lib/string/parseInt - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -13248,14 +12621,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2400 - i32.store $0 i32.const 2400 i32.const 37 call $~lib/string/parseInt - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -13265,14 +12635,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4624 - i32.store $0 i32.const 4624 i32.const 0 call $~lib/string/parseInt - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -13282,14 +12649,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4656 - i32.store $0 i32.const 4656 i32.const 0 call $~lib/string/parseInt - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -13300,34 +12664,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4656 - i32.store $0 - local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4656 - i32.store $0 + i32.store i32.const 4656 call $~lib/util/string/strtod f32.demote_f64 - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $3 + local.get $2 + local.get $2 f32.eq if i32.const 0 @@ -13337,13 +12696,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4656 - i32.store $0 i32.const 4656 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -13354,17 +12710,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4656 - i32.store $0 offset=48 - local.get $0 + i32.store offset=44 + global.get $~lib/memory/__stack_pointer i32.const 4656 - i32.store $0 + i32.store i32.const 4656 call $~lib/util/string/strtod f32.demote_f64 - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 f32.eq if i32.const 0 @@ -13375,16 +12730,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4656 - i32.store $0 offset=52 - local.get $0 + i32.store offset=48 + global.get $~lib/memory/__stack_pointer i32.const 4656 - i32.store $0 + i32.store i32.const 4656 call $~lib/util/string/strtod - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -13395,31 +12749,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4880 - i32.store $0 - local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4880 - i32.store $0 + i32.store call $~lib/util/string/strtol - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 i32.const 2147483647 i32.ne if @@ -13431,12 +12778,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4880 - i32.store $0 offset=56 - local.get $0 + i32.store offset=52 + global.get $~lib/memory/__stack_pointer i32.const 4880 - i32.store $0 + i32.store call $~lib/util/string/strtol i32.const 2147483647 i32.ne @@ -13449,31 +12795,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4928 - i32.store $0 - local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4928 - i32.store $0 + i32.store call $~lib/util/string/strtol - local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 i64.const 9223372036854775807 i64.ne if @@ -13485,12 +12824,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 4928 - i32.store $0 offset=60 - local.get $0 + i32.store offset=56 + global.get $~lib/memory/__stack_pointer i32.const 4928 - i32.store $0 + i32.store call $~lib/util/string/strtol i64.const 9223372036854775807 i64.ne @@ -13502,9 +12840,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3392 - i32.store $0 i32.const 3392 call $~lib/number/F64.parseFloat f64.const 0 @@ -13517,9 +12852,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 i32.const 3456 call $~lib/number/F64.parseFloat f64.const 1 @@ -13532,9 +12864,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4992 - i32.store $0 i32.const 4992 call $~lib/number/F64.parseFloat f64.const 1 @@ -13547,9 +12876,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5024 - i32.store $0 i32.const 5024 call $~lib/number/F64.parseFloat f64.const 1 @@ -13562,9 +12888,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5056 - i32.store $0 i32.const 5056 call $~lib/number/F64.parseFloat f64.const 1e-05 @@ -13577,9 +12900,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5088 - i32.store $0 i32.const 5088 call $~lib/number/F64.parseFloat f64.const -1e-05 @@ -13592,9 +12912,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5120 - i32.store $0 i32.const 5120 call $~lib/number/F64.parseFloat f64.const -3e-23 @@ -13607,9 +12924,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5168 - i32.store $0 i32.const 5168 call $~lib/number/F64.parseFloat f64.const 3e21 @@ -13622,9 +12936,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5216 - i32.store $0 i32.const 5216 call $~lib/number/F64.parseFloat f64.const 0.1 @@ -13637,9 +12948,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5248 - i32.store $0 i32.const 5248 call $~lib/number/F64.parseFloat f64.const 0.1 @@ -13652,9 +12960,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5280 - i32.store $0 i32.const 5280 call $~lib/number/F64.parseFloat f64.const 0.1 @@ -13667,9 +12972,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5312 - i32.store $0 i32.const 5312 call $~lib/number/F64.parseFloat f64.const 0.25 @@ -13682,9 +12984,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5344 - i32.store $0 i32.const 5344 call $~lib/number/F64.parseFloat f64.const 1e3 @@ -13697,9 +12996,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5376 - i32.store $0 i32.const 5376 call $~lib/number/F64.parseFloat f64.const 1e-10 @@ -13712,9 +13008,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5424 - i32.store $0 i32.const 5424 call $~lib/number/F64.parseFloat f64.const 1e-30 @@ -13727,9 +13020,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5472 - i32.store $0 i32.const 5472 call $~lib/number/F64.parseFloat f64.const 1e-323 @@ -13742,9 +13032,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5520 - i32.store $0 i32.const 5520 call $~lib/number/F64.parseFloat f64.const 0 @@ -13757,9 +13044,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5568 - i32.store $0 i32.const 5568 call $~lib/number/F64.parseFloat f64.const 1.e+308 @@ -13772,9 +13056,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5600 - i32.store $0 i32.const 5600 call $~lib/number/F64.parseFloat f64.const inf @@ -13787,13 +13068,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 i32.const 1712 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -13803,9 +13081,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5632 - i32.store $0 i32.const 5632 call $~lib/number/F64.parseFloat f64.const 0.1 @@ -13818,9 +13093,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5680 - i32.store $0 i32.const 5680 call $~lib/number/F64.parseFloat f64.const 1e-10 @@ -13833,9 +13105,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5728 - i32.store $0 i32.const 5728 call $~lib/number/F64.parseFloat f64.const 10 @@ -13848,9 +13117,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5776 - i32.store $0 i32.const 5776 call $~lib/number/F64.parseFloat f64.const 1 @@ -13863,9 +13129,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5808 - i32.store $0 i32.const 5808 call $~lib/number/F64.parseFloat f64.const 1 @@ -13878,9 +13141,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5840 - i32.store $0 i32.const 5840 call $~lib/number/F64.parseFloat f64.const 10 @@ -13893,9 +13153,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5888 - i32.store $0 i32.const 5888 call $~lib/number/F64.parseFloat f64.const 123456789 @@ -13908,9 +13165,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5936 - i32.store $0 i32.const 5936 call $~lib/number/F64.parseFloat f64.const 1 @@ -13923,9 +13177,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5984 - i32.store $0 i32.const 5984 call $~lib/number/F64.parseFloat f64.const 1e-60 @@ -13938,9 +13189,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6016 - i32.store $0 i32.const 6016 call $~lib/number/F64.parseFloat f64.const 1.e+60 @@ -13953,9 +13201,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6048 - i32.store $0 i32.const 6048 call $~lib/number/F64.parseFloat f64.const 123.4 @@ -13968,9 +13213,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6080 - i32.store $0 i32.const 6080 call $~lib/number/F64.parseFloat f64.const 1 @@ -13983,9 +13225,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6112 - i32.store $0 i32.const 6112 call $~lib/number/F64.parseFloat f64.const -1.1 @@ -13998,9 +13237,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6160 - i32.store $0 i32.const 6160 call $~lib/number/F64.parseFloat f64.const 10 @@ -14013,9 +13249,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6208 - i32.store $0 i32.const 6208 call $~lib/number/F64.parseFloat f64.const 10 @@ -14028,9 +13261,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6256 - i32.store $0 i32.const 6256 call $~lib/number/F64.parseFloat f64.const 0.022 @@ -14043,9 +13273,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6304 - i32.store $0 i32.const 6304 call $~lib/number/F64.parseFloat f64.const 11 @@ -14058,9 +13285,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3808 - i32.store $0 i32.const 3808 call $~lib/number/F64.parseFloat f64.const 0 @@ -14073,9 +13297,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6336 - i32.store $0 i32.const 6336 call $~lib/number/F64.parseFloat f64.const 0 @@ -14088,9 +13309,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 i32.const 6368 call $~lib/number/F64.parseFloat f64.const 0 @@ -14103,9 +13321,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6400 - i32.store $0 i32.const 6400 call $~lib/number/F64.parseFloat f64.const 1.1 @@ -14118,9 +13333,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6432 - i32.store $0 i32.const 6432 call $~lib/number/F64.parseFloat f64.const -1.1 @@ -14133,9 +13345,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6464 - i32.store $0 i32.const 6464 call $~lib/number/F64.parseFloat f64.const -1.1 @@ -14148,9 +13357,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6496 - i32.store $0 i32.const 6496 call $~lib/number/F64.parseFloat f64.const -1.1 @@ -14163,9 +13369,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6528 - i32.store $0 i32.const 6528 call $~lib/number/F64.parseFloat f64.const -1.1 @@ -14178,9 +13381,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6560 - i32.store $0 i32.const 6560 call $~lib/number/F64.parseFloat f64.const 0 @@ -14193,9 +13393,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6592 - i32.store $0 i32.const 6592 call $~lib/number/F64.parseFloat f64.const 0 @@ -14208,9 +13405,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6624 - i32.store $0 i32.const 6624 call $~lib/number/F64.parseFloat f64.const 1 @@ -14223,9 +13417,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6656 - i32.store $0 i32.const 6656 call $~lib/number/F64.parseFloat f64.const 0 @@ -14238,9 +13429,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6688 - i32.store $0 i32.const 6688 call $~lib/number/F64.parseFloat f64.const 0 @@ -14253,9 +13441,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6720 - i32.store $0 i32.const 6720 call $~lib/number/F64.parseFloat f64.const 10 @@ -14267,10 +13452,7 @@ i32.const 1 call $~lib/builtins/abort unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6752 - i32.store $0 + end i32.const 6752 call $~lib/number/F64.parseFloat f64.const 10 @@ -14283,9 +13465,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6800 - i32.store $0 i32.const 6800 call $~lib/number/F64.parseFloat f64.const 0 @@ -14298,9 +13477,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6832 - i32.store $0 i32.const 6832 call $~lib/number/F64.parseFloat f64.const 1 @@ -14313,9 +13489,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6864 - i32.store $0 i32.const 6864 call $~lib/number/F64.parseFloat f64.const 0.1 @@ -14328,9 +13501,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6896 - i32.store $0 i32.const 6896 call $~lib/number/F64.parseFloat f64.const 1 @@ -14343,9 +13513,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6928 - i32.store $0 i32.const 6928 call $~lib/number/F64.parseFloat f64.const 10 @@ -14358,9 +13525,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6960 - i32.store $0 i32.const 6960 call $~lib/number/F64.parseFloat f64.const 1 @@ -14373,9 +13537,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 6992 - i32.store $0 i32.const 6992 call $~lib/number/F64.parseFloat f64.const 0.1 @@ -14388,9 +13549,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store $0 i32.const 7024 call $~lib/number/F64.parseFloat f64.const 0.01 @@ -14403,9 +13561,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7072 - i32.store $0 i32.const 7072 call $~lib/number/F64.parseFloat f64.const 0 @@ -14418,9 +13573,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7104 - i32.store $0 i32.const 7104 call $~lib/number/F64.parseFloat f64.const 0 @@ -14433,9 +13585,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7136 - i32.store $0 i32.const 7136 call $~lib/number/F64.parseFloat f64.const 0 @@ -14448,9 +13597,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7168 - i32.store $0 i32.const 7168 call $~lib/number/F64.parseFloat f64.const 0.1 @@ -14463,9 +13609,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7200 - i32.store $0 i32.const 7200 call $~lib/number/F64.parseFloat f64.const 0 @@ -14478,9 +13621,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7232 - i32.store $0 i32.const 7232 call $~lib/number/F64.parseFloat f64.const 0 @@ -14493,9 +13633,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7264 - i32.store $0 i32.const 7264 call $~lib/number/F64.parseFloat f64.const 1 @@ -14508,9 +13645,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7296 - i32.store $0 i32.const 7296 call $~lib/number/F64.parseFloat f64.const 0.1 @@ -14523,9 +13657,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7328 - i32.store $0 i32.const 7328 call $~lib/number/F64.parseFloat f64.const 0 @@ -14538,9 +13669,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7360 - i32.store $0 i32.const 7360 call $~lib/number/F64.parseFloat i64.reinterpret_f64 @@ -14554,22 +13682,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7392 - i32.store $0 i32.const 7392 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 - f64.ne - i32.const 0 - i32.and - local.get $2 i64.reinterpret_f64 i64.const -9223372036854775808 - i64.eq - i32.or - i32.eqz + i64.ne if i32.const 0 i32.const 1120 @@ -14578,9 +13695,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store $0 i32.const 7424 call $~lib/number/F64.parseFloat i64.reinterpret_f64 @@ -14594,22 +13708,11 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3968 - i32.store $0 i32.const 3968 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 - f64.ne - i32.const 0 - i32.and - local.get $2 i64.reinterpret_f64 i64.const -9223372036854775808 - i64.eq - i32.or - i32.eqz + i64.ne if i32.const 0 i32.const 1120 @@ -14618,9 +13721,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store $0 i32.const 7456 call $~lib/number/F64.parseFloat i64.reinterpret_f64 @@ -14634,13 +13734,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 i32.const 4592 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14650,13 +13747,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4560 - i32.store $0 i32.const 4560 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14666,13 +13760,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7504 - i32.store $0 i32.const 7504 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14682,13 +13773,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7536 - i32.store $0 i32.const 7536 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14698,13 +13786,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7568 - i32.store $0 i32.const 7568 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14714,13 +13799,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7600 - i32.store $0 i32.const 7600 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14730,13 +13812,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7632 - i32.store $0 i32.const 7632 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14746,13 +13825,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7664 - i32.store $0 i32.const 7664 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14762,13 +13838,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7696 - i32.store $0 i32.const 7696 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14778,13 +13851,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7728 - i32.store $0 i32.const 7728 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14794,13 +13864,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7760 - i32.store $0 i32.const 7760 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14810,13 +13877,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7792 - i32.store $0 i32.const 7792 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14826,13 +13890,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7824 - i32.store $0 i32.const 7824 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14842,13 +13903,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7856 - i32.store $0 i32.const 7856 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14858,13 +13916,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7888 - i32.store $0 i32.const 7888 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14874,13 +13929,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3360 - i32.store $0 i32.const 3360 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -14890,9 +13942,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7920 - i32.store $0 i32.const 7920 call $~lib/number/F64.parseFloat f64.const 1e22 @@ -14905,9 +13954,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7952 - i32.store $0 i32.const 7952 call $~lib/number/F64.parseFloat f64.const 1e-22 @@ -14920,9 +13966,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 7984 - i32.store $0 i32.const 7984 call $~lib/number/F64.parseFloat f64.const 1.e+23 @@ -14935,9 +13978,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8016 - i32.store $0 i32.const 8016 call $~lib/number/F64.parseFloat f64.const 1e-23 @@ -14950,9 +13990,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8048 - i32.store $0 i32.const 8048 call $~lib/number/F64.parseFloat f64.const 1.e+37 @@ -14965,9 +14002,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8080 - i32.store $0 i32.const 8080 call $~lib/number/F64.parseFloat f64.const 1e-37 @@ -14980,9 +14014,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8112 - i32.store $0 i32.const 8112 call $~lib/number/F64.parseFloat f64.const 1.e+38 @@ -14995,9 +14026,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8144 - i32.store $0 i32.const 8144 call $~lib/number/F64.parseFloat f64.const 1e-38 @@ -15010,9 +14038,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8176 - i32.store $0 i32.const 8176 call $~lib/number/F64.parseFloat f64.const 2.220446049250313e-16 @@ -15025,9 +14050,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8240 - i32.store $0 i32.const 8240 call $~lib/number/F64.parseFloat f64.const 1797693134862315708145274e284 @@ -15040,9 +14062,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8320 - i32.store $0 i32.const 8320 call $~lib/number/F64.parseFloat f64.const 5e-324 @@ -15055,9 +14074,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8352 - i32.store $0 i32.const 8352 call $~lib/number/F64.parseFloat f64.const 1.e+308 @@ -15070,9 +14086,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8400 - i32.store $0 i32.const 8400 call $~lib/number/F64.parseFloat f64.const 1 @@ -15085,9 +14098,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8544 - i32.store $0 i32.const 8544 call $~lib/number/F64.parseFloat f64.const 0 @@ -15100,9 +14110,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8592 - i32.store $0 i32.const 8592 call $~lib/number/F64.parseFloat f64.const inf @@ -15115,9 +14122,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8640 - i32.store $0 i32.const 8640 call $~lib/number/F64.parseFloat f64.const 0 @@ -15130,9 +14134,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8688 - i32.store $0 i32.const 8688 call $~lib/number/F64.parseFloat f64.const -inf @@ -15145,9 +14146,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8736 - i32.store $0 i32.const 8736 call $~lib/number/F64.parseFloat f64.const 0 @@ -15160,9 +14158,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8784 - i32.store $0 i32.const 8784 call $~lib/number/F64.parseFloat f64.const inf @@ -15175,9 +14170,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8832 - i32.store $0 i32.const 8832 call $~lib/number/F64.parseFloat f64.const inf @@ -15190,9 +14182,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8864 - i32.store $0 i32.const 8864 call $~lib/number/F64.parseFloat f64.const inf @@ -15205,9 +14194,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8912 - i32.store $0 i32.const 8912 call $~lib/number/F64.parseFloat f64.const inf @@ -15220,9 +14206,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 8960 - i32.store $0 i32.const 8960 call $~lib/number/F64.parseFloat f64.const -inf @@ -15235,9 +14218,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 9008 - i32.store $0 i32.const 9008 call $~lib/number/F64.parseFloat f64.const inf @@ -15250,9 +14230,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 9056 - i32.store $0 i32.const 9056 call $~lib/number/F64.parseFloat f64.const inf @@ -15265,13 +14242,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store $0 i32.const 9104 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -15281,13 +14255,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 9136 - i32.store $0 i32.const 9136 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -15297,13 +14268,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 9184 - i32.store $0 i32.const 9184 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -15313,9 +14281,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 9232 - i32.store $0 i32.const 9232 call $~lib/number/F64.parseFloat f64.const 0 @@ -15328,9 +14293,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 9424 - i32.store $0 i32.const 9424 call $~lib/number/F64.parseFloat f64.const 1e-323 @@ -15343,9 +14305,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 i32.const 9616 call $~lib/number/F64.parseFloat f64.const 2.225073858507202e-308 @@ -15358,50 +14317,34 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 9808 - i32.store $0 offset=72 - local.get $0 - i32.const 9968 - i32.store $0 offset=76 i32.const 9808 i32.const 9968 call $~lib/string/String.__concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=64 - global.get $~lib/memory/__stack_pointer - i32.const 10128 - i32.store $0 offset=68 + i32.store offset=12 local.get $0 i32.const 10128 call $~lib/string/String.__concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 10288 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 i32.const 10288 call $~lib/string/String.__concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10448 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 10448 call $~lib/string/String.__concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/number/F64.parseFloat f64.const 1797693134862315708145274e284 @@ -15414,9 +14357,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 10608 - i32.store $0 i32.const 10608 call $~lib/number/F64.parseFloat f64.const 9.753531888799502e-104 @@ -15429,9 +14369,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 10720 - i32.store $0 i32.const 10720 call $~lib/number/F64.parseFloat f64.const 0.5961860348131807 @@ -15444,9 +14381,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 10832 - i32.store $0 i32.const 10832 call $~lib/number/F64.parseFloat f64.const 0.18150131692180388 @@ -15459,9 +14393,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 10944 - i32.store $0 i32.const 10944 call $~lib/number/F64.parseFloat f64.const 0.42070823575344535 @@ -15474,9 +14405,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11056 - i32.store $0 i32.const 11056 call $~lib/number/F64.parseFloat f64.const 0.6654686306516261 @@ -15489,9 +14417,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11168 - i32.store $0 i32.const 11168 call $~lib/number/F64.parseFloat f64.const 0.6101852922970868 @@ -15504,9 +14429,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11280 - i32.store $0 i32.const 11280 call $~lib/number/F64.parseFloat f64.const 0.7696695208236968 @@ -15519,9 +14441,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11392 - i32.store $0 i32.const 11392 call $~lib/number/F64.parseFloat f64.const 0.25050653222286823 @@ -15534,9 +14453,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11504 - i32.store $0 i32.const 11504 call $~lib/number/F64.parseFloat f64.const 0.2740037230228005 @@ -15549,9 +14465,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11616 - i32.store $0 i32.const 11616 call $~lib/number/F64.parseFloat f64.const 0.20723093500497428 @@ -15564,9 +14477,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11728 - i32.store $0 i32.const 11728 call $~lib/number/F64.parseFloat f64.const 7.900280238081605 @@ -15579,9 +14489,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11840 - i32.store $0 i32.const 11840 call $~lib/number/F64.parseFloat f64.const 98.22860653737297 @@ -15594,9 +14501,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 11952 - i32.store $0 i32.const 11952 call $~lib/number/F64.parseFloat f64.const 746.894972319037 @@ -15609,9 +14513,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12064 - i32.store $0 i32.const 12064 call $~lib/number/F64.parseFloat f64.const 1630.2683202827284 @@ -15624,9 +14525,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12176 - i32.store $0 i32.const 12176 call $~lib/number/F64.parseFloat f64.const 46371.68629719171 @@ -15639,9 +14537,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12288 - i32.store $0 i32.const 12288 call $~lib/number/F64.parseFloat f64.const 653780.5944497711 @@ -15654,9 +14549,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12400 - i32.store $0 i32.const 12400 call $~lib/number/F64.parseFloat f64.const 234632.43565024371 @@ -15669,9 +14561,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12512 - i32.store $0 i32.const 12512 call $~lib/number/F64.parseFloat f64.const 97094817.16420048 @@ -15684,9 +14573,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12624 - i32.store $0 i32.const 12624 call $~lib/number/F64.parseFloat f64.const 499690852.20518744 @@ -15699,9 +14585,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12736 - i32.store $0 i32.const 12736 call $~lib/number/F64.parseFloat f64.const 7925201200557245595648 @@ -15714,9 +14597,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12848 - i32.store $0 i32.const 12848 call $~lib/number/F64.parseFloat f64.const 6096564585983177528398588e5 @@ -15729,9 +14609,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 12960 - i32.store $0 i32.const 12960 call $~lib/number/F64.parseFloat f64.const 4800416117477028695992383e42 @@ -15744,9 +14621,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13072 - i32.store $0 i32.const 13072 call $~lib/number/F64.parseFloat f64.const 8524829079817968137287277e80 @@ -15759,9 +14633,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13184 - i32.store $0 i32.const 13184 call $~lib/number/F64.parseFloat f64.const 3271239291709782092398754e243 @@ -15774,13 +14645,10 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13296 - i32.store $0 i32.const 13296 call $~lib/number/F64.parseFloat - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 f64.eq if i32.const 0 @@ -15790,9 +14658,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13328 - i32.store $0 i32.const 13328 call $~lib/number/F64.parseFloat f64.const 0.1 @@ -15806,24 +14671,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 13360 - i32.store $0 offset=4 - local.get $0 i32.const 1808 i32.const 13360 call $~lib/string/String.__concat local.tee $0 - i32.store $0 offset=80 + i32.store offset=60 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 13392 call $~lib/string/String.__eq @@ -15837,12 +14692,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 1808 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1808 call $~lib/string/String.__ne @@ -15855,13 +14706,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1712 i32.const 1712 call $~lib/string/String.__eq @@ -15876,7 +14720,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 i32.const 0 call $~lib/string/String.__eq @@ -15890,12 +14734,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store i32.const 1712 i32.const 0 call $~lib/string/String.__ne @@ -15909,12 +14749,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 + i32.store i32.const 0 i32.const 1712 call $~lib/string/String.__ne @@ -15927,13 +14763,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 13360 - i32.store $0 offset=4 i32.const 1808 i32.const 13360 call $~lib/string/String.__ne @@ -15946,13 +14775,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 i32.const 1808 i32.const 1808 call $~lib/string/String.__eq @@ -15965,13 +14787,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13424 - i32.store $0 - local.get $0 - i32.const 13456 - i32.store $0 offset=4 i32.const 13424 i32.const 13456 call $~lib/string/String.__ne @@ -15984,13 +14799,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13424 - i32.store $0 - local.get $0 - i32.const 13424 - i32.store $0 offset=4 i32.const 13424 i32.const 13424 call $~lib/string/String.__eq @@ -16003,13 +14811,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13488 - i32.store $0 - local.get $0 - i32.const 13520 - i32.store $0 offset=4 i32.const 13488 i32.const 13520 call $~lib/string/String.__ne @@ -16022,13 +14823,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13552 - i32.store $0 - local.get $0 - i32.const 13584 - i32.store $0 offset=4 i32.const 13552 i32.const 13584 call $~lib/string/String.__ne @@ -16041,13 +14835,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13616 - i32.store $0 - local.get $0 - i32.const 13616 - i32.store $0 offset=4 i32.const 13616 i32.const 13616 call $~lib/string/String.__eq @@ -16060,13 +14847,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13616 - i32.store $0 - local.get $0 - i32.const 13664 - i32.store $0 offset=4 i32.const 13616 i32.const 13664 call $~lib/string/String.__ne @@ -16079,13 +14859,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13712 - i32.store $0 - local.get $0 - i32.const 13760 - i32.store $0 offset=4 i32.const 13712 i32.const 13760 call $~lib/string/String.__ne @@ -16098,13 +14871,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13360 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 i32.const 13360 i32.const 1808 call $~lib/string/String.__gt @@ -16117,13 +14883,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13808 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 i32.const 13808 i32.const 1808 call $~lib/string/String.__gt @@ -16136,13 +14895,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13808 - i32.store $0 - local.get $0 - i32.const 13840 - i32.store $0 offset=4 i32.const 13808 i32.const 13840 call $~lib/string/String.__gte @@ -16155,13 +14907,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13808 - i32.store $0 - local.get $0 - i32.const 13392 - i32.store $0 offset=4 i32.const 13808 i32.const 13392 call $~lib/string/String.__gt @@ -16174,13 +14919,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13808 - i32.store $0 - local.get $0 - i32.const 13392 - i32.store $0 offset=4 i32.const 13808 i32.const 13392 call $~lib/string/String.__lt @@ -16192,13 +14930,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 2336 i32.const 1712 call $~lib/string/String.__gt @@ -16211,13 +14942,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 i32.const 1712 i32.const 2336 call $~lib/string/String.__lt @@ -16230,13 +14954,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 2336 i32.const 1712 call $~lib/string/String.__gte @@ -16249,13 +14966,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 i32.const 1712 i32.const 2336 call $~lib/string/String.__lte @@ -16268,13 +14978,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 2336 i32.const 1712 call $~lib/string/String.__lt @@ -16286,13 +14989,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 i32.const 1712 i32.const 2336 call $~lib/string/String.__gt @@ -16304,13 +15000,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1712 i32.const 1712 call $~lib/string/String.__lt @@ -16322,13 +15011,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1712 i32.const 1712 call $~lib/string/String.__gt @@ -16340,13 +15022,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1712 i32.const 1712 call $~lib/string/String.__gte @@ -16359,13 +15034,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1712 i32.const 1712 call $~lib/string/String.__lte @@ -16378,13 +15046,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 3456 - i32.store $0 - local.get $0 - i32.const 13872 - i32.store $0 offset=4 i32.const 3456 i32.const 13872 call $~lib/string/String.__lt @@ -16397,13 +15058,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13872 - i32.store $0 - local.get $0 - i32.const 3456 - i32.store $0 offset=4 i32.const 13872 i32.const 3456 call $~lib/string/String.__gt @@ -16416,13 +15070,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13872 - i32.store $0 offset=4 i32.const 13904 i32.const 13872 call $~lib/string/String.__lt @@ -16434,13 +15081,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13872 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 i32.const 13872 i32.const 13904 call $~lib/string/String.__gt @@ -16452,13 +15092,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13872 - i32.store $0 offset=4 i32.const 13904 i32.const 13872 call $~lib/string/String.__gt @@ -16471,13 +15104,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13872 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 i32.const 13872 i32.const 13904 call $~lib/string/String.__lt @@ -16490,13 +15116,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 i32.const 13904 i32.const 13904 call $~lib/string/String.__lt @@ -16508,13 +15127,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 i32.const 13904 i32.const 13904 call $~lib/string/String.__gt @@ -16526,13 +15138,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 i32.const 13904 i32.const 13904 call $~lib/string/String.__lte @@ -16545,13 +15150,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 i32.const 13904 i32.const 13904 call $~lib/string/String.__gte @@ -16564,13 +15162,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13872 - i32.store $0 - local.get $0 - i32.const 13936 - i32.store $0 offset=4 i32.const 13872 i32.const 13936 call $~lib/string/String.__gte @@ -16582,13 +15173,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13936 - i32.store $0 - local.get $0 - i32.const 13872 - i32.store $0 offset=4 i32.const 13936 i32.const 13872 call $~lib/string/String.__gte @@ -16601,13 +15185,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13872 - i32.store $0 - local.get $0 - i32.const 13936 - i32.store $0 offset=4 i32.const 13872 i32.const 13936 call $~lib/string/String.__lte @@ -16619,14 +15196,7 @@ i32.const 1 call $~lib/builtins/abort unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 3456 - i32.store $0 - local.get $0 - i32.const 3456 - i32.store $0 offset=4 + end i32.const 3456 i32.const 3456 call $~lib/string/String.__eq @@ -16639,13 +15209,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 i32.const 13904 i32.const 13904 call $~lib/string/String.__eq @@ -16658,13 +15221,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2400 - i32.store $0 - local.get $0 - i32.const 2400 - i32.store $0 offset=4 i32.const 2400 i32.const 2400 call $~lib/string/String.__eq @@ -16677,13 +15233,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2400 - i32.store $0 - local.get $0 - i32.const 13968 - i32.store $0 offset=4 i32.const 2400 i32.const 13968 call $~lib/string/String.__ne @@ -16696,13 +15245,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14000 - i32.store $0 - local.get $0 - i32.const 14000 - i32.store $0 offset=4 i32.const 14000 i32.const 14000 call $~lib/string/String.__eq @@ -16715,13 +15257,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14032 - i32.store $0 - local.get $0 - i32.const 14000 - i32.store $0 offset=4 i32.const 14032 i32.const 14000 call $~lib/string/String.__ne @@ -16737,36 +15272,34 @@ global.get $~lib/memory/__stack_pointer i32.const 65377 call $~lib/string/String.fromCodePoint - local.tee $0 - i32.store $0 offset=84 + local.tee $4 + i32.store offset=64 global.get $~lib/memory/__stack_pointer - local.set $1 i32.const 55296 call $~lib/string/String.fromCodePoint - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 + local.get $6 + i32.store i32.const 56322 call $~lib/string/String.fromCodePoint - local.set $6 + local.set $0 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $6 - i32.store $0 offset=4 - local.get $1 - local.get $5 - local.get $6 + local.get $0 call $~lib/string/String.__concat - local.tee $1 - i32.store $0 offset=88 + local.tee $0 + i32.store offset=68 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + local.get $4 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 local.get $0 - local.get $1 + i32.store offset=4 + local.get $4 + local.get $0 call $~lib/string/String.__gt i32.eqz if @@ -16777,11 +15310,8 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2400 - i32.store $0 i32.const 2396 - i32.load $0 + i32.load i32.const 1 i32.shr_u i32.const 3 @@ -16794,19 +15324,13 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=8 i32.const 1712 i32.const 100 call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -16819,19 +15343,13 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 i32.const 1808 i32.const 0 call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -16844,19 +15362,13 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 i32.const 1808 i32.const 1 call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1808 call $~lib/string/String.__eq @@ -16869,19 +15381,13 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 i32.const 1808 i32.const 2 call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13840 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 13840 call $~lib/string/String.__eq @@ -16894,19 +15400,13 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 i32.const 1808 i32.const 3 call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14112 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14112 call $~lib/string/String.__eq @@ -16919,19 +15419,13 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 13392 - i32.store $0 offset=8 i32.const 13392 i32.const 4 call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14144 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14144 call $~lib/string/String.__eq @@ -16944,19 +15438,13 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 i32.const 1808 i32.const 5 call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14192 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14192 call $~lib/string/String.__eq @@ -16969,19 +15457,13 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 i32.const 1808 i32.const 6 call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14224 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14224 call $~lib/string/String.__eq @@ -16994,19 +15476,13 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 i32.const 1808 i32.const 7 call $~lib/string/String#repeat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14256 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14256 call $~lib/string/String.__eq @@ -17019,16 +15495,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 1712 i32.const 1712 i32.const 1712 @@ -17036,10 +15502,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -17052,16 +15515,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 1712 i32.const 1712 i32.const 4592 @@ -17069,10 +15522,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4592 call $~lib/string/String.__eq @@ -17085,16 +15535,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4592 - i32.store $0 offset=8 - local.get $0 - i32.const 4592 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 4592 i32.const 4592 i32.const 1712 @@ -17102,10 +15542,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -17118,16 +15555,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4592 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 4592 i32.const 1712 i32.const 1712 @@ -17135,10 +15562,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4592 call $~lib/string/String.__eq @@ -17151,16 +15575,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 4560 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 2336 i32.const 4560 i32.const 4592 @@ -17168,10 +15582,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2336 call $~lib/string/String.__eq @@ -17184,16 +15595,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 2336 i32.const 2336 i32.const 4592 @@ -17201,10 +15602,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4592 call $~lib/string/String.__eq @@ -17217,16 +15615,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2912 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 2336 i32.const 2912 i32.const 4592 @@ -17234,10 +15622,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2336 call $~lib/string/String.__eq @@ -17250,16 +15635,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 13392 - i32.store $0 offset=12 - local.get $0 - i32.const 13392 - i32.store $0 offset=16 i32.const 2336 i32.const 13392 i32.const 13392 @@ -17267,10 +15642,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2336 call $~lib/string/String.__eq @@ -17283,16 +15655,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14304 - i32.store $0 offset=8 - local.get $0 - i32.const 4560 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 14304 i32.const 4560 i32.const 4592 @@ -17300,10 +15662,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14336 call $~lib/string/String.__eq @@ -17316,16 +15675,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 2336 i32.const 1712 i32.const 4592 @@ -17333,10 +15682,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14368 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14368 call $~lib/string/String.__eq @@ -17349,16 +15695,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14400 - i32.store $0 offset=8 - local.get $0 - i32.const 14432 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 14400 i32.const 14432 i32.const 4592 @@ -17366,10 +15702,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14368 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14368 call $~lib/string/String.__eq @@ -17382,16 +15715,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 14464 - i32.store $0 offset=12 - local.get $0 - i32.const 14496 - i32.store $0 offset=16 i32.const 2336 i32.const 14464 i32.const 14496 @@ -17399,10 +15722,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14528 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14528 call $~lib/string/String.__eq @@ -17415,16 +15735,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 14464 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 2336 i32.const 14464 i32.const 1712 @@ -17432,10 +15742,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 13392 call $~lib/string/String.__eq @@ -17448,16 +15755,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 2336 - i32.store $0 offset=16 i32.const 1712 i32.const 1712 i32.const 2336 @@ -17465,10 +15762,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2336 call $~lib/string/String.__eq @@ -17481,16 +15775,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 4560 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 2336 i32.const 4560 i32.const 4592 @@ -17498,10 +15782,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2336 call $~lib/string/String.__eq @@ -17514,16 +15795,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2544 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 2544 i32.const 2336 i32.const 4592 @@ -17531,10 +15802,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14496 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14496 call $~lib/string/String.__eq @@ -17547,16 +15815,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14560 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 14560 i32.const 2336 i32.const 4592 @@ -17564,10 +15822,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14608 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14608 call $~lib/string/String.__eq @@ -17580,16 +15835,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2544 - i32.store $0 offset=8 - local.get $0 - i32.const 13392 - i32.store $0 offset=12 - local.get $0 - i32.const 13392 - i32.store $0 offset=16 i32.const 2544 i32.const 13392 i32.const 13392 @@ -17597,10 +15842,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2544 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2544 call $~lib/string/String.__eq @@ -17612,17 +15854,7 @@ i32.const 1 call $~lib/builtins/abort unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14640 - i32.store $0 offset=8 - local.get $0 - i32.const 1808 - i32.store $0 offset=12 - local.get $0 - i32.const 14608 - i32.store $0 offset=16 + end i32.const 14640 i32.const 1808 i32.const 14608 @@ -17630,10 +15862,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14688 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14688 call $~lib/string/String.__eq @@ -17646,16 +15875,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2544 - i32.store $0 offset=8 - local.get $0 - i32.const 13392 - i32.store $0 offset=12 - local.get $0 - i32.const 14496 - i32.store $0 offset=16 i32.const 2544 i32.const 13392 i32.const 14496 @@ -17663,10 +15882,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14736 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14736 call $~lib/string/String.__eq @@ -17679,16 +15895,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14768 - i32.store $0 offset=8 - local.get $0 - i32.const 14800 - i32.store $0 offset=12 - local.get $0 - i32.const 14496 - i32.store $0 offset=16 i32.const 14768 i32.const 14800 i32.const 14496 @@ -17696,10 +15902,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14832 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14832 call $~lib/string/String.__eq @@ -17712,16 +15915,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2912 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 2336 i32.const 2912 i32.const 4592 @@ -17729,10 +15922,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2336 call $~lib/string/String.__eq @@ -17745,16 +15935,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2912 - i32.store $0 offset=8 - local.get $0 - i32.const 14864 - i32.store $0 offset=12 - local.get $0 - i32.const 14496 - i32.store $0 offset=16 i32.const 2912 i32.const 14864 i32.const 14496 @@ -17762,10 +15942,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2912 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2912 call $~lib/string/String.__eq @@ -17778,16 +15955,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 14896 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 2336 i32.const 14896 i32.const 4592 @@ -17795,10 +15962,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14928 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14928 call $~lib/string/String.__eq @@ -17811,16 +15975,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13392 - i32.store $0 offset=8 - local.get $0 - i32.const 13392 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 13392 i32.const 13392 i32.const 4592 @@ -17828,10 +15982,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4592 call $~lib/string/String.__eq @@ -17844,16 +15995,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14304 - i32.store $0 offset=8 - local.get $0 - i32.const 4560 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 14304 i32.const 4560 i32.const 4592 @@ -17861,10 +16002,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14960 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14960 call $~lib/string/String.__eq @@ -17877,16 +16015,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 1712 i32.const 1712 i32.const 1712 @@ -17894,10 +16022,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -17910,16 +16035,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 1712 i32.const 1712 i32.const 4592 @@ -17927,10 +16042,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4592 call $~lib/string/String.__eq @@ -17943,16 +16055,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4592 - i32.store $0 offset=8 - local.get $0 - i32.const 4592 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 4592 i32.const 4592 i32.const 1712 @@ -17960,10 +16062,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -17976,16 +16075,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4592 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 4592 i32.const 1712 i32.const 1712 @@ -17993,10 +16082,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4592 call $~lib/string/String.__eq @@ -18009,16 +16095,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=12 - local.get $0 - i32.const 4560 - i32.store $0 offset=16 i32.const 2336 i32.const 2336 i32.const 4560 @@ -18026,10 +16102,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4560 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4560 call $~lib/string/String.__eq @@ -18042,16 +16115,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2816 - i32.store $0 offset=12 - local.get $0 - i32.const 4560 - i32.store $0 offset=16 i32.const 2336 i32.const 2816 i32.const 4560 @@ -18059,10 +16122,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2336 call $~lib/string/String.__eq @@ -18075,16 +16135,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 i32.const 2336 i32.const 1712 i32.const 4592 @@ -18092,10 +16142,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14992 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14992 call $~lib/string/String.__eq @@ -18108,16 +16155,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 i32.const 2336 i32.const 1712 i32.const 1712 @@ -18125,10 +16162,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2336 call $~lib/string/String.__eq @@ -18141,16 +16175,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15040 - i32.store $0 offset=8 - local.get $0 - i32.const 1808 - i32.store $0 offset=12 - local.get $0 - i32.const 15072 - i32.store $0 offset=16 i32.const 15040 i32.const 1808 i32.const 15072 @@ -18158,10 +16182,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15104 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15104 call $~lib/string/String.__eq @@ -18174,16 +16195,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13392 - i32.store $0 offset=8 - local.get $0 - i32.const 13392 - i32.store $0 offset=12 - local.get $0 - i32.const 15152 - i32.store $0 offset=16 i32.const 13392 i32.const 13392 i32.const 15152 @@ -18191,10 +16202,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15152 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15152 call $~lib/string/String.__eq @@ -18207,16 +16215,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14112 - i32.store $0 offset=8 - local.get $0 - i32.const 1808 - i32.store $0 offset=12 - local.get $0 - i32.const 15184 - i32.store $0 offset=16 i32.const 14112 i32.const 1808 i32.const 15184 @@ -18224,10 +16222,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15216 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15216 call $~lib/string/String.__eq @@ -18240,16 +16235,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14112 - i32.store $0 offset=8 - local.get $0 - i32.const 13840 - i32.store $0 offset=12 - local.get $0 - i32.const 15072 - i32.store $0 offset=16 i32.const 14112 i32.const 13840 i32.const 15072 @@ -18257,10 +16242,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15264 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15264 call $~lib/string/String.__eq @@ -18277,7 +16259,7 @@ global.set $std/string/str global.get $~lib/memory/__stack_pointer i32.const 15296 - i32.store $0 offset=8 + i32.store offset=4 i32.const 1 global.set $~argumentsLength i32.const 15296 @@ -18286,10 +16268,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15296 call $~lib/string/String.__eq @@ -18305,7 +16284,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $0 @@ -18314,10 +16293,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15344 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15344 call $~lib/string/String.__eq @@ -18333,7 +16309,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $0 @@ -18342,10 +16318,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15376 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15376 call $~lib/string/String.__eq @@ -18361,7 +16334,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 i32.const 7 @@ -18369,10 +16342,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15408 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15408 call $~lib/string/String.__eq @@ -18388,7 +16358,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const -11 i32.const -6 @@ -18396,10 +16366,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15440 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15440 call $~lib/string/String.__eq @@ -18415,7 +16382,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 4 i32.const 3 @@ -18423,10 +16390,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -18442,7 +16406,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 i32.const -1 @@ -18450,10 +16414,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15472 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15472 call $~lib/string/String.__eq @@ -18469,7 +16430,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $0 @@ -18478,10 +16439,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15296 call $~lib/string/String.__eq @@ -18497,7 +16455,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $0 @@ -18506,10 +16464,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15344 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15344 call $~lib/string/String.__eq @@ -18525,7 +16480,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $0 @@ -18534,10 +16489,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15376 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15376 call $~lib/string/String.__eq @@ -18553,7 +16505,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 i32.const 7 @@ -18561,10 +16513,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15520 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15520 call $~lib/string/String.__eq @@ -18580,7 +16529,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const -11 i32.const -6 @@ -18588,10 +16537,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -18607,7 +16553,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 4 i32.const 3 @@ -18615,10 +16561,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15568 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15568 call $~lib/string/String.__eq @@ -18634,7 +16577,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 i32.const -1 @@ -18642,10 +16585,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -18661,7 +16601,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 i32.const 100 @@ -18669,10 +16609,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15296 call $~lib/string/String.__eq @@ -18688,7 +16625,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 4 i32.const 4 @@ -18696,10 +16633,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15600 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15600 call $~lib/string/String.__eq @@ -18715,7 +16649,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 4 i32.const -3 @@ -18723,10 +16657,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -18742,7 +16673,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $0 @@ -18751,10 +16682,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15296 call $~lib/string/String.__eq @@ -18770,7 +16698,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $0 @@ -18779,10 +16707,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15296 call $~lib/string/String.__eq @@ -18798,7 +16723,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $0 @@ -18807,10 +16732,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15296 call $~lib/string/String.__eq @@ -18826,7 +16748,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 i32.const 7 @@ -18834,10 +16756,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15408 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15408 call $~lib/string/String.__eq @@ -18853,7 +16772,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const -11 i32.const -6 @@ -18861,10 +16780,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -18880,7 +16796,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 4 i32.const 3 @@ -18888,10 +16804,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15632 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15632 call $~lib/string/String.__eq @@ -18907,7 +16820,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 i32.const -1 @@ -18915,10 +16828,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -18934,7 +16844,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 i32.const 100 @@ -18942,10 +16852,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15296 call $~lib/string/String.__eq @@ -18961,7 +16868,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 4 i32.const 4 @@ -18969,10 +16876,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -18988,7 +16892,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/string/str local.tee $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 4 i32.const -3 @@ -18996,10 +16900,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2912 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2912 call $~lib/string/String.__eq @@ -19012,21 +16913,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 i32.const 0 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.const 0 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 1 @@ -19034,17 +16931,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -19060,24 +16954,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.const 1712 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length if @@ -19088,24 +16975,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1712 i32.const 2624 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 1 @@ -19113,17 +16993,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -19139,24 +17016,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15840 - i32.store $0 - local.get $0 - i32.const 7632 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 15840 i32.const 7632 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 1 @@ -19164,17 +17034,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15840 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 15840 call $~lib/string/String.__eq @@ -19190,24 +17057,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15840 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 15840 i32.const 2624 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 3 @@ -19215,18 +17075,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1808 call $~lib/string/String.__eq else @@ -19235,18 +17092,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 13360 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 13360 call $~lib/string/String.__eq else @@ -19255,17 +17109,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14464 call $~lib/string/String.__eq @@ -19281,24 +17132,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15872 - i32.store $0 - local.get $0 - i32.const 15920 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 15872 i32.const 15920 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 3 @@ -19306,18 +17150,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1808 call $~lib/string/String.__eq else @@ -19326,18 +17167,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 13360 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 13360 call $~lib/string/String.__eq else @@ -19346,17 +17184,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14464 call $~lib/string/String.__eq @@ -19372,24 +17207,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15952 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 15952 i32.const 2624 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 4 @@ -19397,18 +17225,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1808 call $~lib/string/String.__eq else @@ -19417,18 +17242,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 13360 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 13360 call $~lib/string/String.__eq else @@ -19437,18 +17259,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1712 call $~lib/string/String.__eq else @@ -19457,17 +17276,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14464 call $~lib/string/String.__eq @@ -19483,24 +17299,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15984 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 15984 i32.const 2624 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 4 @@ -19508,18 +17317,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1712 call $~lib/string/String.__eq else @@ -19528,18 +17334,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1808 call $~lib/string/String.__eq else @@ -19548,18 +17351,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 13360 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 13360 call $~lib/string/String.__eq else @@ -19568,17 +17368,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14464 call $~lib/string/String.__eq @@ -19594,24 +17391,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 16016 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 16016 i32.const 2624 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 4 @@ -19619,18 +17409,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1808 call $~lib/string/String.__eq else @@ -19639,18 +17426,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 13360 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 13360 call $~lib/string/String.__eq else @@ -19659,18 +17443,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 14464 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 14464 call $~lib/string/String.__eq else @@ -19679,17 +17460,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -19705,24 +17483,17 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 i32.const 1 global.set $~argumentsLength - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 2336 i32.const 1712 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 3 @@ -19730,18 +17501,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1808 call $~lib/string/String.__eq else @@ -19750,18 +17518,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 13360 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 13360 call $~lib/string/String.__eq else @@ -19770,17 +17535,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14464 call $~lib/string/String.__eq @@ -19797,22 +17559,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - local.get $0 i32.const 2336 i32.const 1712 i32.const 0 call $~lib/string/String#split local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length if @@ -19824,22 +17579,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - local.get $0 i32.const 2336 i32.const 1712 i32.const 1 call $~lib/string/String#split local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 1 @@ -19847,17 +17595,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1808 call $~lib/string/String.__eq @@ -19874,22 +17619,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15840 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - local.get $0 i32.const 15840 i32.const 2624 i32.const 1 call $~lib/string/String#split local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 1 @@ -19897,17 +17635,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1808 call $~lib/string/String.__eq @@ -19924,22 +17659,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - local.get $0 i32.const 2336 i32.const 1712 i32.const 4 call $~lib/string/String#split local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 3 @@ -19947,18 +17675,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1808 call $~lib/string/String.__eq else @@ -19967,18 +17692,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 13360 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 13360 call $~lib/string/String.__eq else @@ -19987,17 +17709,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14464 call $~lib/string/String.__eq @@ -20014,22 +17733,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - local.get $0 i32.const 2336 i32.const 1712 i32.const -1 call $~lib/string/String#split local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 3 @@ -20037,18 +17749,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1808 call $~lib/string/String.__eq else @@ -20057,18 +17766,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 13360 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 13360 call $~lib/string/String.__eq else @@ -20077,17 +17783,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14464 call $~lib/string/String.__eq @@ -20104,22 +17807,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15840 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - local.get $0 i32.const 15840 i32.const 2624 i32.const -1 call $~lib/string/String#split local.tee $0 - i32.store $0 offset=92 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/array/Array#get:length i32.const 3 @@ -20127,18 +17823,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 1808 call $~lib/string/String.__eq else @@ -20147,18 +17840,15 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 13360 - i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.store + local.get $4 i32.const 13360 call $~lib/string/String.__eq else @@ -20167,17 +17857,14 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14464 call $~lib/string/String.__eq @@ -20198,12 +17885,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3392 call $~lib/string/String.__eq @@ -20221,12 +17904,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3456 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3456 call $~lib/string/String.__eq @@ -20244,12 +17923,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17792 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17792 call $~lib/string/String.__eq @@ -20267,12 +17942,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17824 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17824 call $~lib/string/String.__eq @@ -20290,12 +17961,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 2400 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2400 call $~lib/string/String.__eq @@ -20313,12 +17980,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17856 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17856 call $~lib/string/String.__eq @@ -20336,12 +17999,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 14000 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14000 call $~lib/string/String.__eq @@ -20359,12 +18018,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17888 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17888 call $~lib/string/String.__eq @@ -20382,12 +18037,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17920 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17920 call $~lib/string/String.__eq @@ -20405,12 +18056,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17952 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17952 call $~lib/string/String.__eq @@ -20428,12 +18075,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18000 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18000 call $~lib/string/String.__eq @@ -20451,12 +18094,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18048 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18048 call $~lib/string/String.__eq @@ -20474,12 +18113,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18096 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18096 call $~lib/string/String.__eq @@ -20497,12 +18132,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18144 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18144 call $~lib/string/String.__eq @@ -20520,12 +18151,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18192 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18192 call $~lib/string/String.__eq @@ -20543,12 +18170,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18240 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18240 call $~lib/string/String.__eq @@ -20566,12 +18189,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18288 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18288 call $~lib/string/String.__eq @@ -20589,12 +18208,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18320 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18320 call $~lib/string/String.__eq @@ -20612,12 +18227,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18352 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18352 call $~lib/string/String.__eq @@ -20635,12 +18246,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18240 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18240 call $~lib/string/String.__eq @@ -20658,12 +18265,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3392 call $~lib/string/String.__eq @@ -20681,12 +18284,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18384 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18384 call $~lib/string/String.__eq @@ -20704,12 +18303,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18192 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18192 call $~lib/string/String.__eq @@ -20727,12 +18322,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18416 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18416 call $~lib/string/String.__eq @@ -20750,12 +18341,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18464 call $~lib/string/String.__eq @@ -20773,12 +18360,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3392 call $~lib/string/String.__eq @@ -20796,12 +18379,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3456 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3456 call $~lib/string/String.__eq @@ -20819,12 +18398,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17792 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17792 call $~lib/string/String.__eq @@ -20842,12 +18417,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 14464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14464 call $~lib/string/String.__eq @@ -20865,12 +18436,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18512 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18512 call $~lib/string/String.__eq @@ -20888,12 +18455,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18544 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18544 call $~lib/string/String.__eq @@ -20911,12 +18474,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18576 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18576 call $~lib/string/String.__eq @@ -20934,12 +18493,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18608 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18608 call $~lib/string/String.__eq @@ -20957,12 +18512,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18640 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18640 call $~lib/string/String.__eq @@ -20980,12 +18531,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18672 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18672 call $~lib/string/String.__eq @@ -21003,12 +18550,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18704 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18704 call $~lib/string/String.__eq @@ -21026,12 +18569,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18736 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18736 call $~lib/string/String.__eq @@ -21049,12 +18588,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18784 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18784 call $~lib/string/String.__eq @@ -21072,12 +18607,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18832 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18832 call $~lib/string/String.__eq @@ -21095,12 +18626,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18880 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18880 call $~lib/string/String.__eq @@ -21118,12 +18645,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18928 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18928 call $~lib/string/String.__eq @@ -21141,12 +18664,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3392 call $~lib/string/String.__eq @@ -21164,12 +18683,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17856 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17856 call $~lib/string/String.__eq @@ -21187,12 +18702,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18832 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18832 call $~lib/string/String.__eq @@ -21210,12 +18721,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18976 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18976 call $~lib/string/String.__eq @@ -21233,12 +18740,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19024 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19024 call $~lib/string/String.__eq @@ -21256,12 +18759,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19072 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19072 call $~lib/string/String.__eq @@ -21279,12 +18778,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19072 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19072 call $~lib/string/String.__eq @@ -21302,12 +18797,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3392 call $~lib/string/String.__eq @@ -21325,12 +18816,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3456 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3456 call $~lib/string/String.__eq @@ -21348,12 +18835,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 13904 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 13904 call $~lib/string/String.__eq @@ -21371,12 +18854,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19120 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19120 call $~lib/string/String.__eq @@ -21394,12 +18873,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19152 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19152 call $~lib/string/String.__eq @@ -21417,12 +18892,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19184 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19184 call $~lib/string/String.__eq @@ -21440,12 +18911,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19216 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19216 call $~lib/string/String.__eq @@ -21463,12 +18930,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19248 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19248 call $~lib/string/String.__eq @@ -21486,12 +18949,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19296 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19296 call $~lib/string/String.__eq @@ -21509,12 +18968,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19376 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19376 call $~lib/string/String.__eq @@ -21532,12 +18987,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19472 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19472 call $~lib/string/String.__eq @@ -21555,12 +19006,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19568 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19568 call $~lib/string/String.__eq @@ -21578,12 +19025,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19664 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19664 call $~lib/string/String.__eq @@ -21601,12 +19044,8 @@ call $~lib/util/number/itoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19760 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19760 call $~lib/string/String.__eq @@ -21624,12 +19063,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19808 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19808 call $~lib/string/String.__eq @@ -21647,12 +19082,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19872 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19872 call $~lib/string/String.__eq @@ -21670,12 +19101,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19936 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19936 call $~lib/string/String.__eq @@ -21693,12 +19120,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19984 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19984 call $~lib/string/String.__eq @@ -21716,12 +19139,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20032 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20032 call $~lib/string/String.__eq @@ -21739,12 +19158,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20080 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20080 call $~lib/string/String.__eq @@ -21762,12 +19177,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20128 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20128 call $~lib/string/String.__eq @@ -21785,12 +19196,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20176 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20176 call $~lib/string/String.__eq @@ -21808,12 +19215,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20224 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20224 call $~lib/string/String.__eq @@ -21831,12 +19234,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20272 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20272 call $~lib/string/String.__eq @@ -21854,12 +19253,8 @@ call $~lib/util/number/utoa32 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20320 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20320 call $~lib/string/String.__eq @@ -21877,12 +19272,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3392 call $~lib/string/String.__eq @@ -21900,12 +19291,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17824 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17824 call $~lib/string/String.__eq @@ -21923,12 +19310,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 2400 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2400 call $~lib/string/String.__eq @@ -21946,12 +19329,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 14000 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14000 call $~lib/string/String.__eq @@ -21969,12 +19348,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17888 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17888 call $~lib/string/String.__eq @@ -21992,12 +19367,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 17920 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 17920 call $~lib/string/String.__eq @@ -22015,12 +19386,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18000 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18000 call $~lib/string/String.__eq @@ -22038,12 +19405,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20368 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20368 call $~lib/string/String.__eq @@ -22061,12 +19424,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20416 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20416 call $~lib/string/String.__eq @@ -22084,12 +19443,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18464 call $~lib/string/String.__eq @@ -22107,12 +19462,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20464 call $~lib/string/String.__eq @@ -22130,12 +19481,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20512 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20512 call $~lib/string/String.__eq @@ -22153,12 +19500,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20560 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20560 call $~lib/string/String.__eq @@ -22176,12 +19519,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20608 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20608 call $~lib/string/String.__eq @@ -22199,12 +19538,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20656 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20656 call $~lib/string/String.__eq @@ -22222,12 +19557,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20704 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20704 call $~lib/string/String.__eq @@ -22245,12 +19576,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20768 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20768 call $~lib/string/String.__eq @@ -22268,12 +19595,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20832 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20832 call $~lib/string/String.__eq @@ -22291,12 +19614,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20896 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20896 call $~lib/string/String.__eq @@ -22314,12 +19633,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20960 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20960 call $~lib/string/String.__eq @@ -22337,12 +19652,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21024 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21024 call $~lib/string/String.__eq @@ -22360,12 +19671,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3392 call $~lib/string/String.__eq @@ -22383,12 +19690,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21088 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21088 call $~lib/string/String.__eq @@ -22406,12 +19709,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18464 call $~lib/string/String.__eq @@ -22429,12 +19728,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20464 call $~lib/string/String.__eq @@ -22452,12 +19747,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21120 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21120 call $~lib/string/String.__eq @@ -22475,12 +19766,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 20512 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 20512 call $~lib/string/String.__eq @@ -22498,12 +19785,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21168 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21168 call $~lib/string/String.__eq @@ -22521,12 +19804,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21216 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21216 call $~lib/string/String.__eq @@ -22544,12 +19823,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21264 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21264 call $~lib/string/String.__eq @@ -22567,12 +19842,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21328 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21328 call $~lib/string/String.__eq @@ -22590,12 +19861,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21392 call $~lib/string/String.__eq @@ -22613,12 +19880,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21456 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21456 call $~lib/string/String.__eq @@ -22636,12 +19899,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3392 call $~lib/string/String.__eq @@ -22659,12 +19918,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3456 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3456 call $~lib/string/String.__eq @@ -22682,12 +19937,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 14464 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 14464 call $~lib/string/String.__eq @@ -22705,12 +19956,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18544 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18544 call $~lib/string/String.__eq @@ -22728,12 +19975,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 18640 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 18640 call $~lib/string/String.__eq @@ -22751,12 +19994,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21520 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21520 call $~lib/string/String.__eq @@ -22774,12 +20013,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21568 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21568 call $~lib/string/String.__eq @@ -22797,12 +20032,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21616 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21616 call $~lib/string/String.__eq @@ -22820,12 +20051,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21664 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21664 call $~lib/string/String.__eq @@ -22843,12 +20070,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21712 call $~lib/string/String.__eq @@ -22866,12 +20089,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21760 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21760 call $~lib/string/String.__eq @@ -22889,12 +20108,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21824 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21824 call $~lib/string/String.__eq @@ -22912,12 +20127,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21888 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21888 call $~lib/string/String.__eq @@ -22935,12 +20146,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 21952 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 21952 call $~lib/string/String.__eq @@ -22958,12 +20165,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22016 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22016 call $~lib/string/String.__eq @@ -22981,12 +20184,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22080 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22080 call $~lib/string/String.__eq @@ -23004,12 +20203,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22080 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22080 call $~lib/string/String.__eq @@ -23027,12 +20222,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3392 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3392 call $~lib/string/String.__eq @@ -23050,12 +20241,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 3456 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3456 call $~lib/string/String.__eq @@ -23073,12 +20260,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19120 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19120 call $~lib/string/String.__eq @@ -23096,12 +20279,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19152 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19152 call $~lib/string/String.__eq @@ -23119,12 +20298,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19216 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19216 call $~lib/string/String.__eq @@ -23142,12 +20317,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19248 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19248 call $~lib/string/String.__eq @@ -23165,12 +20336,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 19664 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 19664 call $~lib/string/String.__eq @@ -23188,12 +20355,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22144 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22144 call $~lib/string/String.__eq @@ -23211,12 +20374,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22272 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22272 call $~lib/string/String.__eq @@ -23234,12 +20393,8 @@ call $~lib/util/number/itoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22432 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22432 call $~lib/string/String.__eq @@ -23257,12 +20412,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22528 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22528 call $~lib/string/String.__eq @@ -23280,12 +20431,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22640 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22640 call $~lib/string/String.__eq @@ -23303,12 +20450,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22736 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22736 call $~lib/string/String.__eq @@ -23326,12 +20469,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22816 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22816 call $~lib/string/String.__eq @@ -23349,12 +20488,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22880 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22880 call $~lib/string/String.__eq @@ -23372,12 +20507,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 22944 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 22944 call $~lib/string/String.__eq @@ -23395,12 +20526,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 23008 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 23008 call $~lib/string/String.__eq @@ -23418,12 +20545,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 23072 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 23072 call $~lib/string/String.__eq @@ -23441,12 +20564,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 23136 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 23136 call $~lib/string/String.__eq @@ -23464,12 +20583,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 23184 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 23184 call $~lib/string/String.__eq @@ -23487,12 +20602,8 @@ call $~lib/util/number/utoa64 local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 23232 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 23232 call $~lib/string/String.__eq @@ -23506,15 +20617,11 @@ unreachable end f64.const 0 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 23280 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 23280 call $~lib/string/String.__eq @@ -23528,15 +20635,11 @@ unreachable end f64.const -0 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 23280 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 23280 call $~lib/string/String.__eq @@ -23544,307 +20647,323 @@ if i32.const 0 i32.const 1120 - i32.const 737 + i32.const 737 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 7696 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 738 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const inf + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 23312 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 739 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 8960 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 740 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 2.220446049250313e-16 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 8176 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 741 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - call $~lib/util/number/dtoa + f64.const -2.220446049250313e-16 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 7696 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 7696 + i32.const 24336 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 738 + i32.const 742 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - call $~lib/util/number/dtoa + f64.const 1797693134862315708145274e284 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 23312 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 23312 + i32.const 8240 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 739 + i32.const 743 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -inf - call $~lib/util/number/dtoa + f64.const -1797693134862315708145274e284 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 8960 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 8960 + i32.const 24400 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 740 + i32.const 744 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.220446049250313e-16 - call $~lib/util/number/dtoa + f32.const 1.1920928955078125e-07 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 8176 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 8176 + i32.const 24480 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 741 + i32.const 745 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -2.220446049250313e-16 - call $~lib/util/number/dtoa + f32.const -1.1920928955078125e-07 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24336 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24336 + i32.const 24528 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 742 + i32.const 746 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1797693134862315708145274e284 - call $~lib/util/number/dtoa + f32.const 3402823466385288598117041e14 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 8240 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 8240 + i32.const 24576 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 743 + i32.const 747 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1797693134862315708145274e284 - call $~lib/util/number/dtoa + f32.const -3402823466385288598117041e14 + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24400 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24400 + i32.const 24624 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 744 + i32.const 748 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4185580496821356722454785e274 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24480 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24480 + i32.const 24672 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 745 + i32.const 749 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.2250738585072014e-308 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24544 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24544 + i32.const 24736 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 746 + i32.const 750 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4.940656e-318 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24624 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24624 + i32.const 24816 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 749 + i32.const 751 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9060801153433600 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24672 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24672 + i32.const 24864 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 750 + i32.const 752 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 4708356024711512064 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24736 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24736 + i32.const 24928 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 751 + i32.const 753 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 9409340012568248320 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24800 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24800 + i32.const 24992 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 752 + i32.const 754 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 5e-324 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 8320 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 8320 call $~lib/string/String.__eq @@ -23852,43 +20971,35 @@ if i32.const 0 i32.const 1120 - i32.const 753 + i32.const 755 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24864 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24864 + i32.const 25056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 759 + i32.const 757 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.1 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 5280 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 5280 call $~lib/string/String.__eq @@ -23896,197 +21007,161 @@ if i32.const 0 i32.const 1120 - i32.const 760 + i32.const 758 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24896 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24896 + i32.const 25088 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 761 + i32.const 759 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -0.1 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24928 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24928 + i32.const 25120 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 762 + i32.const 760 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e6 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24960 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24960 + i32.const 25152 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 764 + i32.const 762 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-06 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25008 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25008 + i32.const 25200 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 765 + i32.const 763 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e6 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25056 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25056 + i32.const 25248 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 766 + i32.const 764 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e-06 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25104 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25104 + i32.const 25296 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 767 + i32.const 765 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e7 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25152 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25152 + i32.const 25344 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 768 + i32.const 766 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-07 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25200 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25200 + i32.const 25392 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 769 + i32.const 767 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.e+308 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 5568 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 5568 call $~lib/string/String.__eq @@ -24094,43 +21169,35 @@ if i32.const 0 i32.const 1120 - i32.const 771 + i32.const 769 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1.e+308 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25232 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25232 + i32.const 25424 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 772 + i32.const 770 i32.const 1 call $~lib/builtins/abort unreachable end f64.const inf - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 23312 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 23312 call $~lib/string/String.__eq @@ -24138,21 +21205,17 @@ if i32.const 0 i32.const 1120 - i32.const 773 + i32.const 771 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -inf - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 8960 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 8960 call $~lib/string/String.__eq @@ -24160,109 +21223,89 @@ if i32.const 0 i32.const 1120 - i32.const 774 + i32.const 772 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-308 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25280 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25280 + i32.const 25472 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 775 + i32.const 773 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e-308 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25312 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25312 + i32.const 25504 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 776 + i32.const 774 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1e-323 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25360 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25360 + i32.const 25552 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 777 + i32.const 775 i32.const 1 call $~lib/builtins/abort unreachable end f64.const -1e-323 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25392 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25392 + i32.const 25584 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 778 + i32.const 776 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 23280 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 23280 call $~lib/string/String.__eq @@ -24270,445 +21313,373 @@ if i32.const 0 i32.const 1120 - i32.const 779 + i32.const 777 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 26636 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store f64.const 4294967272 - call $~lib/util/number/dtoa + i32.const 0 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25440 - i32.store $0 offset=4 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store + local.get $4 + i32.const 23344 local.get $0 - i32.const 25440 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + i32.const 25632 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 781 + i32.const 779 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.2312145673456234e-08 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25488 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25488 + i32.const 25680 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 782 + i32.const 780 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 555555555.5555556 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25552 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25552 + i32.const 25744 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 784 + i32.const 781 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.9999999999999999 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25616 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25616 + i32.const 25808 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 785 + i32.const 782 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 24864 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 24864 + i32.const 25056 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 786 + i32.const 783 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 12.34 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25680 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25680 + i32.const 25872 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 787 + i32.const 784 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.3333333333333333 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25712 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25712 + i32.const 25904 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 789 + i32.const 785 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1234e17 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25776 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25776 + i32.const 25968 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 790 + i32.const 786 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1234e18 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25856 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25856 + i32.const 26048 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 791 + i32.const 787 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 2.71828 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25904 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25904 + i32.const 26096 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 792 + i32.const 788 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.0271828 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 25952 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 25952 + i32.const 26144 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 793 + i32.const 789 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 271.828 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 26000 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 26000 + i32.const 26192 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 794 + i32.const 790 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.1e+128 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 26048 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 26048 + i32.const 26240 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 795 + i32.const 791 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 1.1e-64 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 26096 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 26096 + i32.const 26288 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 796 + i32.const 792 i32.const 1 call $~lib/builtins/abort unreachable end f64.const 0.000035689 - call $~lib/util/number/dtoa + call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 26144 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 26144 + i32.const 26336 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 797 + i32.const 793 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26192 - i32.store $0 offset=8 - local.get $0 - i32.const 26224 - i32.store $0 offset=12 - i32.const 26192 - i32.const 26224 + i32.const 26384 + i32.const 26416 call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 26256 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 26256 + i32.const 26448 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 802 + i32.const 820 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 26304 - i32.store $0 offset=12 i32.const 1712 - i32.const 26304 + i32.const 26496 call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 26304 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 26304 + i32.const 26496 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 803 + i32.const 821 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26304 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - i32.const 26304 + i32.const 26496 i32.const 1712 call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 26304 - i32.store $0 offset=4 + i32.store local.get $0 - i32.const 26304 + i32.const 26496 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 804 + i32.const 822 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 i32.const 1712 i32.const 1712 call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1712 call $~lib/string/String.__eq @@ -24716,90 +21687,62 @@ if i32.const 0 i32.const 1120 - i32.const 805 + i32.const 823 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26336 - i32.store $0 - local.get $0 - i32.const 26336 - i32.store $0 offset=4 - i32.const 26336 - i32.const 26336 + i32.const 26528 + i32.const 26528 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 816 + i32.const 831 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26336 - i32.store $0 - local.get $0 - i32.const 26336 - i32.store $0 offset=4 - i32.const 26336 - i32.const 26336 + i32.const 26528 + i32.const 26528 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 817 + i32.const 832 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26368 - i32.store $0 - local.get $0 - i32.const 26368 - i32.store $0 offset=4 - i32.const 26368 - i32.const 26368 + i32.const 26560 + i32.const 26560 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 818 + i32.const 833 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26400 - i32.store $0 - local.get $0 - i32.const 26400 - i32.store $0 offset=4 - i32.const 26400 - i32.const 26400 + i32.const 26592 + i32.const 26592 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 819 + i32.const 834 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 global.set $std/string/str - i32.const 59212 + i32.const 59404 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state i32.const 0 @@ -24835,13 +21778,13 @@ i32.add global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 76 i32.add global.set $~lib/memory/__stack_pointer return end - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -24855,21 +21798,20 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2 local.get $1 i32.const 0 @@ -24879,15 +21821,15 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store local.get $2 local.get $0 - i32.store16 $0 + i32.store16 local.get $3 if local.get $2 local.get $1 - i32.store16 $0 offset=2 + i32.store16 offset=2 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24904,20 +21846,20 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 i32.const 2 i32.shl @@ -24930,33 +21872,29 @@ local.get $3 local.get $2 local.get $4 - memory.copy $0 $0 + memory.copy end - local.get $5 local.get $3 - i32.store $0 + i32.store i32.const 16 local.get $1 call $~lib/rt/itcms/__new local.tee $1 local.get $3 - i32.store $0 + i32.store + local.get $1 local.get $3 - if - local.get $1 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link local.get $1 local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -24971,21 +21909,20 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2 local.get $0 i32.const 65535 @@ -24995,7 +21932,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store local.get $2 if local.get $0 @@ -25026,11 +21963,11 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store else local.get $1 local.get $0 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25050,11 +21987,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -25062,7 +21999,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.lt_s @@ -25159,7 +22096,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store local.get $0 local.get $4 i32.add @@ -25188,7 +22125,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store local.get $0 local.get $4 i32.add @@ -25217,8 +22154,8 @@ i32.shl i32.const 16640 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $3 i64.const 8 i64.shr_u @@ -25237,12 +22174,12 @@ i32.shl i32.const 16640 i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end else global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/util/number/ulog_base (result i32) + block $__inlined_func$~lib/util/number/ulog_base$171 (result i32) local.get $2 i64.extend_i32_u local.set $5 @@ -25263,7 +22200,7 @@ i32.div_u i32.const 1 i32.add - br $__inlined_func$~lib/util/number/ulog_base + br $__inlined_func$~lib/util/number/ulog_base$171 end local.get $1 i64.extend_i32_s @@ -25319,7 +22256,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store local.get $0 local.get $4 i32.add @@ -25334,7 +22271,7 @@ if local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25353,11 +22290,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -25365,7 +22302,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.lt_s @@ -25448,7 +22385,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store local.get $2 local.get $0 local.get $1 @@ -25473,7 +22410,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store local.get $0 i64.extend_i32_u local.set $3 @@ -25498,8 +22435,8 @@ i32.shl i32.const 16640 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $3 i64.const 8 i64.shr_u @@ -25518,12 +22455,12 @@ i32.shl i32.const 16640 i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end else global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/util/number/ulog_base (result i32) + block $__inlined_func$~lib/util/number/ulog_base$175 (result i32) local.get $0 i64.extend_i32_u local.set $4 @@ -25544,7 +22481,7 @@ i32.div_u i32.const 1 i32.add - br $__inlined_func$~lib/util/number/ulog_base + br $__inlined_func$~lib/util/number/ulog_base$175 end local.get $1 i64.extend_i32_s @@ -25598,7 +22535,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store local.get $2 local.get $0 i64.extend_i32_u @@ -25624,11 +22561,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -25636,7 +22573,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.lt_s @@ -25725,7 +22662,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $3 local.get $1 local.get $6 @@ -25788,7 +22725,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $3 local.get $0 local.get $1 @@ -25815,7 +22752,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store loop $while-continue|0 local.get $1 i32.const 2 @@ -25837,8 +22774,8 @@ i32.shl i32.const 16640 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $0 i64.const 8 i64.shr_u @@ -25857,12 +22794,12 @@ i32.shl i32.const 16640 i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end else global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/util/number/ulog_base (result i32) + block $__inlined_func$~lib/util/number/ulog_base$180 (result i32) local.get $0 local.set $2 local.get $1 @@ -25871,7 +22808,7 @@ i32.eq if i32.const 63 - local.get $2 + local.get $0 i64.clz i32.wrap_i64 i32.sub @@ -25882,7 +22819,7 @@ i32.div_u i32.const 1 i32.add - br $__inlined_func$~lib/util/number/ulog_base + br $__inlined_func$~lib/util/number/ulog_base$180 end local.get $1 i64.extend_i32_s @@ -25936,7 +22873,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $3 local.get $0 local.get $6 @@ -25962,11 +22899,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -25974,7 +22911,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.lt_s @@ -26078,7 +23015,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $3 local.get $4 i32.add @@ -26145,7 +23082,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $3 local.get $4 i32.add @@ -26176,7 +23113,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $3 local.get $4 i32.add @@ -26202,8 +23139,8 @@ i32.shl i32.const 16640 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $0 i64.const 8 i64.shr_u @@ -26222,12 +23159,12 @@ i32.shl i32.const 16640 i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end else global.get $~lib/memory/__stack_pointer - block $__inlined_func$~lib/util/number/ulog_base (result i32) + block $__inlined_func$~lib/util/number/ulog_base$185 (result i32) local.get $0 local.set $2 local.get $1 @@ -26236,7 +23173,7 @@ i32.eq if i32.const 63 - local.get $2 + local.get $0 i64.clz i32.wrap_i64 i32.sub @@ -26247,7 +23184,7 @@ i32.div_u i32.const 1 i32.add - br $__inlined_func$~lib/util/number/ulog_base + br $__inlined_func$~lib/util/number/ulog_base$185 end local.get $1 i64.extend_i32_s @@ -26303,7 +23240,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $3 local.get $4 i32.add @@ -26317,7 +23254,7 @@ if local.get $3 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26325,7 +23262,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $~lib/util/number/dtoa (param $0 f64) (result i32) + (func $~lib/util/number/dtoa (param $0 f64) (result i32) (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer @@ -26333,11 +23270,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 26444 + i32.const 26636 i32.lt_s if - i32.const 59232 - i32.const 59280 + i32.const 59424 + i32.const 59472 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -26345,139 +23282,131 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $0 - f64.const 0 - f64.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 23280 - return - end - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.ne - if + i32.store + i32.const 23280 + local.set $1 + block $~lib/util/number/dtoa_impl|inlined.0 + local.get $0 + f64.const 0 + f64.eq + br_if $~lib/util/number/dtoa_impl|inlined.0 local.get $0 local.get $0 + f64.sub + f64.const 0 f64.ne if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer i32.const 7696 - return + local.set $1 + local.get $0 + local.get $0 + f64.ne + br_if $~lib/util/number/dtoa_impl|inlined.0 + i32.const 8960 + i32.const 23312 + local.get $0 + f64.const 0 + f64.lt + select + local.set $1 + br $~lib/util/number/dtoa_impl|inlined.0 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8960 - i32.const 23312 local.get $0 - f64.const 0 - f64.lt - select - return + i32.const 0 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + local.get $1 + i32.const 23344 + local.get $2 + memory.copy end - local.get $0 - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 23344 - local.get $1 - memory.copy $0 $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 ) - (func $byn-split-outlined-A$~lib/rt/itcms/__visit (param $0 i32) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 + (func $~lib/util/number/dtoa (param $0 f32) (result i32) + (local $1 f64) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26636 + i32.lt_s if - local.get $0 - call $~lib/rt/itcms/Object#makeGray - global.get $~lib/rt/itcms/visitCount + i32.const 59424 + i32.const 59472 + i32.const 1 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1440 - i32.const 295 - i32.const 14 call $~lib/builtins/abort unreachable end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 23280 + local.set $2 + block $~lib/util/number/dtoa_impl|inlined.1 local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq + f64.promote_f32 + local.tee $1 + f64.const 0 + f64.eq + br_if $~lib/util/number/dtoa_impl|inlined.1 + local.get $1 + local.get $1 + f64.sub + f64.const 0 + f64.ne if - local.get $0 + i32.const 7696 + local.set $2 local.get $1 - local.get $2 + local.get $1 + f64.ne + br_if $~lib/util/number/dtoa_impl|inlined.1 + i32.const 8960 + i32.const 23312 + local.get $1 + f64.const 0 + f64.lt select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end + local.set $2 + br $~lib/util/number/dtoa_impl|inlined.1 end + local.get $1 + i32.const 1 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store + local.get $2 + i32.const 23344 + local.get $3 + memory.copy end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 ) ) diff --git a/tests/compiler/std/string.ts b/tests/compiler/std/string.ts index 3f3e281a4d..df5b2d5443 100644 --- a/tests/compiler/std/string.ts +++ b/tests/compiler/std/string.ts @@ -27,7 +27,7 @@ assert(String.fromCharCode(65600) == "@"); assert(String.fromCharCode(54) == "6"); assert(String.fromCharCode(0x10000 + 54) == "6"); assert(String.fromCharCode(0xD800, 0xDF00) == "𐌀"); -assert(String.fromCharCodes([0, 54]) == "\06"); +assert(String.fromCharCodes([0, 54]) == "\x006"); assert(String.fromCharCodes([65, 66, 67]) == "ABC"); assert(String.fromCharCodes([0xD834, 0xDF06, 0x61, 0xD834, 0xDF07]) == "\uD834\uDF06a\uD834\uDF07"); @@ -742,19 +742,17 @@ assert(dtoa(+f64.EPSILON) == "2.220446049250313e-16"); assert(dtoa(-f64.EPSILON) == "-2.220446049250313e-16"); assert(dtoa(+f64.MAX_VALUE) == "1.7976931348623157e+308"); assert(dtoa(-f64.MAX_VALUE) == "-1.7976931348623157e+308"); +assert(dtoa(+f32.EPSILON) == "1.1920929e-7"); +assert(dtoa(-f32.EPSILON) == "-1.1920929e-7"); +assert(dtoa(+f32.MAX_VALUE) == "3.4028235e+38"); +assert(dtoa(-f32.MAX_VALUE) == "-3.4028235e+38"); assert(dtoa(4.185580496821357e+298) == "4.185580496821357e+298"); assert(dtoa(2.2250738585072014e-308) == "2.2250738585072014e-308"); -// assert(dtoa(2.98023223876953125e-8) == "2.9802322387695312e-8"); // FIXME -// assert(dtoa(-2.109808898695963e+16) == "-21098088986959630.0"); // FIXME assert(dtoa(4.940656E-318) == "4.940656e-318"); assert(dtoa(9.0608011534336e+15) == "9060801153433600.0"); assert(dtoa(4.708356024711512e+18) == "4708356024711512000.0"); assert(dtoa(9.409340012568248e+18) == "9409340012568248000.0"); assert(dtoa(5e-324) == "5e-324"); -// Known imprecise issue for Grisu alghoritm. Need workaround -// Expeced: 1.2345e+21 -// Actual: 1.2344999999999999e+21 -// assert(dtoa(1.2345e+21) == "1.2345e+21"); assert(dtoa(1.0) == "1.0"); assert(dtoa(0.1) == "0.1"); @@ -780,12 +778,10 @@ assert(dtoa(1e-324) == "0.0"); assert(dtoa(4294967272) == "4294967272.0"); assert(dtoa(1.23121456734562345678e-8) == "1.2312145673456234e-8"); -// assert(dtoa(-0.0000010471975511965976) == "-0.0000010471975511965976"); // FIXME assert(dtoa(555555555.55555555) == "555555555.5555556"); assert(dtoa(0.9999999999999999) == "0.9999999999999999"); assert(dtoa(0.99999999999999995) == "1.0"); assert(dtoa(1234e-2) == "12.34"); -// assert(dtoa(0.1 + 0.2) == "0.30000000000000004"); // FIXME assert(dtoa(1.0 / 3.0) == "0.3333333333333333"); assert(dtoa(1.234e+20) == "123400000000000000000.0"); assert(dtoa(1.234e+21) == "1.234e+21"); @@ -796,6 +792,28 @@ assert(dtoa(1.1e+128) == "1.1e+128"); assert(dtoa(1.1e-64) == "1.1e-64"); assert(dtoa(0.000035689) == "0.000035689"); +// FIXME: The following are imprecise rounding issues for Grisu algorithm. Need workaround. + +// Expected: 1.2345e+21 +// Actual: 1.2344999999999999e+21 +// assert(dtoa(1.2345e+21) == "1.2345e+21"); + +// Expected: 2.98023223876953125e-8 +// Actual: 2.9802322387695315e-8 +// assert(dtoa(2.98023223876953125e-8) == "2.9802322387695312e-8"); + +// Expected: -2.109808898695963e+16 +// Actual: -21098088986959633.0 +// assert(dtoa(-2.109808898695963e+16) == "-21098088986959630.0"); + +// Expected: -0.0000010471975511965976 +// Actual: -0.0000010471975511965977 +// assert(dtoa(-0.0000010471975511965976) == "-0.0000010471975511965976"); + +// Expected: 0.30000000000000004 +// Actual: 0.30000000000000007 +// assert(dtoa(0.1 + 0.2) == "0.30000000000000004"); + // concat @@ -804,9 +822,6 @@ assert("".concat("bar") == "bar"); assert("bar".concat("") == "bar"); assert("".concat("") == ""); -// assert(dtoa(f32.MAX_VALUE) == "3.4028234663852886e+38"); // FIXME -// assert(dtoa(f32.EPSILON) == "1.1920928955078125e-7"); // FIXME - export function getString(): string { return str; } diff --git a/tests/compiler/std/symbol.debug.wat b/tests/compiler/std/symbol.debug.wat index b23a88be48..561a3a4b9a 100644 --- a/tests/compiler/std/symbol.debug.wat +++ b/tests/compiler/std/symbol.debug.wat @@ -1,14 +1,15 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result 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))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) + (type $10 (func (param i32 i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/symbol/nextId (mut i32) (i32.const 12)) (global $std/symbol/sym1 (mut i32) (i32.const 0)) @@ -47,40 +48,40 @@ (global $~lib/memory/__heap_base i32 (i32.const 34492)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s\00\00\00") - (data (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t\00\00\00\00\00\00\00\00\00") - (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 716) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\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\02\00\00\00\00\00\00\00\00\00\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\02\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00\00\00\00\00\00\00") - (data (i32.const 924) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00\00\00\00\00\00\00\00\00") - (data (i32.const 988) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00m\00a\00t\00c\00h\00\00\00") - (data (i32.const 1068) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") - (data (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00s\00p\00l\00i\00t\00\00\00") - (data (i32.const 1228) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00\00\00\00\00\00\00") - (data (i32.const 1276) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00\00\00\00\00\00\00") - (data (i32.const 1324) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00\00\00\00\00\00\00") - (data (i32.const 1372) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1420) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1452) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1500) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00\00\00\00\00\00\00") - (data (i32.const 1548) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)\00\00\00\00\00\00\00") - (data (i32.const 1612) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00\00\00\00\00\00\00\00\00") - (data (i32.const 1696) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") + (data $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s\00\00\00") + (data $2 (i32.const 92) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 156) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 400) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 428) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 492) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $11 (i32.const 540) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $12 (i32.const 604) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s\00\00\00\00\00\00\00") + (data $14 (i32.const 716) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 876) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00\00\00\00\00\00\00") + (data $17 (i32.const 924) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00\00\00\00\00\00\00\00\00") + (data $18 (i32.const 988) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00m\00a\00t\00c\00h\00\00\00") + (data $20 (i32.const 1068) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $21 (i32.const 1116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h\00") + (data $22 (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $23 (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00s\00p\00l\00i\00t\00\00\00") + (data $24 (i32.const 1228) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e\00\00\00\00\00\00\00") + (data $25 (i32.const 1276) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g\00\00\00\00\00\00\00") + (data $26 (i32.const 1324) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s\00\00\00\00\00\00\00") + (data $27 (i32.const 1372) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $28 (i32.const 1420) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") + (data $29 (i32.const 1452) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $30 (i32.const 1500) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)\00\00\00\00\00\00\00") + (data $31 (i32.const 1548) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)\00\00\00\00\00\00\00") + (data $32 (i32.const 1612) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)\00\00\00\00\00\00\00\00\00") + (data $33 (i32.const 1696) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -106,12 +107,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -125,7 +126,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -199,7 +200,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -269,11 +270,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -281,7 +282,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 304 @@ -413,7 +414,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -426,7 +427,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -442,34 +443,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -629,7 +630,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -652,7 +653,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -666,7 +667,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -689,7 +690,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -832,7 +833,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -918,7 +919,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -998,7 +999,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1032,7 +1033,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1055,7 +1056,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1069,27 +1070,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 448 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1114,9 +1120,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1135,7 +1141,7 @@ if i32.const 0 i32.const 448 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1154,7 +1160,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1168,7 +1173,7 @@ if i32.const 0 i32.const 448 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1224,12 +1229,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1263,7 +1268,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1284,7 +1289,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1304,7 +1309,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1324,7 +1329,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1350,7 +1355,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1373,9 +1378,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1411,7 +1417,7 @@ if i32.const 0 i32.const 448 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1677,14 +1683,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1740,7 +1749,7 @@ if i32.const 112 i32.const 448 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1749,6 +1758,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1778,24 +1807,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1833,7 +1851,7 @@ if i32.const 0 i32.const 448 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1848,7 +1866,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1893,7 +1911,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1904,7 +1922,7 @@ if i32.const 0 i32.const 448 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1926,7 +1944,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1949,7 +1967,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1968,22 +1986,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1996,7 +2006,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2023,27 +2033,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2068,7 +2079,7 @@ if i32.const 0 i32.const 448 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2183,7 +2194,7 @@ if i32.const 0 i32.const 448 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2203,7 +2214,7 @@ if i32.const 0 i32.const 448 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2236,12 +2247,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2292,7 +2303,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2364,47 +2375,47 @@ end end ) - (func $~lib/map/Map<~lib/string/String,usize>#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map<~lib/string/String,usize>#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map<~lib/string/String,usize>#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map<~lib/string/String,usize>#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map<~lib/string/String,usize>#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map<~lib/string/String,usize>#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map<~lib/string/String,usize>#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -2415,21 +2426,21 @@ i32.shr_u return ) - (func $~lib/map/Map<~lib/string/String,usize>#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry<~lib/string/String,usize>#get:key" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/util/string/compareImpl (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) @@ -2472,9 +2483,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2507,10 +2518,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2535,78 +2546,78 @@ i32.const 0 return ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry<~lib/string/String,usize>#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry<~lib/string/String,usize>#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map<~lib/string/String,usize>#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map<~lib/string/String,usize>#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry<~lib/string/String,usize>#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store $0 + i32.store ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) - (func $~lib/map/Map#set:buckets (param $this i32) (param $buckets i32) + (func $"~lib/map/Map#set:buckets" (param $this i32) (param $buckets i32) local.get $this local.get $buckets - i32.store $0 + i32.store local.get $this local.get $buckets i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (param $this i32) (param $bucketsMask i32) + (func $"~lib/map/Map#set:bucketsMask" (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#set:entries (param $this i32) (param $entries i32) + (func $"~lib/map/Map#set:entries" (param $this i32) (param $entries i32) local.get $this local.get $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (param $this i32) (param $entriesCapacity i32) + (func $"~lib/map/Map#set:entriesCapacity" (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity - i32.store $0 offset=12 + i32.store offset=12 ) - (func $~lib/map/Map#set:entriesOffset (param $this i32) (param $entriesOffset i32) + (func $"~lib/map/Map#set:entriesOffset" (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset - i32.store $0 offset=16 + i32.store offset=16 ) - (func $~lib/map/Map#set:entriesCount (param $this i32) (param $entriesCount i32) + (func $"~lib/map/Map#set:entriesCount" (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount - i32.store $0 offset=20 + i32.store offset=20 ) (func $~lib/util/hash/HASH (param $key i32) (result i32) (local $key|1 i32) @@ -2676,56 +2687,56 @@ end return ) - (func $~lib/map/Map#get:buckets (param $this i32) (result i32) + (func $"~lib/map/Map#get:buckets" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/Map#get:bucketsMask (param $this i32) (result i32) + (func $"~lib/map/Map#get:bucketsMask" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:taggedNext" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#get:key (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:key" (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) - (func $~lib/map/MapEntry#set:value (param $this i32) (param $value i32) + (func $"~lib/map/MapEntry#set:value" (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/map/Map#get:entriesOffset (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesOffset" (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCapacity" (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) - (func $~lib/map/Map#get:entriesCount (param $this i32) (result i32) + (func $"~lib/map/Map#get:entriesCount" (param $this i32) (result i32) local.get $this - i32.load $0 offset=20 + i32.load offset=20 ) - (func $~lib/map/Map#get:entries (param $this i32) (result i32) + (func $"~lib/map/Map#get:entries" (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) - (func $~lib/map/MapEntry#set:key (param $this i32) (param $key i32) + (func $"~lib/map/MapEntry#set:key" (param $this i32) (param $key i32) local.get $this local.get $key - i32.store $0 + i32.store ) - (func $~lib/map/MapEntry#get:value (param $this i32) (result i32) + (func $"~lib/map/MapEntry#get:value" (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (param $this i32) (param $taggedNext i32) + (func $"~lib/map/MapEntry#set:taggedNext" (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/__visit_globals (param $0 i32) (local $1 i32) @@ -2790,37 +2801,32 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) - (func $~lib/map/Map<~lib/string/String,usize>~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map<~lib/string/String,usize>~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map<~lib/string/String,usize>#__visit + call $"~lib/map/Map<~lib/string/String,usize>#__visit" ) - (func $~lib/map/Map~visit (param $0 i32) (param $1 i32) + (func $"~lib/map/Map~visit" (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/map/Map#__visit + call $"~lib/map/Map#__visit" ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid - block $~lib/map/Map - block $~lib/map/Map<~lib/string/String,usize> + block $"~lib/map/Map" + block $"~lib/map/Map<~lib/string/String,usize>" block $~lib/arraybuffer/ArrayBufferView block $~lib/string/String block $~lib/arraybuffer/ArrayBuffer @@ -2828,8 +2834,8 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,usize> $~lib/map/Map $invalid + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $"~lib/map/Map<~lib/string/String,usize>" $"~lib/map/Map" $invalid end return end @@ -2844,12 +2850,12 @@ end local.get $0 local.get $1 - call $~lib/map/Map<~lib/string/String,usize>~visit + call $"~lib/map/Map<~lib/string/String,usize>~visit" return end local.get $0 local.get $1 - call $~lib/map/Map~visit + call $"~lib/map/Map~visit" return end unreachable @@ -2876,7 +2882,7 @@ unreachable end ) - (func $~lib/map/Map<~lib/string/String,usize>#constructor (param $this i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -2885,10 +2891,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -2897,13 +2903,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -2913,63 +2919,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map<~lib/string/String,usize>#set:buckets + call $"~lib/map/Map<~lib/string/String,usize>#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map<~lib/string/String,usize>#set:bucketsMask + call $"~lib/map/Map<~lib/string/String,usize>#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.0 + br $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map<~lib/string/String,usize>#set:entries + call $"~lib/map/Map<~lib/string/String,usize>#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity + call $"~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset + call $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCount + call $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3005,14 +3011,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 1 drop block $~lib/util/hash/hashStr|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer local.get $key local.tee $key|1 - i32.store $0 + i32.store local.get $key|1 i32.const 0 i32.eq @@ -3024,7 +3030,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/string/String#get:length i32.const 1 @@ -3069,7 +3075,7 @@ local.get $s1 local.set $h|10 local.get $pos - i32.load $0 + i32.load local.set $key|11 local.get $h|10 local.get $key|11 @@ -3087,7 +3093,7 @@ local.get $s2 local.set $h|12 local.get $pos - i32.load $0 offset=4 + i32.load offset=4 local.set $key|13 local.get $h|12 local.get $key|13 @@ -3105,7 +3111,7 @@ local.get $s3 local.set $h|14 local.get $pos - i32.load $0 offset=8 + i32.load offset=8 local.set $key|15 local.get $h|14 local.get $key|15 @@ -3123,7 +3129,7 @@ local.get $s4 local.set $h|16 local.get $pos - i32.load $0 offset=12 + i32.load offset=12 local.set $key|17 local.get $h|16 local.get $key|17 @@ -3183,7 +3189,7 @@ if local.get $h local.get $pos - i32.load $0 + i32.load i32.const -1028477379 i32.mul i32.add @@ -3212,7 +3218,7 @@ if local.get $h local.get $pos - i32.load8_u $0 + i32.load8_u i32.const 374761393 i32.mul i32.add @@ -3277,7 +3283,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -3315,7 +3321,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -3324,7 +3330,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -3342,14 +3348,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -3363,7 +3369,7 @@ local.get $3 return ) - (func $~lib/map/Map<~lib/string/String,usize>#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -3374,33 +3380,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map<~lib/string/String,usize>#get:buckets + call $"~lib/map/Map<~lib/string/String,usize>#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask + call $"~lib/map/Map<~lib/string/String,usize>#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext + call $"~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -3408,17 +3414,17 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:key + call $"~lib/map/MapEntry<~lib/string/String,usize>#get:key" local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 local.get $key local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/string/String.__eq else @@ -3452,7 +3458,7 @@ local.get $5 return ) - (func $~lib/map/Map<~lib/string/String,usize>#has (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#has" (param $this i32) (param $key i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -3461,30 +3467,30 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $key local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#find + call $"~lib/map/Map<~lib/string/String,usize>#find" i32.const 0 i32.ne local.set $2 @@ -3495,7 +3501,7 @@ local.get $2 return ) - (func $~lib/map/Map<~lib/string/String,usize>#get (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#get" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -3505,30 +3511,30 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $key local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#find + call $"~lib/map/Map<~lib/string/String,usize>#find" local.set $entry local.get $entry i32.eqz @@ -3541,7 +3547,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:value + call $"~lib/map/MapEntry<~lib/string/String,usize>#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -3550,7 +3556,7 @@ local.get $3 return ) - (func $~lib/map/Map<~lib/string/String,usize>#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map<~lib/string/String,usize>#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -3572,7 +3578,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill local.get $newBucketsMask i32.const 1 i32.add @@ -3584,7 +3590,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -3594,33 +3600,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.1 + br $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map<~lib/string/String,usize>#get:entries + call $"~lib/map/Map<~lib/string/String,usize>#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.2 (result i32) + call $"~lib/map/Map<~lib/string/String,usize>#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.2 + br $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.2" end i32.mul i32.add @@ -3635,7 +3641,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext + call $"~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -3644,26 +3650,26 @@ local.set $newEntry global.get $~lib/memory/__stack_pointer local.get $oldEntry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:key + call $"~lib/map/MapEntry<~lib/string/String,usize>#get:key" local.tee $oldEntryKey - i32.store $0 offset=12 + i32.store offset=12 local.get $newEntry local.get $oldEntryKey local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=16 + i32.store offset=8 local.get $14 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:key + call $"~lib/map/MapEntry<~lib/string/String,usize>#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:value - call $~lib/map/MapEntry<~lib/string/String,usize>#set:value + call $"~lib/map/MapEntry<~lib/string/String,usize>#get:value" + call $"~lib/map/MapEntry<~lib/string/String,usize>#set:value" local.get $oldEntryKey local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/util/hash/HASH<~lib/string/String> local.get $newBucketsMask @@ -3677,23 +3683,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext + i32.load + call $"~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.3 + br $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.4 + br $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.4" end i32.add local.set $oldPtr @@ -3704,64 +3710,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=16 + i32.store offset=16 local.get $14 - call $~lib/map/Map<~lib/string/String,usize>#set:buckets + call $"~lib/map/Map<~lib/string/String,usize>#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map<~lib/string/String,usize>#set:bucketsMask + call $"~lib/map/Map<~lib/string/String,usize>#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=16 + i32.store offset=16 local.get $14 - call $~lib/map/Map<~lib/string/String,usize>#set:entries + call $"~lib/map/Map<~lib/string/String,usize>#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity + call $"~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=16 + i32.store offset=16 local.get $14 - call $~lib/map/Map<~lib/string/String,usize>#get:entriesCount - call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset + call $"~lib/map/Map<~lib/string/String,usize>#get:entriesCount" + call $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map<~lib/string/String,usize>#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -3775,15 +3781,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 call $~lib/util/hash/HASH<~lib/string/String> local.set $hashCode @@ -3791,22 +3797,22 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 local.get $hashCode - call $~lib/map/Map<~lib/string/String,usize>#find + call $"~lib/map/Map<~lib/string/String,usize>#find" local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry<~lib/string/String,usize>#set:value + call $"~lib/map/MapEntry<~lib/string/String,usize>#set:value" i32.const 0 drop else @@ -3814,38 +3820,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset + call $"~lib/map/Map<~lib/string/String,usize>#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity + call $"~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:entriesCount + call $"~lib/map/Map<~lib/string/String,usize>#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity + call $"~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -3856,56 +3862,56 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask + call $"~lib/map/Map<~lib/string/String,usize>#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask + call $"~lib/map/Map<~lib/string/String,usize>#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map<~lib/string/String,usize>#rehash + call $"~lib/map/Map<~lib/string/String,usize>#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:entries + call $"~lib/map/Map<~lib/string/String,usize>#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset + call $"~lib/map/Map<~lib/string/String,usize>#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset + call $"~lib/map/Map<~lib/string/String,usize>#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.5 + br $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.5" end i32.mul i32.add @@ -3915,9 +3921,9 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store local.get $8 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:key + call $"~lib/map/MapEntry<~lib/string/String,usize>#set:key" i32.const 1 drop local.get $this @@ -3926,40 +3932,40 @@ call $~lib/rt/itcms/__link local.get $entry local.get $value - call $~lib/map/MapEntry<~lib/string/String,usize>#set:value + call $"~lib/map/MapEntry<~lib/string/String,usize>#set:value" i32.const 0 drop local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:entriesCount + call $"~lib/map/Map<~lib/string/String,usize>#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCount + call $"~lib/map/Map<~lib/string/String,usize>#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:buckets + call $"~lib/map/Map<~lib/string/String,usize>#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask + call $"~lib/map/Map<~lib/string/String,usize>#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -3967,11 +3973,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext + i32.load + call $"~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -3982,7 +3988,7 @@ local.get $8 return ) - (func $~lib/map/Map#constructor (param $this i32) (result i32) + (func $"~lib/map/Map#constructor" (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -3991,10 +3997,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -4003,13 +4009,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 @@ -4019,63 +4025,63 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.0" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + br $"~lib/map/ENTRY_SIZE|inlined.0" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4084,7 +4090,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/map/Map#find (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $"~lib/map/Map#find" (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -4095,33 +4101,33 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 + i32.store local.get $5 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul i32.add - i32.load $0 + i32.load local.set $entry loop $while-continue|0 local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" local.set $taggedNext local.get $taggedNext i32.const 1 @@ -4129,7 +4135,7 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.get $key i32.eq else @@ -4163,7 +4169,7 @@ local.get $5 return ) - (func $~lib/map/Map#rehash (param $this i32) (param $newBucketsMask i32) + (func $"~lib/map/Map#rehash" (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -4184,10 +4190,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -4199,7 +4205,7 @@ i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newBuckets - i32.store $0 + i32.store local.get $newBucketsCapacity i32.const 8 i32.mul @@ -4209,33 +4215,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.1" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $"~lib/map/ENTRY_SIZE|inlined.1" end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $oldPtr local.get $oldPtr local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.2" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $"~lib/map/ENTRY_SIZE|inlined.2" end i32.mul i32.add @@ -4250,7 +4256,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -4258,20 +4264,20 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $"~lib/map/MapEntry#get:key" local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=8 local.get $14 - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" local.get $oldEntryKey call $~lib/util/hash/HASH local.get $newBucketsMask @@ -4285,23 +4291,23 @@ local.set $newBucketPtrBase local.get $newEntry local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $newBucketPtrBase local.get $newPtr - i32.store $0 + i32.store local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.3" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $"~lib/map/ENTRY_SIZE|inlined.3" end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.4" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $"~lib/map/ENTRY_SIZE|inlined.4" end i32.add local.set $oldPtr @@ -4312,64 +4318,64 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBuckets local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:buckets + call $"~lib/map/Map#set:buckets" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $"~lib/map/Map#set:bucketsMask" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntries local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#set:entries + call $"~lib/map/Map#set:entries" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $"~lib/map/Map#set:entriesCapacity" local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 local.get $this local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=12 + i32.store offset=12 local.get $14 - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#get:entriesCount" + call $"~lib/map/Map#set:entriesOffset" global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $"~lib/map/Map#set" (param $this i32) (param $key i32) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -4383,10 +4389,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $key call $~lib/util/hash/HASH local.set $hashCode @@ -4394,11 +4400,11 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry if @@ -4407,9 +4413,9 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store local.get $8 - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 1 drop local.get $this @@ -4421,38 +4427,38 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.eq if local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCapacity + call $"~lib/map/Map#get:entriesCapacity" i32.const 3 i32.mul i32.const 4 @@ -4463,63 +4469,63 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" else local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $"~lib/map/Map#rehash" end global.get $~lib/memory/__stack_pointer local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.tee $entries - i32.store $0 offset=8 + i32.store offset=8 local.get $entries local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesOffset + call $"~lib/map/Map#get:entriesOffset" local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $"~lib/map/Map#set:entriesOffset" local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.5" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $"~lib/map/ENTRY_SIZE|inlined.5" end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $"~lib/map/MapEntry#set:key" i32.const 0 drop local.get $entry @@ -4527,9 +4533,9 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store local.get $8 - call $~lib/map/MapEntry#set:value + call $"~lib/map/MapEntry#set:value" i32.const 1 drop local.get $this @@ -4540,33 +4546,33 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - call $~lib/map/Map#get:entriesCount + call $"~lib/map/Map#get:entriesCount" i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $"~lib/map/Map#set:entriesCount" local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $hashCode local.get $this local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 + i32.store local.get $8 - call $~lib/map/Map#get:bucketsMask + call $"~lib/map/Map#get:bucketsMask" i32.and i32.const 4 i32.mul @@ -4574,11 +4580,11 @@ local.set $bucketPtrBase local.get $entry local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + i32.load + call $"~lib/map/MapEntry#set:taggedNext" local.get $bucketPtrBase local.get $entry - i32.store $0 + i32.store end local.get $this local.set $8 @@ -4594,46 +4600,43 @@ (local $id i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store global.get $~lib/symbol/stringToId local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 - call $~lib/map/Map<~lib/string/String,usize>#has + call $"~lib/map/Map<~lib/string/String,usize>#has" if global.get $~lib/symbol/stringToId local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 - call $~lib/map/Map<~lib/string/String,usize>#get + call $"~lib/map/Map<~lib/string/String,usize>#get" local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $3 @@ -4655,42 +4658,42 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $id - call $~lib/map/Map<~lib/string/String,usize>#set + call $"~lib/map/Map<~lib/string/String,usize>#set" drop global.get $~lib/symbol/idToString local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $id local.get $key local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=4 local.get $3 - call $~lib/map/Map#set + call $"~lib/map/Map#set" drop local.get $id local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $3 return ) - (func $~lib/map/Map#has (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#has" (param $this i32) (param $key i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4699,17 +4702,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne local.set $2 @@ -4720,7 +4723,7 @@ local.get $2 return ) - (func $~lib/map/Map#get (param $this i32) (param $key i32) (result i32) + (func $"~lib/map/Map#get" (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -4730,17 +4733,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $key local.get $key call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.set $entry local.get $entry i32.eqz @@ -4753,7 +4756,7 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4771,24 +4774,24 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/symbol/idToString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $sym - call $~lib/map/Map#has + call $"~lib/map/Map#has" if (result i32) global.get $~lib/symbol/idToString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $sym - call $~lib/map/Map#get + call $"~lib/map/Map#get" else i32.const 0 end @@ -4813,12 +4816,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -4828,7 +4831,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -4856,17 +4859,17 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $out local.get $thisSize i32.add local.get $other local.get $otherSize - memory.copy $0 $0 + memory.copy local.get $out local.set $6 global.get $~lib/memory/__stack_pointer @@ -4885,18 +4888,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String#concat local.set $2 @@ -4913,20 +4916,22 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 local.get $this local.set $id global.get $~lib/memory/__stack_pointer i32.const 864 local.tee $str - i32.store $0 + i32.store block $break|0 block $case11|0 block $case10|0 @@ -4991,67 +4996,67 @@ global.get $~lib/memory/__stack_pointer i32.const 896 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/memory/__stack_pointer i32.const 944 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/memory/__stack_pointer i32.const 1008 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/memory/__stack_pointer i32.const 1056 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/memory/__stack_pointer i32.const 1088 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/memory/__stack_pointer i32.const 1136 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/memory/__stack_pointer i32.const 1168 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/memory/__stack_pointer i32.const 1216 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/memory/__stack_pointer i32.const 1248 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/memory/__stack_pointer i32.const 1296 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/memory/__stack_pointer i32.const 1344 local.tee $str - i32.store $0 + i32.store br $break|0 end global.get $~lib/symbol/idToString @@ -5062,10 +5067,10 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $id - call $~lib/map/Map#has + call $"~lib/map/Map#has" else i32.const 0 end @@ -5075,43 +5080,33 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $id - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.tee $str - i32.store $0 + i32.store end br $break|0 end i32.const 1392 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 local.get $str local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=8 local.get $4 call $~lib/string/String.__concat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 1440 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 call $~lib/string/String.__concat local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -5128,24 +5123,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 i32.const 32 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 call $~lib/symbol/Symbol global.set $std/symbol/sym1 i32.const 32 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 call $~lib/symbol/Symbol global.set $std/symbol/sym2 global.get $std/symbol/sym1 @@ -5160,7 +5145,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -5178,25 +5163,15 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace i32.const 0 - call $~lib/map/Map<~lib/string/String,usize>#constructor + call $"~lib/map/Map<~lib/string/String,usize>#constructor" global.set $~lib/symbol/stringToId i32.const 0 - call $~lib/map/Map#constructor + call $"~lib/map/Map#constructor" global.set $~lib/symbol/idToString i32.const 32 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 call $~lib/symbol/_Symbol.for global.set $std/symbol/sym3 i32.const 32 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 call $~lib/symbol/_Symbol.for global.set $std/symbol/sym4 global.get $std/symbol/sym3 @@ -5221,7 +5196,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 0 call $~lib/string/String.__eq @@ -5238,7 +5213,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 0 call $~lib/string/String.__eq @@ -5255,7 +5230,7 @@ global.get $std/symbol/sym3 call $~lib/symbol/_Symbol.keyFor local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 if (result i32) local.get $0 @@ -5272,7 +5247,7 @@ global.get $std/symbol/sym4 call $~lib/symbol/_Symbol.keyFor local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 if (result i32) local.get $1 @@ -5289,14 +5264,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 32 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5311,13 +5281,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 global.get $std/symbol/key4 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/string/String.__eq i32.eqz @@ -5335,14 +5305,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 1472 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5358,14 +5323,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 1520 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5385,14 +5345,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 1568 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5408,14 +5363,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 1632 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5435,7 +5385,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map<~lib/string/String,usize>#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map<~lib/string/String,usize>#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $cur i32) (local $end i32) @@ -5449,23 +5399,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 - call $~lib/map/Map<~lib/string/String,usize>#get:buckets + call $"~lib/map/Map<~lib/string/String,usize>#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 - call $~lib/map/Map<~lib/string/String,usize>#get:entries + call $"~lib/map/Map<~lib/string/String,usize>#get:entries" local.set $entries i32.const 1 drop @@ -5476,12 +5426,12 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 - call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.6 (result i32) + call $"~lib/map/Map<~lib/string/String,usize>#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.6" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.6 + br $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.6" end i32.mul i32.add @@ -5494,7 +5444,7 @@ local.get $cur local.set $entry local.get $entry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext + call $"~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -5502,7 +5452,7 @@ i32.const 1 drop local.get $entry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:key + call $"~lib/map/MapEntry<~lib/string/String,usize>#get:key" local.set $val i32.const 0 drop @@ -5513,9 +5463,9 @@ drop end local.get $cur - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.7" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.7 + br $"~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.7" end i32.add local.set $cur @@ -5530,7 +5480,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (param $this i32) (param $cookie i32) + (func $"~lib/map/Map#__visit" (param $this i32) (param $cookie i32) (local $entries i32) (local $cur i32) (local $end i32) @@ -5544,23 +5494,23 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 - call $~lib/map/Map#get:buckets + call $"~lib/map/Map#get:buckets" local.get $cookie call $~lib/rt/itcms/__visit local.get $this local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 - call $~lib/map/Map#get:entries + call $"~lib/map/Map#get:entries" local.set $entries i32.const 1 drop @@ -5571,12 +5521,12 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 + i32.store local.get $7 - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + call $"~lib/map/Map#get:entriesOffset" + block $"~lib/map/ENTRY_SIZE|inlined.6" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + br $"~lib/map/ENTRY_SIZE|inlined.6" end i32.mul i32.add @@ -5589,7 +5539,7 @@ local.get $cur local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $"~lib/map/MapEntry#get:taggedNext" i32.const 1 i32.and i32.eqz @@ -5599,7 +5549,7 @@ i32.const 1 drop local.get $entry - call $~lib/map/MapEntry#get:value + call $"~lib/map/MapEntry#get:value" local.set $val i32.const 0 drop @@ -5608,9 +5558,9 @@ call $~lib/rt/itcms/__visit end local.get $cur - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + block $"~lib/map/ENTRY_SIZE|inlined.7" (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + br $"~lib/map/ENTRY_SIZE|inlined.7" end i32.add local.set $cur @@ -5635,7 +5585,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.gt_u @@ -5652,7 +5602,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index 5731d5a3f8..e2a9fd8b6d 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -1,13 +1,14 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32) (result i32))) + (type $4 (func (param i32))) + (type $5 (func (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) + (type $8 (func (param i32 i32 i32))) + (type $9 (func (param i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/symbol/nextId (mut i32) (i32.const 12)) (global $std/symbol/sym1 (mut i32) (i32.const 0)) @@ -34,67 +35,67 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 35516)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\06\00\00\001\002\003") - (data (i32.const 1068) ",") - (data (i32.const 1080) "\02\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s") - (data (i32.const 1116) "<") - (data (i32.const 1128) "\02\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 1180) "<") - (data (i32.const 1192) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1308) "<") - (data (i32.const 1320) "\02\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 1372) ",") - (data (i32.const 1384) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1452) "<") - (data (i32.const 1464) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1516) ",") - (data (i32.const 1528) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1564) "<") - (data (i32.const 1576) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1628) "<") - (data (i32.const 1640) "\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t") - (data (i32.const 1692) ",") - (data (i32.const 1704) "\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s") - (data (i32.const 1740) "|") - (data (i32.const 1752) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") - (data (i32.const 1868) "\1c") - (data (i32.const 1880) "\02") - (data (i32.const 1900) ",") - (data (i32.const 1912) "\02\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") - (data (i32.const 1948) "<") - (data (i32.const 1960) "\02\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e") - (data (i32.const 2012) ",") - (data (i32.const 2024) "\02\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") - (data (i32.const 2060) "\1c") - (data (i32.const 2072) "\02\00\00\00\n\00\00\00m\00a\00t\00c\00h") - (data (i32.const 2092) ",") - (data (i32.const 2104) "\02\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") - (data (i32.const 2140) "\1c") - (data (i32.const 2152) "\02\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") - (data (i32.const 2172) ",") - (data (i32.const 2184) "\02\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") - (data (i32.const 2220) "\1c") - (data (i32.const 2232) "\02\00\00\00\n\00\00\00s\00p\00l\00i\00t") - (data (i32.const 2252) ",") - (data (i32.const 2264) "\02\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") - (data (i32.const 2300) ",") - (data (i32.const 2312) "\02\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") - (data (i32.const 2348) ",") - (data (i32.const 2360) "\02\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") - (data (i32.const 2396) ",") - (data (i32.const 2408) "\02\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") - (data (i32.const 2444) "\1c") - (data (i32.const 2456) "\02\00\00\00\02\00\00\00)") - (data (i32.const 2476) ",") - (data (i32.const 2488) "\02\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") - (data (i32.const 2524) ",") - (data (i32.const 2536) "\02\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") - (data (i32.const 2572) "<") - (data (i32.const 2584) "\02\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)") - (data (i32.const 2636) "L") - (data (i32.const 2648) "\02\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)") - (data (i32.const 2720) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\06\00\00\001\002\003") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\02\00\00\00\1a\00\00\00s\00t\00d\00/\00s\00y\00m\00b\00o\00l\00.\00t\00s") + (data $2 (i32.const 1116) "<") + (data $2.1 (i32.const 1128) "\02\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 $3 (i32.const 1180) "<") + (data $3.1 (i32.const 1192) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1308) "<") + (data $6.1 (i32.const 1320) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1372) ",") + (data $7.1 (i32.const 1384) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1452) "<") + (data $9.1 (i32.const 1464) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1516) ",") + (data $10.1 (i32.const 1528) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $11 (i32.const 1564) "<") + (data $11.1 (i32.const 1576) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $12 (i32.const 1628) "<") + (data $12.1 (i32.const 1640) "\02\00\00\00$\00\00\00K\00e\00y\00 \00d\00o\00e\00s\00 \00n\00o\00t\00 \00e\00x\00i\00s\00t") + (data $13 (i32.const 1692) ",") + (data $13.1 (i32.const 1704) "\02\00\00\00\16\00\00\00~\00l\00i\00b\00/\00m\00a\00p\00.\00t\00s") + (data $14 (i32.const 1740) "|") + (data $14.1 (i32.const 1752) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") + (data $15 (i32.const 1868) "\1c") + (data $15.1 (i32.const 1880) "\02") + (data $16 (i32.const 1900) ",") + (data $16.1 (i32.const 1912) "\02\00\00\00\16\00\00\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e") + (data $17 (i32.const 1948) "<") + (data $17.1 (i32.const 1960) "\02\00\00\00$\00\00\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e") + (data $18 (i32.const 2012) ",") + (data $18.1 (i32.const 2024) "\02\00\00\00\10\00\00\00i\00s\00R\00e\00g\00E\00x\00p") + (data $19 (i32.const 2060) "\1c") + (data $19.1 (i32.const 2072) "\02\00\00\00\n\00\00\00m\00a\00t\00c\00h") + (data $20 (i32.const 2092) ",") + (data $20.1 (i32.const 2104) "\02\00\00\00\0e\00\00\00r\00e\00p\00l\00a\00c\00e") + (data $21 (i32.const 2140) "\1c") + (data $21.1 (i32.const 2152) "\02\00\00\00\0c\00\00\00s\00e\00a\00r\00c\00h") + (data $22 (i32.const 2172) ",") + (data $22.1 (i32.const 2184) "\02\00\00\00\0e\00\00\00s\00p\00e\00c\00i\00e\00s") + (data $23 (i32.const 2220) "\1c") + (data $23.1 (i32.const 2232) "\02\00\00\00\n\00\00\00s\00p\00l\00i\00t") + (data $24 (i32.const 2252) ",") + (data $24.1 (i32.const 2264) "\02\00\00\00\16\00\00\00t\00o\00P\00r\00i\00m\00i\00t\00i\00v\00e") + (data $25 (i32.const 2300) ",") + (data $25.1 (i32.const 2312) "\02\00\00\00\16\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00T\00a\00g") + (data $26 (i32.const 2348) ",") + (data $26.1 (i32.const 2360) "\02\00\00\00\16\00\00\00u\00n\00s\00c\00o\00p\00a\00b\00l\00e\00s") + (data $27 (i32.const 2396) ",") + (data $27.1 (i32.const 2408) "\02\00\00\00\0e\00\00\00S\00y\00m\00b\00o\00l\00(") + (data $28 (i32.const 2444) "\1c") + (data $28.1 (i32.const 2456) "\02\00\00\00\02\00\00\00)") + (data $29 (i32.const 2476) ",") + (data $29.1 (i32.const 2488) "\02\00\00\00\10\00\00\00S\00y\00m\00b\00o\00l\00(\00)") + (data $30 (i32.const 2524) ",") + (data $30.1 (i32.const 2536) "\02\00\00\00\16\00\00\00S\00y\00m\00b\00o\00l\00(\001\002\003\00)") + (data $31 (i32.const 2572) "<") + (data $31.1 (i32.const 2584) "\02\00\00\00&\00\00\00S\00y\00m\00b\00o\00l\00(\00h\00a\00s\00I\00n\00s\00t\00a\00n\00c\00e\00)") + (data $32 (i32.const 2636) "L") + (data $32.1 (i32.const 2648) "\02\00\00\004\00\00\00S\00y\00m\00b\00o\00l\00(\00i\00s\00C\00o\00n\00c\00a\00t\00S\00p\00r\00e\00a\00d\00a\00b\00l\00e\00)") + (data $33 (i32.const 2720) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\10\01\82\00\10A\02") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/itcms/visitRoots @@ -104,49 +105,49 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $~lib/symbol/idToString local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/symbol/key1 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/symbol/key2 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/symbol/key3 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $std/symbol/key4 local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1328 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1536 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1648 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1136 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -156,7 +157,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -174,7 +175,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -191,7 +192,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -205,16 +206,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$246 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 35516 @@ -229,10 +230,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$246 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -245,20 +246,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -267,7 +268,7 @@ else local.get $1 i32.const 2720 - i32.load $0 + i32.load i32.gt_u if i32.const 1328 @@ -282,13 +283,13 @@ i32.shl i32.const 2724 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -298,21 +299,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -320,8 +345,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -333,10 +358,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -347,29 +372,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -377,10 +402,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -394,75 +419,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -484,7 +502,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -501,12 +519,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -523,17 +541,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -543,9 +561,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -570,13 +588,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -610,7 +628,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -666,19 +684,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -690,15 +708,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -706,23 +724,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1472 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -736,10 +756,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -747,23 +767,22 @@ if i32.const 0 i32.const 1472 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -775,52 +794,53 @@ if i32.const 0 i32.const 1472 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -828,7 +848,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -836,7 +856,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -847,10 +867,10 @@ end i32.const 35520 i32.const 0 - i32.store $0 + i32.store i32.const 37088 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -862,7 +882,7 @@ i32.const 35520 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -880,7 +900,7 @@ i32.const 35520 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -897,9 +917,10 @@ end i32.const 35520 i32.const 37092 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 35520 global.set $~lib/rt/tlsf/ROOT @@ -929,7 +950,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -942,19 +963,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -965,7 +986,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -977,7 +998,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -990,12 +1011,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -1004,7 +1021,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1015,26 +1032,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1050,7 +1067,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1066,7 +1083,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1091,14 +1108,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1118,7 +1135,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1133,25 +1149,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1472 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1160,12 +1175,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1173,47 +1187,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1224,7 +1240,7 @@ if i32.const 0 i32.const 1472 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1234,7 +1250,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1251,10 +1267,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1270,13 +1286,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1472 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1291,7 +1307,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1318,7 +1334,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1330,16 +1346,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $2 i32.const 0 @@ -1347,8 +1359,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1375,34 +1386,60 @@ if i32.const 1136 i32.const 1472 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1410,21 +1447,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1437,12 +1459,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1453,9 +1475,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1465,7 +1488,7 @@ if i32.const 0 i32.const 1472 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1473,14 +1496,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1472 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1489,8 +1512,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1499,95 +1522,95 @@ if i32.const 0 i32.const 1472 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1600,28 +1623,86 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) - (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/map/Map - block $~lib/map/Map<~lib/string/String,usize> - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/map/Map<~lib/string/String,usize> $~lib/map/Map $invalid - end + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1200 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end + end + ) + (func $~lib/rt/__visit_members (param $0 i32) + (local $1 i32) + (local $2 i32) + block $folding-inner1 + block $folding-inner0 + block $invalid + block $"~lib/map/Map" + block $"~lib/map/Map<~lib/string/String,usize>" + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $"~lib/map/Map<~lib/string/String,usize>" $"~lib/map/Map" $invalid + end return end return @@ -1629,12 +1710,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end global.get $~lib/memory/__stack_pointer @@ -1646,33 +1723,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 local.set $1 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add @@ -1683,18 +1754,14 @@ i32.gt_u if local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $1 - i32.load $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit end local.get $1 i32.const 12 @@ -1714,61 +1781,51 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 local.set $1 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add local.set $0 - loop $while-continue|09 + loop $while-continue|01 local.get $0 local.get $1 i32.gt_u if local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $1 - i32.load $0 offset=4 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit end local.get $1 i32.const 12 i32.add local.set $1 - br $while-continue|09 + br $while-continue|01 end end br $folding-inner1 @@ -1783,10 +1840,7 @@ unreachable end local.get $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1825,13 +1879,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 + i64.store block $~lib/util/hash/hashStr|inlined.0 (result i32) - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store i32.const 0 local.get $0 i32.eqz @@ -1840,11 +1893,11 @@ global.get $~lib/memory/__stack_pointer local.get $0 local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.tee $3 @@ -1870,7 +1923,7 @@ if local.get $2 local.get $1 - i32.load $0 + i32.load i32.const -2048144777 i32.mul i32.add @@ -1881,7 +1934,7 @@ local.set $2 local.get $4 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2048144777 i32.mul i32.add @@ -1892,7 +1945,7 @@ local.set $4 local.get $6 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.const -2048144777 i32.mul i32.add @@ -1903,7 +1956,7 @@ local.set $6 local.get $5 local.get $1 - i32.load $0 offset=12 + i32.load offset=12 i32.const -2048144777 i32.mul i32.add @@ -1955,7 +2008,7 @@ if local.get $2 local.get $1 - i32.load $0 + i32.load i32.const -1028477379 i32.mul i32.add @@ -1982,7 +2035,7 @@ if local.get $2 local.get $1 - i32.load8_u $0 + i32.load8_u i32.const 374761393 i32.mul i32.add @@ -2018,12 +2071,10 @@ i32.shr_u i32.xor end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -2047,7 +2098,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -2067,55 +2118,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -2136,7 +2189,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$88 loop $while-continue|1 local.get $0 local.tee $3 @@ -2146,17 +2199,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$88 local.get $2 i32.const 2 i32.add @@ -2185,9 +2238,8 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map<~lib/string/String,usize>#find (param $0 i32) (param $1 i32) (result i32) + (func $"~lib/map/Map<~lib/string/String,usize>#find" (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2204,33 +2256,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $3 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $1 loop $while-continue|0 local.get $1 if local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.tee $0 i32.const 1 i32.and @@ -2238,15 +2287,14 @@ i32.const 0 else global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.load $0 - local.tee $3 - i32.store $0 - local.get $2 + i32.load + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + local.get $2 i32.const 1056 call $~lib/string/String.__eq end @@ -2271,7 +2319,7 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map<~lib/string/String,usize>#set (param $0 i32) (param $1 i32) + (func $"~lib/map/Map<~lib/string/String,usize>#set" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2281,7 +2329,6 @@ (local $8 i32) (local $9 i32) (local $10 i32) - (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2292,64 +2339,57 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1056 call $~lib/util/hash/HASH<~lib/string/String> local.set $6 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $6 - call $~lib/map/Map<~lib/string/String,usize>#find + call $"~lib/map/Map<~lib/string/String,usize>#find" local.tee $2 if local.get $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 else global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $3 - local.get $2 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $2 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -2358,21 +2398,21 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $5 + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -2382,246 +2422,233 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 20 - memory.fill $0 - local.get $2 - local.get $5 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $7 i32.const 1 i32.add local.tee $2 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $9 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $7 + local.tee $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 - local.set $4 + i32.load offset=8 + local.set $9 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + local.get $9 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $8 + local.set $4 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $8 + local.get $9 i32.ne if - local.get $4 - i32.load $0 offset=8 + local.get $9 + i32.load offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $11 - local.get $4 - i32.load $0 + local.get $9 + i32.load local.tee $10 - i32.store $0 offset=12 - local.get $11 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=16 + i32.store offset=8 local.get $2 local.get $10 - i32.store $0 + i32.store local.get $2 - local.get $4 - i32.load $0 offset=4 - i32.store $0 offset=4 - local.get $11 + local.get $9 + i32.load offset=4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 - local.get $9 + local.get $8 local.get $10 call $~lib/util/hash/HASH<~lib/string/String> - local.get $5 + local.get $7 i32.and i32.const 2 i32.shl i32.add local.tee $10 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $10 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 12 i32.add local.set $2 end - local.get $4 + local.get $9 i32.const 12 i32.add - local.set $4 + local.set $9 br $while-continue|0 end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $9 - i32.store $0 offset=16 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=16 local.get $0 - local.get $9 - i32.store $0 - local.get $9 - if - local.get $0 - local.get $9 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $8 + i32.store + local.get $0 + local.get $8 + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=4 - local.get $2 + local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $7 - i32.store $0 offset=12 - local.get $2 + local.get $5 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $2 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.tee $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $4 + i32.load offset=16 + local.tee $3 i32.const 1 i32.add - i32.store $0 offset=16 - local.get $2 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store + local.get $2 local.get $3 - local.get $4 i32.const 12 i32.mul i32.add local.tee $2 i32.const 1056 - i32.store $0 + i32.store local.get $0 i32.const 1056 i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/__link local.get $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $3 - local.get $1 + i32.load + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 - local.get $3 + local.get $1 local.get $6 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 local.get $2 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -2636,9 +2663,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#find (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"~lib/map/Map#find" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2655,33 +2681,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $4 - local.get $3 + i32.load + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $0 loop $while-continue|0 local.get $0 if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 1 i32.and @@ -2690,7 +2713,7 @@ else local.get $1 local.get $0 - i32.load $0 + i32.load i32.eq end if @@ -2714,7 +2737,7 @@ global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/map/Map#set (param $0 i32) (param $1 i32) + (func $"~lib/map/Map#set" (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2735,15 +2758,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -2774,52 +2796,46 @@ i32.shr_u local.get $2 i32.xor - local.tee $6 - call $~lib/map/Map#find + local.tee $7 + call $"~lib/map/Map#find" local.tee $2 if global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 + i32.store local.get $2 i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1056 i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/__link else global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=16 - local.set $3 - local.get $2 + i32.load offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.eq if global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=20 - local.set $3 - local.get $2 + i32.load offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.const 3 i32.mul i32.const 4 @@ -2828,21 +2844,21 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $5 + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -2852,14 +2868,13 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 - local.get $5 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.const 1 i32.add local.tee $2 @@ -2867,65 +2882,65 @@ i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $9 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $7 + local.tee $6 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=8 - local.set $4 + i32.load offset=8 + local.set $10 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + local.get $10 local.get $0 - i32.load $0 offset=16 + i32.load offset=16 i32.const 12 i32.mul i32.add - local.set $8 + local.set $5 local.get $3 local.set $2 loop $while-continue|0 - local.get $4 - local.get $8 + local.get $5 + local.get $10 i32.ne if - local.get $4 - i32.load $0 offset=8 + local.get $10 + i32.load offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 - i32.load $0 - local.tee $10 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.load $0 offset=4 + local.get $10 + i32.load local.tee $11 - i32.store $0 offset=12 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.load offset=4 + local.tee $4 + i32.store offset=8 local.get $2 - local.get $11 - i32.store $0 offset=4 + local.get $4 + i32.store offset=4 local.get $2 local.get $9 - local.get $5 - local.get $10 + local.get $8 + local.get $11 i32.const -1028477379 i32.mul i32.const 374761397 @@ -2934,186 +2949,175 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $10 + local.tee $4 i32.const 15 i32.shr_u - local.get $10 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $10 + local.tee $4 i32.const 13 i32.shr_u - local.get $10 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $10 + local.tee $4 i32.const 16 i32.shr_u - local.get $10 + local.get $4 i32.xor i32.and i32.const 2 i32.shl i32.add - local.tee $10 - i32.load $0 - i32.store $0 offset=8 - local.get $10 + local.tee $4 + i32.load + i32.store offset=8 + local.get $4 local.get $2 - i32.store $0 + i32.store local.get $2 i32.const 12 i32.add local.set $2 end - local.get $4 + local.get $10 i32.const 12 i32.add - local.set $4 + local.set $10 br $while-continue|0 end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $9 - i32.store $0 + i32.store + local.get $0 local.get $9 - if - local.get $0 - local.get $9 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $5 - i32.store $0 offset=4 - local.get $2 + local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $3 - if - local.get $0 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - local.get $7 - i32.store $0 offset=12 - local.get $2 + local.get $6 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - local.get $2 + i32.load offset=20 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.tee $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=16 - local.tee $4 + i32.load offset=16 + local.tee $3 i32.const 1 i32.add - i32.store $0 offset=16 + i32.store offset=16 + local.get $2 local.get $3 - local.get $4 i32.const 12 i32.mul i32.add - local.tee $3 + local.tee $2 local.get $1 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 - local.get $3 + i32.store + local.get $2 i32.const 1056 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1056 i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $0 - i32.load $0 offset=20 + i32.load offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $2 - local.get $1 + i32.load + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store local.get $2 - local.get $6 + local.get $1 + local.get $7 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.and i32.const 2 i32.shl i32.add local.tee $0 - i32.load $0 - i32.store $0 offset=8 + i32.load + i32.store offset=8 local.get $0 - local.get $3 - i32.store $0 + local.get $2 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 12 @@ -3131,9 +3135,8 @@ (func $~lib/symbol/_Symbol.for (result i32) (local $0 i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -3143,20 +3146,16 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/stringToId - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -3165,43 +3164,39 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 1056 call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#find + call $"~lib/map/Map<~lib/string/String,usize>#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 if global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $~lib/symbol/stringToId - local.tee $1 - i32.store $0 - local.get $0 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -3210,25 +3205,24 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + local.get $0 i32.const 1056 call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#find + call $"~lib/map/Map<~lib/string/String,usize>#find" local.tee $0 i32.eqz if @@ -3240,7 +3234,7 @@ unreachable end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 @@ -3259,26 +3253,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $~lib/symbol/stringToId - local.tee $2 - i32.store $0 - local.get $1 + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + local.get $1 local.get $0 - call $~lib/map/Map<~lib/string/String,usize>#set + call $"~lib/map/Map<~lib/string/String,usize>#set" global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/idToString local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 local.get $0 - call $~lib/map/Map#set + call $"~lib/map/Map#set" br $folding-inner1 end i32.const 35536 @@ -3289,13 +3282,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/map/Map#has (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#has" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3312,12 +3304,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -3348,18 +3339,15 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" i32.const 0 i32.ne - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $"~lib/map/Map#get" (param $0 i32) (param $1 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3376,12 +3364,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $1 @@ -3412,7 +3399,7 @@ i32.const 16 i32.shr_u i32.xor - call $~lib/map/Map#find + call $"~lib/map/Map#find" local.tee $0 i32.eqz if @@ -3424,13 +3411,11 @@ unreachable end local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.load offset=4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/symbol/_Symbol.keyFor (param $0 i32) (result i32) (local $1 i32) @@ -3450,33 +3435,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/idToString local.tee $1 - i32.store $0 + i32.store local.get $1 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" if (result i32) global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/idToString local.tee $1 - i32.store $0 + i32.store local.get $1 local.get $0 - call $~lib/map/Map#get + call $"~lib/map/Map#get" else i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -3492,16 +3474,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -3510,32 +3491,31 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 local.tee $2 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - local.set $4 - local.get $3 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - block $__inlined_func$~lib/string/String#concat + i32.store + block $__inlined_func$~lib/string/String#concat$253 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - local.tee $3 - local.get $4 + local.tee $4 + local.get $3 i32.add local.tee $0 i32.eqz @@ -3546,24 +3526,24 @@ global.set $~lib/memory/__stack_pointer i32.const 1888 local.set $0 - br $__inlined_func$~lib/string/String#concat + br $__inlined_func$~lib/string/String#concat$253 end global.get $~lib/memory/__stack_pointer local.get $0 i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - local.get $4 - memory.copy $0 $0 + local.get $3 + memory.copy local.get $0 - local.get $4 + local.get $3 i32.add local.get $1 - local.get $3 - memory.copy $0 $0 + local.get $4 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -3587,7 +3567,7 @@ (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3602,15 +3582,16 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 i32.const 1888 local.set $1 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 1888 - i32.store $0 + i32.store block $break|0 block $case11|0 block $case10|0 @@ -3633,77 +3614,77 @@ local.set $1 global.get $~lib/memory/__stack_pointer i32.const 1920 - i32.store $0 + i32.store br $break|0 end i32.const 1968 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 1968 - i32.store $0 + i32.store br $break|0 end i32.const 2032 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2032 - i32.store $0 + i32.store br $break|0 end i32.const 2080 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2080 - i32.store $0 + i32.store br $break|0 end i32.const 2112 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2112 - i32.store $0 + i32.store br $break|0 end i32.const 2160 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2160 - i32.store $0 + i32.store br $break|0 end i32.const 2192 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2192 - i32.store $0 + i32.store br $break|0 end i32.const 2240 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2240 - i32.store $0 + i32.store br $break|0 end i32.const 2272 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2272 - i32.store $0 + i32.store br $break|0 end i32.const 2320 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2320 - i32.store $0 + i32.store br $break|0 end i32.const 2368 local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2368 - i32.store $0 + i32.store br $break|0 end global.get $~lib/symbol/idToString @@ -3711,53 +3692,43 @@ global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/idToString local.tee $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - call $~lib/map/Map#has + call $"~lib/map/Map#has" else i32.const 0 end if global.get $~lib/memory/__stack_pointer - local.tee $1 global.get $~lib/symbol/idToString - local.tee $2 - i32.store $0 offset=4 + local.tee $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 local.get $0 - call $~lib/map/Map#get + call $"~lib/map/Map#get" local.tee $1 - i32.store $0 + i32.store end end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2416 - i32.store $0 offset=12 - local.get $0 local.get $1 - i32.store $0 offset=16 + i32.store offset=8 i32.const 2416 local.get $1 call $~lib/string/String.__concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 2464 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 2464 call $~lib/string/String.__concat - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $start:std/symbol (local $0 i32) @@ -3772,15 +3743,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 1056 - i32.store $0 + i64.store offset=8 global.get $~lib/symbol/nextId local.tee $0 i32.const 1 @@ -3793,9 +3760,6 @@ end local.get $0 global.set $std/symbol/sym1 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 global.get $~lib/symbol/nextId local.tee $0 i32.const 1 @@ -3819,7 +3783,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 35516 @@ -3829,26 +3793,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1252 i32.const 1248 - i32.store $0 + i32.store i32.const 1256 i32.const 1248 - i32.store $0 + i32.store i32.const 1248 global.set $~lib/rt/itcms/pinSpace i32.const 1284 i32.const 1280 - i32.store $0 + i32.store i32.const 1288 i32.const 1280 - i32.store $0 + i32.store i32.const 1280 global.set $~lib/rt/itcms/toSpace i32.const 1428 i32.const 1424 - i32.store $0 + i32.store i32.const 1432 i32.const 1424 - i32.store $0 + i32.store i32.const 1424 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -3860,83 +3824,74 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -3951,96 +3906,81 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 24 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 + local.get $0 local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=16 - local.get $1 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=20 - local.get $1 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $~lib/symbol/idToString - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 call $~lib/symbol/_Symbol.for global.set $std/symbol/sym3 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 call $~lib/symbol/_Symbol.for global.set $std/symbol/sym4 global.get $std/symbol/sym3 @@ -4063,7 +4003,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/symbol/key1 local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/string/String.__eq @@ -4079,7 +4019,7 @@ global.get $~lib/memory/__stack_pointer global.get $std/symbol/key2 local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 0 call $~lib/string/String.__eq @@ -4096,7 +4036,7 @@ global.get $std/symbol/sym3 call $~lib/symbol/_Symbol.keyFor local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.eqz if @@ -4113,7 +4053,7 @@ global.get $std/symbol/sym4 call $~lib/symbol/_Symbol.keyFor local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.eqz if @@ -4127,15 +4067,11 @@ local.get $0 global.set $std/symbol/key4 global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/symbol/key3 - local.tee $1 - i32.store $0 + local.tee $0 + i32.store local.get $0 i32.const 1056 - i32.store $0 offset=12 - local.get $1 - i32.const 1056 call $~lib/string/String.__eq i32.eqz if @@ -4147,16 +4083,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/symbol/key3 + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + global.get $std/symbol/key4 local.tee $1 - i32.store $0 + i32.store offset=12 local.get $0 - global.get $std/symbol/key4 - local.tee $0 - i32.store $0 offset=12 local.get $1 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4181,12 +4116,8 @@ call $~lib/symbol/_Symbol#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 2496 - i32.store $0 offset=12 + i32.store local.get $0 i32.const 2496 call $~lib/string/String.__eq @@ -4203,12 +4134,8 @@ call $~lib/symbol/_Symbol#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 2544 - i32.store $0 offset=12 + i32.store local.get $0 i32.const 2544 call $~lib/string/String.__eq @@ -4227,12 +4154,8 @@ call $~lib/symbol/_Symbol#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 2592 - i32.store $0 offset=12 + i32.store local.get $0 i32.const 2592 call $~lib/string/String.__eq @@ -4249,12 +4172,8 @@ call $~lib/symbol/_Symbol#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 2656 - i32.store $0 offset=12 + i32.store local.get $0 i32.const 2656 call $~lib/string/String.__eq @@ -4298,7 +4217,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.const 1073741820 i32.gt_u @@ -4315,84 +4234,11 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store 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) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1200 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $0 - local.get $1 - local.get $2 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - 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/std/trace.debug.wat b/tests/compiler/std/trace.debug.wat index 01bf8a9999..61282af2bd 100644 --- a/tests/compiler/std/trace.debug.wat +++ b/tests/compiler/std/trace.debug.wat @@ -1,64 +1,26 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 f64 f64 f64 f64 f64))) (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__data_end i32 (i32.const 396)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33164)) (global $~lib/memory/__heap_base i32 (i32.const 33164)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t\00\00\00") - (data (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t\00\00\00") - (data (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 156) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t\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\02\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t\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\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t\00\00\00") + (data $1 (i32.const 60) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t\00\00\00") + (data $2 (i32.const 108) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 156) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 252) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l\00\00\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (export "_start" (func $~start)) - (func $~start - global.get $~started - if - return - end - i32.const 1 - global.set $~started - call $start:std/trace - ) - (func $~stack_check - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 33184 - i32.const 33232 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) (func $start:std/trace - (local $0 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 0 f64.const 0 f64.const 0 @@ -67,11 +29,6 @@ f64.const 0 call $~lib/builtins/trace i32.const 80 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 0 f64.const 0 f64.const 0 @@ -80,11 +37,6 @@ f64.const 0 call $~lib/builtins/trace i32.const 128 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 1 f64.const 1 f64.const 0 @@ -93,11 +45,6 @@ f64.const 0 call $~lib/builtins/trace i32.const 176 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 2 f64.const 1 f64.const 2 @@ -106,11 +53,6 @@ f64.const 0 call $~lib/builtins/trace i32.const 224 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 3 f64.const 1 f64.const 2 @@ -119,11 +61,6 @@ f64.const 0 call $~lib/builtins/trace i32.const 272 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 4 f64.const 1 f64.const 2 @@ -132,11 +69,6 @@ f64.const 0 call $~lib/builtins/trace i32.const 320 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 5 f64.const 1 f64.const 2 @@ -145,11 +77,6 @@ f64.const 5 call $~lib/builtins/trace i32.const 368 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 5 f64.const 1.1 f64.const 2.2 @@ -157,9 +84,14 @@ f64.const 4.4 f64.const 5.5 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + ) + (func $~start + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:std/trace ) ) diff --git a/tests/compiler/std/trace.release.wat b/tests/compiler/std/trace.release.wat index de07b9d2df..bf6eec49ce 100644 --- a/tests/compiler/std/trace.release.wat +++ b/tests/compiler/std/trace.release.wat @@ -1,60 +1,34 @@ (module - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $1 (func)) (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) - (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34188)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t") - (data (i32.const 1084) ",") - (data (i32.const 1096) "\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t") - (data (i32.const 1132) ",") - (data (i32.const 1144) "\02\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t") - (data (i32.const 1180) ",") - (data (i32.const 1192) "\02\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t") - (data (i32.const 1228) ",") - (data (i32.const 1240) "\02\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t") - (data (i32.const 1276) ",") - (data (i32.const 1288) "\02\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t") - (data (i32.const 1324) ",") - (data (i32.const 1336) "\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t") - (data (i32.const 1372) ",") - (data (i32.const 1384) "\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00i\00m\00p\00l\00i\00c\00i\00t") + (data $1 (i32.const 1084) ",") + (data $1.1 (i32.const 1096) "\02\00\00\00\1a\00\00\00z\00e\00r\00o\00_\00e\00x\00p\00l\00i\00c\00i\00t") + (data $2 (i32.const 1132) ",") + (data $2.1 (i32.const 1144) "\02\00\00\00\0e\00\00\00o\00n\00e\00_\00i\00n\00t") + (data $3 (i32.const 1180) ",") + (data $3.1 (i32.const 1192) "\02\00\00\00\0e\00\00\00t\00w\00o\00_\00i\00n\00t") + (data $4 (i32.const 1228) ",") + (data $4.1 (i32.const 1240) "\02\00\00\00\12\00\00\00t\00h\00r\00e\00e\00_\00i\00n\00t") + (data $5 (i32.const 1276) ",") + (data $5.1 (i32.const 1288) "\02\00\00\00\10\00\00\00f\00o\00u\00r\00_\00i\00n\00t") + (data $6 (i32.const 1324) ",") + (data $6.1 (i32.const 1336) "\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00i\00n\00t") + (data $7 (i32.const 1372) ",") + (data $7.1 (i32.const 1384) "\02\00\00\00\10\00\00\00f\00i\00v\00e\00_\00d\00b\00l") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~start - (local $0 i32) global.get $~started if return end i32.const 1 global.set $~started - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1420 - i32.lt_s - if - i32.const 34208 - i32.const 34256 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 i32.const 1056 i32.const 0 f64.const 0 @@ -63,9 +37,6 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 1104 - i32.store $0 i32.const 1104 i32.const 0 f64.const 0 @@ -74,9 +45,6 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 1152 - i32.store $0 i32.const 1152 i32.const 1 f64.const 1 @@ -85,9 +53,6 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 1200 - i32.store $0 i32.const 1200 i32.const 2 f64.const 1 @@ -96,9 +61,6 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 1248 - i32.store $0 i32.const 1248 i32.const 3 f64.const 1 @@ -107,9 +69,6 @@ f64.const 0 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 1296 - i32.store $0 i32.const 1296 i32.const 4 f64.const 1 @@ -118,9 +77,6 @@ f64.const 4 f64.const 0 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 1344 - i32.store $0 i32.const 1344 i32.const 5 f64.const 1 @@ -129,9 +85,6 @@ f64.const 4 f64.const 5 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 1392 - i32.store $0 i32.const 1392 i32.const 5 f64.const 1.1 @@ -140,9 +93,5 @@ f64.const 4.4 f64.const 5.5 call $~lib/builtins/trace - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer ) ) diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 73cae226a4..1498ca5bde 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -1,55 +1,59 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_none (func)) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $i64_i32_i32_=>_i32 (func (param i64 i32 i32) (result i32))) - (type $i64_i64_=>_i32 (func (param i64 i64) (result i32))) - (type $f32_i32_i32_=>_i32 (func (param f32 i32 i32) (result i32))) - (type $f64_i32_i32_=>_i32 (func (param f64 i32 i32) (result i32))) - (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32))) - (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) - (type $i32_i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $i64_i64_i32_i32_=>_i64 (func (param i64 i64 i32 i32) (result i64))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) - (type $i32_i64_i32_=>_i32 (func (param i32 i64 i32) (result i32))) - (type $f32_f32_i32_i32_=>_f32 (func (param f32 f32 i32 i32) (result f32))) - (type $f64_f64_i32_i32_=>_f64 (func (param f64 f64 i32 i32) (result f64))) - (type $i64_i32_i32_=>_i64 (func (param i64 i32 i32) (result i64))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) - (type $i32_i32_i64_=>_i64 (func (param i32 i32 i64) (result i64))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $i64_i32_i32_=>_none (func (param i64 i32 i32))) - (type $i32_f32_i32_=>_i32 (func (param i32 f32 i32) (result i32))) - (type $i32_f64_i32_=>_i32 (func (param i32 f64 i32) (result i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $f32_i32_i32_=>_f32 (func (param f32 i32 i32) (result f32))) - (type $f64_i32_i32_=>_f64 (func (param f64 i32 i32) (result f64))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) - (type $i32_i32_f32_=>_f32 (func (param i32 i32 f32) (result f32))) - (type $i32_i32_f64_=>_f64 (func (param i32 i32 f64) (result f64))) - (type $f32_i32_i32_=>_none (func (param f32 i32 i32))) - (type $f64_i32_i32_=>_none (func (param f64 i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $f32_f32_=>_f32 (func (param f32 f32) (result f32))) - (type $f64_f64_=>_f64 (func (param f64 f64) (result f64))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i64_=>_i32 (func (param i64) (result i32))) - (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $i32_i32_f64_=>_none (func (param i32 i32 f64))) - (type $i32_i32_f32_=>_none (func (param i32 i32 f32))) - (type $f64_=>_i32 (func (param f64) (result i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (param i32 i32))) + (type $3 (func)) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32) (result i32))) + (type $7 (func (param i64 i32 i32) (result i32))) + (type $8 (func (param i64 i64) (result i32))) + (type $9 (func (param f32 i32 i32) (result i32))) + (type $10 (func (param f64 i32 i32) (result i32))) + (type $11 (func (param i32 i32 i32 i32 i32))) + (type $12 (func (param f64 f64) (result i32))) + (type $13 (func (param f32 f32) (result i32))) + (type $14 (func (param i32 i32 i32 i32 i32 i32))) + (type $15 (func (param i32))) + (type $16 (func (param i64 i64 i32 i32) (result i64))) + (type $17 (func (param i32 i32) (result i64))) + (type $18 (func (param i32 i64 i32) (result i32))) + (type $19 (func (param i32 f64 i32) (result i32))) + (type $20 (func (param f32 f32 i32 i32) (result f32))) + (type $21 (func (param f64 f64 i32 i32) (result f64))) + (type $22 (func (param i64 i32 i32) (result i64))) + (type $23 (func (param i32 i32) (result f64))) + (type $24 (func (param i32 i32 i64) (result i64))) + (type $25 (func (param i32 i32) (result f32))) + (type $26 (func (param i64 i32 i32))) + (type $27 (func (param i32 f32 i32) (result i32))) + (type $28 (func (param i64 i32) (result i32))) + (type $29 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $30 (func (param f32 i32 i32) (result f32))) + (type $31 (func (param f64 i32 i32) (result f64))) + (type $32 (func (param i32 i64 i32))) + (type $33 (func (param i32 i64) (result i32))) + (type $34 (func (param i32 i32 i64))) + (type $35 (func (param i32 i32 f32) (result f32))) + (type $36 (func (param i32 i32 f64) (result f64))) + (type $37 (func (param f32 i32 i32))) + (type $38 (func (param f64 i32 i32))) + (type $39 (func (param i32 i32 i32 i32))) + (type $40 (func (param i32 i32 i64) (result i32))) + (type $41 (func (result i32))) + (type $42 (func (param f32 f32) (result f32))) + (type $43 (func (param f64 f64) (result f64))) + (type $44 (func (param i64) (result i64))) + (type $45 (func (param i32 i64 i32 i32))) + (type $46 (func (param i64) (result i32))) + (type $47 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) + (type $48 (func (param i32 f32) (result i32))) + (type $49 (func (param i32 f64) (result i32))) + (type $50 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $51 (func (param i32 i32 f64))) + (type $52 (func (param i32 i32 f32))) + (type $53 (func (param f32) (result i32))) + (type $54 (func (param f64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (global $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32 (i32.const 1)) @@ -103,324 +107,324 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 48064)) (global $~lib/memory/__heap_base i32 (i32.const 48064)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\01\04\05\00\00\00\00\00\00\00") - (data (i32.const 716) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") - (data (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\02\02\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\05\00\00\00\01\01\00\02\02\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\03\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\05\00\00\00\01\00\00\00\02\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\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1004) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\00\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 1052) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\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 1100) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1228) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1276) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1324) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1372) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1420) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1468) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1516) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1564) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1612) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1660) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1708) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1804) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1852) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1916) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1948) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1980) "\1c\00\00\00\00\00\00\00\00\00\00\00\16\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2012) "\1c\00\00\00\00\00\00\00\00\00\00\00\17\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2044) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2076) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2108) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2140) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2172) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2204) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2236) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2268) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\16\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\17\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00\15\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\00\17\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\1d\00\00\00\08\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\1e\00\00\00\08\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2620) "\1c\00\00\00\00\00\00\00\00\00\00\00\1f\00\00\00\08\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2652) "\1c\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\08\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2684) "\1c\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\08\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2716) "\1c\00\00\00\00\00\00\00\00\00\00\00\"\00\00\00\08\00\00\00\1d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2748) "\1c\00\00\00\00\00\00\00\00\00\00\00#\00\00\00\08\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2780) "\1c\00\00\00\00\00\00\00\00\00\00\00$\00\00\00\08\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2812) "\1c\00\00\00\00\00\00\00\00\00\00\00%\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2844) "\1c\00\00\00\00\00\00\00\00\00\00\00&\00\00\00\08\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2876) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2908) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00#\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2940) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00$\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2972) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00%\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3004) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3036) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00\'\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3068) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00(\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00*\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3228) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3260) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3292) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00/\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3324) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3356) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3388) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3420) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\003\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3452) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\004\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3484) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3516) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\006\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3548) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\007\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3580) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\008\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3612) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\009\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3644) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3676) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00;\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3708) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00<\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3740) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00=\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00>\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3804) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00?\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3836) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00@\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3868) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3964) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00D\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3996) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00E\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4028) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00F\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4060) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00G\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4092) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00H\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4124) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00I\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4156) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00J\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4188) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00K\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4220) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00L\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4252) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00M\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4284) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00N\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4316) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00O\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4348) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00P\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4380) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4412) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00R\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4444) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00S\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4476) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00T\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4508) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00U\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4540) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00V\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4572) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00W\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4604) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00X\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4636) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00Y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4668) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00Z\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4700) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00[\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4732) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00\\\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4764) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00]\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4796) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00^\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4828) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00_\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4860) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00`\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4892) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4924) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4956) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 4988) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5020) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5052) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5084) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00g\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5116) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5148) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00i\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5180) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00j\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5212) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00k\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5244) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00l\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5276) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00m\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5308) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00n\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5340) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00o\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5372) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00p\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5404) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00q\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5436) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00r\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5468) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5500) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5532) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00u\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5564) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00v\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5596) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00w\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5628) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5692) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00z\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5724) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00{\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5756) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00|\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5788) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00}\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5820) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00~\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5852) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00\7f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5884) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00\80\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5916) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00\81\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5948) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00\82\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 5980) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6012) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00\84\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6044) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00\85\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6076) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00") - (data (i32.const 6108) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00\d0\17\00\00\d0\17\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\003\00\00\00\08\00\00\00\86\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\004\00\00\00\08\00\00\00\87\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\005\00\00\00\08\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\006\00\00\00\08\00\00\00\89\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\007\00\00\00\08\00\00\00\8a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\008\00\00\00\08\00\00\00\8b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\009\00\00\00\08\00\00\00\8c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00:\00\00\00\08\00\00\00\8d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6412) "\1c\00\00\00\00\00\00\00\00\00\00\00;\00\00\00\08\00\00\00\8e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6444) "\1c\00\00\00\00\00\00\00\00\00\00\00<\00\00\00\08\00\00\00\8f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6476) "\1c\00\00\00\00\00\00\00\00\00\00\00=\00\00\00\08\00\00\00\90\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6508) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6572) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00\80\19\00\00\80\19\00\00$\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6620) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\n\00\00\00") - (data (i32.const 6684) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00\f0\19\00\00\f0\19\00\00,\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6764) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 6892) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 6956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 6988) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 7388) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8444) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00,\002\00,\003\00,\004\00,\005\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 8652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 8684) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8732) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 8784) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 8840) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00\10\00\00\000\'\00\000\'\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10092) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00") - (data (i32.const 10140) ",\00\00\00\00\00\00\00\00\00\00\00?\00\00\00\10\00\00\00\80\'\00\00\80\'\00\00\18\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\92\91\90\00\00\00\00\00\00\00\00\00") - (data (i32.const 10220) ",\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\10\00\00\00\e0\'\00\00\e0\'\00\00\03\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") - (data (i32.const 10300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00I\00n\00t\008\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") - (data (i32.const 10380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") - (data (i32.const 10412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") - (data (i32.const 10444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90\00\00") - (data (i32.const 10476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") - (data (i32.const 10508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00U\00i\00n\00t\008\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") - (data (i32.const 10556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") - (data (i32.const 10588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") - (data (i32.const 10620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") - (data (i32.const 10652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90\00\00") - (data (i32.const 10684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") - (data (i32.const 10716) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00U\00i\00n\00t\008\00C\00l\00a\00m\00p\00e\00d\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 10780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") - (data (i32.const 10812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") - (data (i32.const 10844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") - (data (i32.const 10876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00defg\ff\ff\ff\00\00\00\00\00") - (data (i32.const 10908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\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 10956) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00t\001\006\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") - (data (i32.const 11004) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11052) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11100) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11148) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff\00\00\00\00\00\00\00\00") - (data (i32.const 11196) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\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 11244) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00U\00i\00n\00t\001\006\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") - (data (i32.const 11292) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11340) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11388) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11436) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff\00\00\00\00\00\00\00\00") - (data (i32.const 11484) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\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\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11548) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") - (data (i32.const 11596) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\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 11660) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11724) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11788) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff\00\00\00\00") - (data (i32.const 11852) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\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\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 11916) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00U\00i\00n\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") - (data (i32.const 11964) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\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 12028) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12092) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12156) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff\00\00\00\00") - (data (i32.const 12220) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 12332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") - (data (i32.const 12380) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 12492) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\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 12604) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\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 12716) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 12828) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 12940) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00U\00i\00n\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") - (data (i32.const 12988) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 13100) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\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 13212) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\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 13324) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13436) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\00\00\00\00\00\00\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 13500) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00") - (data (i32.const 13548) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 13612) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\e0@\00\00\00A\00\00\10A\00\00\00\00\00\00\00\00") - (data (i32.const 13676) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\c8B\00\00\caB\00\00\ccB\00\00\ceB\00\00zD\00@zD\00\80zD\00\00\dc\c2\00\00\de\c2\00\00\e0\c2\00\00\00\00") - (data (i32.const 13740) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 13852) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00") - (data (i32.const 13900) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 14012) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\1c@\00\00\00\00\00\00 @\00\00\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 14124) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00Y@\00\00\00\00\00@Y@\00\00\00\00\00\80Y@\00\00\00\00\00\c0Y@\00\00\00\00\00@\8f@\00\00\00\00\00H\8f@\00\00\00\00\00P\8f@\00\00\00\00\00\80[\c0\00\00\00\00\00\c0[\c0\00\00\00\00\00\00\\\c0\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\00\ff\00\00\00d\n\ff\ff\00\00\00") - (data (i32.const 14268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\ffd\ff\00\00d\n\ff\00\00\00") - (data (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\91\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\92\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\93\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14428) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\95\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14460) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\96\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14492) "\1c\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\08\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\08\00\00\00\98\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00I\00\00\00\08\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00I\00\00\00\08\00\00\00\9a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14620) "\1c\00\00\00\00\00\00\00\00\00\00\00J\00\00\00\08\00\00\00\9b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14652) "\1c\00\00\00\00\00\00\00\00\00\00\00J\00\00\00\08\00\00\00\9c\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14684) "\1c\00\00\00\00\00\00\00\00\00\00\00K\00\00\00\08\00\00\00\9d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14716) "\1c\00\00\00\00\00\00\00\00\00\00\00K\00\00\00\08\00\00\00\9e\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14748) "\1c\00\00\00\00\00\00\00\00\00\00\00L\00\00\00\08\00\00\00\9f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14780) "\1c\00\00\00\00\00\00\00\00\00\00\00L\00\00\00\08\00\00\00\a0\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14812) "\1c\00\00\00\00\00\00\00\00\00\00\00M\00\00\00\08\00\00\00\a1\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14844) "\1c\00\00\00\00\00\00\00\00\00\00\00M\00\00\00\08\00\00\00\a2\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00N\00\00\00\08\00\00\00\a3\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14908) "\1c\00\00\00\00\00\00\00\00\00\00\00N\00\00\00\08\00\00\00\a4\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14940) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\a5\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 14976) "O\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00B\08\00\00\02\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\19\00\00\02\1a\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\01\00\00\02\n\00\00\02\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $2 (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 188) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 256) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 288) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 380) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 432) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 460) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 524) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 652) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $13 (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\01\04\05\00\00\00\00\00\00\00") + (data $14 (i32.const 716) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s\00\00\00") + (data $15 (i32.const 764) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 796) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 828) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") + (data $18 (i32.const 860) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\01\00\02\02\00\00\00\00\00\00\00") + (data $19 (i32.const 892) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $20 (i32.const 924) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\05\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00") + (data $21 (i32.const 956) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $22 (i32.const 1004) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\00\00\00\00\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 $23 (i32.const 1052) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $24 (i32.const 1100) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $25 (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $26 (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $27 (i32.const 1228) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $28 (i32.const 1276) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $29 (i32.const 1324) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $30 (i32.const 1372) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $31 (i32.const 1420) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $32 (i32.const 1468) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $33 (i32.const 1516) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $34 (i32.const 1564) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $35 (i32.const 1612) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $36 (i32.const 1660) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $37 (i32.const 1708) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $38 (i32.const 1756) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $39 (i32.const 1804) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $40 (i32.const 1852) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00") + (data $41 (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00") + (data $42 (i32.const 1916) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\04\00\00\00\00\00\00\00\00\00\00\00") + (data $43 (i32.const 1948) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00\05\00\00\00\00\00\00\00\00\00\00\00") + (data $44 (i32.const 1980) "\1c\00\00\00\00\00\00\00\00\00\00\00\16\00\00\00\08\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00") + (data $45 (i32.const 2012) "\1c\00\00\00\00\00\00\00\00\00\00\00\17\00\00\00\08\00\00\00\07\00\00\00\00\00\00\00\00\00\00\00") + (data $46 (i32.const 2044) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\00\08\00\00\00\00\00\00\00\00\00\00\00") + (data $47 (i32.const 2076) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $48 (i32.const 2108) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00\n\00\00\00\00\00\00\00\00\00\00\00") + (data $49 (i32.const 2140) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00") + (data $50 (i32.const 2172) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\00\0c\00\00\00\00\00\00\00\00\00\00\00") + (data $51 (i32.const 2204) "\1c\00\00\00\00\00\00\00\00\00\00\00\12\00\00\00\08\00\00\00\r\00\00\00\00\00\00\00\00\00\00\00") + (data $52 (i32.const 2236) "\1c\00\00\00\00\00\00\00\00\00\00\00\13\00\00\00\08\00\00\00\0e\00\00\00\00\00\00\00\00\00\00\00") + (data $53 (i32.const 2268) "\1c\00\00\00\00\00\00\00\00\00\00\00\14\00\00\00\08\00\00\00\0f\00\00\00\00\00\00\00\00\00\00\00") + (data $54 (i32.const 2300) "\1c\00\00\00\00\00\00\00\00\00\00\00\15\00\00\00\08\00\00\00\10\00\00\00\00\00\00\00\00\00\00\00") + (data $55 (i32.const 2332) "\1c\00\00\00\00\00\00\00\00\00\00\00\16\00\00\00\08\00\00\00\11\00\00\00\00\00\00\00\00\00\00\00") + (data $56 (i32.const 2364) "\1c\00\00\00\00\00\00\00\00\00\00\00\17\00\00\00\08\00\00\00\12\00\00\00\00\00\00\00\00\00\00\00") + (data $57 (i32.const 2396) "\1c\00\00\00\00\00\00\00\00\00\00\00\18\00\00\00\08\00\00\00\13\00\00\00\00\00\00\00\00\00\00\00") + (data $58 (i32.const 2428) "\1c\00\00\00\00\00\00\00\00\00\00\00\19\00\00\00\08\00\00\00\14\00\00\00\00\00\00\00\00\00\00\00") + (data $59 (i32.const 2460) "\1c\00\00\00\00\00\00\00\00\00\00\00\1a\00\00\00\08\00\00\00\15\00\00\00\00\00\00\00\00\00\00\00") + (data $60 (i32.const 2492) "\1c\00\00\00\00\00\00\00\00\00\00\00\1b\00\00\00\08\00\00\00\16\00\00\00\00\00\00\00\00\00\00\00") + (data $61 (i32.const 2524) "\1c\00\00\00\00\00\00\00\00\00\00\00\1c\00\00\00\08\00\00\00\17\00\00\00\00\00\00\00\00\00\00\00") + (data $62 (i32.const 2556) "\1c\00\00\00\00\00\00\00\00\00\00\00\1d\00\00\00\08\00\00\00\18\00\00\00\00\00\00\00\00\00\00\00") + (data $63 (i32.const 2588) "\1c\00\00\00\00\00\00\00\00\00\00\00\1e\00\00\00\08\00\00\00\19\00\00\00\00\00\00\00\00\00\00\00") + (data $64 (i32.const 2620) "\1c\00\00\00\00\00\00\00\00\00\00\00\1f\00\00\00\08\00\00\00\1a\00\00\00\00\00\00\00\00\00\00\00") + (data $65 (i32.const 2652) "\1c\00\00\00\00\00\00\00\00\00\00\00 \00\00\00\08\00\00\00\1b\00\00\00\00\00\00\00\00\00\00\00") + (data $66 (i32.const 2684) "\1c\00\00\00\00\00\00\00\00\00\00\00!\00\00\00\08\00\00\00\1c\00\00\00\00\00\00\00\00\00\00\00") + (data $67 (i32.const 2716) "\1c\00\00\00\00\00\00\00\00\00\00\00\"\00\00\00\08\00\00\00\1d\00\00\00\00\00\00\00\00\00\00\00") + (data $68 (i32.const 2748) "\1c\00\00\00\00\00\00\00\00\00\00\00#\00\00\00\08\00\00\00\1e\00\00\00\00\00\00\00\00\00\00\00") + (data $69 (i32.const 2780) "\1c\00\00\00\00\00\00\00\00\00\00\00$\00\00\00\08\00\00\00\1f\00\00\00\00\00\00\00\00\00\00\00") + (data $70 (i32.const 2812) "\1c\00\00\00\00\00\00\00\00\00\00\00%\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data $71 (i32.const 2844) "\1c\00\00\00\00\00\00\00\00\00\00\00&\00\00\00\08\00\00\00!\00\00\00\00\00\00\00\00\00\00\00") + (data $72 (i32.const 2876) "\1c\00\00\00\00\00\00\00\00\00\00\00\'\00\00\00\08\00\00\00\"\00\00\00\00\00\00\00\00\00\00\00") + (data $73 (i32.const 2908) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00#\00\00\00\00\00\00\00\00\00\00\00") + (data $74 (i32.const 2940) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00$\00\00\00\00\00\00\00\00\00\00\00") + (data $75 (i32.const 2972) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00%\00\00\00\00\00\00\00\00\00\00\00") + (data $76 (i32.const 3004) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") + (data $77 (i32.const 3036) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00\'\00\00\00\00\00\00\00\00\00\00\00") + (data $78 (i32.const 3068) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00(\00\00\00\00\00\00\00\00\00\00\00") + (data $79 (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") + (data $80 (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00*\00\00\00\00\00\00\00\00\00\00\00") + (data $81 (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data $82 (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data $83 (i32.const 3228) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00-\00\00\00\00\00\00\00\00\00\00\00") + (data $84 (i32.const 3260) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00.\00\00\00\00\00\00\00\00\00\00\00") + (data $85 (i32.const 3292) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00/\00\00\00\00\00\00\00\00\00\00\00") + (data $86 (i32.const 3324) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $87 (i32.const 3356) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data $88 (i32.const 3388) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\002\00\00\00\00\00\00\00\00\00\00\00") + (data $89 (i32.const 3420) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\003\00\00\00\00\00\00\00\00\00\00\00") + (data $90 (i32.const 3452) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\004\00\00\00\00\00\00\00\00\00\00\00") + (data $91 (i32.const 3484) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\005\00\00\00\00\00\00\00\00\00\00\00") + (data $92 (i32.const 3516) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\006\00\00\00\00\00\00\00\00\00\00\00") + (data $93 (i32.const 3548) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\007\00\00\00\00\00\00\00\00\00\00\00") + (data $94 (i32.const 3580) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\008\00\00\00\00\00\00\00\00\00\00\00") + (data $95 (i32.const 3612) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\009\00\00\00\00\00\00\00\00\00\00\00") + (data $96 (i32.const 3644) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00:\00\00\00\00\00\00\00\00\00\00\00") + (data $97 (i32.const 3676) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00;\00\00\00\00\00\00\00\00\00\00\00") + (data $98 (i32.const 3708) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00<\00\00\00\00\00\00\00\00\00\00\00") + (data $99 (i32.const 3740) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00=\00\00\00\00\00\00\00\00\00\00\00") + (data $100 (i32.const 3772) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00>\00\00\00\00\00\00\00\00\00\00\00") + (data $101 (i32.const 3804) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00?\00\00\00\00\00\00\00\00\00\00\00") + (data $102 (i32.const 3836) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00@\00\00\00\00\00\00\00\00\00\00\00") + (data $103 (i32.const 3868) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00A\00\00\00\00\00\00\00\00\00\00\00") + (data $104 (i32.const 3900) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00B\00\00\00\00\00\00\00\00\00\00\00") + (data $105 (i32.const 3932) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00C\00\00\00\00\00\00\00\00\00\00\00") + (data $106 (i32.const 3964) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00D\00\00\00\00\00\00\00\00\00\00\00") + (data $107 (i32.const 3996) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00E\00\00\00\00\00\00\00\00\00\00\00") + (data $108 (i32.const 4028) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00F\00\00\00\00\00\00\00\00\00\00\00") + (data $109 (i32.const 4060) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00G\00\00\00\00\00\00\00\00\00\00\00") + (data $110 (i32.const 4092) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00H\00\00\00\00\00\00\00\00\00\00\00") + (data $111 (i32.const 4124) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00I\00\00\00\00\00\00\00\00\00\00\00") + (data $112 (i32.const 4156) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00J\00\00\00\00\00\00\00\00\00\00\00") + (data $113 (i32.const 4188) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00K\00\00\00\00\00\00\00\00\00\00\00") + (data $114 (i32.const 4220) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00L\00\00\00\00\00\00\00\00\00\00\00") + (data $115 (i32.const 4252) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00M\00\00\00\00\00\00\00\00\00\00\00") + (data $116 (i32.const 4284) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00N\00\00\00\00\00\00\00\00\00\00\00") + (data $117 (i32.const 4316) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00O\00\00\00\00\00\00\00\00\00\00\00") + (data $118 (i32.const 4348) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00P\00\00\00\00\00\00\00\00\00\00\00") + (data $119 (i32.const 4380) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00Q\00\00\00\00\00\00\00\00\00\00\00") + (data $120 (i32.const 4412) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00R\00\00\00\00\00\00\00\00\00\00\00") + (data $121 (i32.const 4444) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00S\00\00\00\00\00\00\00\00\00\00\00") + (data $122 (i32.const 4476) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00T\00\00\00\00\00\00\00\00\00\00\00") + (data $123 (i32.const 4508) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00U\00\00\00\00\00\00\00\00\00\00\00") + (data $124 (i32.const 4540) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00V\00\00\00\00\00\00\00\00\00\00\00") + (data $125 (i32.const 4572) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00W\00\00\00\00\00\00\00\00\00\00\00") + (data $126 (i32.const 4604) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00X\00\00\00\00\00\00\00\00\00\00\00") + (data $127 (i32.const 4636) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00Y\00\00\00\00\00\00\00\00\00\00\00") + (data $128 (i32.const 4668) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00Z\00\00\00\00\00\00\00\00\00\00\00") + (data $129 (i32.const 4700) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00[\00\00\00\00\00\00\00\00\00\00\00") + (data $130 (i32.const 4732) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00\\\00\00\00\00\00\00\00\00\00\00\00") + (data $131 (i32.const 4764) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00]\00\00\00\00\00\00\00\00\00\00\00") + (data $132 (i32.const 4796) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00^\00\00\00\00\00\00\00\00\00\00\00") + (data $133 (i32.const 4828) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00_\00\00\00\00\00\00\00\00\00\00\00") + (data $134 (i32.const 4860) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00`\00\00\00\00\00\00\00\00\00\00\00") + (data $135 (i32.const 4892) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $136 (i32.const 4924) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") + (data $137 (i32.const 4956) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00c\00\00\00\00\00\00\00\00\00\00\00") + (data $138 (i32.const 4988) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00d\00\00\00\00\00\00\00\00\00\00\00") + (data $139 (i32.const 5020) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00e\00\00\00\00\00\00\00\00\00\00\00") + (data $140 (i32.const 5052) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00f\00\00\00\00\00\00\00\00\00\00\00") + (data $141 (i32.const 5084) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00g\00\00\00\00\00\00\00\00\00\00\00") + (data $142 (i32.const 5116) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") + (data $143 (i32.const 5148) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00i\00\00\00\00\00\00\00\00\00\00\00") + (data $144 (i32.const 5180) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00j\00\00\00\00\00\00\00\00\00\00\00") + (data $145 (i32.const 5212) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00k\00\00\00\00\00\00\00\00\00\00\00") + (data $146 (i32.const 5244) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00l\00\00\00\00\00\00\00\00\00\00\00") + (data $147 (i32.const 5276) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00m\00\00\00\00\00\00\00\00\00\00\00") + (data $148 (i32.const 5308) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00n\00\00\00\00\00\00\00\00\00\00\00") + (data $149 (i32.const 5340) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00o\00\00\00\00\00\00\00\00\00\00\00") + (data $150 (i32.const 5372) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00p\00\00\00\00\00\00\00\00\00\00\00") + (data $151 (i32.const 5404) "\1c\00\00\00\00\00\00\00\00\00\00\00(\00\00\00\08\00\00\00q\00\00\00\00\00\00\00\00\00\00\00") + (data $152 (i32.const 5436) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00r\00\00\00\00\00\00\00\00\00\00\00") + (data $153 (i32.const 5468) "\1c\00\00\00\00\00\00\00\00\00\00\00)\00\00\00\08\00\00\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $154 (i32.const 5500) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00t\00\00\00\00\00\00\00\00\00\00\00") + (data $155 (i32.const 5532) "\1c\00\00\00\00\00\00\00\00\00\00\00*\00\00\00\08\00\00\00u\00\00\00\00\00\00\00\00\00\00\00") + (data $156 (i32.const 5564) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00v\00\00\00\00\00\00\00\00\00\00\00") + (data $157 (i32.const 5596) "\1c\00\00\00\00\00\00\00\00\00\00\00+\00\00\00\08\00\00\00w\00\00\00\00\00\00\00\00\00\00\00") + (data $158 (i32.const 5628) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00x\00\00\00\00\00\00\00\00\00\00\00") + (data $159 (i32.const 5660) "\1c\00\00\00\00\00\00\00\00\00\00\00,\00\00\00\08\00\00\00y\00\00\00\00\00\00\00\00\00\00\00") + (data $160 (i32.const 5692) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00z\00\00\00\00\00\00\00\00\00\00\00") + (data $161 (i32.const 5724) "\1c\00\00\00\00\00\00\00\00\00\00\00-\00\00\00\08\00\00\00{\00\00\00\00\00\00\00\00\00\00\00") + (data $162 (i32.const 5756) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00|\00\00\00\00\00\00\00\00\00\00\00") + (data $163 (i32.const 5788) "\1c\00\00\00\00\00\00\00\00\00\00\00.\00\00\00\08\00\00\00}\00\00\00\00\00\00\00\00\00\00\00") + (data $164 (i32.const 5820) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00~\00\00\00\00\00\00\00\00\00\00\00") + (data $165 (i32.const 5852) "\1c\00\00\00\00\00\00\00\00\00\00\00/\00\00\00\08\00\00\00\7f\00\00\00\00\00\00\00\00\00\00\00") + (data $166 (i32.const 5884) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00\80\00\00\00\00\00\00\00\00\00\00\00") + (data $167 (i32.const 5916) "\1c\00\00\00\00\00\00\00\00\00\00\000\00\00\00\08\00\00\00\81\00\00\00\00\00\00\00\00\00\00\00") + (data $168 (i32.const 5948) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00\82\00\00\00\00\00\00\00\00\00\00\00") + (data $169 (i32.const 5980) "\1c\00\00\00\00\00\00\00\00\00\00\001\00\00\00\08\00\00\00\83\00\00\00\00\00\00\00\00\00\00\00") + (data $170 (i32.const 6012) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00\84\00\00\00\00\00\00\00\00\00\00\00") + (data $171 (i32.const 6044) "\1c\00\00\00\00\00\00\00\00\00\00\002\00\00\00\08\00\00\00\85\00\00\00\00\00\00\00\00\00\00\00") + (data $172 (i32.const 6076) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e\00\00\00") + (data $173 (i32.const 6108) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00\d0\17\00\00\d0\17\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $174 (i32.const 6156) "\1c\00\00\00\00\00\00\00\00\00\00\003\00\00\00\08\00\00\00\86\00\00\00\00\00\00\00\00\00\00\00") + (data $175 (i32.const 6188) "\1c\00\00\00\00\00\00\00\00\00\00\004\00\00\00\08\00\00\00\87\00\00\00\00\00\00\00\00\00\00\00") + (data $176 (i32.const 6220) "\1c\00\00\00\00\00\00\00\00\00\00\005\00\00\00\08\00\00\00\88\00\00\00\00\00\00\00\00\00\00\00") + (data $177 (i32.const 6252) "\1c\00\00\00\00\00\00\00\00\00\00\006\00\00\00\08\00\00\00\89\00\00\00\00\00\00\00\00\00\00\00") + (data $178 (i32.const 6284) "\1c\00\00\00\00\00\00\00\00\00\00\007\00\00\00\08\00\00\00\8a\00\00\00\00\00\00\00\00\00\00\00") + (data $179 (i32.const 6316) "\1c\00\00\00\00\00\00\00\00\00\00\008\00\00\00\08\00\00\00\8b\00\00\00\00\00\00\00\00\00\00\00") + (data $180 (i32.const 6348) "\1c\00\00\00\00\00\00\00\00\00\00\009\00\00\00\08\00\00\00\8c\00\00\00\00\00\00\00\00\00\00\00") + (data $181 (i32.const 6380) "\1c\00\00\00\00\00\00\00\00\00\00\00:\00\00\00\08\00\00\00\8d\00\00\00\00\00\00\00\00\00\00\00") + (data $182 (i32.const 6412) "\1c\00\00\00\00\00\00\00\00\00\00\00;\00\00\00\08\00\00\00\8e\00\00\00\00\00\00\00\00\00\00\00") + (data $183 (i32.const 6444) "\1c\00\00\00\00\00\00\00\00\00\00\00<\00\00\00\08\00\00\00\8f\00\00\00\00\00\00\00\00\00\00\00") + (data $184 (i32.const 6476) "\1c\00\00\00\00\00\00\00\00\00\00\00=\00\00\00\08\00\00\00\90\00\00\00\00\00\00\00\00\00\00\00") + (data $185 (i32.const 6508) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $186 (i32.const 6572) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00\80\19\00\00\80\19\00\00$\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $187 (i32.const 6620) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00,\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\n\00\00\00") + (data $188 (i32.const 6684) ",\00\00\00\00\00\00\00\00\00\00\00\11\00\00\00\10\00\00\00\f0\19\00\00\f0\19\00\00,\00\00\00\0b\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $189 (i32.const 6732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $190 (i32.const 6764) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") + (data $191 (i32.const 6892) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") + (data $192 (i32.const 6956) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") + (data $193 (i32.const 6988) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") + (data $194 (i32.const 7388) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $195 (i32.const 8444) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") + (data $196 (i32.const 8540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00,\00\00\00\00\00\00\00\00\00\00\00") + (data $197 (i32.const 8572) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\001\00,\002\00,\003\00,\004\00,\005\00\00\00\00\00\00\00\00\00\00\00") + (data $198 (i32.const 8620) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") + (data $199 (i32.const 8652) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") + (data $200 (i32.const 8684) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") + (data $201 (i32.const 8732) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $202 (i32.const 8784) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $203 (i32.const 8840) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00\10\00\00\000\'\00\000\'\00\00\0c\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $213 (i32.const 10092) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\18\00\00\00\00\00\00\00\00\00\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff\00\00\00\00") + (data $214 (i32.const 10140) ",\00\00\00\00\00\00\00\00\00\00\00?\00\00\00\10\00\00\00\80\'\00\00\80\'\00\00\18\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $215 (i32.const 10188) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\03\00\00\00\92\91\90\00\00\00\00\00\00\00\00\00") + (data $216 (i32.const 10220) ",\00\00\00\00\00\00\00\00\00\00\00\10\00\00\00\10\00\00\00\e0\'\00\00\e0\'\00\00\03\00\00\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $217 (i32.const 10268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") + (data $218 (i32.const 10300) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00I\00n\00t\008\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00\00\00") + (data $219 (i32.const 10348) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") + (data $220 (i32.const 10380) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") + (data $221 (i32.const 10412) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") + (data $222 (i32.const 10444) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90\00\00") + (data $223 (i32.const 10476) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") + (data $224 (i32.const 10508) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00U\00i\00n\00t\008\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") + (data $225 (i32.const 10556) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") + (data $226 (i32.const 10588) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") + (data $227 (i32.const 10620) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") + (data $228 (i32.const 10652) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90\00\00") + (data $229 (i32.const 10684) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\00\00\00\00\00\00\00\00\00") + (data $230 (i32.const 10716) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\"\00\00\00U\00i\00n\00t\008\00C\00l\00a\00m\00p\00e\00d\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00\00\00") + (data $231 (i32.const 10780) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\00\00\00\00\00\00") + (data $232 (i32.const 10812) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t\00\00\00") + (data $233 (i32.const 10844) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t\00\00\00") + (data $234 (i32.const 10876) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00defg\ff\ff\ff\00\00\00\00\00") + (data $235 (i32.const 10908) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $236 (i32.const 10956) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00t\001\006\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") + (data $237 (i32.const 11004) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $238 (i32.const 11052) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $239 (i32.const 11100) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $240 (i32.const 11148) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff\00\00\00\00\00\00\00\00") + (data $241 (i32.const 11196) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $242 (i32.const 11244) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00U\00i\00n\00t\001\006\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") + (data $243 (i32.const 11292) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $244 (i32.const 11340) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $245 (i32.const 11388) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $246 (i32.const 11436) ",\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff\00\00\00\00\00\00\00\00") + (data $247 (i32.const 11484) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\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\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $248 (i32.const 11548) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") + (data $249 (i32.const 11596) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $250 (i32.const 11660) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $251 (i32.const 11724) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $252 (i32.const 11788) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff\00\00\00\00") + (data $253 (i32.const 11852) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\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\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $254 (i32.const 11916) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00U\00i\00n\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") + (data $255 (i32.const 11964) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $256 (i32.const 12028) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $257 (i32.const 12092) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\00\00\00\00\00\00\00\00") + (data $258 (i32.const 12156) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff\00\00\00\00") + (data $259 (i32.const 12220) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $260 (i32.const 12332) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00I\00n\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00\00\00\00\00") + (data $261 (i32.const 12380) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $262 (i32.const 12492) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\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 $263 (i32.const 12604) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\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 $264 (i32.const 12716) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data $265 (i32.const 12828) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\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\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $266 (i32.const 12940) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00U\00i\00n\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00\00\00") + (data $267 (i32.const 12988) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $268 (i32.const 13100) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\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 $269 (i32.const 13212) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t\00\00\00\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 $270 (i32.const 13324) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff\00\00\00\00\00\00\00\00\00\00\00\00") + (data $271 (i32.const 13436) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\00\00\00\00\00\00\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 $272 (i32.const 13500) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y\00\00\00\00\00") + (data $273 (i32.const 13548) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $274 (i32.const 13612) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\e0@\00\00\00A\00\00\10A\00\00\00\00\00\00\00\00") + (data $275 (i32.const 13676) "<\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00(\00\00\00\00\00\c8B\00\00\caB\00\00\ccB\00\00\ceB\00\00zD\00@zD\00\80zD\00\00\dc\c2\00\00\de\c2\00\00\e0\c2\00\00\00\00") + (data $276 (i32.const 13740) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $277 (i32.const 13852) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\006\004\00A\00r\00r\00a\00y\00\00\00\00\00") + (data $278 (i32.const 13900) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 $279 (i32.const 14012) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\1c@\00\00\00\00\00\00 @\00\00\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 $280 (i32.const 14124) "l\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00P\00\00\00\00\00\00\00\00\00Y@\00\00\00\00\00@Y@\00\00\00\00\00\80Y@\00\00\00\00\00\c0Y@\00\00\00\00\00@\8f@\00\00\00\00\00H\8f@\00\00\00\00\00P\8f@\00\00\00\00\00\80[\c0\00\00\00\00\00\c0[\c0\00\00\00\00\00\00\\\c0\00\00\00\00\00\00\00\00\00\00\00\00") + (data $281 (i32.const 14236) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\00\ff\00\00\00d\n\ff\ff\00\00\00") + (data $282 (i32.const 14268) "\1c\00\00\00\00\00\00\00\00\00\00\00\01\00\00\00\n\00\00\00\01\ffd\ff\00\00d\n\ff\00\00\00") + (data $283 (i32.const 14300) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\91\00\00\00\00\00\00\00\00\00\00\00") + (data $284 (i32.const 14332) "\1c\00\00\00\00\00\00\00\00\00\00\00F\00\00\00\08\00\00\00\92\00\00\00\00\00\00\00\00\00\00\00") + (data $285 (i32.const 14364) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\93\00\00\00\00\00\00\00\00\00\00\00") + (data $286 (i32.const 14396) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\94\00\00\00\00\00\00\00\00\00\00\00") + (data $287 (i32.const 14428) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\95\00\00\00\00\00\00\00\00\00\00\00") + (data $288 (i32.const 14460) "\1c\00\00\00\00\00\00\00\00\00\00\00G\00\00\00\08\00\00\00\96\00\00\00\00\00\00\00\00\00\00\00") + (data $289 (i32.const 14492) "\1c\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\08\00\00\00\97\00\00\00\00\00\00\00\00\00\00\00") + (data $290 (i32.const 14524) "\1c\00\00\00\00\00\00\00\00\00\00\00H\00\00\00\08\00\00\00\98\00\00\00\00\00\00\00\00\00\00\00") + (data $291 (i32.const 14556) "\1c\00\00\00\00\00\00\00\00\00\00\00I\00\00\00\08\00\00\00\99\00\00\00\00\00\00\00\00\00\00\00") + (data $292 (i32.const 14588) "\1c\00\00\00\00\00\00\00\00\00\00\00I\00\00\00\08\00\00\00\9a\00\00\00\00\00\00\00\00\00\00\00") + (data $293 (i32.const 14620) "\1c\00\00\00\00\00\00\00\00\00\00\00J\00\00\00\08\00\00\00\9b\00\00\00\00\00\00\00\00\00\00\00") + (data $294 (i32.const 14652) "\1c\00\00\00\00\00\00\00\00\00\00\00J\00\00\00\08\00\00\00\9c\00\00\00\00\00\00\00\00\00\00\00") + (data $295 (i32.const 14684) "\1c\00\00\00\00\00\00\00\00\00\00\00K\00\00\00\08\00\00\00\9d\00\00\00\00\00\00\00\00\00\00\00") + (data $296 (i32.const 14716) "\1c\00\00\00\00\00\00\00\00\00\00\00K\00\00\00\08\00\00\00\9e\00\00\00\00\00\00\00\00\00\00\00") + (data $297 (i32.const 14748) "\1c\00\00\00\00\00\00\00\00\00\00\00L\00\00\00\08\00\00\00\9f\00\00\00\00\00\00\00\00\00\00\00") + (data $298 (i32.const 14780) "\1c\00\00\00\00\00\00\00\00\00\00\00L\00\00\00\08\00\00\00\a0\00\00\00\00\00\00\00\00\00\00\00") + (data $299 (i32.const 14812) "\1c\00\00\00\00\00\00\00\00\00\00\00M\00\00\00\08\00\00\00\a1\00\00\00\00\00\00\00\00\00\00\00") + (data $300 (i32.const 14844) "\1c\00\00\00\00\00\00\00\00\00\00\00M\00\00\00\08\00\00\00\a2\00\00\00\00\00\00\00\00\00\00\00") + (data $301 (i32.const 14876) "\1c\00\00\00\00\00\00\00\00\00\00\00N\00\00\00\08\00\00\00\a3\00\00\00\00\00\00\00\00\00\00\00") + (data $302 (i32.const 14908) "\1c\00\00\00\00\00\00\00\00\00\00\00N\00\00\00\08\00\00\00\a4\00\00\00\00\00\00\00\00\00\00\00") + (data $303 (i32.const 14940) "\1c\00\00\00\00\00\00\00\00\00\00\00\0f\00\00\00\08\00\00\00\a5\00\00\00\00\00\00\00\00\00\00\00") + (data $304 (i32.const 14976) "O\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00B\08\00\00\02\t\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\02\19\00\00\02\1a\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\01\00\00\02\n\00\00\02\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 166 166 funcref) - (elem $0 (i32.const 1) $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|1 $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0) + (elem $0 (i32.const 1) $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|1" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1" $"std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|1 $"std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -434,7 +438,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -508,7 +512,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -578,11 +582,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -590,7 +594,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 336 @@ -722,7 +726,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -735,7 +739,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -751,34 +755,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -938,7 +942,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -961,7 +965,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -975,7 +979,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -998,7 +1002,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -1141,7 +1145,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -1227,7 +1231,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1307,7 +1311,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1341,7 +1345,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1364,7 +1368,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1378,27 +1382,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 480 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1423,9 +1432,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1444,7 +1453,7 @@ if i32.const 0 i32.const 480 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1463,7 +1472,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1477,7 +1485,7 @@ if i32.const 0 i32.const 480 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1533,12 +1541,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1572,7 +1580,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1593,7 +1601,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1613,7 +1621,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1633,7 +1641,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1659,7 +1667,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1682,9 +1690,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1720,7 +1729,7 @@ if i32.const 0 i32.const 480 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1986,14 +1995,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -2049,7 +2061,7 @@ if i32.const 144 i32.const 480 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -2058,6 +2070,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -2087,24 +2119,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -2142,7 +2163,7 @@ if i32.const 0 i32.const 480 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -2157,7 +2178,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -2202,7 +2223,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -2213,7 +2234,7 @@ if i32.const 0 i32.const 480 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -2235,7 +2256,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2258,7 +2279,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2277,22 +2298,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2305,7 +2318,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2332,27 +2345,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2377,7 +2391,7 @@ if i32.const 0 i32.const 480 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2492,7 +2506,7 @@ if i32.const 0 i32.const 480 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2512,7 +2526,7 @@ if i32.const 0 i32.const 480 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2545,12 +2559,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2601,7 +2615,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2676,7 +2690,7 @@ (func $~lib/arraybuffer/ArrayBufferView#set:buffer (param $this i32) (param $buffer i32) local.get $this local.get $buffer - i32.store $0 + i32.store local.get $this local.get $buffer i32.const 0 @@ -2685,24 +2699,24 @@ (func $~lib/arraybuffer/ArrayBufferView#set:dataStart (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#set:byteLength (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/arraybuffer/ArrayBufferView#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/util/sort/insertionSort (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) @@ -2749,14 +2763,14 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $a local.get $ptr local.get $i i32.const 3 i32.shl i32.add - f64.load $0 offset=8 + f64.load offset=8 local.set $b local.get $b local.set $min @@ -2767,8 +2781,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $12) i32.const 0 i32.le_s if @@ -2792,15 +2806,15 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $12) i32.const 0 i32.gt_s if @@ -2810,7 +2824,7 @@ i32.shl i32.add local.get $a - f64.store $0 offset=16 + f64.store offset=16 local.get $j i32.const 1 i32.sub @@ -2828,7 +2842,7 @@ i32.shl i32.add local.get $max - f64.store $0 offset=16 + f64.store offset=16 block $while-break|2 loop $while-continue|2 local.get $j @@ -2840,15 +2854,15 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $12) i32.const 0 i32.gt_s if @@ -2858,7 +2872,7 @@ i32.shl i32.add local.get $a - f64.store $0 offset=8 + f64.store offset=8 local.get $j i32.const 1 i32.sub @@ -2876,7 +2890,7 @@ i32.shl i32.add local.get $min - f64.store $0 offset=8 + f64.store offset=8 local.get $i i32.const 2 i32.add @@ -2903,7 +2917,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $ptr local.get $j i32.const 1 @@ -2912,12 +2926,12 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $12) i32.const 0 i32.gt_s if @@ -2931,18 +2945,18 @@ i32.const 3 i32.shl i32.add - f64.load $0 offset=8 + f64.load offset=8 local.get $ptr local.get $j i32.const 3 i32.shl i32.add - f64.load $0 + f64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $12) i32.const 31 i32.shr_u else @@ -2968,7 +2982,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $tmp local.get $ptr local.get $i @@ -2980,8 +2994,8 @@ i32.const 3 i32.shl i32.add - f64.load $0 - f64.store $0 + f64.load + f64.store local.get $i i32.const 1 i32.add @@ -2992,7 +3006,7 @@ i32.shl i32.add local.get $tmp - f64.store $0 + f64.store local.get $k i32.const 1 i32.sub @@ -3011,18 +3025,18 @@ i32.const 3 i32.shl i32.add - f64.load $0 offset=8 + f64.load offset=8 local.get $ptr local.get $j i32.const 3 i32.shl i32.add - f64.load $0 + f64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $12) i32.const 0 i32.ge_s else @@ -3129,8 +3143,8 @@ i32.const 3 i32.shl i32.add - f64.load $0 - f64.store $0 + f64.load + f64.store local.get $i i32.const 1 i32.sub @@ -3157,8 +3171,8 @@ i32.const 3 i32.shl i32.add - f64.load $0 offset=8 - f64.store $0 + f64.load offset=8 + f64.store local.get $j i32.const 1 i32.add @@ -3178,22 +3192,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $a local.get $buffer local.get $i i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $12) i32.const 0 i32.lt_s if @@ -3203,7 +3217,7 @@ i32.shl i32.add local.get $a - f64.store $0 + f64.store local.get $j i32.const 1 i32.sub @@ -3215,7 +3229,7 @@ i32.shl i32.add local.get $b - f64.store $0 + f64.store local.get $i i32.const 1 i32.add @@ -3337,7 +3351,7 @@ local.get $end local.get $start i32.sub - memory.fill $0 + memory.fill end ) (func $~lib/rt/__newBuffer (param $size i32) (param $id i32) (param $data i32) (result i32) @@ -3351,18 +3365,18 @@ local.get $buffer local.get $data local.get $size - memory.copy $0 $0 + memory.copy end local.get $buffer return ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/util/bytes/FILL (param $ptr i32) (param $len i32) (param $value i32) (param $start i32) (param $end i32) (local $5 i32) @@ -3456,7 +3470,7 @@ i32.sub i32.const 2 i32.shl - memory.fill $0 + memory.fill end return end @@ -3471,7 +3485,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store local.get $start i32.const 1 i32.add @@ -3482,178 +3496,178 @@ ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) + (func $"std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) local.get $acc local.get $val i64.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) + (func $"std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) local.get $acc local.get $val i64.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $acc f32) (param $val f32) (param $$2 i32) (param $$3 i32) (result f32) + (func $"std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $acc f32) (param $val f32) (param $$2 i32) (param $$3 i32) (result f32) local.get $acc local.get $val f32.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $acc f64) (param $val f64) (param $$2 i32) (param $$3 i32) (result f64) + (func $"std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $acc f64) (param $val f64) (param $$2 i32) (param $$3 i32) (result f64) local.get $acc local.get $val f64.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $acc local.get $val i32.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) local.get $acc local.get $val i64.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) local.get $acc local.get $val i64.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $acc f32) (param $val f32) (param $$2 i32) (param $$3 i32) (result f32) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $acc f32) (param $val f32) (param $$2 i32) (param $$3 i32) (result f32) local.get $acc local.get $val f32.add ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $acc f64) (param $val f64) (param $$2 i32) (param $$3 i32) (result f64) + (func $"std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $acc f64) (param $val f64) (param $$2 i32) (param $$3 i32) (result f64) local.get $acc local.get $val f64.add ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value local.get $value i32.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value local.get $value i32.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value local.get $value i32.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value local.get $value i32.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value local.get $value i32.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value local.get $value i32.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value local.get $value i32.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i64) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i64) local.get $value local.get $value i64.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i64) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i64) local.get $value local.get $value i64.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $value f32) (param $$1 i32) (param $$2 i32) (result f32) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $value f32) (param $$1 i32) (param $$2 i32) (result f32) local.get $value local.get $value f32.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $value f64) (param $$1 i32) (param $$2 i32) (result f64) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $value f64) (param $$1 i32) (param $$2 i32) (result f64) local.get $value local.get $value f64.mul ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend8_s i32.const 2 @@ -3661,7 +3675,7 @@ ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -3705,446 +3719,446 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 2 i32.gt_u ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 2 i32.gt_u ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend16_s i32.const 2 i32.gt_s ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 65535 i32.and i32.const 2 i32.gt_u ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.gt_s ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.gt_u ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.gt_s ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.gt_u ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f32.const 2 f32.gt ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f64.const 2 f64.gt ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend8_s i32.const 2 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend8_s i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend16_s i32.const 2 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend16_s i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 65535 i32.and i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 0 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 0 i64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 0 i64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f32.const 2 f32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1" (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f32.const 0 f32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f64.const 2 f64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1" (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f64.const 0 f64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend8_s i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend8_s i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend16_s i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend16_s i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 65535 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f32.const 2 f32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1" (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f32.const 4 f32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f64.const 2 f64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1" (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f64.const 4 f64.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend8_s i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend8_s i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend16_s i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend16_s i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 65535 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|1" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f32.const 2 f32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|1" (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f32.const 4 f32.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f64.const 2 f64.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|1" (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f64.const 4 f64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend8_s i32.const 2 @@ -4152,13 +4166,13 @@ i32.const 0 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend8_s i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and @@ -4167,14 +4181,14 @@ i32.const 0 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and @@ -4183,14 +4197,14 @@ i32.const 0 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend16_s i32.const 2 @@ -4198,13 +4212,13 @@ i32.const 0 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.extend16_s i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 65535 i32.and @@ -4213,57 +4227,57 @@ i32.const 0 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.rem_s i32.const 0 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.rem_u i32.const 0 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1" (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i32.const 2 i32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.rem_s i64.const 0 i64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.rem_u i64.const 0 i64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1" (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value i64.const 2 i64.eq @@ -4517,14 +4531,14 @@ f32.reinterpret_i32 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f32.const 2 call $~lib/math/NativeMathf.mod f32.const 0 f32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1" (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f32.const 2 f32.eq @@ -4784,32 +4798,85 @@ f64.reinterpret_i64 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f64.const 2 call $~lib/math/NativeMath.mod f64.const 0 f64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1" (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value f64.const 2 f64.eq ) + (func $~lib/polyfills/bswap (param $value i64) (result i64) + (local $a i64) + (local $b i64) + (local $v i64) + i32.const 1 + drop + i32.const 8 + i32.const 1 + i32.eq + drop + i32.const 8 + i32.const 2 + i32.eq + drop + i32.const 8 + i32.const 4 + i32.eq + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $value + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.set $a + local.get $value + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + local.set $b + local.get $a + local.get $b + i64.or + local.set $v + local.get $v + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.set $a + local.get $v + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + local.set $b + local.get $a + local.get $b + i64.or + i64.const 32 + i64.rotr + return + ) (func $~lib/util/bytes/REVERSE (param $ptr i32) (param $len i32) (local $i i32) (local $tail i32) (local $hlen i32) (local $front i32) (local $back i32) - (local $7 i64) - (local $8 i64) (local $temp i64) - (local $10 i64) - (local $11 i64) - (local $front|12 i32) - (local $back|13 i32) - (local $temp|14 i32) + (local $front|8 i32) + (local $back|9 i32) + (local $temp|10 i32) local.get $len i32.const 1 i32.gt_u @@ -4850,63 +4917,17 @@ i32.sub local.set $back local.get $front - i64.load $0 - local.tee $7 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $7 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $8 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $8 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr + i64.load + call $~lib/polyfills/bswap local.set $temp local.get $front local.get $back - i64.load $0 - local.tee $10 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $10 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $11 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $11 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - i64.store $0 + i64.load + call $~lib/polyfills/bswap + i64.store local.get $back local.get $temp - i64.store $0 + i64.store local.get $i i32.const 8 i32.add @@ -4932,7 +4953,7 @@ i32.const 0 i32.shl i32.add - local.set $front|12 + local.set $front|8 local.get $ptr local.get $tail local.get $i @@ -4940,17 +4961,17 @@ i32.const 0 i32.shl i32.add - local.set $back|13 - local.get $front|12 - i32.load8_u $0 - local.set $temp|14 - local.get $front|12 - local.get $back|13 - i32.load8_u $0 - i32.store8 $0 - local.get $back|13 - local.get $temp|14 - i32.store8 $0 + local.set $back|9 + local.get $front|8 + i32.load8_u + local.set $temp|10 + local.get $front|8 + local.get $back|9 + i32.load8_u + i32.store8 + local.get $back|9 + local.get $temp|10 + i32.store8 local.get $i i32.const 1 i32.add @@ -5018,19 +5039,19 @@ i32.add local.set $back local.get $back - i32.load $0 + i32.load i32.const 16 i32.rotr local.set $temp local.get $back local.get $front - i32.load $0 + i32.load i32.const 16 i32.rotr - i32.store $0 + i32.store local.get $front local.get $temp - i32.store $0 + i32.store local.get $i i32.const 2 i32.add @@ -5062,15 +5083,15 @@ i32.add local.set $back|9 local.get $front|8 - i32.load16_u $0 + i32.load16_u local.set $temp|10 local.get $front|8 local.get $back|9 - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $back|9 local.get $temp|10 - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -5133,15 +5154,15 @@ i32.add local.set $back local.get $front - i32.load $0 + i32.load local.set $temp local.get $front local.get $back - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $back local.get $temp - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -5204,15 +5225,15 @@ i32.add local.set $back local.get $front - i64.load $0 + i64.load local.set $temp local.get $front local.get $back - i64.load $0 - i64.store $0 + i64.load + i64.store local.get $back local.get $temp - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -5275,15 +5296,15 @@ i32.add local.set $back local.get $front - f32.load $0 + f32.load local.set $temp local.get $front local.get $back - f32.load $0 - f32.store $0 + f32.load + f32.store local.get $back local.get $temp - f32.store $0 + f32.store local.get $i i32.const 1 i32.add @@ -5346,15 +5367,15 @@ i32.add local.set $back local.get $front - f64.load $0 + f64.load local.set $temp local.get $front local.get $back - f64.load $0 - f64.store $0 + f64.load + f64.store local.get $back local.get $temp - f64.store $0 + f64.store local.get $i i32.const 1 i32.add @@ -5459,14 +5480,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 6988 local.get $d2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -5482,7 +5503,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -5509,7 +5530,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits local.get $buffer local.get $offset @@ -5517,7 +5538,7 @@ i32.shl i32.add local.get $digits - i32.store $0 + i32.store end local.get $num i32.const 10 @@ -5532,7 +5553,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $digits|12 local.get $buffer local.get $offset @@ -5540,7 +5561,7 @@ i32.shl i32.add local.get $digits|12 - i32.store $0 + i32.store else local.get $offset i32.const 1 @@ -5556,7 +5577,7 @@ i32.shl i32.add local.get $digit - i32.store16 $0 + i32.store16 end ) (func $~lib/util/number/utoa_hex_lut (param $buffer i32) (param $num i64) (param $offset i32) @@ -5582,8 +5603,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $num i64.const 8 i64.shr_u @@ -5602,8 +5623,8 @@ i32.const 6 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 end ) (func $~lib/util/number/ulog_base (param $num i64) (param $base i32) (result i32) @@ -5727,8 +5748,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $num local.get $shift i64.shr_u @@ -5763,8 +5784,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $q local.set $num local.get $num @@ -5776,7 +5797,7 @@ ) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -5839,7 +5860,7 @@ i64.const 48 i64.shl i64.or - i64.store $0 + i64.store i32.const 4 return end @@ -5849,7 +5870,7 @@ drop local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $value i32.sub @@ -5881,7 +5902,7 @@ i32.extend8_s i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 local.get $sign i32.add @@ -5959,9 +5980,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -5994,10 +6015,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -6058,7 +6079,7 @@ i32.and i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end @@ -6150,7 +6171,7 @@ i64.const 48 i64.shl i64.or - i64.store $0 + i64.store local.get $buffer i32.const 8 i32.add @@ -6165,13 +6186,13 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store i32.const 6 return end local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $value i32.sub @@ -6203,7 +6224,7 @@ i32.extend16_s i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 local.get $sign i32.add @@ -6276,7 +6297,7 @@ i32.and i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end @@ -6340,7 +6361,7 @@ drop local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $value i32.sub @@ -6370,7 +6391,7 @@ local.get $value i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 local.get $sign i32.add @@ -6438,7 +6459,7 @@ local.get $value i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end @@ -6589,14 +6610,14 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 6988 local.get $c2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -6612,20 +6633,20 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store i32.const 6988 local.get $b1 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits1 i32.const 6988 local.get $b2 i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.set $digits2 local.get $offset i32.const 4 @@ -6641,7 +6662,7 @@ i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -6683,7 +6704,7 @@ drop local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 i64.const 0 local.get $value i64.sub @@ -6714,7 +6735,7 @@ i32.const 48 i64.extend_i32_s i64.or - i64.store16 $0 + i64.store16 i32.const 1 local.get $sign i32.add @@ -6814,7 +6835,7 @@ i32.const 48 i64.extend_i32_s i64.or - i64.store16 $0 + i64.store16 i32.const 1 return end @@ -7118,7 +7139,7 @@ i32.const 65535 i32.and i32.add - i32.store16 $0 + i32.store16 end local.get $kappa i32.const 1 @@ -7153,7 +7174,7 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u local.get $one_exp i64.extend_i32_s i64.shl @@ -7169,7 +7190,7 @@ i32.add local.set $lastp local.get $lastp - i32.load16_u $0 + i32.load16_u local.set $digit loop $while-continue|3 local.get $rest @@ -7220,7 +7241,7 @@ end local.get $lastp local.get $digit - i32.store16 $0 + i32.store16 local.get $len return end @@ -7266,7 +7287,7 @@ i32.const 65535 i32.and i32.add - i32.store16 $0 + i32.store16 end local.get $p2 local.get $mask @@ -7292,7 +7313,7 @@ i32.const 2 i32.shl i32.add - i64.load32_u $0 + i64.load32_u i64.mul local.set $wp_w_frc local.get $buffer @@ -7316,7 +7337,7 @@ i32.add local.set $lastp|35 local.get $lastp|35 - i32.load16_u $0 + i32.load16_u local.set $digit|36 loop $while-continue|6 local.get $rest|32 @@ -7367,7 +7388,7 @@ end local.get $lastp|35 local.get $digit|36 - i32.store16 $0 + i32.store16 local.get $len return end @@ -7410,7 +7431,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $length i32.const 2 i32.add @@ -7444,7 +7465,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -7462,7 +7483,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $kk i32.const 2 i32.add @@ -7494,14 +7515,14 @@ i32.sub i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $buffer local.get $kk i32.const 1 i32.shl i32.add i32.const 46 - i32.store16 $0 + i32.store16 local.get $length i32.const 1 i32.add @@ -7531,14 +7552,14 @@ local.get $length i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $buffer i32.const 48 i32.const 46 i32.const 16 i32.shl i32.or - i32.store $0 + i32.store i32.const 2 local.set $i|7 loop $for-loop|1 @@ -7552,7 +7573,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $i|7 i32.const 1 i32.add @@ -7571,7 +7592,7 @@ if local.get $buffer i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 block $~lib/util/number/genExponent|inlined.0 (result i32) local.get $buffer i32.const 4 @@ -7616,7 +7637,7 @@ i32.const 43 local.get $sign select - i32.store16 $0 + i32.store16 local.get $decimals br $~lib/util/number/genExponent|inlined.0 end @@ -7639,15 +7660,15 @@ local.get $len i32.const 2 i32.sub - memory.copy $0 $0 + memory.copy local.get $buffer i32.const 46 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $buffer local.get $len i32.add i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $length block $~lib/util/number/genExponent|inlined.1 (result i32) local.get $buffer @@ -7695,7 +7716,7 @@ i32.const 43 local.get $sign|18 select - i32.store16 $0 + i32.store16 local.get $decimals|19 br $~lib/util/number/genExponent|inlined.1 end @@ -7714,26 +7735,30 @@ end unreachable ) - (func $~lib/util/number/dtoa_core (param $buffer i32) (param $value f64) (result i32) + (func $~lib/util/number/dtoa_core (param $buffer i32) (param $value f64) (param $isSingle i32) (result i32) (local $sign i32) - (local $value|3 f64) - (local $buffer|4 i32) - (local $sign|5 i32) - (local $uv i64) - (local $exp i32) - (local $sid i64) + (local $value|4 f64) + (local $buffer|5 i32) + (local $sign|6 i32) + (local $isSingle|7 i32) (local $frc i64) + (local $exp i32) + (local $uv i32) + (local $sid i32) + (local $uv|12 i64) + (local $sid|13 i64) (local $f i64) (local $e i32) - (local $frc|12 i64) - (local $exp|13 i32) + (local $isSingle|16 i32) + (local $frc|17 i64) + (local $exp|18 i32) (local $off i32) (local $m i32) (local $minExp i32) (local $dk f64) (local $k i32) (local $index i32) - (local $off|20 i32) + (local $off|25 i32) (local $frc_pow i64) (local $exp_pow i32) (local $u i64) @@ -7749,28 +7774,28 @@ (local $e1 i32) (local $e2 i32) (local $w_exp i32) - (local $u|36 i64) - (local $v|37 i64) - (local $u0|38 i64) - (local $v0|39 i64) - (local $u1|40 i64) - (local $v1|41 i64) - (local $l|42 i64) - (local $t|43 i64) - (local $w|44 i64) + (local $u|41 i64) + (local $v|42 i64) + (local $u0|43 i64) + (local $v0|44 i64) + (local $u1|45 i64) + (local $v1|46 i64) + (local $l|47 i64) + (local $t|48 i64) + (local $w|49 i64) (local $wp_frc i64) - (local $e1|46 i32) - (local $e2|47 i32) + (local $e1|51 i32) + (local $e2|52 i32) (local $wp_exp i32) - (local $u|49 i64) - (local $v|50 i64) - (local $u0|51 i64) - (local $v0|52 i64) - (local $u1|53 i64) - (local $v1|54 i64) - (local $l|55 i64) - (local $t|56 i64) - (local $w|57 i64) + (local $u|54 i64) + (local $v|55 i64) + (local $u0|56 i64) + (local $v0|57 i64) + (local $u1|58 i64) + (local $v1|59 i64) + (local $l|60 i64) + (local $t|61 i64) + (local $w|62 i64) (local $wm_frc i64) (local $delta i64) (local $len i32) @@ -7785,81 +7810,131 @@ local.set $value local.get $buffer i32.const 45 - i32.store16 $0 + i32.store16 end block $~lib/util/number/grisu2|inlined.0 (result i32) local.get $value - local.set $value|3 + local.set $value|4 local.get $buffer - local.set $buffer|4 + local.set $buffer|5 local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp + local.set $sign|6 + local.get $isSingle + local.set $isSingle|7 + local.get $isSingle|7 + if + local.get $value|4 + f32.demote_f64 + i32.reinterpret_f32 + local.set $uv + local.get $uv + i32.const 2139095040 + i32.and + i32.const 23 + i32.shr_u + local.set $exp + local.get $uv + i32.const 8388607 + i32.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 23 + i64.shl + local.get $sid + i64.extend_i32_u + i64.add + local.set $frc + local.get $exp + if (result i32) + local.get $exp + else + i32.const 1 + end + i32.const 127 + i32.const 23 + i32.add + i32.sub + local.set $exp + else + local.get $value|4 + i64.reinterpret_f64 + local.set $uv|12 + local.get $uv|12 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv|12 + i64.const 4503599627370495 + i64.and + local.set $sid|13 + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid|13 + i64.add + local.set $frc + local.get $exp + if (result i32) + local.get $exp + else + i32.const 1 + end + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + end local.get $frc local.set $f local.get $exp local.set $e + local.get $isSingle|7 + local.set $isSingle|16 local.get $f i64.const 1 i64.shl i64.const 1 i64.add - local.set $frc|12 + local.set $frc|17 local.get $e i32.const 1 i32.sub - local.set $exp|13 - local.get $frc|12 + local.set $exp|18 + local.get $frc|17 i64.clz i32.wrap_i64 local.set $off - local.get $frc|12 + local.get $frc|17 local.get $off i64.extend_i32_s i64.shl - local.set $frc|12 - local.get $exp|13 + local.set $frc|17 + local.get $exp|18 local.get $off i32.sub - local.set $exp|13 + local.set $exp|18 i32.const 1 local.get $f - i64.const 4503599627370496 + local.get $isSingle|16 + if (result i64) + i64.const 8388608 + else + i64.const 4503599627370496 + end i64.eq i32.add local.set $m - local.get $frc|12 + local.get $frc|17 global.set $~lib/util/number/_frc_plus local.get $f local.get $m @@ -7870,12 +7945,12 @@ local.get $e local.get $m i32.sub - local.get $exp|13 + local.get $exp|18 i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $exp|13 + local.get $exp|18 global.set $~lib/util/number/_exp global.get $~lib/util/number/_exp local.set $minExp @@ -7915,26 +7990,26 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load global.set $~lib/util/number/_frc_pow i32.const 9536 local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $frc i64.clz i32.wrap_i64 - local.set $off|20 + local.set $off|25 local.get $frc - local.get $off|20 + local.get $off|25 i64.extend_i32_s i64.shl local.set $frc local.get $exp - local.get $off|20 + local.get $off|25 i32.sub local.set $exp global.get $~lib/util/number/_frc_pow @@ -8019,63 +8094,63 @@ local.set $w_exp block $~lib/util/number/umul64f|inlined.1 (result i64) global.get $~lib/util/number/_frc_plus - local.set $u|36 + local.set $u|41 local.get $frc_pow - local.set $v|37 - local.get $u|36 + local.set $v|42 + local.get $u|41 i64.const 4294967295 i64.and - local.set $u0|38 - local.get $v|37 + local.set $u0|43 + local.get $v|42 i64.const 4294967295 i64.and - local.set $v0|39 - local.get $u|36 + local.set $v0|44 + local.get $u|41 i64.const 32 i64.shr_u - local.set $u1|40 - local.get $v|37 + local.set $u1|45 + local.get $v|42 i64.const 32 i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 + local.set $v1|46 + local.get $u0|43 + local.get $v0|44 i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 + local.set $l|47 + local.get $u1|45 + local.get $v0|44 i64.mul - local.get $l|42 + local.get $l|47 i64.const 32 i64.shr_u i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 + local.set $t|48 + local.get $u0|43 + local.get $v1|46 i64.mul - local.get $t|43 + local.get $t|48 i64.const 4294967295 i64.and i64.add - local.set $w|44 - local.get $w|44 + local.set $w|49 + local.get $w|49 i64.const 2147483647 i64.add - local.set $w|44 - local.get $t|43 + local.set $w|49 + local.get $t|48 i64.const 32 i64.shr_u - local.set $t|43 - local.get $w|44 + local.set $t|48 + local.get $w|49 i64.const 32 i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 + local.set $w|49 + local.get $u1|45 + local.get $v1|46 i64.mul - local.get $t|43 + local.get $t|48 i64.add - local.get $w|44 + local.get $w|49 i64.add br $~lib/util/number/umul64f|inlined.1 end @@ -8084,11 +8159,11 @@ local.set $wp_frc block $~lib/util/number/umul64e|inlined.1 (result i32) global.get $~lib/util/number/_exp - local.set $e1|46 + local.set $e1|51 local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 + local.set $e2|52 + local.get $e1|51 + local.get $e2|52 i32.add i32.const 64 i32.add @@ -8097,63 +8172,63 @@ local.set $wp_exp block $~lib/util/number/umul64f|inlined.2 (result i64) global.get $~lib/util/number/_frc_minus - local.set $u|49 + local.set $u|54 local.get $frc_pow - local.set $v|50 - local.get $u|49 + local.set $v|55 + local.get $u|54 i64.const 4294967295 i64.and - local.set $u0|51 - local.get $v|50 + local.set $u0|56 + local.get $v|55 i64.const 4294967295 i64.and - local.set $v0|52 - local.get $u|49 + local.set $v0|57 + local.get $u|54 i64.const 32 i64.shr_u - local.set $u1|53 - local.get $v|50 + local.set $u1|58 + local.get $v|55 i64.const 32 i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 + local.set $v1|59 + local.get $u0|56 + local.get $v0|57 i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 + local.set $l|60 + local.get $u1|58 + local.get $v0|57 i64.mul - local.get $l|55 + local.get $l|60 i64.const 32 i64.shr_u i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 + local.set $t|61 + local.get $u0|56 + local.get $v1|59 i64.mul - local.get $t|56 + local.get $t|61 i64.const 4294967295 i64.and i64.add - local.set $w|57 - local.get $w|57 + local.set $w|62 + local.get $w|62 i64.const 2147483647 i64.add - local.set $w|57 - local.get $t|56 + local.set $w|62 + local.get $t|61 i64.const 32 i64.shr_u - local.set $t|56 - local.get $w|57 + local.set $t|61 + local.get $w|62 i64.const 32 i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 + local.set $w|62 + local.get $u1|58 + local.get $v1|59 i64.mul - local.get $t|56 + local.get $t|61 i64.add - local.get $w|57 + local.get $w|62 i64.add br $~lib/util/number/umul64f|inlined.2 end @@ -8164,13 +8239,13 @@ local.get $wm_frc i64.sub local.set $delta - local.get $buffer|4 + local.get $buffer|5 local.get $w_frc local.get $w_exp local.get $wp_frc local.get $wp_exp local.get $delta - local.get $sign|5 + local.get $sign|6 call $~lib/util/number/genDigits br $~lib/util/number/grisu2|inlined.0 end @@ -8191,77 +8266,177 @@ i32.add return ) - (func $~lib/util/number/dtoa_buffered (param $buffer i32) (param $value f64) (result i32) + (func $~lib/util/number/dtoa_buffered (param $buffer i32) (param $value f32) (result i32) + (local $buffer|2 i32) + (local $value|3 f64) + (local $isSingle i32) (local $sign i32) - local.get $value - f64.const 0 - f64.eq - if - local.get $buffer - i32.const 48 - i32.store16 $0 - local.get $buffer - i32.const 46 - i32.store16 $0 offset=2 + block $~lib/util/number/dtoa_buffered_impl|inlined.0 (result i32) local.get $buffer - i32.const 48 - i32.store16 $0 offset=4 - i32.const 3 - return - end - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if + local.set $buffer|2 local.get $value + f64.promote_f32 + local.set $value|3 + i32.const 1 + local.set $isSingle + local.get $value|3 + f64.const 0 + f64.eq + if + local.get $buffer|2 + i32.const 48 + i32.store16 + local.get $buffer|2 + i32.const 46 + i32.store16 offset=2 + local.get $buffer|2 + i32.const 48 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + local.get $value|3 + local.get $value|3 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value|3 + local.get $value|3 + f64.ne + if + local.get $buffer|2 + i32.const 78 + i32.store16 + local.get $buffer|2 + i32.const 97 + i32.store16 offset=2 + local.get $buffer|2 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + else + local.get $value|3 + f64.const 0 + f64.lt + local.set $sign + local.get $sign + if + local.get $buffer|2 + i32.const 45 + i32.store16 + local.get $buffer|2 + i32.const 2 + i32.add + local.set $buffer|2 + end + local.get $buffer|2 + i64.const 29555310648492105 + i64.store + local.get $buffer|2 + i64.const 34058970405077102 + i64.store offset=8 + i32.const 8 + local.get $sign + i32.add + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + unreachable + end + local.get $buffer|2 + local.get $value|3 + local.get $isSingle + call $~lib/util/number/dtoa_core + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + return + ) + (func $~lib/util/number/dtoa_buffered (param $buffer i32) (param $value f64) (result i32) + (local $buffer|2 i32) + (local $value|3 f64) + (local $isSingle i32) + (local $sign i32) + block $~lib/util/number/dtoa_buffered_impl|inlined.1 (result i32) + local.get $buffer + local.set $buffer|2 local.get $value - f64.ne + local.set $value|3 + i32.const 0 + local.set $isSingle + local.get $value|3 + f64.const 0 + f64.eq if - local.get $buffer - i32.const 78 - i32.store16 $0 - local.get $buffer - i32.const 97 - i32.store16 $0 offset=2 - local.get $buffer - i32.const 78 - i32.store16 $0 offset=4 + local.get $buffer|2 + i32.const 48 + i32.store16 + local.get $buffer|2 + i32.const 46 + i32.store16 offset=2 + local.get $buffer|2 + i32.const 48 + i32.store16 offset=4 i32.const 3 - return - else - local.get $value - f64.const 0 - f64.lt - local.set $sign - local.get $sign + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + end + local.get $value|3 + local.get $value|3 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value|3 + local.get $value|3 + f64.ne if - local.get $buffer - i32.const 45 - i32.store16 $0 - local.get $buffer - i32.const 2 + local.get $buffer|2 + i32.const 78 + i32.store16 + local.get $buffer|2 + i32.const 97 + i32.store16 offset=2 + local.get $buffer|2 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + else + local.get $value|3 + f64.const 0 + f64.lt + local.set $sign + local.get $sign + if + local.get $buffer|2 + i32.const 45 + i32.store16 + local.get $buffer|2 + i32.const 2 + i32.add + local.set $buffer|2 + end + local.get $buffer|2 + i64.const 29555310648492105 + i64.store + local.get $buffer|2 + i64.const 34058970405077102 + i64.store offset=8 + i32.const 8 + local.get $sign i32.add - local.set $buffer + br $~lib/util/number/dtoa_buffered_impl|inlined.1 end - local.get $buffer - i64.const 29555310648492105 - i64.store $0 - local.get $buffer - i64.const 34058970405077102 - i64.store $0 offset=8 - i32.const 8 - local.get $sign - i32.add - return + unreachable end - unreachable + local.get $buffer|2 + local.get $value|3 + local.get $isSingle + call $~lib/util/number/dtoa_core + br $~lib/util/number/dtoa_buffered_impl|inlined.1 end - local.get $buffer - local.get $value - call $~lib/util/number/dtoa_core return ) (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (param $this i32) (result i32) @@ -8273,67 +8448,67 @@ ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/array/Array#get:length_ (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/array/Array#get:dataStart (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/util/sort/insertionSort (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) @@ -8380,14 +8555,14 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $a local.get $ptr local.get $i i32.const 0 i32.shl i32.add - i32.load8_s $0 offset=1 + i32.load8_s offset=1 local.set $b local.get $b local.set $min @@ -8398,8 +8573,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -8423,15 +8598,15 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -8441,7 +8616,7 @@ i32.shl i32.add local.get $a - i32.store8 $0 offset=2 + i32.store8 offset=2 local.get $j i32.const 1 i32.sub @@ -8459,7 +8634,7 @@ i32.shl i32.add local.get $max - i32.store8 $0 offset=2 + i32.store8 offset=2 block $while-break|2 loop $while-continue|2 local.get $j @@ -8471,15 +8646,15 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -8489,7 +8664,7 @@ i32.shl i32.add local.get $a - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $j i32.const 1 i32.sub @@ -8507,7 +8682,7 @@ i32.shl i32.add local.get $min - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $i i32.const 2 i32.add @@ -8534,7 +8709,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.get $ptr local.get $j i32.const 1 @@ -8543,12 +8718,12 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -8562,18 +8737,18 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 offset=1 + i32.load8_s offset=1 local.get $ptr local.get $j i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -8599,7 +8774,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $tmp local.get $ptr local.get $i @@ -8611,8 +8786,8 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 - i32.store8 $0 + i32.load8_s + i32.store8 local.get $i i32.const 1 i32.add @@ -8623,7 +8798,7 @@ i32.shl i32.add local.get $tmp - i32.store8 $0 + i32.store8 local.get $k i32.const 1 i32.sub @@ -8642,18 +8817,18 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 offset=1 + i32.load8_s offset=1 local.get $ptr local.get $j i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -8709,8 +8884,8 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 - i32.store8 $0 + i32.load8_s + i32.store8 local.get $i i32.const 1 i32.sub @@ -8737,8 +8912,8 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 offset=1 - i32.store8 $0 + i32.load8_s offset=1 + i32.store8 local.get $j i32.const 1 i32.add @@ -8758,22 +8933,22 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $a local.get $buffer local.get $i i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -8783,7 +8958,7 @@ i32.shl i32.add local.get $a - i32.store8 $0 + i32.store8 local.get $j i32.const 1 i32.sub @@ -8795,7 +8970,7 @@ i32.shl i32.add local.get $b - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -8816,7 +8991,7 @@ i32.extend8_s i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $a i32) (param $b i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $a i32) (param $b i32) (result i32) local.get $b i32.extend8_s local.get $a @@ -8874,14 +9049,14 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $a local.get $ptr local.get $i i32.const 0 i32.shl i32.add - i32.load8_u $0 offset=1 + i32.load8_u offset=1 local.set $b local.get $b local.set $min @@ -8892,8 +9067,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -8917,15 +9092,15 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -8935,7 +9110,7 @@ i32.shl i32.add local.get $a - i32.store8 $0 offset=2 + i32.store8 offset=2 local.get $j i32.const 1 i32.sub @@ -8953,7 +9128,7 @@ i32.shl i32.add local.get $max - i32.store8 $0 offset=2 + i32.store8 offset=2 block $while-break|2 loop $while-continue|2 local.get $j @@ -8965,15 +9140,15 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -8983,7 +9158,7 @@ i32.shl i32.add local.get $a - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $j i32.const 1 i32.sub @@ -9001,7 +9176,7 @@ i32.shl i32.add local.get $min - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $i i32.const 2 i32.add @@ -9028,7 +9203,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $ptr local.get $j i32.const 1 @@ -9037,12 +9212,12 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -9056,18 +9231,18 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 offset=1 + i32.load8_u offset=1 local.get $ptr local.get $j i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -9093,7 +9268,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $tmp local.get $ptr local.get $i @@ -9105,8 +9280,8 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $i i32.const 1 i32.add @@ -9117,7 +9292,7 @@ i32.shl i32.add local.get $tmp - i32.store8 $0 + i32.store8 local.get $k i32.const 1 i32.sub @@ -9136,18 +9311,18 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 offset=1 + i32.load8_u offset=1 local.get $ptr local.get $j i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -9203,8 +9378,8 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $i i32.const 1 i32.sub @@ -9231,8 +9406,8 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 offset=1 - i32.store8 $0 + i32.load8_u offset=1 + i32.store8 local.get $j i32.const 1 i32.add @@ -9252,22 +9427,22 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $a local.get $buffer local.get $i i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -9277,7 +9452,7 @@ i32.shl i32.add local.get $a - i32.store8 $0 + i32.store8 local.get $j i32.const 1 i32.sub @@ -9289,7 +9464,7 @@ i32.shl i32.add local.get $b - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -9320,7 +9495,7 @@ i32.lt_u i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $a i32) (param $b i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $a i32) (param $b i32) (result i32) local.get $b i32.const 255 i32.and @@ -9354,7 +9529,7 @@ i32.lt_u i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $a i32) (param $b i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" (param $a i32) (param $b i32) (result i32) local.get $b i32.const 255 i32.and @@ -9416,14 +9591,14 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $a local.get $ptr local.get $i i32.const 1 i32.shl i32.add - i32.load16_s $0 offset=2 + i32.load16_s offset=2 local.set $b local.get $b local.set $min @@ -9434,8 +9609,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -9459,15 +9634,15 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -9477,7 +9652,7 @@ i32.shl i32.add local.get $a - i32.store16 $0 offset=4 + i32.store16 offset=4 local.get $j i32.const 1 i32.sub @@ -9495,7 +9670,7 @@ i32.shl i32.add local.get $max - i32.store16 $0 offset=4 + i32.store16 offset=4 block $while-break|2 loop $while-continue|2 local.get $j @@ -9507,15 +9682,15 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -9525,7 +9700,7 @@ i32.shl i32.add local.get $a - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $j i32.const 1 i32.sub @@ -9543,7 +9718,7 @@ i32.shl i32.add local.get $min - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $i i32.const 2 i32.add @@ -9570,7 +9745,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $ptr local.get $j i32.const 1 @@ -9579,12 +9754,12 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -9598,18 +9773,18 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 offset=2 + i32.load16_s offset=2 local.get $ptr local.get $j i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -9635,7 +9810,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $tmp local.get $ptr local.get $i @@ -9647,8 +9822,8 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 - i32.store16 $0 + i32.load16_s + i32.store16 local.get $i i32.const 1 i32.add @@ -9659,7 +9834,7 @@ i32.shl i32.add local.get $tmp - i32.store16 $0 + i32.store16 local.get $k i32.const 1 i32.sub @@ -9678,18 +9853,18 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 offset=2 + i32.load16_s offset=2 local.get $ptr local.get $j i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -9745,8 +9920,8 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 - i32.store16 $0 + i32.load16_s + i32.store16 local.get $i i32.const 1 i32.sub @@ -9773,8 +9948,8 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 offset=2 - i32.store16 $0 + i32.load16_s offset=2 + i32.store16 local.get $j i32.const 1 i32.add @@ -9794,22 +9969,22 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $a local.get $buffer local.get $i i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -9819,7 +9994,7 @@ i32.shl i32.add local.get $a - i32.store16 $0 + i32.store16 local.get $j i32.const 1 i32.sub @@ -9831,7 +10006,7 @@ i32.shl i32.add local.get $b - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -9852,7 +10027,7 @@ i32.extend16_s i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $a i32) (param $b i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $a i32) (param $b i32) (result i32) local.get $b i32.extend16_s local.get $a @@ -9910,14 +10085,14 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr local.get $i i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.set $b local.get $b local.set $min @@ -9928,8 +10103,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -9953,15 +10128,15 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -9971,7 +10146,7 @@ i32.shl i32.add local.get $a - i32.store16 $0 offset=4 + i32.store16 offset=4 local.get $j i32.const 1 i32.sub @@ -9989,7 +10164,7 @@ i32.shl i32.add local.get $max - i32.store16 $0 offset=4 + i32.store16 offset=4 block $while-break|2 loop $while-continue|2 local.get $j @@ -10001,15 +10176,15 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -10019,7 +10194,7 @@ i32.shl i32.add local.get $a - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $j i32.const 1 i32.sub @@ -10037,7 +10212,7 @@ i32.shl i32.add local.get $min - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $i i32.const 2 i32.add @@ -10064,7 +10239,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $ptr local.get $j i32.const 1 @@ -10073,12 +10248,12 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -10092,18 +10267,18 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.get $ptr local.get $j i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -10129,7 +10304,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $tmp local.get $ptr local.get $i @@ -10141,8 +10316,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $i i32.const 1 i32.add @@ -10153,7 +10328,7 @@ i32.shl i32.add local.get $tmp - i32.store16 $0 + i32.store16 local.get $k i32.const 1 i32.sub @@ -10172,18 +10347,18 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.get $ptr local.get $j i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -10239,8 +10414,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $i i32.const 1 i32.sub @@ -10267,8 +10442,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=2 - i32.store16 $0 + i32.load16_u offset=2 + i32.store16 local.get $j i32.const 1 i32.add @@ -10288,22 +10463,22 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $a local.get $buffer local.get $i i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -10313,7 +10488,7 @@ i32.shl i32.add local.get $a - i32.store16 $0 + i32.store16 local.get $j i32.const 1 i32.sub @@ -10325,7 +10500,7 @@ i32.shl i32.add local.get $b - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -10356,7 +10531,7 @@ i32.lt_u i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $a i32) (param $b i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $a i32) (param $b i32) (result i32) local.get $b i32.const 65535 i32.and @@ -10418,14 +10593,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $b local.get $b local.set $min @@ -10436,8 +10611,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -10461,15 +10636,15 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -10479,7 +10654,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=8 + i32.store offset=8 local.get $j i32.const 1 i32.sub @@ -10497,7 +10672,7 @@ i32.shl i32.add local.get $max - i32.store $0 offset=8 + i32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -10509,15 +10684,15 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -10527,7 +10702,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=4 + i32.store offset=4 local.get $j i32.const 1 i32.sub @@ -10545,7 +10720,7 @@ i32.shl i32.add local.get $min - i32.store $0 offset=4 + i32.store offset=4 local.get $i i32.const 2 i32.add @@ -10572,7 +10747,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $ptr local.get $j i32.const 1 @@ -10581,12 +10756,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -10600,18 +10775,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -10637,7 +10812,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $tmp local.get $ptr local.get $i @@ -10649,8 +10824,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.add @@ -10661,7 +10836,7 @@ i32.shl i32.add local.get $tmp - i32.store $0 + i32.store local.get $k i32.const 1 i32.sub @@ -10680,18 +10855,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -10747,8 +10922,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.sub @@ -10775,8 +10950,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $j i32.const 1 i32.add @@ -10796,22 +10971,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $buffer local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -10821,7 +10996,7 @@ i32.shl i32.add local.get $a - i32.store $0 + i32.store local.get $j i32.const 1 i32.sub @@ -10833,7 +11008,7 @@ i32.shl i32.add local.get $b - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -10852,7 +11027,7 @@ local.get $b i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $a i32) (param $b i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $a i32) (param $b i32) (result i32) local.get $b local.get $a i32.gt_s @@ -10906,14 +11081,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.set $b local.get $b local.set $min @@ -10924,8 +11099,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -10949,15 +11124,15 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -10967,7 +11142,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=8 + i32.store offset=8 local.get $j i32.const 1 i32.sub @@ -10985,7 +11160,7 @@ i32.shl i32.add local.get $max - i32.store $0 offset=8 + i32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -10997,15 +11172,15 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -11015,7 +11190,7 @@ i32.shl i32.add local.get $a - i32.store $0 offset=4 + i32.store offset=4 local.get $j i32.const 1 i32.sub @@ -11033,7 +11208,7 @@ i32.shl i32.add local.get $min - i32.store $0 offset=4 + i32.store offset=4 local.get $i i32.const 2 i32.add @@ -11060,7 +11235,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $ptr local.get $j i32.const 1 @@ -11069,12 +11244,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -11088,18 +11263,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -11125,7 +11300,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $tmp local.get $ptr local.get $i @@ -11137,8 +11312,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.add @@ -11149,7 +11324,7 @@ i32.shl i32.add local.get $tmp - i32.store $0 + i32.store local.get $k i32.const 1 i32.sub @@ -11168,18 +11343,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -11235,8 +11410,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $i i32.const 1 i32.sub @@ -11263,8 +11438,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $j i32.const 1 i32.add @@ -11284,22 +11459,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $a local.get $buffer local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -11309,7 +11484,7 @@ i32.shl i32.add local.get $a - i32.store $0 + i32.store local.get $j i32.const 1 i32.sub @@ -11321,7 +11496,7 @@ i32.shl i32.add local.get $b - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -11344,7 +11519,7 @@ i32.lt_u i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $a i32) (param $b i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $a i32) (param $b i32) (result i32) local.get $b local.get $a i32.gt_u @@ -11398,14 +11573,14 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $a local.get $ptr local.get $i i32.const 3 i32.shl i32.add - i64.load $0 offset=8 + i64.load offset=8 local.set $b local.get $b local.set $min @@ -11416,8 +11591,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.le_s if @@ -11441,15 +11616,15 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s if @@ -11459,7 +11634,7 @@ i32.shl i32.add local.get $a - i64.store $0 offset=16 + i64.store offset=16 local.get $j i32.const 1 i32.sub @@ -11477,7 +11652,7 @@ i32.shl i32.add local.get $max - i64.store $0 offset=16 + i64.store offset=16 block $while-break|2 loop $while-continue|2 local.get $j @@ -11489,15 +11664,15 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s if @@ -11507,7 +11682,7 @@ i32.shl i32.add local.get $a - i64.store $0 offset=8 + i64.store offset=8 local.get $j i32.const 1 i32.sub @@ -11525,7 +11700,7 @@ i32.shl i32.add local.get $min - i64.store $0 offset=8 + i64.store offset=8 local.get $i i32.const 2 i32.add @@ -11552,7 +11727,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $ptr local.get $j i32.const 1 @@ -11561,12 +11736,12 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s if @@ -11580,18 +11755,18 @@ i32.const 3 i32.shl i32.add - i64.load $0 offset=8 + i64.load offset=8 local.get $ptr local.get $j i32.const 3 i32.shl i32.add - i64.load $0 + i64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 31 i32.shr_u else @@ -11617,7 +11792,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $tmp local.get $ptr local.get $i @@ -11629,8 +11804,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 - i64.store $0 + i64.load + i64.store local.get $i i32.const 1 i32.add @@ -11641,7 +11816,7 @@ i32.shl i32.add local.get $tmp - i64.store $0 + i64.store local.get $k i32.const 1 i32.sub @@ -11660,18 +11835,18 @@ i32.const 3 i32.shl i32.add - i64.load $0 offset=8 + i64.load offset=8 local.get $ptr local.get $j i32.const 3 i32.shl i32.add - i64.load $0 + i64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.ge_s else @@ -11727,8 +11902,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 - i64.store $0 + i64.load + i64.store local.get $i i32.const 1 i32.sub @@ -11755,8 +11930,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 offset=8 - i64.store $0 + i64.load offset=8 + i64.store local.get $j i32.const 1 i32.add @@ -11776,22 +11951,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $a local.get $buffer local.get $i i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.lt_s if @@ -11801,7 +11976,7 @@ i32.shl i32.add local.get $a - i64.store $0 + i64.store local.get $j i32.const 1 i32.sub @@ -11813,7 +11988,7 @@ i32.shl i32.add local.get $b - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -11836,7 +12011,7 @@ i64.lt_s i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $a i64) (param $b i64) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $a i64) (param $b i64) (result i32) local.get $b local.get $a i64.gt_s @@ -11890,14 +12065,14 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $a local.get $ptr local.get $i i32.const 3 i32.shl i32.add - i64.load $0 offset=8 + i64.load offset=8 local.set $b local.get $b local.set $min @@ -11908,8 +12083,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.le_s if @@ -11933,15 +12108,15 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s if @@ -11951,7 +12126,7 @@ i32.shl i32.add local.get $a - i64.store $0 offset=16 + i64.store offset=16 local.get $j i32.const 1 i32.sub @@ -11969,7 +12144,7 @@ i32.shl i32.add local.get $max - i64.store $0 offset=16 + i64.store offset=16 block $while-break|2 loop $while-continue|2 local.get $j @@ -11981,15 +12156,15 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s if @@ -11999,7 +12174,7 @@ i32.shl i32.add local.get $a - i64.store $0 offset=8 + i64.store offset=8 local.get $j i32.const 1 i32.sub @@ -12017,7 +12192,7 @@ i32.shl i32.add local.get $min - i64.store $0 offset=8 + i64.store offset=8 local.get $i i32.const 2 i32.add @@ -12044,7 +12219,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $ptr local.get $j i32.const 1 @@ -12053,12 +12228,12 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s if @@ -12072,18 +12247,18 @@ i32.const 3 i32.shl i32.add - i64.load $0 offset=8 + i64.load offset=8 local.get $ptr local.get $j i32.const 3 i32.shl i32.add - i64.load $0 + i64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 31 i32.shr_u else @@ -12109,7 +12284,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $tmp local.get $ptr local.get $i @@ -12121,8 +12296,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 - i64.store $0 + i64.load + i64.store local.get $i i32.const 1 i32.add @@ -12133,7 +12308,7 @@ i32.shl i32.add local.get $tmp - i64.store $0 + i64.store local.get $k i32.const 1 i32.sub @@ -12152,18 +12327,18 @@ i32.const 3 i32.shl i32.add - i64.load $0 offset=8 + i64.load offset=8 local.get $ptr local.get $j i32.const 3 i32.shl i32.add - i64.load $0 + i64.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.ge_s else @@ -12219,8 +12394,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 - i64.store $0 + i64.load + i64.store local.get $i i32.const 1 i32.sub @@ -12247,8 +12422,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 offset=8 - i64.store $0 + i64.load offset=8 + i64.store local.get $j i32.const 1 i32.add @@ -12268,22 +12443,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $a local.get $buffer local.get $i i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.lt_s if @@ -12293,7 +12468,7 @@ i32.shl i32.add local.get $a - i64.store $0 + i64.store local.get $j i32.const 1 i32.sub @@ -12305,7 +12480,7 @@ i32.shl i32.add local.get $b - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -12328,7 +12503,7 @@ i64.lt_u i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $a i64) (param $b i64) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $a i64) (param $b i64) (result i32) local.get $b local.get $a i64.gt_u @@ -12382,14 +12557,14 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $a local.get $ptr local.get $i i32.const 2 i32.shl i32.add - f32.load $0 offset=4 + f32.load offset=4 local.set $b local.get $b local.set $min @@ -12400,8 +12575,8 @@ i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $13) i32.const 0 i32.le_s if @@ -12425,15 +12600,15 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $a local.get $a local.get $max i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $13) i32.const 0 i32.gt_s if @@ -12443,7 +12618,7 @@ i32.shl i32.add local.get $a - f32.store $0 offset=8 + f32.store offset=8 local.get $j i32.const 1 i32.sub @@ -12461,7 +12636,7 @@ i32.shl i32.add local.get $max - f32.store $0 offset=8 + f32.store offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -12473,15 +12648,15 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $a local.get $a local.get $min i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $13) i32.const 0 i32.gt_s if @@ -12491,7 +12666,7 @@ i32.shl i32.add local.get $a - f32.store $0 offset=4 + f32.store offset=4 local.get $j i32.const 1 i32.sub @@ -12509,7 +12684,7 @@ i32.shl i32.add local.get $min - f32.store $0 offset=4 + f32.store offset=4 local.get $i i32.const 2 i32.add @@ -12536,7 +12711,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $ptr local.get $j i32.const 1 @@ -12545,12 +12720,12 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $13) i32.const 0 i32.gt_s if @@ -12564,18 +12739,18 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 + f32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - f32.load $0 + f32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $13) i32.const 31 i32.shr_u else @@ -12601,7 +12776,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $tmp local.get $ptr local.get $i @@ -12613,8 +12788,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 - f32.store $0 + f32.load + f32.store local.get $i i32.const 1 i32.add @@ -12625,7 +12800,7 @@ i32.shl i32.add local.get $tmp - f32.store $0 + f32.store local.get $k i32.const 1 i32.sub @@ -12644,18 +12819,18 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 + f32.load offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - f32.load $0 + f32.load i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $13) i32.const 0 i32.ge_s else @@ -12711,8 +12886,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 - f32.store $0 + f32.load + f32.store local.get $i i32.const 1 i32.sub @@ -12739,8 +12914,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 - f32.store $0 + f32.load offset=4 + f32.store local.get $j i32.const 1 i32.add @@ -12760,22 +12935,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $a local.get $buffer local.get $i i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $13) i32.const 0 i32.lt_s if @@ -12785,7 +12960,7 @@ i32.shl i32.add local.get $a - f32.store $0 + f32.store local.get $j i32.const 1 i32.sub @@ -12797,7 +12972,7 @@ i32.shl i32.add local.get $b - f32.store $0 + f32.store local.get $i i32.const 1 i32.add @@ -12845,7 +13020,7 @@ i32.sub return ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $a f32) (param $b f32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $a f32) (param $b f32) (result i32) local.get $b local.get $a f32.gt @@ -12854,7 +13029,7 @@ f32.lt i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $a f64) (param $b f64) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $a f64) (param $b f64) (result i32) local.get $b local.get $a f64.gt @@ -12989,16 +13164,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/typedarray/Int8Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13057,7 +13227,7 @@ ) (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13069,7 +13239,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13081,7 +13251,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13093,7 +13263,7 @@ ) (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13105,7 +13275,7 @@ ) (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13117,7 +13287,7 @@ ) (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13129,7 +13299,7 @@ ) (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13141,7 +13311,7 @@ ) (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13153,7 +13323,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13165,7 +13335,7 @@ ) (func $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13177,7 +13347,7 @@ ) (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13189,7 +13359,7 @@ ) (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13201,7 +13371,7 @@ ) (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13213,7 +13383,7 @@ ) (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13225,7 +13395,7 @@ ) (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13237,7 +13407,7 @@ ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13249,7 +13419,7 @@ ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13261,7 +13431,7 @@ ) (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13273,7 +13443,7 @@ ) (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13285,7 +13455,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13297,7 +13467,7 @@ ) (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13309,7 +13479,7 @@ ) (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13321,7 +13491,7 @@ ) (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13333,7 +13503,7 @@ ) (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13345,7 +13515,7 @@ ) (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13357,7 +13527,7 @@ ) (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13369,7 +13539,7 @@ ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13381,7 +13551,7 @@ ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13393,7 +13563,7 @@ ) (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13405,7 +13575,7 @@ ) (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13417,7 +13587,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13429,7 +13599,7 @@ ) (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13441,7 +13611,7 @@ ) (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13453,7 +13623,7 @@ ) (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13465,7 +13635,7 @@ ) (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13477,7 +13647,7 @@ ) (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13489,7 +13659,7 @@ ) (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13501,7 +13671,7 @@ ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13513,7 +13683,7 @@ ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13525,7 +13695,7 @@ ) (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13537,7 +13707,7 @@ ) (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13549,7 +13719,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13561,7 +13731,7 @@ ) (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13573,7 +13743,7 @@ ) (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13585,7 +13755,7 @@ ) (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13597,7 +13767,7 @@ ) (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13609,7 +13779,7 @@ ) (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13621,7 +13791,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13633,7 +13803,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13645,7 +13815,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13657,7 +13827,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13669,7 +13839,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13681,7 +13851,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13693,7 +13863,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13705,7 +13875,7 @@ ) (func $~lib/array/Array#get:buffer (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/array/Array~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13717,7 +13887,7 @@ ) (func $~lib/function/Function<%28i8%2Ci8%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i8%2Ci8%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13729,7 +13899,7 @@ ) (func $~lib/function/Function<%28u8%2Cu8%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13741,7 +13911,7 @@ ) (func $~lib/function/Function<%28i16%2Ci16%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i16%2Ci16%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13753,7 +13923,7 @@ ) (func $~lib/function/Function<%28u16%2Cu16%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u16%2Cu16%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13765,7 +13935,7 @@ ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13777,7 +13947,7 @@ ) (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13789,7 +13959,7 @@ ) (func $~lib/function/Function<%28i64%2Ci64%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28i64%2Ci64%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13801,7 +13971,7 @@ ) (func $~lib/function/Function<%28u64%2Cu64%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28u64%2Cu64%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13813,7 +13983,7 @@ ) (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -13907,7 +14077,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Int8Array $~lib/typedarray/Uint8Array $~lib/typedarray/Uint8ClampedArray $~lib/typedarray/Int16Array $~lib/typedarray/Uint16Array $~lib/typedarray/Int32Array $~lib/typedarray/Uint32Array $~lib/typedarray/Int64Array $~lib/typedarray/Uint64Array $~lib/typedarray/Float32Array $~lib/typedarray/Float64Array $~lib/function/Function<%28f64%2Cf64%29=>i32> $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool> $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void> $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void> $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void> $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void> $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void> $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void> $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void> $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void> $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void> $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/function/Function<%28i8%2Ci8%29=>i32> $~lib/function/Function<%28u8%2Cu8%29=>i32> $~lib/function/Function<%28i16%2Ci16%29=>i32> $~lib/function/Function<%28u16%2Cu16%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/function/Function<%28i64%2Ci64%29=>i32> $~lib/function/Function<%28u64%2Cu64%29=>i32> $~lib/function/Function<%28f32%2Cf32%29=>i32> $invalid end return @@ -14324,10 +14494,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $this i32.eqz if @@ -14336,13 +14506,13 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer @@ -14350,7 +14520,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -14358,7 +14528,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -14383,7 +14553,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=8 + i32.store offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne @@ -14392,20 +14562,20 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=12 local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart @@ -14413,7 +14583,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength @@ -14434,7 +14604,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -14443,20 +14613,20 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -14474,19 +14644,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:buffer i32.sub @@ -14507,12 +14677,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $1 @@ -14532,7 +14702,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -14541,20 +14711,20 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -14572,12 +14742,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $1 @@ -14597,7 +14767,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -14606,20 +14776,20 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -14637,12 +14807,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $1 @@ -14662,7 +14832,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -14671,20 +14841,20 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 1 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -14702,12 +14872,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -14729,7 +14899,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -14738,20 +14908,20 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 1 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -14769,12 +14939,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -14796,7 +14966,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -14805,20 +14975,20 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -14836,12 +15006,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -14863,7 +15033,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -14872,20 +15042,20 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -14903,12 +15073,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -14930,7 +15100,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -14939,20 +15109,20 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -14970,12 +15140,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -14997,7 +15167,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -15006,20 +15176,20 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -15037,12 +15207,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -15064,7 +15234,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -15073,20 +15243,20 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -15104,12 +15274,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -15131,7 +15301,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -15140,20 +15310,20 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $length i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer @@ -15171,12 +15341,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -15210,18 +15380,18 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 48 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 local.get $len call $~lib/typedarray/Int8Array#constructor local.tee $i8a - i32.store $0 + i32.store local.get $i8a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15239,7 +15409,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15259,7 +15429,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Int8Array#get:length local.get $len @@ -15278,12 +15448,12 @@ local.get $len call $~lib/typedarray/Uint8Array#constructor local.tee $u8a - i32.store $0 offset=8 + i32.store offset=8 local.get $u8a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15301,7 +15471,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15321,7 +15491,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Uint8Array#get:length local.get $len @@ -15340,12 +15510,12 @@ local.get $len call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $c8a - i32.store $0 offset=12 + i32.store offset=12 local.get $c8a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15363,7 +15533,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15383,7 +15553,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Uint8ClampedArray#get:length local.get $len @@ -15402,12 +15572,12 @@ local.get $len call $~lib/typedarray/Int16Array#constructor local.tee $i16a - i32.store $0 offset=16 + i32.store offset=16 local.get $i16a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15425,7 +15595,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15445,7 +15615,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Int16Array#get:length local.get $len @@ -15464,12 +15634,12 @@ local.get $len call $~lib/typedarray/Uint16Array#constructor local.tee $u16a - i32.store $0 offset=20 + i32.store offset=20 local.get $u16a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15487,7 +15657,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15507,7 +15677,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Uint16Array#get:length local.get $len @@ -15526,12 +15696,12 @@ local.get $len call $~lib/typedarray/Int32Array#constructor local.tee $i32a - i32.store $0 offset=24 + i32.store offset=24 local.get $i32a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15549,7 +15719,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15569,7 +15739,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Int32Array#get:length local.get $len @@ -15588,12 +15758,12 @@ local.get $len call $~lib/typedarray/Uint32Array#constructor local.tee $u32a - i32.store $0 offset=28 + i32.store offset=28 local.get $u32a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15611,7 +15781,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15631,7 +15801,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Uint32Array#get:length local.get $len @@ -15650,12 +15820,12 @@ local.get $len call $~lib/typedarray/Int64Array#constructor local.tee $i64a - i32.store $0 offset=32 + i32.store offset=32 local.get $i64a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15673,7 +15843,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15693,7 +15863,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Int64Array#get:length local.get $len @@ -15712,12 +15882,12 @@ local.get $len call $~lib/typedarray/Uint64Array#constructor local.tee $u64a - i32.store $0 offset=36 + i32.store offset=36 local.get $u64a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15735,7 +15905,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15755,7 +15925,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Uint64Array#get:length local.get $len @@ -15774,12 +15944,12 @@ local.get $len call $~lib/typedarray/Float32Array#constructor local.tee $f32a - i32.store $0 offset=40 + i32.store offset=40 local.get $f32a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15797,7 +15967,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15817,7 +15987,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Float32Array#get:length local.get $len @@ -15836,12 +16006,12 @@ local.get $len call $~lib/typedarray/Float64Array#constructor local.tee $f64a - i32.store $0 offset=44 + i32.store offset=44 local.get $f64a local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -15859,7 +16029,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.get $len @@ -15879,7 +16049,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Float64Array#get:length local.get $len @@ -15907,13 +16077,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -15931,7 +16101,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -15939,7 +16109,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -15954,13 +16124,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -15978,14 +16148,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -16019,15 +16189,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $begin|4 local.get $end @@ -16036,7 +16206,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Int32Array#get:length local.set $len @@ -16104,18 +16274,18 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -16125,23 +16295,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 i32.const 2 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin|4 i32.sub i32.const 2 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -16160,13 +16330,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -16184,7 +16354,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -16192,7 +16362,7 @@ i32.shl i32.add local.get $value - f64.store $0 + f64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -16223,15 +16393,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $begin|4 local.get $end @@ -16240,7 +16410,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Float64Array#get:length local.set $len @@ -16308,18 +16478,18 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -16329,23 +16499,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 i32.const 3 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin|4 i32.sub i32.const 3 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -16389,16 +16559,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -16408,7 +16575,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -16433,18 +16600,18 @@ br $break|0 end local.get $ptr - f64.load $0 + f64.load local.set $a local.get $ptr - f64.load $0 offset=8 + f64.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $12) i32.const 0 i32.gt_s local.set $c @@ -16453,22 +16620,22 @@ local.get $a local.get $c select - f64.store $0 + f64.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - f64.load $0 offset=16 + f64.load offset=16 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $12) i32.const 0 i32.gt_s local.set $c @@ -16477,27 +16644,27 @@ local.get $a local.get $c select - f64.store $0 offset=8 + f64.store offset=8 local.get $ptr local.get $a local.get $b local.get $c select - f64.store $0 offset=16 + f64.store offset=16 end local.get $ptr - f64.load $0 + f64.load local.set $a|7 local.get $ptr - f64.load $0 offset=8 + f64.load offset=8 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $12) i32.const 0 i32.gt_s local.set $c|9 @@ -16506,15 +16673,15 @@ local.get $a|7 local.get $c|9 select - f64.store $0 + f64.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - f64.store $0 offset=8 + f64.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -16529,11 +16696,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -16576,7 +16743,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -16600,7 +16767,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -16631,7 +16798,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -16655,7 +16822,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -16690,7 +16857,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -16713,7 +16880,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -16726,7 +16893,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -16735,7 +16902,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -16746,7 +16913,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -16761,14 +16928,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -16790,7 +16957,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -16803,7 +16970,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -16812,7 +16979,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -16828,7 +16995,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -16841,26 +17008,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Float64Array#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -16881,10 +17048,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -16907,19 +17074,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Float64Array#sort local.set $2 @@ -16939,13 +17106,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -16963,14 +17130,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -16988,13 +17155,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.ge_u @@ -17010,7 +17177,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -17028,7 +17195,7 @@ local.get $value i32.or i32.and - i32.store8 $0 + i32.store8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -17043,13 +17210,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.ge_u @@ -17065,12 +17232,12 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add - i32.load8_u $0 + i32.load8_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -17088,13 +17255,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.ge_u @@ -17110,13 +17277,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add local.get $value - i32.store8 $0 + i32.store8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -17131,19 +17298,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/typedarray/Int8Array#get:length local.get $value @@ -17168,12 +17335,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -17193,13 +17360,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.ge_u @@ -17215,12 +17382,12 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add - i32.load8_s $0 + i32.load8_s local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -17239,13 +17406,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -17261,14 +17428,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -17292,19 +17459,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/typedarray/Int8Array#get:length local.get $b local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length i32.ne @@ -17324,7 +17491,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/typedarray/Int8Array#get:length local.set $len @@ -17337,7 +17504,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/typedarray/Int8Array#__get @@ -17345,7 +17512,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/array/Array#__get @@ -17385,7 +17552,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -17407,7 +17574,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $value local.get $start @@ -17445,15 +17612,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $begin|4 local.get $end @@ -17462,7 +17629,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Int8Array#get:length local.set $len @@ -17530,18 +17697,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -17551,23 +17718,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 i32.const 0 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin|4 i32.sub i32.const 0 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -17586,19 +17753,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/typedarray/Int32Array#get:length local.get $value @@ -17623,12 +17790,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -17649,13 +17816,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:length_ i32.ge_u @@ -17671,14 +17838,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -17702,19 +17869,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $a local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/typedarray/Int32Array#get:length local.get $b local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/array/Array#get:length i32.ne @@ -17734,7 +17901,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $~lib/typedarray/Int32Array#get:length local.set $len @@ -17747,7 +17914,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/typedarray/Int32Array#__get @@ -17755,7 +17922,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $i call $~lib/array/Array#__get @@ -17795,7 +17962,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -17817,7 +17984,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $value local.get $start @@ -17854,15 +18021,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SLICE<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SLICE<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $start local.get $end @@ -17871,7 +18038,7 @@ local.set $18 global.get $~lib/memory/__stack_pointer local.get $18 - i32.store $0 offset=4 + i32.store offset=4 local.get $18 call $~lib/typedarray/Int32Array#get:length local.set $len @@ -17941,19 +18108,19 @@ local.get $len call $~lib/typedarray/Int32Array#constructor local.tee $slice - i32.store $0 offset=8 + i32.store offset=8 local.get $slice local.set $18 global.get $~lib/memory/__stack_pointer local.get $18 - i32.store $0 offset=4 + i32.store offset=4 local.get $18 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $array local.set $18 global.get $~lib/memory/__stack_pointer local.get $18 - i32.store $0 offset=4 + i32.store offset=4 local.get $18 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $start @@ -17963,9 +18130,9 @@ local.get $len i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $slice - br $~lib/typedarray/SLICE<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/SLICE<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $18 global.get $~lib/memory/__stack_pointer @@ -17984,7 +18151,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -18004,7 +18171,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $begin local.get $end @@ -18051,12 +18218,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/COPY_WITHIN<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/COPY_WITHIN<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $target local.set $target|5 local.get $start @@ -18067,7 +18234,7 @@ local.set $30 global.get $~lib/memory/__stack_pointer local.get $30 - i32.store $0 offset=4 + i32.store offset=4 local.get $30 call $~lib/typedarray/Int32Array#get:length local.set $len @@ -18075,7 +18242,7 @@ local.set $30 global.get $~lib/memory/__stack_pointer local.get $30 - i32.store $0 offset=4 + i32.store offset=4 local.get $30 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -18189,9 +18356,9 @@ local.get $count i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy local.get $array - br $~lib/typedarray/COPY_WITHIN<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/COPY_WITHIN<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $30 global.get $~lib/memory/__stack_pointer @@ -18210,7 +18377,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -18228,7 +18395,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $target local.get $start @@ -18250,32 +18417,32 @@ (local $k i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -18285,7 +18452,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int8Array#get:length local.set $k @@ -18300,19 +18467,19 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -18322,17 +18489,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>" (local $array i32) (local $result i32) (local $2 i32) @@ -18343,21 +18510,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -18366,7 +18533,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -18375,7 +18542,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -18384,13 +18551,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1872 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#reduce @@ -18422,13 +18589,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.ge_u @@ -18444,13 +18611,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add local.get $value - i32.store8 $0 + i32.store8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -18465,32 +18632,32 @@ (local $k i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -18500,7 +18667,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint8Array#get:length local.set $k @@ -18515,19 +18682,19 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -18537,17 +18704,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>" (local $array i32) (local $result i32) (local $2 i32) @@ -18558,21 +18725,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -18581,7 +18748,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -18590,7 +18757,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -18599,13 +18766,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1904 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Uint8Array#reduce @@ -18638,32 +18805,32 @@ (local $k i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -18673,7 +18840,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $k @@ -18688,19 +18855,19 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -18710,17 +18877,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>" (local $array i32) (local $result i32) (local $2 i32) @@ -18731,21 +18898,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -18754,7 +18921,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -18763,7 +18930,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -18772,13 +18939,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1936 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#reduce @@ -18811,13 +18978,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -18835,7 +19002,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -18843,7 +19010,7 @@ i32.shl i32.add local.get $value - i32.store16 $0 + i32.store16 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -18858,32 +19025,32 @@ (local $k i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -18893,7 +19060,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int16Array#get:length local.set $k @@ -18908,19 +19075,19 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -18930,17 +19097,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>" (local $array i32) (local $result i32) (local $2 i32) @@ -18951,21 +19118,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -18974,7 +19141,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -18983,7 +19150,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -18992,13 +19159,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1968 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Int16Array#reduce @@ -19030,13 +19197,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -19054,7 +19221,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -19062,7 +19229,7 @@ i32.shl i32.add local.get $value - i32.store16 $0 + i32.store16 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -19077,32 +19244,32 @@ (local $k i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -19112,7 +19279,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint16Array#get:length local.set $k @@ -19127,19 +19294,19 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -19149,17 +19316,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>" (local $array i32) (local $result i32) (local $2 i32) @@ -19170,21 +19337,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -19193,7 +19360,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -19202,7 +19369,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -19211,13 +19378,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2000 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Uint16Array#reduce @@ -19250,32 +19417,32 @@ (local $k i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -19285,7 +19452,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int32Array#get:length local.set $k @@ -19300,19 +19467,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -19322,17 +19489,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>" (local $array i32) (local $result i32) (local $2 i32) @@ -19343,21 +19510,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -19366,7 +19533,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -19375,7 +19542,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -19384,13 +19551,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2032 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Int32Array#reduce @@ -19421,13 +19588,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -19445,7 +19612,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -19453,7 +19620,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -19468,32 +19635,32 @@ (local $k i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -19503,7 +19670,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint32Array#get:length local.set $k @@ -19518,19 +19685,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -19540,17 +19707,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>" (local $array i32) (local $result i32) (local $2 i32) @@ -19561,21 +19728,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -19584,7 +19751,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -19593,7 +19760,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -19602,13 +19769,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2064 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Uint32Array#reduce @@ -19639,13 +19806,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -19663,7 +19830,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -19671,7 +19838,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -19687,32 +19854,32 @@ (local $9 i32) (local $10 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 (result i64) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0" (result i64) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -19722,7 +19889,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int64Array#get:length local.set $k @@ -19737,19 +19904,19 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + i32.load + call_indirect (type $16) local.set $initialValue|5 local.get $i i32.const 1 @@ -19759,17 +19926,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $10 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>" (local $array i32) (local $result i64) (local $2 i32) @@ -19780,21 +19947,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 1 @@ -19803,7 +19970,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i64.const 2 @@ -19812,7 +19979,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i64.const 3 @@ -19821,13 +19988,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2096 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i64.const 0 call $~lib/typedarray/Int64Array#reduce @@ -19858,13 +20025,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -19882,7 +20049,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -19890,7 +20057,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -19906,32 +20073,32 @@ (local $9 i32) (local $10 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 (result i64) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0" (result i64) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -19941,7 +20108,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint64Array#get:length local.set $k @@ -19956,19 +20123,19 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + i32.load + call_indirect (type $16) local.set $initialValue|5 local.get $i i32.const 1 @@ -19978,17 +20145,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $10 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>" (local $array i32) (local $result i64) (local $2 i32) @@ -19999,21 +20166,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 1 @@ -20022,7 +20189,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i64.const 2 @@ -20031,7 +20198,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i64.const 3 @@ -20040,13 +20207,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2128 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i64.const 0 call $~lib/typedarray/Uint64Array#reduce @@ -20077,13 +20244,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -20101,7 +20268,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index @@ -20109,7 +20276,7 @@ i32.shl i32.add local.get $value - f32.store $0 + f32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -20125,32 +20292,32 @@ (local $9 i32) (local $10 f32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 (result f32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0" (result f32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -20160,7 +20327,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Float32Array#get:length local.set $k @@ -20175,19 +20342,19 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f32_f32_i32_i32_=>_f32) + i32.load + call_indirect (type $20) local.set $initialValue|5 local.get $i i32.const 1 @@ -20197,17 +20364,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $10 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>" (local $array i32) (local $result f32) (local $2 i32) @@ -20218,21 +20385,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f32.const 1 @@ -20241,7 +20408,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 f32.const 2 @@ -20250,7 +20417,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 f32.const 3 @@ -20259,13 +20426,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2160 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 f32.const 0 call $~lib/typedarray/Float32Array#reduce @@ -20297,32 +20464,32 @@ (local $9 i32) (local $10 f64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 (result f64) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0" (result f64) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -20332,7 +20499,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Float64Array#get:length local.set $k @@ -20347,19 +20514,19 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $i local.get $array local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=12 + i32.store offset=8 local.get $9 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f64_f64_i32_i32_=>_f64) + i32.load + call_indirect (type $21) local.set $initialValue|5 local.get $i i32.const 1 @@ -20369,17 +20536,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 + br $"~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $10 return ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>" (local $array i32) (local $result f64) (local $2 i32) @@ -20390,21 +20557,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f64.const 1 @@ -20413,7 +20580,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 f64.const 2 @@ -20422,7 +20589,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 f64.const 3 @@ -20431,13 +20598,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2192 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 f64.const 0 call $~lib/typedarray/Float64Array#reduce @@ -20469,12 +20636,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $len @@ -20502,12 +20669,12 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add - i32.load8_s $0 + i32.load8_s local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20516,7 +20683,7 @@ local.get $3 return ) - (func $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testAt<~lib/typedarray/Int8Array,i8>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -20526,18 +20693,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -20546,7 +20713,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -20555,7 +20722,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -20564,7 +20731,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Int8Array#at @@ -20583,7 +20750,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Int8Array#at @@ -20602,7 +20769,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Int8Array#at @@ -20632,12 +20799,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $len @@ -20665,12 +20832,12 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add - i32.load8_u $0 + i32.load8_u local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20679,7 +20846,7 @@ local.get $3 return ) - (func $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testAt<~lib/typedarray/Uint8Array,u8>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -20689,18 +20856,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -20709,7 +20876,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -20718,7 +20885,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -20727,7 +20894,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Uint8Array#at @@ -20746,7 +20913,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Uint8Array#at @@ -20765,7 +20932,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Uint8Array#at @@ -20795,12 +20962,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength local.set $len @@ -20828,12 +20995,12 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add - i32.load8_u $0 + i32.load8_u local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -20842,7 +21009,7 @@ local.get $3 return ) - (func $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -20852,18 +21019,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -20872,7 +21039,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -20881,7 +21048,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -20890,7 +21057,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#at @@ -20909,7 +21076,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Uint8ClampedArray#at @@ -20928,7 +21095,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Uint8ClampedArray#at @@ -20958,12 +21125,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -20993,14 +21160,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21009,7 +21176,7 @@ local.get $3 return ) - (func $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testAt<~lib/typedarray/Int16Array,i16>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -21019,18 +21186,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -21039,7 +21206,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -21048,7 +21215,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -21057,7 +21224,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Int16Array#at @@ -21076,7 +21243,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Int16Array#at @@ -21095,7 +21262,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Int16Array#at @@ -21125,12 +21292,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -21160,14 +21327,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21176,7 +21343,7 @@ local.get $3 return ) - (func $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testAt<~lib/typedarray/Uint16Array,u16>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -21186,18 +21353,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -21206,7 +21373,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -21215,7 +21382,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -21224,7 +21391,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Uint16Array#at @@ -21243,7 +21410,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Uint16Array#at @@ -21262,7 +21429,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Uint16Array#at @@ -21292,12 +21459,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -21327,14 +21494,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21343,7 +21510,7 @@ local.get $3 return ) - (func $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testAt<~lib/typedarray/Int32Array,i32>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -21353,18 +21520,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -21373,7 +21540,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -21382,7 +21549,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -21391,7 +21558,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Int32Array#at @@ -21410,7 +21577,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Int32Array#at @@ -21429,7 +21596,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Int32Array#at @@ -21459,12 +21626,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -21494,14 +21661,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21510,7 +21677,7 @@ local.get $3 return ) - (func $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testAt<~lib/typedarray/Uint32Array,u32>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -21520,18 +21687,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -21540,7 +21707,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -21549,7 +21716,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -21558,7 +21725,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Uint32Array#at @@ -21577,7 +21744,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Uint32Array#at @@ -21596,7 +21763,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Uint32Array#at @@ -21627,12 +21794,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -21662,14 +21829,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21678,7 +21845,7 @@ local.get $4 return ) - (func $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testAt<~lib/typedarray/Int64Array,i64>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -21688,18 +21855,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i64.const 1 @@ -21708,7 +21875,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i64.const 2 @@ -21717,7 +21884,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i64.const 3 @@ -21726,7 +21893,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Int64Array#at @@ -21745,7 +21912,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Int64Array#at @@ -21764,7 +21931,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Int64Array#at @@ -21795,12 +21962,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -21830,14 +21997,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -21846,7 +22013,7 @@ local.get $4 return ) - (func $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testAt<~lib/typedarray/Uint64Array,u64>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -21856,18 +22023,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i64.const 1 @@ -21876,7 +22043,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i64.const 2 @@ -21885,7 +22052,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i64.const 3 @@ -21894,7 +22061,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Uint64Array#at @@ -21913,7 +22080,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Uint64Array#at @@ -21932,7 +22099,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Uint64Array#at @@ -21963,12 +22130,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -21998,14 +22165,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -22014,7 +22181,7 @@ local.get $4 return ) - (func $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testAt<~lib/typedarray/Float32Array,f32>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -22024,18 +22191,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 f32.const 1 @@ -22044,7 +22211,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 f32.const 2 @@ -22053,7 +22220,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 f32.const 3 @@ -22062,7 +22229,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Float32Array#at @@ -22081,7 +22248,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Float32Array#at @@ -22100,7 +22267,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Float32Array#at @@ -22131,12 +22298,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -22166,14 +22333,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -22182,7 +22349,7 @@ local.get $4 return ) - (func $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testAt<~lib/typedarray/Float64Array,f64>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -22192,18 +22359,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 f64.const 1 @@ -22212,7 +22379,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 f64.const 2 @@ -22221,7 +22388,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 f64.const 3 @@ -22230,7 +22397,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 call $~lib/typedarray/Float64Array#at @@ -22249,7 +22416,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -1 call $~lib/typedarray/Float64Array#at @@ -22268,7 +22435,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const -3 call $~lib/typedarray/Float64Array#at @@ -22296,32 +22463,32 @@ (local $i i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -22329,7 +22496,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Int8Array#get:length i32.const 1 @@ -22346,19 +22513,19 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -22368,17 +22535,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0" end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>" (local $array i32) (local $result i32) (local $2 i32) @@ -22389,21 +22556,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -22412,7 +22579,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -22421,7 +22588,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -22430,13 +22597,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2224 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#reduceRight @@ -22467,32 +22634,32 @@ (local $i i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -22500,7 +22667,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Uint8Array#get:length i32.const 1 @@ -22517,19 +22684,19 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -22539,17 +22706,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0" end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>" (local $array i32) (local $result i32) (local $2 i32) @@ -22560,21 +22727,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -22583,7 +22750,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -22592,7 +22759,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -22601,13 +22768,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2256 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Uint8Array#reduceRight @@ -22639,32 +22806,32 @@ (local $i i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -22672,7 +22839,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Uint8ClampedArray#get:length i32.const 1 @@ -22689,19 +22856,19 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -22711,17 +22878,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0" end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>" (local $array i32) (local $result i32) (local $2 i32) @@ -22732,21 +22899,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -22755,7 +22922,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -22764,7 +22931,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -22773,13 +22940,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2288 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#reduceRight @@ -22811,32 +22978,32 @@ (local $i i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -22844,7 +23011,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Int16Array#get:length i32.const 1 @@ -22861,19 +23028,19 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -22883,17 +23050,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0" end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>" (local $array i32) (local $result i32) (local $2 i32) @@ -22904,21 +23071,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -22927,7 +23094,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -22936,7 +23103,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -22945,13 +23112,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2320 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Int16Array#reduceRight @@ -22982,32 +23149,32 @@ (local $i i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -23015,7 +23182,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Uint16Array#get:length i32.const 1 @@ -23032,19 +23199,19 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -23054,17 +23221,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0" end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>" (local $array i32) (local $result i32) (local $2 i32) @@ -23075,21 +23242,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -23098,7 +23265,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -23107,7 +23274,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -23116,13 +23283,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2352 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Uint16Array#reduceRight @@ -23154,32 +23321,32 @@ (local $i i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -23187,7 +23354,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Int32Array#get:length i32.const 1 @@ -23204,19 +23371,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -23226,17 +23393,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0" end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>" (local $array i32) (local $result i32) (local $2 i32) @@ -23247,21 +23414,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -23270,7 +23437,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -23279,7 +23446,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -23288,13 +23455,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2384 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Int32Array#reduceRight @@ -23324,32 +23491,32 @@ (local $i i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -23357,7 +23524,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Uint32Array#get:length i32.const 1 @@ -23374,19 +23541,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $initialValue|5 local.get $i i32.const 1 @@ -23396,17 +23563,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0" end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>" (local $array i32) (local $result i32) (local $2 i32) @@ -23417,21 +23584,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -23440,7 +23607,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -23449,7 +23616,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -23458,13 +23625,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2416 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i32.const 0 call $~lib/typedarray/Uint32Array#reduceRight @@ -23495,32 +23662,32 @@ (local $8 i32) (local $9 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 (result i64) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0" (result i64) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -23528,7 +23695,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Int64Array#get:length i32.const 1 @@ -23545,19 +23712,19 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + i32.load + call_indirect (type $16) local.set $initialValue|5 local.get $i i32.const 1 @@ -23567,17 +23734,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>" (local $array i32) (local $result i64) (local $2 i32) @@ -23588,21 +23755,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 1 @@ -23611,7 +23778,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i64.const 2 @@ -23620,7 +23787,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i64.const 3 @@ -23629,13 +23796,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2448 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i64.const 0 call $~lib/typedarray/Int64Array#reduceRight @@ -23666,32 +23833,32 @@ (local $8 i32) (local $9 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 (result i64) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0" (result i64) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -23699,7 +23866,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Uint64Array#get:length i32.const 1 @@ -23716,19 +23883,19 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + i32.load + call_indirect (type $16) local.set $initialValue|5 local.get $i i32.const 1 @@ -23738,17 +23905,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>" (local $array i32) (local $result i64) (local $2 i32) @@ -23759,21 +23926,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 1 @@ -23782,7 +23949,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i64.const 2 @@ -23791,7 +23958,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i64.const 3 @@ -23800,13 +23967,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2480 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 i64.const 0 call $~lib/typedarray/Uint64Array#reduceRight @@ -23837,32 +24004,32 @@ (local $8 i32) (local $9 f32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 (result f32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0" (result f32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -23870,7 +24037,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Float32Array#get:length i32.const 1 @@ -23887,19 +24054,19 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f32_f32_i32_i32_=>_f32) + i32.load + call_indirect (type $20) local.set $initialValue|5 local.get $i i32.const 1 @@ -23909,17 +24076,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>" (local $array i32) (local $result f32) (local $2 i32) @@ -23930,21 +24097,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f32.const 1 @@ -23953,7 +24120,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 f32.const 2 @@ -23962,7 +24129,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 f32.const 3 @@ -23971,13 +24138,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2512 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 f32.const 0 call $~lib/typedarray/Float32Array#reduceRight @@ -24008,32 +24175,32 @@ (local $8 i32) (local $9 f64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 (result f64) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0" (result f64) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $initialValue local.set $initialValue|5 local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -24041,7 +24208,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store offset=8 local.get $8 call $~lib/typedarray/Float64Array#get:length i32.const 1 @@ -24058,19 +24225,19 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $i local.get $array local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=12 + i32.store offset=8 local.get $8 i32.const 4 global.set $~argumentsLength local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f64_f64_i32_i32_=>_f64) + i32.load + call_indirect (type $21) local.set $initialValue|5 local.get $i i32.const 1 @@ -24080,17 +24247,17 @@ end end local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 + br $"~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $9 return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>" (local $array i32) (local $result f64) (local $2 i32) @@ -24101,21 +24268,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f64.const 1 @@ -24124,7 +24291,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 f64.const 2 @@ -24133,7 +24300,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 f64.const 3 @@ -24142,13 +24309,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2544 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 f64.const 0 call $~lib/typedarray/Float64Array#reduceRight @@ -24181,28 +24348,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Int8Array#get:length local.set $len @@ -24210,7 +24377,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -24223,13 +24390,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -24247,20 +24414,20 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 + i32.load + call_indirect (type $1) + i32.store8 local.get $i i32.const 1 i32.add @@ -24270,29 +24437,29 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>" (local $source i32) (local $result i32) (local $2 i32) @@ -24303,21 +24470,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -24326,7 +24493,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -24335,7 +24502,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -24345,22 +24512,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2576 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int8Array#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#__get @@ -24379,7 +24546,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get @@ -24398,7 +24565,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get @@ -24429,28 +24596,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Uint8Array#get:length local.set $len @@ -24458,7 +24625,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -24471,13 +24638,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -24495,20 +24662,20 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 + i32.load + call_indirect (type $1) + i32.store8 local.get $i i32.const 1 i32.add @@ -24518,23 +24685,23 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 @@ -24549,13 +24716,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.ge_u @@ -24571,12 +24738,12 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add - i32.load8_u $0 + i32.load8_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -24585,7 +24752,7 @@ local.get $2 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>" (local $source i32) (local $result i32) (local $2 i32) @@ -24596,21 +24763,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -24619,7 +24786,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -24628,7 +24795,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -24638,22 +24805,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2608 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint8Array#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -24672,7 +24839,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get @@ -24691,7 +24858,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get @@ -24722,28 +24889,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $len @@ -24751,7 +24918,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -24764,13 +24931,13 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -24788,20 +24955,20 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 + i32.load + call_indirect (type $1) + i32.store8 local.get $i i32.const 1 i32.add @@ -24811,29 +24978,29 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>" (local $source i32) (local $result i32) (local $2 i32) @@ -24844,21 +25011,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -24867,7 +25034,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -24876,7 +25043,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -24886,22 +25053,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2640 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint8ClampedArray#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get @@ -24920,7 +25087,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get @@ -24939,7 +25106,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get @@ -24970,28 +25137,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Int16Array#get:length local.set $len @@ -24999,7 +25166,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -25012,13 +25179,13 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -25036,20 +25203,20 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 $0 + i32.load + call_indirect (type $1) + i32.store16 local.get $i i32.const 1 i32.add @@ -25059,23 +25226,23 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 @@ -25090,13 +25257,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -25114,14 +25281,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25130,7 +25297,7 @@ local.get $2 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>" (local $source i32) (local $result i32) (local $2 i32) @@ -25141,21 +25308,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -25164,7 +25331,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -25173,7 +25340,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -25183,22 +25350,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2672 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int16Array#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int16Array#__get @@ -25217,7 +25384,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get @@ -25236,7 +25403,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get @@ -25267,28 +25434,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Uint16Array#get:length local.set $len @@ -25296,7 +25463,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -25309,13 +25476,13 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -25333,20 +25500,20 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 $0 + i32.load + call_indirect (type $1) + i32.store16 local.get $i i32.const 1 i32.add @@ -25356,23 +25523,23 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 @@ -25387,13 +25554,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 @@ -25411,14 +25578,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25427,7 +25594,7 @@ local.get $2 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>" (local $source i32) (local $result i32) (local $2 i32) @@ -25438,21 +25605,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -25461,7 +25628,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -25470,7 +25637,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -25480,22 +25647,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2704 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint16Array#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint16Array#__get @@ -25514,7 +25681,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get @@ -25533,7 +25700,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get @@ -25564,28 +25731,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Int32Array#get:length local.set $len @@ -25593,7 +25760,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -25606,13 +25773,13 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -25630,20 +25797,20 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 + i32.load + call_indirect (type $1) + i32.store local.get $i i32.const 1 i32.add @@ -25653,29 +25820,29 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>" (local $source i32) (local $result i32) (local $2 i32) @@ -25686,21 +25853,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -25709,7 +25876,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -25718,7 +25885,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -25728,22 +25895,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2736 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int32Array#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int32Array#__get @@ -25762,7 +25929,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get @@ -25781,7 +25948,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get @@ -25812,28 +25979,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Uint32Array#get:length local.set $len @@ -25841,7 +26008,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -25854,13 +26021,13 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -25878,20 +26045,20 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 + i32.load + call_indirect (type $1) + i32.store local.get $i i32.const 1 i32.add @@ -25901,23 +26068,23 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 @@ -25932,13 +26099,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -25956,14 +26123,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -25972,7 +26139,7 @@ local.get $2 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>" (local $source i32) (local $result i32) (local $2 i32) @@ -25983,21 +26150,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -26006,7 +26173,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -26015,7 +26182,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -26025,22 +26192,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2768 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint32Array#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint32Array#__get @@ -26059,7 +26226,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get @@ -26078,7 +26245,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get @@ -26109,28 +26276,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Int64Array#get:length local.set $len @@ -26138,7 +26305,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -26151,13 +26318,13 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -26175,20 +26342,20 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store $0 + i32.load + call_indirect (type $22) + i64.store local.get $i i32.const 1 i32.add @@ -26198,23 +26365,23 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 @@ -26230,13 +26397,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -26254,14 +26421,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26270,7 +26437,7 @@ local.get $3 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>" (local $source i32) (local $result i32) (local $2 i32) @@ -26281,21 +26448,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 1 @@ -26304,7 +26471,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i64.const 2 @@ -26313,7 +26480,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i64.const 3 @@ -26323,22 +26490,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2800 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int64Array#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int64Array#__get @@ -26357,7 +26524,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get @@ -26376,7 +26543,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get @@ -26407,28 +26574,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Uint64Array#get:length local.set $len @@ -26436,7 +26603,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -26449,13 +26616,13 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -26473,20 +26640,20 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store $0 + i32.load + call_indirect (type $22) + i64.store local.get $i i32.const 1 i32.add @@ -26496,23 +26663,23 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 @@ -26528,13 +26695,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 @@ -26552,14 +26719,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26568,7 +26735,7 @@ local.get $3 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>" (local $source i32) (local $result i32) (local $2 i32) @@ -26579,21 +26746,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 1 @@ -26602,7 +26769,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i64.const 2 @@ -26611,7 +26778,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i64.const 3 @@ -26621,22 +26788,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2832 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint64Array#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint64Array#__get @@ -26655,7 +26822,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get @@ -26674,7 +26841,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get @@ -26705,28 +26872,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Float32Array#get:length local.set $len @@ -26734,7 +26901,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -26747,13 +26914,13 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -26771,20 +26938,20 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_f32) - f32.store $0 + i32.load + call_indirect (type $30) + f32.store local.get $i i32.const 1 i32.add @@ -26794,23 +26961,23 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 @@ -26826,13 +26993,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $index local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 @@ -26850,14 +27017,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -26866,7 +27033,7 @@ local.get $3 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>" (local $source i32) (local $result i32) (local $2 i32) @@ -26877,21 +27044,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f32.const 1 @@ -26900,7 +27067,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 f32.const 2 @@ -26909,7 +27076,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 f32.const 3 @@ -26919,22 +27086,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2864 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Float32Array#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -26953,7 +27120,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get @@ -26972,7 +27139,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get @@ -27003,28 +27170,28 @@ (local $i i32) (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/typedarray/Float64Array#get:length local.set $len @@ -27032,7 +27199,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=8 + i32.store offset=8 local.get $10 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -27045,13 +27212,13 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $byteLength i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 local.set $i loop $for-loop|0 @@ -27069,20 +27236,20 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $i local.get $array local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 offset=20 + i32.store offset=8 local.get $10 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_f64) - f64.store $0 + i32.load + call_indirect (type $31) + f64.store local.get $i i32.const 1 i32.add @@ -27092,29 +27259,29 @@ end local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $buf - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $10 return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>" (local $source i32) (local $result i32) (local $2 i32) @@ -27125,21 +27292,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f64.const 1 @@ -27148,7 +27315,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 f64.const 2 @@ -27157,7 +27324,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 f64.const 3 @@ -27167,22 +27334,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2896 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Float64Array#map local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Float64Array#__get @@ -27201,7 +27368,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Float64Array#__get @@ -27220,7 +27387,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Float64Array#__get @@ -27255,28 +27422,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Int8Array#get:length local.set $len @@ -27285,7 +27452,7 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 0 @@ -27293,12 +27460,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -27316,7 +27483,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value local.get $value local.get $i @@ -27324,13 +27491,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $buf local.get $j @@ -27343,7 +27510,7 @@ i32.shl i32.add local.get $value - i32.store8 $0 + i32.store8 end local.get $i i32.const 1 @@ -27362,29 +27529,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Int8Array,i8>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>" (local $source i32) (local $result i32) (local $2 i32) @@ -27395,21 +27562,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Int8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -27418,7 +27585,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -27427,7 +27594,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -27436,7 +27603,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 4 @@ -27445,7 +27612,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 5 @@ -27455,22 +27622,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2928 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int8Array#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -27488,7 +27655,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int8Array#get:length i32.const 3 @@ -27506,7 +27673,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#__get @@ -27525,7 +27692,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get @@ -27544,7 +27711,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get @@ -27579,28 +27746,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Uint8Array#get:length local.set $len @@ -27609,7 +27776,7 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 0 @@ -27617,12 +27784,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -27640,7 +27807,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value local.get $value local.get $i @@ -27648,13 +27815,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $buf local.get $j @@ -27667,7 +27834,7 @@ i32.shl i32.add local.get $value - i32.store8 $0 + i32.store8 end local.get $i i32.const 1 @@ -27686,29 +27853,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>" (local $source i32) (local $result i32) (local $2 i32) @@ -27719,21 +27886,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Uint8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -27742,7 +27909,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -27751,7 +27918,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -27760,7 +27927,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 4 @@ -27769,7 +27936,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 5 @@ -27779,22 +27946,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2960 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint8Array#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -27812,7 +27979,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint8Array#get:length i32.const 3 @@ -27830,7 +27997,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -27849,7 +28016,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get @@ -27868,7 +28035,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get @@ -27903,28 +28070,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $len @@ -27933,7 +28100,7 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 0 @@ -27941,12 +28108,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -27964,7 +28131,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value local.get $value local.get $i @@ -27972,13 +28139,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $buf local.get $j @@ -27991,7 +28158,7 @@ i32.shl i32.add local.get $value - i32.store8 $0 + i32.store8 end local.get $i i32.const 1 @@ -28010,29 +28177,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>" (local $source i32) (local $result i32) (local $2 i32) @@ -28043,21 +28210,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -28066,7 +28233,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -28075,7 +28242,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -28084,7 +28251,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 4 @@ -28093,7 +28260,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 5 @@ -28103,22 +28270,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2992 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint8ClampedArray#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -28136,7 +28303,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint8ClampedArray#get:length i32.const 3 @@ -28154,7 +28321,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get @@ -28173,7 +28340,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get @@ -28192,7 +28359,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get @@ -28227,28 +28394,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Int16Array#get:length local.set $len @@ -28257,7 +28424,7 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 1 @@ -28265,12 +28432,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -28288,7 +28455,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value local.get $value local.get $i @@ -28296,13 +28463,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $buf local.get $j @@ -28315,7 +28482,7 @@ i32.shl i32.add local.get $value - i32.store16 $0 + i32.store16 end local.get $i i32.const 1 @@ -28334,29 +28501,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Int16Array,i16>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>" (local $source i32) (local $result i32) (local $2 i32) @@ -28367,21 +28534,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Int16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -28390,7 +28557,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -28399,7 +28566,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -28408,7 +28575,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 4 @@ -28417,7 +28584,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 5 @@ -28427,22 +28594,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3024 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int16Array#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -28460,7 +28627,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int16Array#get:length i32.const 3 @@ -28478,7 +28645,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int16Array#__get @@ -28497,7 +28664,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get @@ -28516,7 +28683,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get @@ -28551,28 +28718,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Uint16Array#get:length local.set $len @@ -28581,7 +28748,7 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 1 @@ -28589,12 +28756,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -28612,7 +28779,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $value local.get $value local.get $i @@ -28620,13 +28787,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $buf local.get $j @@ -28639,7 +28806,7 @@ i32.shl i32.add local.get $value - i32.store16 $0 + i32.store16 end local.get $i i32.const 1 @@ -28658,29 +28825,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>" (local $source i32) (local $result i32) (local $2 i32) @@ -28691,21 +28858,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Uint16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -28714,7 +28881,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -28723,7 +28890,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -28732,7 +28899,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 4 @@ -28741,7 +28908,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 5 @@ -28751,22 +28918,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3056 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint16Array#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -28784,7 +28951,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint16Array#get:length i32.const 3 @@ -28802,7 +28969,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint16Array#__get @@ -28821,7 +28988,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get @@ -28840,7 +29007,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get @@ -28875,28 +29042,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Int32Array#get:length local.set $len @@ -28905,7 +29072,7 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 2 @@ -28913,12 +29080,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -28936,7 +29103,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value local.get $value local.get $i @@ -28944,13 +29111,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $buf local.get $j @@ -28963,7 +29130,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store end local.get $i i32.const 1 @@ -28982,29 +29149,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>" (local $source i32) (local $result i32) (local $2 i32) @@ -29015,21 +29182,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Int32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -29038,7 +29205,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -29047,7 +29214,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -29056,7 +29223,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 4 @@ -29065,7 +29232,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 5 @@ -29075,22 +29242,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3088 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int32Array#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -29108,7 +29275,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int32Array#get:length i32.const 3 @@ -29126,7 +29293,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int32Array#__get @@ -29145,7 +29312,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get @@ -29164,7 +29331,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get @@ -29199,28 +29366,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Uint32Array#get:length local.set $len @@ -29229,7 +29396,7 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 2 @@ -29237,12 +29404,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -29260,7 +29427,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value local.get $value local.get $i @@ -29268,13 +29435,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $buf local.get $j @@ -29287,7 +29454,7 @@ i32.shl i32.add local.get $value - i32.store $0 + i32.store end local.get $i i32.const 1 @@ -29306,29 +29473,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>" (local $source i32) (local $result i32) (local $2 i32) @@ -29339,21 +29506,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Uint32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 1 @@ -29362,7 +29529,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -29371,7 +29538,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 3 @@ -29380,7 +29547,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i32.const 4 @@ -29389,7 +29556,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i32.const 5 @@ -29399,22 +29566,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3120 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint32Array#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -29432,7 +29599,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint32Array#get:length i32.const 3 @@ -29450,7 +29617,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint32Array#__get @@ -29469,7 +29636,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get @@ -29488,7 +29655,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get @@ -29523,28 +29690,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Int64Array#get:length local.set $len @@ -29553,7 +29720,7 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 3 @@ -29561,12 +29728,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -29584,7 +29751,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value local.get $value local.get $i @@ -29592,13 +29759,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $7) if local.get $buf local.get $j @@ -29611,7 +29778,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store end local.get $i i32.const 1 @@ -29630,29 +29797,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Int64Array,i64>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>" (local $source i32) (local $result i32) (local $2 i32) @@ -29663,21 +29830,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Int64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 1 @@ -29686,7 +29853,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i64.const 2 @@ -29695,7 +29862,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i64.const 3 @@ -29704,7 +29871,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i64.const 4 @@ -29713,7 +29880,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i64.const 5 @@ -29723,22 +29890,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3152 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int64Array#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -29756,7 +29923,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int64Array#get:length i32.const 3 @@ -29774,7 +29941,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int64Array#__get @@ -29793,7 +29960,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get @@ -29812,7 +29979,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get @@ -29847,28 +30014,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Uint64Array#get:length local.set $len @@ -29877,7 +30044,7 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 3 @@ -29885,12 +30052,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -29908,7 +30075,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value local.get $value local.get $i @@ -29916,13 +30083,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $7) if local.get $buf local.get $j @@ -29935,7 +30102,7 @@ i32.shl i32.add local.get $value - i64.store $0 + i64.store end local.get $i i32.const 1 @@ -29954,29 +30121,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>" (local $source i32) (local $result i32) (local $2 i32) @@ -29987,21 +30154,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Uint64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 1 @@ -30010,7 +30177,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i64.const 2 @@ -30019,7 +30186,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i64.const 3 @@ -30028,7 +30195,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 i64.const 4 @@ -30037,7 +30204,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 i64.const 5 @@ -30047,22 +30214,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3184 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint64Array#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -30080,7 +30247,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint64Array#get:length i32.const 3 @@ -30098,7 +30265,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint64Array#__get @@ -30117,7 +30284,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get @@ -30136,7 +30303,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get @@ -30171,28 +30338,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Float32Array#get:length local.set $len @@ -30201,7 +30368,7 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 2 @@ -30209,12 +30376,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -30232,7 +30399,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value local.get $value local.get $i @@ -30240,13 +30407,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) + i32.load + call_indirect (type $9) if local.get $buf local.get $j @@ -30259,7 +30426,7 @@ i32.shl i32.add local.get $value - f32.store $0 + f32.store end local.get $i i32.const 1 @@ -30278,29 +30445,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>" (local $source i32) (local $result i32) (local $2 i32) @@ -30311,21 +30478,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Float32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f32.const 1 @@ -30334,7 +30501,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 f32.const 2 @@ -30343,7 +30510,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 f32.const 3 @@ -30352,7 +30519,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 f32.const 4 @@ -30361,7 +30528,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 f32.const 5 @@ -30371,22 +30538,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3216 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Float32Array#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -30404,7 +30571,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Float32Array#get:length i32.const 3 @@ -30422,7 +30589,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -30441,7 +30608,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get @@ -30460,7 +30627,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get @@ -30495,28 +30662,28 @@ (local $data i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i32.const 20 + memory.fill + block $"~lib/typedarray/FILTER<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Float64Array#get:length local.set $len @@ -30525,7 +30692,7 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $len i32.const 3 @@ -30533,12 +30700,12 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buf - i32.store $0 offset=16 + i32.store offset=16 local.get $array local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -30556,7 +30723,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value local.get $value local.get $i @@ -30564,13 +30731,13 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=20 + i32.store offset=8 local.get $14 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) + i32.load + call_indirect (type $10) if local.get $buf local.get $j @@ -30583,7 +30750,7 @@ i32.shl i32.add local.get $value - f64.store $0 + f64.store end local.get $i i32.const 1 @@ -30602,29 +30769,29 @@ local.set $data local.get $out local.get $data - i32.store $0 + i32.store local.get $out local.get $data i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $data - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/FILTER<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $14 return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>" (local $source i32) (local $result i32) (local $2 i32) @@ -30635,21 +30802,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 6 call $~lib/typedarray/Float64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f64.const 1 @@ -30658,7 +30825,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 f64.const 2 @@ -30667,7 +30834,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 f64.const 3 @@ -30676,7 +30843,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3 f64.const 4 @@ -30685,7 +30852,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 5 f64.const 5 @@ -30695,22 +30862,22 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 3248 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Float64Array#filter local.tee $result - i32.store $0 offset=12 + i32.store offset=12 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 @@ -30728,7 +30895,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Float64Array#get:length i32.const 3 @@ -30746,7 +30913,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Float64Array#__get @@ -30765,7 +30932,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Float64Array#__get @@ -30784,7 +30951,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Float64Array#__get @@ -30812,30 +30979,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -30845,7 +31012,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int8Array#get:length local.set $k @@ -30859,22 +31026,22 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0" end local.get $i i32.const 1 @@ -30884,17 +31051,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -30906,21 +31073,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -30929,7 +31096,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -30938,7 +31105,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -30947,13 +31114,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3280 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int8Array#some local.set $result @@ -30973,13 +31140,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3312 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int8Array#some local.set $failResult @@ -31007,30 +31174,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -31040,7 +31207,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint8Array#get:length local.set $k @@ -31054,22 +31221,22 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.get $i i32.const 1 @@ -31079,17 +31246,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -31101,21 +31268,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -31124,7 +31291,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -31133,7 +31300,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -31142,13 +31309,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3344 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8Array#some local.set $result @@ -31168,13 +31335,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3376 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8Array#some local.set $failResult @@ -31202,30 +31369,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -31235,7 +31402,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $k @@ -31249,22 +31416,22 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.get $i i32.const 1 @@ -31274,17 +31441,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -31296,21 +31463,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -31319,7 +31486,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -31328,7 +31495,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -31337,13 +31504,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3408 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8ClampedArray#some local.set $result @@ -31363,13 +31530,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3440 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8ClampedArray#some local.set $failResult @@ -31397,30 +31564,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -31430,7 +31597,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int16Array#get:length local.set $k @@ -31444,22 +31611,22 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0" end local.get $i i32.const 1 @@ -31469,17 +31636,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>" (local $source i32) (local $result i32) (local $failResult i32) @@ -31491,21 +31658,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -31514,7 +31681,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -31523,7 +31690,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -31532,13 +31699,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3472 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int16Array#some local.set $result @@ -31558,13 +31725,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3504 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int16Array#some local.set $failResult @@ -31592,30 +31759,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -31625,7 +31792,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint16Array#get:length local.set $k @@ -31639,22 +31806,22 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.get $i i32.const 1 @@ -31664,17 +31831,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>" (local $source i32) (local $result i32) (local $failResult i32) @@ -31686,21 +31853,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -31709,7 +31876,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -31718,7 +31885,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -31727,13 +31894,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3536 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint16Array#some local.set $result @@ -31753,13 +31920,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3568 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint16Array#some local.set $failResult @@ -31787,30 +31954,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -31820,7 +31987,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int32Array#get:length local.set $k @@ -31834,22 +32001,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0" end local.get $i i32.const 1 @@ -31859,17 +32026,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -31881,21 +32048,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -31904,7 +32071,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -31913,7 +32080,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -31922,13 +32089,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3600 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int32Array#some local.set $result @@ -31948,13 +32115,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3632 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int32Array#some local.set $failResult @@ -31982,30 +32149,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -32015,7 +32182,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint32Array#get:length local.set $k @@ -32029,22 +32196,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.get $i i32.const 1 @@ -32054,17 +32221,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -32076,21 +32243,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -32099,7 +32266,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -32108,7 +32275,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -32117,13 +32284,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3664 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint32Array#some local.set $result @@ -32143,13 +32310,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3696 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint32Array#some local.set $failResult @@ -32177,30 +32344,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -32210,7 +32377,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int64Array#get:length local.set $k @@ -32224,22 +32391,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $7) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0" end local.get $i i32.const 1 @@ -32249,17 +32416,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -32271,21 +32438,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i64.const 2 @@ -32294,7 +32461,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i64.const 4 @@ -32303,7 +32470,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i64.const 6 @@ -32312,13 +32479,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3728 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int64Array#some local.set $result @@ -32338,13 +32505,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3760 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int64Array#some local.set $failResult @@ -32372,30 +32539,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -32405,7 +32572,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint64Array#get:length local.set $k @@ -32419,22 +32586,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $7) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.get $i i32.const 1 @@ -32444,17 +32611,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -32466,21 +32633,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i64.const 2 @@ -32489,7 +32656,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i64.const 4 @@ -32498,7 +32665,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i64.const 6 @@ -32507,13 +32674,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3792 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint64Array#some local.set $result @@ -32533,13 +32700,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3824 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint64Array#some local.set $failResult @@ -32567,30 +32734,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -32600,7 +32767,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Float32Array#get:length local.set $k @@ -32614,22 +32781,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) + i32.load + call_indirect (type $9) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0" end local.get $i i32.const 1 @@ -32639,17 +32806,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -32661,21 +32828,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 f32.const 2 @@ -32684,7 +32851,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 f32.const 4 @@ -32693,7 +32860,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 f32.const 6 @@ -32702,13 +32869,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3856 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float32Array#some local.set $result @@ -32728,13 +32895,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3888 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float32Array#some local.set $failResult @@ -32762,30 +32929,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -32795,7 +32962,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Float64Array#get:length local.set $k @@ -32809,22 +32976,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) + i32.load + call_indirect (type $10) if i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0" end local.get $i i32.const 1 @@ -32834,17 +33001,17 @@ end end i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -32856,21 +33023,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 f64.const 2 @@ -32879,7 +33046,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 f64.const 4 @@ -32888,7 +33055,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 f64.const 6 @@ -32897,13 +33064,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3920 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float64Array#some local.set $result @@ -32923,13 +33090,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3952 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float64Array#some local.set $failResult @@ -32957,30 +33124,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -32990,7 +33157,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int8Array#get:length local.set $k @@ -33004,22 +33171,22 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0" end local.get $i i32.const 1 @@ -33029,17 +33196,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -33051,21 +33218,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -33074,7 +33241,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -33083,7 +33250,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -33092,13 +33259,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 3984 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int8Array#findIndex local.set $result @@ -33118,13 +33285,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4016 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int8Array#findIndex local.set $failResult @@ -33153,30 +33320,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -33186,7 +33353,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint8Array#get:length local.set $k @@ -33200,22 +33367,22 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.get $i i32.const 1 @@ -33225,17 +33392,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -33247,21 +33414,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -33270,7 +33437,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -33279,7 +33446,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -33288,13 +33455,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4048 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8Array#findIndex local.set $result @@ -33314,13 +33481,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4080 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8Array#findIndex local.set $failResult @@ -33349,30 +33516,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -33382,7 +33549,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $k @@ -33396,22 +33563,22 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.get $i i32.const 1 @@ -33421,17 +33588,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -33443,21 +33610,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -33466,7 +33633,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -33475,7 +33642,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -33484,13 +33651,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4112 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8ClampedArray#findIndex local.set $result @@ -33510,13 +33677,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4144 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8ClampedArray#findIndex local.set $failResult @@ -33545,30 +33712,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -33578,7 +33745,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int16Array#get:length local.set $k @@ -33592,22 +33759,22 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0" end local.get $i i32.const 1 @@ -33617,17 +33784,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>" (local $source i32) (local $result i32) (local $failResult i32) @@ -33639,21 +33806,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -33662,7 +33829,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -33671,7 +33838,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -33680,13 +33847,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4176 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int16Array#findIndex local.set $result @@ -33706,13 +33873,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4208 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int16Array#findIndex local.set $failResult @@ -33741,30 +33908,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -33774,7 +33941,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint16Array#get:length local.set $k @@ -33788,22 +33955,22 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.get $i i32.const 1 @@ -33813,17 +33980,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>" (local $source i32) (local $result i32) (local $failResult i32) @@ -33835,21 +34002,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -33858,7 +34025,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -33867,7 +34034,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -33876,13 +34043,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4240 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint16Array#findIndex local.set $result @@ -33902,13 +34069,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4272 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint16Array#findIndex local.set $failResult @@ -33937,30 +34104,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -33970,7 +34137,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int32Array#get:length local.set $k @@ -33984,22 +34151,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0" end local.get $i i32.const 1 @@ -34009,17 +34176,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -34031,21 +34198,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -34054,7 +34221,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -34063,7 +34230,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -34072,13 +34239,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4304 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int32Array#findIndex local.set $result @@ -34098,13 +34265,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4336 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int32Array#findIndex local.set $failResult @@ -34133,30 +34300,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -34166,7 +34333,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint32Array#get:length local.set $k @@ -34180,22 +34347,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.get $i i32.const 1 @@ -34205,17 +34372,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -34227,21 +34394,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -34250,7 +34417,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -34259,7 +34426,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -34268,13 +34435,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4368 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint32Array#findIndex local.set $result @@ -34294,13 +34461,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4400 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint32Array#findIndex local.set $failResult @@ -34329,30 +34496,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -34362,7 +34529,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int64Array#get:length local.set $k @@ -34376,22 +34543,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $7) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0" end local.get $i i32.const 1 @@ -34401,17 +34568,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -34423,21 +34590,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i64.const 1 @@ -34446,7 +34613,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i64.const 2 @@ -34455,7 +34622,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i64.const 3 @@ -34464,13 +34631,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4432 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int64Array#findIndex local.set $result @@ -34490,13 +34657,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4464 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int64Array#findIndex local.set $failResult @@ -34525,30 +34692,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -34558,7 +34725,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint64Array#get:length local.set $k @@ -34572,22 +34739,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $7) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.get $i i32.const 1 @@ -34597,17 +34764,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -34619,21 +34786,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i64.const 1 @@ -34642,7 +34809,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i64.const 2 @@ -34651,7 +34818,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i64.const 3 @@ -34660,13 +34827,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4496 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint64Array#findIndex local.set $result @@ -34686,13 +34853,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4528 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint64Array#findIndex local.set $failResult @@ -34721,30 +34888,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -34754,7 +34921,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Float32Array#get:length local.set $k @@ -34768,22 +34935,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) + i32.load + call_indirect (type $9) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0" end local.get $i i32.const 1 @@ -34793,17 +34960,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -34815,21 +34982,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 f32.const 1 @@ -34838,7 +35005,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 f32.const 2 @@ -34847,7 +35014,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 f32.const 3 @@ -34856,13 +35023,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4560 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float32Array#findIndex local.set $result @@ -34882,13 +35049,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4592 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float32Array#findIndex local.set $failResult @@ -34917,30 +35084,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -34950,7 +35117,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Float64Array#get:length local.set $k @@ -34964,22 +35131,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) + i32.load + call_indirect (type $10) if local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0" end local.get $i i32.const 1 @@ -34989,17 +35156,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -35011,21 +35178,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 f64.const 1 @@ -35034,7 +35201,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 f64.const 2 @@ -35043,7 +35210,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 f64.const 3 @@ -35052,13 +35219,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4624 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float64Array#findIndex local.set $result @@ -35078,13 +35245,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4656 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float64Array#findIndex local.set $failResult @@ -35112,30 +35279,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -35143,7 +35310,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int8Array#get:length i32.const 1 @@ -35159,22 +35326,22 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0" end local.get $i i32.const 1 @@ -35184,17 +35351,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -35206,21 +35373,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -35229,7 +35396,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -35238,7 +35405,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -35247,13 +35414,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4688 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int8Array#findLastIndex local.set $result @@ -35273,13 +35440,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4720 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int8Array#findLastIndex local.set $failResult @@ -35307,30 +35474,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -35338,7 +35505,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Uint8Array#get:length i32.const 1 @@ -35354,22 +35521,22 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.get $i i32.const 1 @@ -35379,17 +35546,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -35401,21 +35568,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -35424,7 +35591,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -35433,7 +35600,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -35442,13 +35609,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4752 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8Array#findLastIndex local.set $result @@ -35468,13 +35635,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4784 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8Array#findLastIndex local.set $failResult @@ -35502,30 +35669,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -35533,7 +35700,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Uint8ClampedArray#get:length i32.const 1 @@ -35549,22 +35716,22 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.get $i i32.const 1 @@ -35574,17 +35741,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -35596,21 +35763,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -35619,7 +35786,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -35628,7 +35795,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -35637,13 +35804,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4816 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8ClampedArray#findLastIndex local.set $result @@ -35663,13 +35830,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4848 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8ClampedArray#findLastIndex local.set $failResult @@ -35697,30 +35864,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -35728,7 +35895,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int16Array#get:length i32.const 1 @@ -35744,22 +35911,22 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0" end local.get $i i32.const 1 @@ -35769,17 +35936,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>" (local $source i32) (local $result i32) (local $failResult i32) @@ -35791,21 +35958,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -35814,7 +35981,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -35823,7 +35990,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -35832,13 +35999,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4880 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int16Array#findLastIndex local.set $result @@ -35858,13 +36025,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4912 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int16Array#findLastIndex local.set $failResult @@ -35892,30 +36059,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -35923,7 +36090,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Uint16Array#get:length i32.const 1 @@ -35939,22 +36106,22 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.get $i i32.const 1 @@ -35964,17 +36131,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>" (local $source i32) (local $result i32) (local $failResult i32) @@ -35986,21 +36153,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -36009,7 +36176,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -36018,7 +36185,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -36027,13 +36194,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4944 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint16Array#findLastIndex local.set $result @@ -36053,13 +36220,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 4976 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint16Array#findLastIndex local.set $failResult @@ -36087,30 +36254,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -36118,7 +36285,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int32Array#get:length i32.const 1 @@ -36134,22 +36301,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0" end local.get $i i32.const 1 @@ -36159,17 +36326,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -36181,21 +36348,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -36204,7 +36371,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -36213,7 +36380,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -36222,13 +36389,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5008 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int32Array#findLastIndex local.set $result @@ -36248,13 +36415,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5040 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int32Array#findLastIndex local.set $failResult @@ -36282,30 +36449,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -36313,7 +36480,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Uint32Array#get:length i32.const 1 @@ -36329,22 +36496,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.get $i i32.const 1 @@ -36354,17 +36521,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -36376,21 +36543,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 1 @@ -36399,7 +36566,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 2 @@ -36408,7 +36575,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 3 @@ -36417,13 +36584,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5072 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint32Array#findLastIndex local.set $result @@ -36443,13 +36610,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5104 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint32Array#findLastIndex local.set $failResult @@ -36477,30 +36644,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -36508,7 +36675,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int64Array#get:length i32.const 1 @@ -36524,22 +36691,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $7) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0" end local.get $i i32.const 1 @@ -36549,17 +36716,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -36571,21 +36738,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i64.const 1 @@ -36594,7 +36761,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i64.const 2 @@ -36603,7 +36770,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i64.const 3 @@ -36612,13 +36779,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5136 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int64Array#findLastIndex local.set $result @@ -36638,13 +36805,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5168 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int64Array#findLastIndex local.set $failResult @@ -36672,30 +36839,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -36703,7 +36870,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Uint64Array#get:length i32.const 1 @@ -36719,22 +36886,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $7) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.get $i i32.const 1 @@ -36744,17 +36911,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -36766,21 +36933,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i64.const 1 @@ -36789,7 +36956,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i64.const 2 @@ -36798,7 +36965,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i64.const 3 @@ -36807,13 +36974,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5200 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint64Array#findLastIndex local.set $result @@ -36833,13 +37000,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5232 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint64Array#findLastIndex local.set $failResult @@ -36867,30 +37034,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -36898,7 +37065,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Float32Array#get:length i32.const 1 @@ -36914,22 +37081,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) + i32.load + call_indirect (type $9) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0" end local.get $i i32.const 1 @@ -36939,17 +37106,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -36961,21 +37128,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 f32.const 1 @@ -36984,7 +37151,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 f32.const 2 @@ -36993,7 +37160,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 f32.const 3 @@ -37002,13 +37169,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5264 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float32Array#findLastIndex local.set $result @@ -37028,13 +37195,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5296 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float32Array#findLastIndex local.set $failResult @@ -37062,30 +37229,30 @@ (local $i i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -37093,7 +37260,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Float64Array#get:length i32.const 1 @@ -37109,22 +37276,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $i local.get $array local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 local.get $6 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) + i32.load + call_indirect (type $10) if local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0" end local.get $i i32.const 1 @@ -37134,17 +37301,17 @@ end end i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $6 return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -37156,21 +37323,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 f64.const 1 @@ -37179,7 +37346,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 f64.const 2 @@ -37188,7 +37355,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 f64.const 3 @@ -37197,13 +37364,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5328 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float64Array#findLastIndex local.set $result @@ -37223,13 +37390,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5360 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float64Array#findLastIndex local.set $failResult @@ -37258,30 +37425,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -37291,7 +37458,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int8Array#get:length local.set $k @@ -37306,24 +37473,24 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0" end local.get $i i32.const 1 @@ -37333,17 +37500,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -37355,21 +37522,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -37378,7 +37545,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -37387,7 +37554,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -37396,13 +37563,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5392 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int8Array#every local.set $result @@ -37422,13 +37589,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5424 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int8Array#every local.set $failResult @@ -37456,30 +37623,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -37489,7 +37656,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint8Array#get:length local.set $k @@ -37504,24 +37671,24 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.get $i i32.const 1 @@ -37531,17 +37698,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -37553,21 +37720,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -37576,7 +37743,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -37585,7 +37752,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -37594,13 +37761,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5456 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8Array#every local.set $result @@ -37620,13 +37787,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5488 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8Array#every local.set $failResult @@ -37654,30 +37821,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -37687,7 +37854,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $k @@ -37702,24 +37869,24 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.get $i i32.const 1 @@ -37729,17 +37896,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>" (local $source i32) (local $result i32) (local $failResult i32) @@ -37751,21 +37918,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -37774,7 +37941,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -37783,7 +37950,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -37792,13 +37959,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5520 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8ClampedArray#every local.set $result @@ -37818,13 +37985,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5552 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint8ClampedArray#every local.set $failResult @@ -37852,30 +38019,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -37885,7 +38052,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int16Array#get:length local.set $k @@ -37900,24 +38067,24 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0" end local.get $i i32.const 1 @@ -37927,17 +38094,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>" (local $source i32) (local $result i32) (local $failResult i32) @@ -37949,21 +38116,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -37972,7 +38139,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -37981,7 +38148,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -37990,13 +38157,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5584 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int16Array#every local.set $result @@ -38016,13 +38183,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5616 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int16Array#every local.set $failResult @@ -38050,30 +38217,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -38083,7 +38250,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint16Array#get:length local.set $k @@ -38098,24 +38265,24 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.get $i i32.const 1 @@ -38125,17 +38292,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>" (local $source i32) (local $result i32) (local $failResult i32) @@ -38147,21 +38314,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -38170,7 +38337,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -38179,7 +38346,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -38188,13 +38355,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5648 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint16Array#every local.set $result @@ -38214,13 +38381,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5680 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint16Array#every local.set $failResult @@ -38248,30 +38415,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -38281,7 +38448,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int32Array#get:length local.set $k @@ -38296,24 +38463,24 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0" end local.get $i i32.const 1 @@ -38323,17 +38490,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -38345,21 +38512,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -38368,7 +38535,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -38377,7 +38544,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -38386,13 +38553,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5712 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int32Array#every local.set $result @@ -38412,13 +38579,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5744 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int32Array#every local.set $failResult @@ -38446,30 +38613,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -38479,7 +38646,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint32Array#get:length local.set $k @@ -38494,24 +38661,24 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.get $i i32.const 1 @@ -38521,17 +38688,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -38543,21 +38710,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i32.const 2 @@ -38566,7 +38733,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i32.const 4 @@ -38575,7 +38742,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i32.const 6 @@ -38584,13 +38751,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5776 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint32Array#every local.set $result @@ -38610,13 +38777,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5808 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint32Array#every local.set $failResult @@ -38644,30 +38811,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -38677,7 +38844,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int64Array#get:length local.set $k @@ -38692,24 +38859,24 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $7) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0" end local.get $i i32.const 1 @@ -38719,17 +38886,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -38741,21 +38908,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i64.const 2 @@ -38764,7 +38931,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i64.const 4 @@ -38773,7 +38940,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i64.const 6 @@ -38782,13 +38949,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5840 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int64Array#every local.set $result @@ -38808,13 +38975,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5872 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Int64Array#every local.set $failResult @@ -38842,30 +39009,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -38875,7 +39042,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint64Array#get:length local.set $k @@ -38890,24 +39057,24 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $7) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.get $i i32.const 1 @@ -38917,17 +39084,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -38939,21 +39106,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 i64.const 2 @@ -38962,7 +39129,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 i64.const 4 @@ -38971,7 +39138,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 i64.const 6 @@ -38980,13 +39147,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5904 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint64Array#every local.set $result @@ -39006,13 +39173,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5936 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Uint64Array#every local.set $failResult @@ -39040,30 +39207,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -39073,7 +39240,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Float32Array#get:length local.set $k @@ -39088,24 +39255,24 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) + i32.load + call_indirect (type $9) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0" end local.get $i i32.const 1 @@ -39115,17 +39282,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>" (local $source i32) (local $result i32) (local $failResult i32) @@ -39137,21 +39304,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 f32.const 2 @@ -39160,7 +39327,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 f32.const 4 @@ -39169,7 +39336,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 f32.const 6 @@ -39178,13 +39345,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 5968 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float32Array#every local.set $result @@ -39204,13 +39371,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 6000 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float32Array#every local.set $failResult @@ -39238,30 +39405,30 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -39271,7 +39438,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Float64Array#get:length local.set $k @@ -39286,24 +39453,24 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) + i32.load + call_indirect (type $10) if br $for-continue|0 end i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0" end local.get $i i32.const 1 @@ -39313,17 +39480,17 @@ end end i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $7 return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>" (local $source i32) (local $result i32) (local $failResult i32) @@ -39335,21 +39502,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 f64.const 2 @@ -39358,7 +39525,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 1 f64.const 4 @@ -39367,7 +39534,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 2 f64.const 6 @@ -39376,13 +39543,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 6032 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float64Array#every local.set $result @@ -39402,13 +39569,13 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 6064 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $~lib/typedarray/Float64Array#every local.set $failResult @@ -39428,7 +39595,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $value i32) (param $index i32) (param $self i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $value i32) (param $index i32) (param $self i32) (local $matchedValue i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -39438,12 +39605,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/typedarray/forEachValues local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $index call $~lib/array/Array#__get @@ -39503,282 +39670,29 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $this - local.tee $array - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $fn - local.tee $fn|3 - i32.store $0 offset=4 - local.get $array - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - call $~lib/typedarray/Int8Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.get $i - local.get $array - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> - (local $array i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $array - i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - i32.const 0 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $array - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $array - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $array - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 6176 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/typedarray/Int8Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 541 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $value i32) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - i32.const 255 - i32.and - local.get $matchedValue - i32.const 255 - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 537 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachSelf - local.get $self - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8Array#forEach (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - (local $7 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -39788,9 +39702,9 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 - call $~lib/typedarray/Uint8Array#get:length + call $~lib/typedarray/Int8Array#get:length local.set $k loop $for-loop|0 local.get $i @@ -39802,19 +39716,19 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_s local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.load + call_indirect (type $5) local.get $i i32.const 1 i32.add @@ -39823,11 +39737,264 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>" + (local $array i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $array + i32.store + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 6176 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int8Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 541 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $value i32) (param $index i32) (param $self i32) + (local $matchedValue i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + i32.const 255 + i32.and + local.get $matchedValue + i32.const 255 + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount + i32.const 1 + i32.add + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> + (func $~lib/typedarray/Uint8Array#forEach (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + call $~lib/typedarray/Uint8Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store offset=8 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load + call_indirect (type $5) + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -39837,10 +40004,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer @@ -39848,21 +40015,21 @@ i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array global.set $std/typedarray/forEachSelf local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -39873,14 +40040,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -39891,14 +40058,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2 call $~lib/array/Array#__get @@ -39909,13 +40076,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6208 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Uint8Array#forEach global.get $std/typedarray/forEachCallCount @@ -39935,7 +40102,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (param $value i32) (param $index i32) (param $self i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0" (param $value i32) (param $index i32) (param $self i32) (local $matchedValue i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -39945,12 +40112,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/typedarray/forEachValues local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $index call $~lib/array/Array#__get @@ -40012,29 +40179,29 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -40044,7 +40211,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $k @@ -40058,19 +40225,19 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.load + call_indirect (type $5) local.get $i i32.const 1 i32.add @@ -40079,11 +40246,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -40093,10 +40260,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer @@ -40104,21 +40271,21 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $array - i32.store $0 + i32.store local.get $array global.set $std/typedarray/forEachSelf local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -40129,14 +40296,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -40147,14 +40314,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2 call $~lib/array/Array#__get @@ -40165,13 +40332,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6240 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Uint8ClampedArray#forEach global.get $std/typedarray/forEachCallCount @@ -40191,7 +40358,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $value i32) (param $index i32) (param $self i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $value i32) (param $index i32) (param $self i32) (local $matchedValue i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -40201,12 +40368,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/typedarray/forEachValues local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $index call $~lib/array/Array#__get @@ -40266,29 +40433,29 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -40298,7 +40465,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int16Array#get:length local.set $k @@ -40312,19 +40479,19 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.load + call_indirect (type $5) local.get $i i32.const 1 i32.add @@ -40333,11 +40500,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -40347,10 +40514,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer @@ -40358,21 +40525,21 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array global.set $std/typedarray/forEachSelf local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -40382,14 +40549,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -40399,14 +40566,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2 call $~lib/array/Array#__get @@ -40416,13 +40583,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6272 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int16Array#forEach global.get $std/typedarray/forEachCallCount @@ -40442,7 +40609,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $value i32) (param $index i32) (param $self i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $value i32) (param $index i32) (param $self i32) (local $matchedValue i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -40452,12 +40619,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/typedarray/forEachValues local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $index call $~lib/array/Array#__get @@ -40519,29 +40686,29 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -40551,7 +40718,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint16Array#get:length local.set $k @@ -40565,19 +40732,19 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.load + call_indirect (type $5) local.get $i i32.const 1 i32.add @@ -40586,11 +40753,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -40600,10 +40767,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer @@ -40611,21 +40778,21 @@ i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array global.set $std/typedarray/forEachSelf local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -40636,14 +40803,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -40654,14 +40821,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2 call $~lib/array/Array#__get @@ -40672,13 +40839,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6304 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Uint16Array#forEach global.get $std/typedarray/forEachCallCount @@ -40698,7 +40865,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $value i32) (param $index i32) (param $self i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $value i32) (param $index i32) (param $self i32) (local $matchedValue i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -40708,12 +40875,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/typedarray/forEachValues local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $index call $~lib/array/Array#__get @@ -40771,29 +40938,29 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -40803,7 +40970,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int32Array#get:length local.set $k @@ -40817,19 +40984,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.load + call_indirect (type $5) local.get $i i32.const 1 i32.add @@ -40838,11 +41005,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -40852,10 +41019,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer @@ -40863,21 +41030,21 @@ i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array global.set $std/typedarray/forEachSelf local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -40886,14 +41053,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -40902,14 +41069,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2 call $~lib/array/Array#__get @@ -40918,13 +41085,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6336 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int32Array#forEach global.get $std/typedarray/forEachCallCount @@ -40944,7 +41111,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $value i32) (param $index i32) (param $self i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $value i32) (param $index i32) (param $self i32) (local $matchedValue i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -40954,12 +41121,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/typedarray/forEachValues local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $index call $~lib/array/Array#__get @@ -41017,29 +41184,29 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -41049,7 +41216,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint32Array#get:length local.set $k @@ -41063,19 +41230,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.load + call_indirect (type $5) local.get $i i32.const 1 i32.add @@ -41084,11 +41251,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -41098,10 +41265,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer @@ -41109,21 +41276,21 @@ i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array global.set $std/typedarray/forEachSelf local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -41132,14 +41299,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -41148,14 +41315,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2 call $~lib/array/Array#__get @@ -41164,13 +41331,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6368 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Uint32Array#forEach global.get $std/typedarray/forEachCallCount @@ -41190,7 +41357,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $value i64) (param $index i32) (param $self i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $value i64) (param $index i32) (param $self i32) (local $matchedValue i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -41200,12 +41367,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/typedarray/forEachValues local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $index call $~lib/array/Array#__get @@ -41264,29 +41431,29 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -41296,7 +41463,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int64Array#get:length local.set $k @@ -41310,19 +41477,19 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_none) + i32.load + call_indirect (type $26) local.get $i i32.const 1 i32.add @@ -41331,11 +41498,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -41345,10 +41512,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer @@ -41356,21 +41523,21 @@ i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array global.set $std/typedarray/forEachSelf local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -41380,14 +41547,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -41397,14 +41564,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2 call $~lib/array/Array#__get @@ -41414,13 +41581,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6400 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int64Array#forEach global.get $std/typedarray/forEachCallCount @@ -41440,7 +41607,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $value i64) (param $index i32) (param $self i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $value i64) (param $index i32) (param $self i32) (local $matchedValue i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -41450,12 +41617,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/typedarray/forEachValues local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $index call $~lib/array/Array#__get @@ -41514,29 +41681,29 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -41546,7 +41713,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Uint64Array#get:length local.set $k @@ -41560,19 +41727,19 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_none) + i32.load + call_indirect (type $26) local.get $i i32.const 1 i32.add @@ -41581,11 +41748,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -41595,10 +41762,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer @@ -41606,21 +41773,21 @@ i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array global.set $std/typedarray/forEachSelf local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -41630,14 +41797,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -41647,14 +41814,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2 call $~lib/array/Array#__get @@ -41664,13 +41831,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6432 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Uint64Array#forEach global.get $std/typedarray/forEachCallCount @@ -41690,7 +41857,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $value f32) (param $index i32) (param $self i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $value f32) (param $index i32) (param $self i32) (local $matchedValue i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -41700,12 +41867,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/typedarray/forEachValues local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $index call $~lib/array/Array#__get @@ -41764,29 +41931,29 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -41796,7 +41963,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Float32Array#get:length local.set $k @@ -41810,19 +41977,19 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_none) + i32.load + call_indirect (type $37) local.get $i i32.const 1 i32.add @@ -41831,11 +41998,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -41845,10 +42012,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer @@ -41856,21 +42023,21 @@ i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array global.set $std/typedarray/forEachSelf local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -41880,14 +42047,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -41897,14 +42064,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2 call $~lib/array/Array#__get @@ -41914,13 +42081,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6464 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Float32Array#forEach global.get $std/typedarray/forEachCallCount @@ -41940,7 +42107,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $value f64) (param $index i32) (param $self i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $value f64) (param $index i32) (param $self i32) (local $matchedValue i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -41950,12 +42117,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $std/typedarray/forEachValues local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 local.get $index call $~lib/array/Array#__get @@ -42014,29 +42181,29 @@ (local $k i32) (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $fn local.tee $fn|3 - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $ptr @@ -42046,7 +42213,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Float64Array#get:length local.set $k @@ -42060,19 +42227,19 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $i local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=8 local.get $7 i32.const 3 global.set $~argumentsLength local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_none) + i32.load + call_indirect (type $38) local.get $i i32.const 1 i32.add @@ -42081,11 +42248,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -42095,10 +42262,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount global.get $~lib/memory/__stack_pointer @@ -42106,21 +42273,21 @@ i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array global.set $std/typedarray/forEachSelf local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 0 call $~lib/array/Array#__get @@ -42130,14 +42297,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1 call $~lib/array/Array#__get @@ -42147,14 +42314,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 global.get $std/typedarray/forEachValues local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 2 call $~lib/array/Array#__get @@ -42164,13 +42331,13 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 6496 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Float64Array#forEach global.get $std/typedarray/forEachCallCount @@ -42199,19 +42366,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Int8Array#get:length call $~lib/util/bytes/REVERSE @@ -42224,7 +42391,7 @@ local.get $1 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8>" (local $values i32) (local $length i32) (local $array i32) @@ -42241,16 +42408,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -42259,13 +42426,13 @@ local.get $length call $~lib/typedarray/Int8Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Int8Array#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -42277,14 +42444,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -42294,14 +42461,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -42318,7 +42485,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int8Array#reverse drop @@ -42333,7 +42500,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Int8Array#__get @@ -42341,7 +42508,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -42372,7 +42539,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -42380,16 +42547,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int8Array#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Int8Array#__get @@ -42408,7 +42575,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Int8Array#__get @@ -42427,7 +42594,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Int8Array#__get @@ -42446,7 +42613,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Int8Array#__get @@ -42475,19 +42642,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Uint8Array#get:length call $~lib/util/bytes/REVERSE @@ -42525,15 +42692,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $begin|4 local.get $end @@ -42542,7 +42709,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Uint8Array#get:length local.set $len @@ -42610,18 +42777,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -42631,23 +42798,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 i32.const 0 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin|4 i32.sub i32.const 0 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -42657,7 +42824,7 @@ local.get $19 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8>" (local $values i32) (local $length i32) (local $array i32) @@ -42674,16 +42841,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -42692,13 +42859,13 @@ local.get $length call $~lib/typedarray/Uint8Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Uint8Array#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -42710,14 +42877,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -42728,14 +42895,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -42753,7 +42920,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Uint8Array#reverse drop @@ -42768,7 +42935,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Uint8Array#__get @@ -42776,7 +42943,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -42808,7 +42975,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -42816,16 +42983,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Uint8Array#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -42844,7 +43011,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Uint8Array#__get @@ -42863,7 +43030,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Uint8Array#__get @@ -42882,7 +43049,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Uint8Array#__get @@ -42911,19 +43078,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Uint8ClampedArray#get:length call $~lib/util/bytes/REVERSE @@ -42961,15 +43128,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $start local.set $begin local.get $end @@ -42978,7 +43145,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $len @@ -43046,18 +43213,18 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -43067,23 +43234,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin i32.const 0 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin i32.sub i32.const 0 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -43093,7 +43260,7 @@ local.get $19 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8>" (local $values i32) (local $length i32) (local $array i32) @@ -43110,16 +43277,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -43128,13 +43295,13 @@ local.get $length call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -43146,14 +43313,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -43164,14 +43331,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -43189,7 +43356,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Uint8ClampedArray#reverse drop @@ -43204,7 +43371,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Uint8ClampedArray#__get @@ -43212,7 +43379,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -43244,7 +43411,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -43252,16 +43419,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Uint8ClampedArray#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get @@ -43280,7 +43447,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get @@ -43299,7 +43466,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get @@ -43318,7 +43485,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__get @@ -43347,19 +43514,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Int16Array#get:length call $~lib/util/bytes/REVERSE @@ -43397,15 +43564,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $begin|4 local.get $end @@ -43414,7 +43581,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Int16Array#get:length local.set $len @@ -43482,18 +43649,18 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -43503,23 +43670,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 i32.const 1 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin|4 i32.sub i32.const 1 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -43529,7 +43696,7 @@ local.get $19 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16>" (local $values i32) (local $length i32) (local $array i32) @@ -43546,16 +43713,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -43564,13 +43731,13 @@ local.get $length call $~lib/typedarray/Int16Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Int16Array#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -43582,14 +43749,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -43599,14 +43766,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -43623,7 +43790,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int16Array#reverse drop @@ -43638,7 +43805,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Int16Array#__get @@ -43646,7 +43813,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -43677,7 +43844,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -43685,16 +43852,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int16Array#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Int16Array#__get @@ -43713,7 +43880,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Int16Array#__get @@ -43732,7 +43899,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Int16Array#__get @@ -43751,7 +43918,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Int16Array#__get @@ -43780,19 +43947,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Uint16Array#get:length call $~lib/util/bytes/REVERSE @@ -43830,15 +43997,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $begin|4 local.get $end @@ -43847,7 +44014,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Uint16Array#get:length local.set $len @@ -43915,18 +44082,18 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -43936,23 +44103,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 i32.const 1 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin|4 i32.sub i32.const 1 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -43962,7 +44129,7 @@ local.get $19 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16>" (local $values i32) (local $length i32) (local $array i32) @@ -43979,16 +44146,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -43997,13 +44164,13 @@ local.get $length call $~lib/typedarray/Uint16Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Uint16Array#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -44015,14 +44182,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -44033,14 +44200,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -44058,7 +44225,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Uint16Array#reverse drop @@ -44073,7 +44240,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Uint16Array#__get @@ -44081,7 +44248,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -44113,7 +44280,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -44121,16 +44288,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Uint16Array#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Uint16Array#__get @@ -44149,7 +44316,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Uint16Array#__get @@ -44168,7 +44335,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Uint16Array#__get @@ -44187,7 +44354,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Uint16Array#__get @@ -44216,19 +44383,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Int32Array#get:length call $~lib/util/bytes/REVERSE @@ -44241,7 +44408,7 @@ local.get $1 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32>" (local $values i32) (local $length i32) (local $array i32) @@ -44258,16 +44425,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -44276,13 +44443,13 @@ local.get $length call $~lib/typedarray/Int32Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Int32Array#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -44294,14 +44461,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -44310,14 +44477,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -44333,7 +44500,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int32Array#reverse drop @@ -44348,7 +44515,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Int32Array#__get @@ -44356,7 +44523,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -44386,7 +44553,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -44394,16 +44561,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int32Array#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Int32Array#__get @@ -44422,7 +44589,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Int32Array#__get @@ -44441,7 +44608,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Int32Array#__get @@ -44460,7 +44627,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Int32Array#__get @@ -44489,19 +44656,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Uint32Array#get:length call $~lib/util/bytes/REVERSE @@ -44539,15 +44706,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $begin|4 local.get $end @@ -44556,7 +44723,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Uint32Array#get:length local.set $len @@ -44624,18 +44791,18 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -44645,23 +44812,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 i32.const 2 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin|4 i32.sub i32.const 2 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -44671,7 +44838,7 @@ local.get $19 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32>" (local $values i32) (local $length i32) (local $array i32) @@ -44688,16 +44855,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -44706,13 +44873,13 @@ local.get $length call $~lib/typedarray/Uint32Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Uint32Array#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -44724,14 +44891,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -44740,14 +44907,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -44763,7 +44930,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Uint32Array#reverse drop @@ -44778,7 +44945,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Uint32Array#__get @@ -44786,7 +44953,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -44816,7 +44983,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -44824,16 +44991,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Uint32Array#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Uint32Array#__get @@ -44852,7 +45019,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Uint32Array#__get @@ -44871,7 +45038,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Uint32Array#__get @@ -44890,7 +45057,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Uint32Array#__get @@ -44919,19 +45086,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Int64Array#get:length call $~lib/util/bytes/REVERSE @@ -44969,15 +45136,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $begin|4 local.get $end @@ -44986,7 +45153,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Int64Array#get:length local.set $len @@ -45054,18 +45221,18 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -45075,23 +45242,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 i32.const 3 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin|4 i32.sub i32.const 3 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -45101,7 +45268,7 @@ local.get $19 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64>" (local $values i32) (local $length i32) (local $array i32) @@ -45118,16 +45285,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -45136,13 +45303,13 @@ local.get $length call $~lib/typedarray/Int64Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Int64Array#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -45154,14 +45321,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -45171,14 +45338,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -45195,7 +45362,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int64Array#reverse drop @@ -45210,7 +45377,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Int64Array#__get @@ -45218,7 +45385,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -45249,7 +45416,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -45257,16 +45424,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int64Array#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Int64Array#__get @@ -45285,7 +45452,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Int64Array#__get @@ -45304,7 +45471,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Int64Array#__get @@ -45323,7 +45490,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Int64Array#__get @@ -45352,19 +45519,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Uint64Array#get:length call $~lib/util/bytes/REVERSE @@ -45402,15 +45569,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $begin|4 local.get $end @@ -45419,7 +45586,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Uint64Array#get:length local.set $len @@ -45487,18 +45654,18 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -45508,23 +45675,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 i32.const 3 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin|4 i32.sub i32.const 3 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -45534,7 +45701,7 @@ local.get $19 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64>" (local $values i32) (local $length i32) (local $array i32) @@ -45551,16 +45718,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -45569,13 +45736,13 @@ local.get $length call $~lib/typedarray/Uint64Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Uint64Array#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -45587,14 +45754,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -45604,14 +45771,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -45628,7 +45795,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Uint64Array#reverse drop @@ -45643,7 +45810,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Uint64Array#__get @@ -45651,7 +45818,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -45682,7 +45849,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -45690,16 +45857,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Uint64Array#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Uint64Array#__get @@ -45718,7 +45885,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Uint64Array#__get @@ -45737,7 +45904,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Uint64Array#__get @@ -45756,7 +45923,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Uint64Array#__get @@ -45785,19 +45952,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Float32Array#get:length call $~lib/util/bytes/REVERSE @@ -45835,15 +46002,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $begin local.set $begin|4 local.get $end @@ -45852,7 +46019,7 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/typedarray/Float32Array#get:length local.set $len @@ -45920,18 +46087,18 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $buf local.get $out local.get $buf - i32.store $0 + i32.store local.get $out local.get $buf i32.const 0 @@ -45941,23 +46108,23 @@ local.set $19 global.get $~lib/memory/__stack_pointer local.get $19 - i32.store $0 offset=4 + i32.store offset=4 local.get $19 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $begin|4 i32.const 2 i32.shl i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $end|5 local.get $begin|4 i32.sub i32.const 2 i32.shl - i32.store $0 offset=8 + i32.store offset=8 local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $19 global.get $~lib/memory/__stack_pointer @@ -45967,7 +46134,7 @@ local.get $19 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32>" (local $values i32) (local $length i32) (local $array i32) @@ -45984,16 +46151,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -46002,13 +46169,13 @@ local.get $length call $~lib/typedarray/Float32Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Float32Array#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -46020,14 +46187,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -46037,14 +46204,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -46061,7 +46228,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Float32Array#reverse drop @@ -46076,7 +46243,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Float32Array#__get @@ -46084,7 +46251,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -46115,7 +46282,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -46123,16 +46290,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Float32Array#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -46151,7 +46318,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Float32Array#__get @@ -46170,7 +46337,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Float32Array#__get @@ -46189,7 +46356,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Float32Array#__get @@ -46218,19 +46385,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/typedarray/Float64Array#get:length call $~lib/util/bytes/REVERSE @@ -46243,7 +46410,7 @@ local.get $1 return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64>" (local $values i32) (local $length i32) (local $array i32) @@ -46260,16 +46427,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayReverseValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -46278,13 +46445,13 @@ local.get $length call $~lib/typedarray/Float64Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $length call $~lib/typedarray/Float64Array#constructor local.tee $arrayWithOffset - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i loop $for-loop|0 @@ -46296,14 +46463,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -46313,14 +46480,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 local.get $i call $~lib/array/Array#__get @@ -46337,7 +46504,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Float64Array#reverse drop @@ -46352,7 +46519,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|5 call $~lib/typedarray/Float64Array#__get @@ -46360,7 +46527,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $length i32.const 1 @@ -46391,7 +46558,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=16 + i32.store offset=16 local.get $7 i32.const 4 i32.const 8 @@ -46399,16 +46566,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Float64Array#reverse local.tee $reversedSlice - i32.store $0 offset=20 + i32.store offset=20 local.get $reversedSlice local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Float64Array#__get @@ -46427,7 +46594,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 call $~lib/typedarray/Float64Array#__get @@ -46446,7 +46613,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 call $~lib/typedarray/Float64Array#__get @@ -46465,7 +46632,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 3 call $~lib/typedarray/Float64Array#__get @@ -46502,12 +46669,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -46518,7 +46685,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Int8Array#get:length local.set $len @@ -46534,7 +46701,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" end local.get $index i32.const 0 @@ -46556,7 +46723,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -46570,13 +46737,13 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.get $searchElement|4 i32.extend8_s i32.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" end local.get $index i32.const 1 @@ -46586,7 +46753,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -46611,12 +46778,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -46627,7 +46794,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Int8Array#get:length local.set $len @@ -46636,7 +46803,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" end local.get $index i32.const 0 @@ -46661,7 +46828,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -46675,13 +46842,13 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.get $searchElement|4 i32.extend8_s i32.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" end local.get $index i32.const 1 @@ -46691,7 +46858,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -46710,7 +46877,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -46725,7 +46892,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Int8Array#get:length local.set $fromIndex @@ -46734,7 +46901,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -46746,7 +46913,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8>" (local $values i32) (local $length i32) (local $array i32) @@ -46761,16 +46928,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -46779,7 +46946,7 @@ local.get $length call $~lib/typedarray/Int8Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -46791,14 +46958,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -46815,7 +46982,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 0 @@ -46835,7 +47002,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -46855,7 +47022,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 0 @@ -46875,7 +47042,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -46895,7 +47062,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -46915,7 +47082,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -46935,7 +47102,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -46955,7 +47122,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 10 @@ -46975,7 +47142,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -100 @@ -46995,7 +47162,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 1 @@ -47017,7 +47184,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 1 @@ -47039,7 +47206,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 1 @@ -47061,7 +47228,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 1 @@ -47083,7 +47250,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -47103,7 +47270,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -47123,7 +47290,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -47143,7 +47310,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 100 @@ -47163,7 +47330,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -10 @@ -47183,7 +47350,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -11 @@ -47204,18 +47371,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Int8Array#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -47235,7 +47402,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 0 @@ -47257,7 +47424,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 0 @@ -47279,7 +47446,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 9 i32.const 0 @@ -47299,7 +47466,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 10 i32.const 0 @@ -47319,7 +47486,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -47339,7 +47506,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 1 @@ -47361,7 +47528,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 2 @@ -47399,12 +47566,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -47415,7 +47582,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Uint8Array#get:length local.set $len @@ -47431,7 +47598,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.get $index i32.const 0 @@ -47453,7 +47620,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -47467,14 +47634,14 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $searchElement|4 i32.const 255 i32.and i32.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.get $index i32.const 1 @@ -47484,7 +47651,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -47509,12 +47676,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -47525,7 +47692,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Uint8Array#get:length local.set $len @@ -47534,7 +47701,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.get $index i32.const 0 @@ -47559,7 +47726,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -47573,14 +47740,14 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $searchElement|4 i32.const 255 i32.and i32.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.get $index i32.const 1 @@ -47590,7 +47757,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -47609,7 +47776,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -47624,7 +47791,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Uint8Array#get:length local.set $fromIndex @@ -47633,7 +47800,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -47645,7 +47812,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8>" (local $values i32) (local $length i32) (local $array i32) @@ -47660,16 +47827,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -47678,7 +47845,7 @@ local.get $length call $~lib/typedarray/Uint8Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -47690,14 +47857,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -47715,7 +47882,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 0 @@ -47735,7 +47902,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -47755,7 +47922,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 0 @@ -47775,7 +47942,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -47795,7 +47962,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -47815,7 +47982,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -47835,7 +48002,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -47855,7 +48022,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 10 @@ -47875,7 +48042,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -100 @@ -47895,7 +48062,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 1 @@ -47917,7 +48084,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 1 @@ -47939,7 +48106,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 1 @@ -47961,7 +48128,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 1 @@ -47983,7 +48150,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -48003,7 +48170,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -48023,7 +48190,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -48043,7 +48210,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 100 @@ -48063,7 +48230,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -10 @@ -48083,7 +48250,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -11 @@ -48104,18 +48271,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Uint8Array#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -48135,7 +48302,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 0 @@ -48157,7 +48324,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 0 @@ -48179,7 +48346,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 9 i32.const 0 @@ -48199,7 +48366,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 10 i32.const 0 @@ -48219,7 +48386,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -48239,7 +48406,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 1 @@ -48261,7 +48428,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 2 @@ -48299,12 +48466,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -48315,7 +48482,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $len @@ -48331,7 +48498,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.get $index i32.const 0 @@ -48353,7 +48520,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -48367,14 +48534,14 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $searchElement|4 i32.const 255 i32.and i32.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.get $index i32.const 1 @@ -48384,7 +48551,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -48409,12 +48576,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -48425,7 +48592,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $len @@ -48434,7 +48601,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.get $index i32.const 0 @@ -48459,7 +48626,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -48473,14 +48640,14 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.get $searchElement|4 i32.const 255 i32.and i32.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.get $index i32.const 1 @@ -48490,7 +48657,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -48509,7 +48676,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -48524,7 +48691,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $fromIndex @@ -48533,7 +48700,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -48545,7 +48712,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8>" (local $values i32) (local $length i32) (local $array i32) @@ -48560,16 +48727,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -48578,7 +48745,7 @@ local.get $length call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -48590,14 +48757,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -48615,7 +48782,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 0 @@ -48635,7 +48802,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -48655,7 +48822,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 0 @@ -48675,7 +48842,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -48695,7 +48862,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -48715,7 +48882,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -48735,7 +48902,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -48755,7 +48922,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 10 @@ -48775,7 +48942,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -100 @@ -48795,7 +48962,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 1 @@ -48817,7 +48984,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 1 @@ -48839,7 +49006,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 1 @@ -48861,7 +49028,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 1 @@ -48883,7 +49050,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -48903,7 +49070,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -48923,7 +49090,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -48943,7 +49110,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 100 @@ -48963,7 +49130,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -10 @@ -48983,7 +49150,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -11 @@ -49004,18 +49171,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Uint8ClampedArray#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -49035,7 +49202,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 0 @@ -49057,7 +49224,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 0 @@ -49079,7 +49246,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 9 i32.const 0 @@ -49099,7 +49266,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 10 i32.const 0 @@ -49119,7 +49286,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -49139,7 +49306,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 1 @@ -49161,7 +49328,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 2 @@ -49199,12 +49366,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -49215,7 +49382,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Int16Array#get:length local.set $len @@ -49231,7 +49398,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" end local.get $index i32.const 0 @@ -49253,7 +49420,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -49267,13 +49434,13 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $searchElement|4 i32.extend16_s i32.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" end local.get $index i32.const 1 @@ -49283,7 +49450,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -49308,12 +49475,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -49324,7 +49491,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Int16Array#get:length local.set $len @@ -49333,7 +49500,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" end local.get $index i32.const 0 @@ -49358,7 +49525,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -49372,13 +49539,13 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.get $searchElement|4 i32.extend16_s i32.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" end local.get $index i32.const 1 @@ -49388,7 +49555,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -49407,7 +49574,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -49422,7 +49589,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Int16Array#get:length local.set $fromIndex @@ -49431,7 +49598,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -49443,7 +49610,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16>" (local $values i32) (local $length i32) (local $array i32) @@ -49458,16 +49625,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -49476,7 +49643,7 @@ local.get $length call $~lib/typedarray/Int16Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -49488,14 +49655,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -49512,7 +49679,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 0 @@ -49532,7 +49699,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -49552,7 +49719,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 0 @@ -49572,7 +49739,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -49592,7 +49759,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -49612,7 +49779,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -49632,7 +49799,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -49652,7 +49819,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 10 @@ -49672,7 +49839,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -100 @@ -49692,7 +49859,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 1 @@ -49714,7 +49881,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 1 @@ -49736,7 +49903,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 1 @@ -49758,7 +49925,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 1 @@ -49780,7 +49947,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -49800,7 +49967,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -49820,7 +49987,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -49840,7 +50007,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 100 @@ -49860,7 +50027,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -10 @@ -49880,7 +50047,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -11 @@ -49901,18 +50068,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Int16Array#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -49932,7 +50099,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 0 @@ -49954,7 +50121,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 0 @@ -49976,7 +50143,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 9 i32.const 0 @@ -49996,7 +50163,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 10 i32.const 0 @@ -50016,7 +50183,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -50036,7 +50203,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 1 @@ -50058,7 +50225,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 2 @@ -50096,12 +50263,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -50112,7 +50279,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Uint16Array#get:length local.set $len @@ -50128,7 +50295,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.get $index i32.const 0 @@ -50150,7 +50317,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -50164,14 +50331,14 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $searchElement|4 i32.const 65535 i32.and i32.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.get $index i32.const 1 @@ -50181,7 +50348,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -50206,12 +50373,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -50222,7 +50389,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Uint16Array#get:length local.set $len @@ -50231,7 +50398,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.get $index i32.const 0 @@ -50256,7 +50423,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -50270,14 +50437,14 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $searchElement|4 i32.const 65535 i32.and i32.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.get $index i32.const 1 @@ -50287,7 +50454,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -50306,7 +50473,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -50321,7 +50488,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Uint16Array#get:length local.set $fromIndex @@ -50330,7 +50497,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -50342,7 +50509,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16>" (local $values i32) (local $length i32) (local $array i32) @@ -50357,16 +50524,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -50375,7 +50542,7 @@ local.get $length call $~lib/typedarray/Uint16Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -50387,14 +50554,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -50412,7 +50579,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 0 @@ -50432,7 +50599,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -50452,7 +50619,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 0 @@ -50472,7 +50639,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -50492,7 +50659,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -50512,7 +50679,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -50532,7 +50699,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -50552,7 +50719,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 10 @@ -50572,7 +50739,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -100 @@ -50592,7 +50759,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 1 @@ -50614,7 +50781,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 1 @@ -50636,7 +50803,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 1 @@ -50658,7 +50825,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 1 @@ -50680,7 +50847,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -50700,7 +50867,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -50720,7 +50887,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -50740,7 +50907,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 100 @@ -50760,7 +50927,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -10 @@ -50780,7 +50947,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -11 @@ -50801,18 +50968,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Uint16Array#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -50832,7 +50999,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 0 @@ -50854,7 +51021,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 0 @@ -50876,7 +51043,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 9 i32.const 0 @@ -50896,7 +51063,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 10 i32.const 0 @@ -50916,7 +51083,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -50936,7 +51103,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 1 @@ -50958,7 +51125,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 2 @@ -50996,12 +51163,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -51012,7 +51179,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Int32Array#get:length local.set $len @@ -51028,7 +51195,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" end local.get $index i32.const 0 @@ -51050,7 +51217,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -51064,12 +51231,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $searchElement|4 i32.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" end local.get $index i32.const 1 @@ -51079,7 +51246,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -51104,12 +51271,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -51120,7 +51287,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Int32Array#get:length local.set $len @@ -51129,7 +51296,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" end local.get $index i32.const 0 @@ -51154,7 +51321,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -51168,12 +51335,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $searchElement|4 i32.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" end local.get $index i32.const 1 @@ -51183,7 +51350,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -51202,7 +51369,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -51217,7 +51384,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Int32Array#get:length local.set $fromIndex @@ -51226,7 +51393,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -51238,7 +51405,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32>" (local $values i32) (local $length i32) (local $array i32) @@ -51253,16 +51420,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -51271,7 +51438,7 @@ local.get $length call $~lib/typedarray/Int32Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -51283,14 +51450,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -51306,7 +51473,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 0 @@ -51326,7 +51493,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -51346,7 +51513,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 0 @@ -51366,7 +51533,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -51386,7 +51553,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -51406,7 +51573,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -51426,7 +51593,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -51446,7 +51613,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 10 @@ -51466,7 +51633,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -100 @@ -51486,7 +51653,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 1 @@ -51508,7 +51675,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 1 @@ -51530,7 +51697,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 1 @@ -51552,7 +51719,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 1 @@ -51574,7 +51741,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -51594,7 +51761,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -51614,7 +51781,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -51634,7 +51801,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 100 @@ -51654,7 +51821,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -10 @@ -51674,7 +51841,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -11 @@ -51695,18 +51862,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Int32Array#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -51726,7 +51893,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 0 @@ -51748,7 +51915,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 0 @@ -51770,7 +51937,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 9 i32.const 0 @@ -51790,7 +51957,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 10 i32.const 0 @@ -51810,7 +51977,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -51830,7 +51997,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 1 @@ -51852,7 +52019,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 2 @@ -51890,12 +52057,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -51906,7 +52073,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Uint32Array#get:length local.set $len @@ -51922,7 +52089,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.get $index i32.const 0 @@ -51944,7 +52111,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -51958,12 +52125,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $searchElement|4 i32.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.get $index i32.const 1 @@ -51973,7 +52140,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -51998,12 +52165,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -52014,7 +52181,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Uint32Array#get:length local.set $len @@ -52023,7 +52190,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.get $index i32.const 0 @@ -52048,7 +52215,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -52062,12 +52229,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $searchElement|4 i32.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.get $index i32.const 1 @@ -52077,7 +52244,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -52096,7 +52263,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -52111,7 +52278,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Uint32Array#get:length local.set $fromIndex @@ -52120,7 +52287,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -52132,7 +52299,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32>" (local $values i32) (local $length i32) (local $array i32) @@ -52147,16 +52314,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -52165,7 +52332,7 @@ local.get $length call $~lib/typedarray/Uint32Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -52177,14 +52344,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -52200,7 +52367,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 0 @@ -52220,7 +52387,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -52240,7 +52407,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 0 @@ -52260,7 +52427,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -52280,7 +52447,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -52300,7 +52467,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -52320,7 +52487,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -52340,7 +52507,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 10 @@ -52360,7 +52527,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -100 @@ -52380,7 +52547,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i32.const 1 @@ -52402,7 +52569,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 1 @@ -52424,7 +52591,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const -1 i32.const 1 @@ -52446,7 +52613,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 1 @@ -52468,7 +52635,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 4 @@ -52488,7 +52655,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 3 @@ -52508,7 +52675,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 2 @@ -52528,7 +52695,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const 100 @@ -52548,7 +52715,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -10 @@ -52568,7 +52735,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i32.const -11 @@ -52589,18 +52756,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Uint32Array#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 3 i32.const 0 @@ -52620,7 +52787,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 0 @@ -52642,7 +52809,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 0 @@ -52664,7 +52831,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 9 i32.const 0 @@ -52684,7 +52851,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 10 i32.const 0 @@ -52704,7 +52871,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 11 i32.const 0 @@ -52724,7 +52891,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 1 @@ -52746,7 +52913,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 5 i32.const 2 @@ -52784,12 +52951,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -52800,7 +52967,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Int64Array#get:length local.set $len @@ -52816,7 +52983,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" end local.get $index i32.const 0 @@ -52838,7 +53005,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -52852,12 +53019,12 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $searchElement|4 i64.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" end local.get $index i32.const 1 @@ -52867,7 +53034,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -52892,12 +53059,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -52908,7 +53075,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Int64Array#get:length local.set $len @@ -52917,7 +53084,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" end local.get $index i32.const 0 @@ -52942,7 +53109,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -52956,12 +53123,12 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $searchElement|4 i64.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" end local.get $index i32.const 1 @@ -52971,7 +53138,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -52990,7 +53157,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -53005,7 +53172,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Int64Array#get:length local.set $fromIndex @@ -53014,7 +53181,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -53026,7 +53193,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64>" (local $values i32) (local $length i32) (local $array i32) @@ -53041,16 +53208,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -53059,7 +53226,7 @@ local.get $length call $~lib/typedarray/Int64Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -53071,14 +53238,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -53095,7 +53262,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 0 i32.const 0 @@ -53115,7 +53282,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 11 i32.const 0 @@ -53135,7 +53302,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const -1 i32.const 0 @@ -53155,7 +53322,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 0 @@ -53175,7 +53342,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 2 @@ -53195,7 +53362,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 3 @@ -53215,7 +53382,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 4 @@ -53235,7 +53402,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 1 i32.const 10 @@ -53255,7 +53422,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 1 i32.const -100 @@ -53275,7 +53442,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 0 i32.const 1 @@ -53297,7 +53464,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 11 i32.const 1 @@ -53319,7 +53486,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const -1 i32.const 1 @@ -53341,7 +53508,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 1 @@ -53363,7 +53530,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 4 @@ -53383,7 +53550,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 3 @@ -53403,7 +53570,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 2 @@ -53423,7 +53590,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 1 i32.const 100 @@ -53443,7 +53610,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 1 i32.const -10 @@ -53463,7 +53630,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 1 i32.const -11 @@ -53484,18 +53651,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Int64Array#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 0 @@ -53515,7 +53682,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 4 i32.const 0 @@ -53537,7 +53704,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 5 i32.const 0 @@ -53559,7 +53726,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 9 i32.const 0 @@ -53579,7 +53746,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 10 i32.const 0 @@ -53599,7 +53766,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 11 i32.const 0 @@ -53619,7 +53786,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 5 i32.const 1 @@ -53641,7 +53808,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 5 i32.const 2 @@ -53679,12 +53846,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -53695,7 +53862,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Uint64Array#get:length local.set $len @@ -53711,7 +53878,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.get $index i32.const 0 @@ -53733,7 +53900,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -53747,12 +53914,12 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $searchElement|4 i64.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.get $index i32.const 1 @@ -53762,7 +53929,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -53787,12 +53954,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -53803,7 +53970,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Uint64Array#get:length local.set $len @@ -53812,7 +53979,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.get $index i32.const 0 @@ -53837,7 +54004,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -53851,12 +54018,12 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $searchElement|4 i64.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.get $index i32.const 1 @@ -53866,7 +54033,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -53885,7 +54052,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -53900,7 +54067,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Uint64Array#get:length local.set $fromIndex @@ -53909,7 +54076,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -53921,7 +54088,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64>" (local $values i32) (local $length i32) (local $array i32) @@ -53936,16 +54103,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -53954,7 +54121,7 @@ local.get $length call $~lib/typedarray/Uint64Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -53966,14 +54133,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -53990,7 +54157,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 0 i32.const 0 @@ -54010,7 +54177,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 11 i32.const 0 @@ -54030,7 +54197,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const -1 i32.const 0 @@ -54050,7 +54217,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 0 @@ -54070,7 +54237,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 2 @@ -54090,7 +54257,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 3 @@ -54110,7 +54277,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 4 @@ -54130,7 +54297,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 1 i32.const 10 @@ -54150,7 +54317,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 1 i32.const -100 @@ -54170,7 +54337,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 0 i32.const 1 @@ -54192,7 +54359,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 11 i32.const 1 @@ -54214,7 +54381,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const -1 i32.const 1 @@ -54236,7 +54403,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 1 @@ -54258,7 +54425,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 4 @@ -54278,7 +54445,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 3 @@ -54298,7 +54465,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 2 @@ -54318,7 +54485,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 1 i32.const 100 @@ -54338,7 +54505,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 1 i32.const -10 @@ -54358,7 +54525,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 1 i32.const -11 @@ -54379,18 +54546,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Uint64Array#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 3 i32.const 0 @@ -54410,7 +54577,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 4 i32.const 0 @@ -54432,7 +54599,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 5 i32.const 0 @@ -54454,7 +54621,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 9 i32.const 0 @@ -54474,7 +54641,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 10 i32.const 0 @@ -54494,7 +54661,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 11 i32.const 0 @@ -54514,7 +54681,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 5 i32.const 1 @@ -54536,7 +54703,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i64.const 5 i32.const 2 @@ -54574,12 +54741,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -54590,7 +54757,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Float32Array#get:length local.set $len @@ -54606,7 +54773,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" end local.get $index i32.const 0 @@ -54628,7 +54795,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -54642,12 +54809,12 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $searchElement|4 f32.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" end local.get $index i32.const 1 @@ -54657,7 +54824,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -54682,12 +54849,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -54698,7 +54865,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Float32Array#get:length local.set $len @@ -54707,7 +54874,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" end local.get $index i32.const 0 @@ -54732,7 +54899,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -54746,12 +54913,12 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $searchElement|4 f32.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" end local.get $index i32.const 1 @@ -54761,7 +54928,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -54780,7 +54947,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -54795,7 +54962,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Float32Array#get:length local.set $fromIndex @@ -54804,7 +54971,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -54816,7 +54983,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32>" (local $values i32) (local $length i32) (local $array i32) @@ -54831,16 +54998,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -54849,7 +55016,7 @@ local.get $length call $~lib/typedarray/Float32Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -54861,14 +55028,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -54885,7 +55052,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 0 i32.const 0 @@ -54905,7 +55072,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 11 i32.const 0 @@ -54925,7 +55092,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const -1 i32.const 0 @@ -54945,7 +55112,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 3 i32.const 0 @@ -54965,7 +55132,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 3 i32.const 2 @@ -54985,7 +55152,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 3 i32.const 3 @@ -55005,7 +55172,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 3 i32.const 4 @@ -55025,7 +55192,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 1 i32.const 10 @@ -55045,7 +55212,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 1 i32.const -100 @@ -55065,7 +55232,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 0 i32.const 1 @@ -55087,7 +55254,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 11 i32.const 1 @@ -55109,7 +55276,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const -1 i32.const 1 @@ -55131,7 +55298,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 3 i32.const 1 @@ -55153,7 +55320,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 3 i32.const 4 @@ -55173,7 +55340,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 3 i32.const 3 @@ -55193,7 +55360,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 3 i32.const 2 @@ -55213,7 +55380,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 1 i32.const 100 @@ -55233,7 +55400,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 1 i32.const -10 @@ -55253,7 +55420,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 1 i32.const -11 @@ -55274,18 +55441,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Float32Array#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 3 i32.const 0 @@ -55305,7 +55472,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 4 i32.const 0 @@ -55327,7 +55494,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 5 i32.const 0 @@ -55349,7 +55516,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 9 i32.const 0 @@ -55369,7 +55536,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 10 i32.const 0 @@ -55389,7 +55556,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 11 i32.const 0 @@ -55409,7 +55576,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 5 i32.const 1 @@ -55431,7 +55598,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f32.const 5 i32.const 2 @@ -55469,12 +55636,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -55485,7 +55652,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/typedarray/Float64Array#get:length local.set $len @@ -55501,7 +55668,7 @@ end if i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" end local.get $index i32.const 0 @@ -55523,7 +55690,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 offset=4 + i32.store offset=4 local.get $11 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -55537,12 +55704,12 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $searchElement|4 f64.eq if local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" end local.get $index i32.const 1 @@ -55552,7 +55719,7 @@ end end i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $11 global.get $~lib/memory/__stack_pointer @@ -55577,12 +55744,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -55593,7 +55760,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/typedarray/Float64Array#get:length local.set $len @@ -55602,7 +55769,7 @@ i32.eq if i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" end local.get $index i32.const 0 @@ -55627,7 +55794,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -55641,12 +55808,12 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $searchElement|4 f64.eq if local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" end local.get $index i32.const 1 @@ -55656,7 +55823,7 @@ end end i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -55675,7 +55842,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -55690,7 +55857,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/typedarray/Float64Array#get:length local.set $fromIndex @@ -55699,7 +55866,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $searchElement local.get $fromIndex @@ -55711,7 +55878,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64>" (local $values i32) (local $length i32) (local $array i32) @@ -55726,16 +55893,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 call $~lib/array/Array#get:length local.set $length @@ -55744,7 +55911,7 @@ local.get $length call $~lib/typedarray/Float64Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -55756,14 +55923,14 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 local.get $i local.get $values local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store offset=12 local.get $5 local.get $i call $~lib/array/Array#__get @@ -55780,7 +55947,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 0 i32.const 0 @@ -55800,7 +55967,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 11 i32.const 0 @@ -55820,7 +55987,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const -1 i32.const 0 @@ -55840,7 +56007,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 3 i32.const 0 @@ -55860,7 +56027,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 3 i32.const 2 @@ -55880,7 +56047,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 3 i32.const 3 @@ -55900,7 +56067,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 3 i32.const 4 @@ -55920,7 +56087,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 1 i32.const 10 @@ -55940,7 +56107,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 1 i32.const -100 @@ -55960,7 +56127,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 0 i32.const 1 @@ -55982,7 +56149,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 11 i32.const 1 @@ -56004,7 +56171,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const -1 i32.const 1 @@ -56026,7 +56193,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 3 i32.const 1 @@ -56048,7 +56215,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 3 i32.const 4 @@ -56068,7 +56235,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 3 i32.const 3 @@ -56088,7 +56255,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 3 i32.const 2 @@ -56108,7 +56275,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 1 i32.const 100 @@ -56128,7 +56295,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 1 i32.const -10 @@ -56148,7 +56315,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 1 i32.const -11 @@ -56169,18 +56336,18 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 4 i32.const 9 call $~lib/typedarray/Float64Array#subarray local.tee $sliced - i32.store $0 offset=16 + i32.store offset=16 local.get $sliced local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 3 i32.const 0 @@ -56200,7 +56367,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 4 i32.const 0 @@ -56222,7 +56389,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 5 i32.const 0 @@ -56244,7 +56411,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 9 i32.const 0 @@ -56264,7 +56431,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 10 i32.const 0 @@ -56284,7 +56451,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 11 i32.const 0 @@ -56304,7 +56471,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 5 i32.const 1 @@ -56326,7 +56493,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 f64.const 5 i32.const 2 @@ -56365,12 +56532,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -56383,7 +56550,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Float64Array#get:length local.set $len @@ -56399,7 +56566,7 @@ end if i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0" end local.get $index i32.const 0 @@ -56421,7 +56588,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -56435,7 +56602,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $elem local.get $elem local.get $searchElement|4 @@ -56453,7 +56620,7 @@ end if i32.const 1 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0" end local.get $index i32.const 1 @@ -56463,7 +56630,7 @@ end end i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $12 global.get $~lib/memory/__stack_pointer @@ -56491,12 +56658,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i64.store + block $"~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $array - i32.store $0 + i32.store local.get $searchElement local.set $searchElement|4 local.get $fromIndex @@ -56509,7 +56676,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/typedarray/Float32Array#get:length local.set $len @@ -56525,7 +56692,7 @@ end if i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0" end local.get $index i32.const 0 @@ -56547,7 +56714,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=4 + i32.store offset=4 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $dataStart @@ -56561,7 +56728,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $elem local.get $elem local.get $searchElement|4 @@ -56579,7 +56746,7 @@ end if i32.const 1 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0" end local.get $index i32.const 1 @@ -56589,7 +56756,7 @@ end end i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $12 global.get $~lib/memory/__stack_pointer @@ -56627,12 +56794,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $22 global.get $~lib/memory/__stack_pointer local.get $22 - i32.store $0 + i32.store local.get $22 call $~lib/string/String#get:length local.set $len @@ -56732,13 +56899,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $fromPos i32.add local.get $size - memory.copy $0 $0 + memory.copy local.get $out local.set $22 global.get $~lib/memory/__stack_pointer @@ -56765,7 +56932,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -56787,7 +56954,7 @@ i32.eqz if local.get $dataStart - i32.load8_s $0 + i32.load8_s local.set $value i32.const 1 drop @@ -56810,7 +56977,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -56829,7 +56996,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -56844,7 +57011,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value|9 local.get $offset local.get $result @@ -56867,7 +57034,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -56885,7 +57052,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value|9 local.get $offset local.get $result @@ -56905,7 +57072,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -56936,26 +57103,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int8Array#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinIntegerArray local.set $2 @@ -56976,7 +57143,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -57014,7 +57181,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -57023,7 +57190,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -57041,14 +57208,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -57065,57 +57232,54 @@ (func $~lib/typedarray/Int8Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Int8Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Int8Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -57124,7 +57288,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -57133,7 +57297,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -57142,7 +57306,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 i32.const 4 @@ -57151,7 +57315,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 5 @@ -57162,26 +57326,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Int8Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -57196,20 +57350,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int8Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -57221,7 +57370,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -57242,7 +57391,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -57264,7 +57413,7 @@ i32.eqz if local.get $dataStart - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -57287,7 +57436,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -57306,7 +57455,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -57321,7 +57470,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value|9 local.get $offset local.get $result @@ -57344,7 +57493,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -57362,7 +57511,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value|9 local.get $offset local.get $result @@ -57382,7 +57531,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -57413,26 +57562,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint8Array#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinIntegerArray local.set $2 @@ -57446,57 +57595,54 @@ (func $~lib/typedarray/Uint8Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Uint8Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Uint8Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -57505,7 +57651,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -57514,7 +57660,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -57523,7 +57669,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 i32.const 4 @@ -57532,7 +57678,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 5 @@ -57543,26 +57689,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Uint8Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -57577,20 +57713,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Uint8Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -57602,7 +57733,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -57615,26 +57746,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint8ClampedArray#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinIntegerArray local.set $2 @@ -57648,57 +57779,54 @@ (func $~lib/typedarray/Uint8ClampedArray#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Uint8ClampedArray#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -57707,7 +57835,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -57716,7 +57844,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -57725,7 +57853,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 i32.const 4 @@ -57734,7 +57862,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 5 @@ -57745,26 +57873,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Uint8ClampedArray#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -57779,20 +57897,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Uint8ClampedArray#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -57804,7 +57917,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -57825,7 +57938,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -57847,7 +57960,7 @@ i32.eqz if local.get $dataStart - i32.load16_s $0 + i32.load16_s local.set $value i32.const 1 drop @@ -57870,7 +57983,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -57889,7 +58002,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -57904,7 +58017,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value|9 local.get $offset local.get $result @@ -57927,7 +58040,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -57945,7 +58058,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value|9 local.get $offset local.get $result @@ -57965,7 +58078,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -57996,26 +58109,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int16Array#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinIntegerArray local.set $2 @@ -58029,57 +58142,54 @@ (func $~lib/typedarray/Int16Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Int16Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Int16Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -58088,7 +58198,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -58097,7 +58207,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -58106,7 +58216,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 i32.const 4 @@ -58115,7 +58225,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 5 @@ -58126,26 +58236,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Int16Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -58160,20 +58260,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int16Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -58185,7 +58280,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -58206,7 +58301,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -58228,7 +58323,7 @@ i32.eqz if local.get $dataStart - i32.load16_u $0 + i32.load16_u local.set $value i32.const 0 drop @@ -58251,7 +58346,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -58270,7 +58365,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -58285,7 +58380,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $value|9 local.get $offset local.get $result @@ -58308,7 +58403,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -58326,7 +58421,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $value|9 local.get $offset local.get $result @@ -58346,7 +58441,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -58377,26 +58472,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint16Array#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinIntegerArray local.set $2 @@ -58410,57 +58505,54 @@ (func $~lib/typedarray/Uint16Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Uint16Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Uint16Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -58469,7 +58561,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -58478,7 +58570,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -58487,7 +58579,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 i32.const 4 @@ -58496,7 +58588,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 5 @@ -58507,26 +58599,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Uint16Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -58541,20 +58623,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Uint16Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -58566,7 +58643,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -58587,7 +58664,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -58609,7 +58686,7 @@ i32.eqz if local.get $dataStart - i32.load $0 + i32.load local.set $value i32.const 1 drop @@ -58632,7 +58709,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -58651,7 +58728,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -58666,7 +58743,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value|9 local.get $offset local.get $result @@ -58689,7 +58766,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -58707,7 +58784,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value|9 local.get $offset local.get $result @@ -58727,7 +58804,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -58758,26 +58835,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int32Array#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinIntegerArray local.set $2 @@ -58791,57 +58868,54 @@ (func $~lib/typedarray/Int32Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Int32Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Int32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -58850,7 +58924,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -58859,7 +58933,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -58868,7 +58942,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 i32.const 4 @@ -58877,7 +58951,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 5 @@ -58888,26 +58962,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Int32Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -58922,20 +58986,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int32Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -58947,7 +59006,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -58968,7 +59027,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -58990,7 +59049,7 @@ i32.eqz if local.get $dataStart - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -59013,7 +59072,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -59032,7 +59091,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -59047,7 +59106,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value|9 local.get $offset local.get $result @@ -59070,7 +59129,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -59088,7 +59147,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value|9 local.get $offset local.get $result @@ -59108,7 +59167,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -59139,26 +59198,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint32Array#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinIntegerArray local.set $2 @@ -59172,57 +59231,54 @@ (func $~lib/typedarray/Uint32Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Uint32Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Uint32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i32.const 1 @@ -59231,7 +59287,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i32.const 2 @@ -59240,7 +59296,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i32.const 3 @@ -59249,7 +59305,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 i32.const 4 @@ -59258,7 +59314,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i32.const 5 @@ -59269,26 +59325,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Uint32Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -59303,20 +59349,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Uint32Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -59328,7 +59369,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -59349,7 +59390,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -59371,7 +59412,7 @@ i32.eqz if local.get $dataStart - i64.load $0 + i64.load local.set $value i32.const 1 drop @@ -59396,7 +59437,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -59415,7 +59456,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -59430,7 +59471,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value|9 local.get $offset local.get $result @@ -59453,7 +59494,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -59471,7 +59512,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value|9 local.get $offset local.get $result @@ -59491,7 +59532,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -59522,26 +59563,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int64Array#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinIntegerArray local.set $2 @@ -59555,57 +59596,54 @@ (func $~lib/typedarray/Int64Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Int64Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Int64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i64.const 1 @@ -59614,7 +59652,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i64.const 2 @@ -59623,7 +59661,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i64.const 3 @@ -59632,7 +59670,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 i64.const 4 @@ -59641,7 +59679,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i64.const 5 @@ -59652,26 +59690,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Int64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -59686,20 +59714,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int64Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -59711,7 +59734,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -59732,7 +59755,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -59754,7 +59777,7 @@ i32.eqz if local.get $dataStart - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -59777,7 +59800,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 call $~lib/string/String#get:length local.set $sepLen @@ -59796,7 +59819,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -59811,7 +59834,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value|9 local.get $offset local.get $result @@ -59834,7 +59857,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -59852,7 +59875,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value|9 local.get $offset local.get $result @@ -59872,7 +59895,7 @@ local.set $11 global.get $~lib/memory/__stack_pointer local.get $11 - i32.store $0 + i32.store local.get $11 i32.const 0 local.get $offset @@ -59903,26 +59926,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint64Array#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinIntegerArray local.set $2 @@ -59936,57 +59959,54 @@ (func $~lib/typedarray/Uint64Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Uint64Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Uint64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i64.const 1 @@ -59995,7 +60015,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i64.const 2 @@ -60004,7 +60024,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i64.const 3 @@ -60013,7 +60033,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 i64.const 4 @@ -60022,7 +60042,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 i64.const 5 @@ -60033,26 +60053,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Uint64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -60067,20 +60077,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Uint64Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -60092,7 +60097,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -60112,7 +60117,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -60134,9 +60139,8 @@ i32.eqz if local.get $dataStart - f32.load $0 - f64.promote_f32 - call $~lib/util/number/dtoa + f32.load + call $~lib/util/number/dtoa local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -60149,7 +60153,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $sepLen @@ -60168,7 +60172,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -60183,7 +60187,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value local.get $offset local.get $result @@ -60192,8 +60196,7 @@ i32.shl i32.add local.get $value - f64.promote_f32 - call $~lib/util/number/dtoa_buffered + call $~lib/util/number/dtoa_buffered i32.add local.set $offset local.get $sepLen @@ -60207,7 +60210,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -60225,7 +60228,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value local.get $offset local.get $result @@ -60234,8 +60237,7 @@ i32.shl i32.add local.get $value - f64.promote_f32 - call $~lib/util/number/dtoa_buffered + call $~lib/util/number/dtoa_buffered i32.add local.set $offset local.get $estLen @@ -60246,7 +60248,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 0 local.get $offset @@ -60277,26 +60279,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Float32Array#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinFloatArray local.set $2 @@ -60310,57 +60312,54 @@ (func $~lib/typedarray/Float32Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Float32Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Float32Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 f32.const 1 @@ -60369,7 +60368,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 f32.const 2 @@ -60378,7 +60377,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 f32.const 3 @@ -60387,7 +60386,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 f32.const 4 @@ -60396,7 +60395,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 f32.const 5 @@ -60407,26 +60406,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Float32Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 9776 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -60441,20 +60430,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Float32Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 9776 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -60466,7 +60450,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -60486,7 +60470,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $length i32.const 1 i32.sub @@ -60508,8 +60492,8 @@ i32.eqz if local.get $dataStart - f64.load $0 - call $~lib/util/number/dtoa + f64.load + call $~lib/util/number/dtoa local.set $10 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -60522,7 +60506,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 call $~lib/string/String#get:length local.set $sepLen @@ -60541,7 +60525,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $offset i32.const 0 @@ -60556,7 +60540,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value local.get $offset local.get $result @@ -60565,7 +60549,7 @@ i32.shl i32.add local.get $value - call $~lib/util/number/dtoa_buffered + call $~lib/util/number/dtoa_buffered i32.add local.set $offset local.get $sepLen @@ -60579,7 +60563,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -60597,7 +60581,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value local.get $offset local.get $result @@ -60606,7 +60590,7 @@ i32.shl i32.add local.get $value - call $~lib/util/number/dtoa_buffered + call $~lib/util/number/dtoa_buffered i32.add local.set $offset local.get $estLen @@ -60617,7 +60601,7 @@ local.set $10 global.get $~lib/memory/__stack_pointer local.get $10 - i32.store $0 + i32.store local.get $10 i32.const 0 local.get $offset @@ -60648,26 +60632,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Float64Array#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinFloatArray local.set $2 @@ -60681,57 +60665,54 @@ (func $~lib/typedarray/Float64Array#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 call $~lib/typedarray/Float64Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64>" (local $array i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 5 call $~lib/typedarray/Float64Array#constructor local.tee $array - i32.store $0 + i32.store local.get $array local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 f64.const 1 @@ -60740,7 +60721,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 f64.const 2 @@ -60749,7 +60730,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 f64.const 3 @@ -60758,7 +60739,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 3 f64.const 4 @@ -60767,7 +60748,7 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 4 f64.const 5 @@ -60778,26 +60759,16 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=16 - local.get $1 call $~lib/typedarray/Float64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 9776 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -60812,20 +60783,15 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 call $~lib/typedarray/Float64Array#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 9776 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 call $~lib/string/String.__eq i32.eqz if @@ -60837,7 +60803,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -60856,15 +60822,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -60873,7 +60839,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -60947,24 +60913,24 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Uint8Array,u8>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Uint8Array,u8>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -60983,7 +60949,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -61005,7 +60971,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -61039,12 +61005,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $16 global.get $~lib/memory/__stack_pointer local.get $16 - i32.store $0 + i32.store local.get $16 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $length @@ -61114,13 +61080,13 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $begin i32.add local.get $outSize - memory.copy $0 $0 + memory.copy local.get $out local.set $16 global.get $~lib/memory/__stack_pointer @@ -61145,15 +61111,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -61162,7 +61128,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -61236,24 +61202,24 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Int8Array,i8>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Int8Array,i8>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -61272,7 +61238,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -61294,7 +61260,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -61306,7 +61272,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8>" (local $values i32) (local $length i32) (local $array i32) @@ -61323,16 +61289,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -61341,7 +61307,7 @@ local.get $length call $~lib/typedarray/Int8Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -61353,14 +61319,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -61378,39 +61344,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 1 drop global.get $~lib/memory/__stack_pointer @@ -61418,7 +61384,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -61426,7 +61392,7 @@ i32.const 0 call $~lib/typedarray/Int8Array.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -61438,7 +61404,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Int8Array#__get @@ -61446,7 +61412,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Int8Array#__get @@ -61472,7 +61438,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8>" (local $values i32) (local $length i32) (local $array i32) @@ -61489,16 +61455,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -61507,7 +61473,7 @@ local.get $length call $~lib/typedarray/Uint8Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -61519,14 +61485,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -61545,39 +61511,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 drop i32.const 1 @@ -61587,7 +61553,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -61595,7 +61561,7 @@ i32.const 0 call $~lib/typedarray/Uint8Array.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -61607,7 +61573,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Uint8Array#__get @@ -61615,7 +61581,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Uint8Array#__get @@ -61656,15 +61622,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -61673,7 +61639,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -61747,24 +61713,24 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -61783,7 +61749,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -61805,7 +61771,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -61817,7 +61783,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8>" (local $values i32) (local $length i32) (local $array i32) @@ -61834,16 +61800,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -61852,7 +61818,7 @@ local.get $length call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -61864,14 +61830,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -61890,39 +61856,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 drop i32.const 0 @@ -61934,7 +61900,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -61942,7 +61908,7 @@ i32.const 0 call $~lib/typedarray/Uint8ClampedArray.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -61954,7 +61920,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Uint8ClampedArray#__get @@ -61962,7 +61928,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Uint8ClampedArray#__get @@ -62003,15 +61969,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -62020,7 +61986,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -62094,24 +62060,24 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Int16Array,i16>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Int16Array,i16>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -62130,7 +62096,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -62152,7 +62118,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -62164,7 +62130,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16>" (local $values i32) (local $length i32) (local $array i32) @@ -62181,16 +62147,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -62199,7 +62165,7 @@ local.get $length call $~lib/typedarray/Int16Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -62211,14 +62177,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -62236,39 +62202,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 drop i32.const 0 @@ -62282,7 +62248,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -62290,7 +62256,7 @@ i32.const 0 call $~lib/typedarray/Int16Array.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -62302,7 +62268,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Int16Array#__get @@ -62310,7 +62276,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Int16Array#__get @@ -62351,15 +62317,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -62368,7 +62334,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -62442,24 +62408,24 @@ i32.const 8 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Uint16Array,u16>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Uint16Array,u16>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -62478,7 +62444,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -62500,7 +62466,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -62512,7 +62478,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16>" (local $values i32) (local $length i32) (local $array i32) @@ -62529,16 +62495,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -62547,7 +62513,7 @@ local.get $length call $~lib/typedarray/Uint16Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -62559,14 +62525,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -62585,39 +62551,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 drop i32.const 0 @@ -62633,7 +62599,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -62641,7 +62607,7 @@ i32.const 0 call $~lib/typedarray/Uint16Array.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -62653,7 +62619,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Uint16Array#__get @@ -62661,7 +62627,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Uint16Array#__get @@ -62702,15 +62668,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -62719,7 +62685,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -62793,24 +62759,24 @@ i32.const 9 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Int32Array,i32>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Int32Array,i32>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -62829,7 +62795,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -62851,7 +62817,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -62863,7 +62829,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32>" (local $values i32) (local $length i32) (local $array i32) @@ -62880,16 +62846,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -62898,7 +62864,7 @@ local.get $length call $~lib/typedarray/Int32Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -62910,14 +62876,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -62934,39 +62900,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 drop i32.const 0 @@ -62984,7 +62950,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -62992,7 +62958,7 @@ i32.const 0 call $~lib/typedarray/Int32Array.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -63004,7 +62970,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Int32Array#__get @@ -63012,7 +62978,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Int32Array#__get @@ -63053,15 +63019,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -63070,7 +63036,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -63144,24 +63110,24 @@ i32.const 10 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Uint32Array,u32>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Uint32Array,u32>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -63180,7 +63146,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -63202,7 +63168,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -63214,7 +63180,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32>" (local $values i32) (local $length i32) (local $array i32) @@ -63231,16 +63197,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -63249,7 +63215,7 @@ local.get $length call $~lib/typedarray/Uint32Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -63261,14 +63227,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -63285,39 +63251,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 drop i32.const 0 @@ -63337,7 +63303,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -63345,7 +63311,7 @@ i32.const 0 call $~lib/typedarray/Uint32Array.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -63357,7 +63323,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Uint32Array#__get @@ -63365,7 +63331,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Uint32Array#__get @@ -63406,15 +63372,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -63423,7 +63389,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -63497,24 +63463,24 @@ i32.const 11 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Int64Array,i64>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Int64Array,i64>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -63533,7 +63499,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -63555,7 +63521,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -63567,7 +63533,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64>" (local $values i32) (local $length i32) (local $array i32) @@ -63584,16 +63550,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -63602,7 +63568,7 @@ local.get $length call $~lib/typedarray/Int64Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -63614,14 +63580,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -63639,39 +63605,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 drop i32.const 0 @@ -63693,7 +63659,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -63701,7 +63667,7 @@ i32.const 0 call $~lib/typedarray/Int64Array.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -63713,7 +63679,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Int64Array#__get @@ -63721,7 +63687,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Int64Array#__get @@ -63762,15 +63728,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -63779,7 +63745,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -63853,24 +63819,24 @@ i32.const 12 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Uint64Array,u64>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Uint64Array,u64>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -63889,7 +63855,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -63911,7 +63877,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -63923,7 +63889,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64>" (local $values i32) (local $length i32) (local $array i32) @@ -63940,16 +63906,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -63958,7 +63924,7 @@ local.get $length call $~lib/typedarray/Uint64Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -63970,14 +63936,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -63995,39 +63961,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 drop i32.const 0 @@ -64051,7 +64017,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -64059,7 +64025,7 @@ i32.const 0 call $~lib/typedarray/Uint64Array.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -64071,7 +64037,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Uint64Array#__get @@ -64079,7 +64045,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Uint64Array#__get @@ -64120,15 +64086,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -64137,7 +64103,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -64211,24 +64177,24 @@ i32.const 13 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Float32Array,f32>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Float32Array,f32>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -64247,7 +64213,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -64269,7 +64235,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -64281,7 +64247,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32>" (local $values i32) (local $length i32) (local $array i32) @@ -64298,16 +64264,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -64316,7 +64282,7 @@ local.get $length call $~lib/typedarray/Float32Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -64328,14 +64294,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -64353,39 +64319,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 drop i32.const 0 @@ -64411,7 +64377,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -64419,7 +64385,7 @@ i32.const 0 call $~lib/typedarray/Float32Array.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -64431,7 +64397,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Float32Array#__get @@ -64439,7 +64405,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Float32Array#__get @@ -64480,15 +64446,15 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - block $~lib/typedarray/WRAP<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + i32.store offset=8 + block $"~lib/typedarray/WRAP<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) global.get $~lib/memory/__stack_pointer local.get $buffer local.tee $buffer|3 - i32.store $0 + i32.store local.get $byteOffset local.set $byteOffset|4 local.get $length @@ -64497,7 +64463,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store offset=4 local.get $9 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bufferByteLength @@ -64571,24 +64537,24 @@ i32.const 14 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 - i32.store $0 + i32.store local.get $out local.get $buffer|3 i32.const 0 call $~lib/rt/itcms/__link local.get $out local.get $byteLength - i32.store $0 offset=8 + i32.store offset=8 local.get $out local.get $buffer|3 local.get $byteOffset|4 i32.add - i32.store $0 offset=4 + i32.store offset=4 local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Float64Array,f64>|inlined.0 + br $"~lib/typedarray/WRAP<~lib/typedarray/Float64Array,f64>|inlined.0" end local.set $9 global.get $~lib/memory/__stack_pointer @@ -64607,7 +64573,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -64629,7 +64595,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 local.get $byteOffset local.get $length @@ -64641,7 +64607,7 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64>" (local $values i32) (local $length i32) (local $array i32) @@ -64658,16 +64624,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer global.get $std/typedarray/testArrayWrapValues local.tee $values - i32.store $0 + i32.store local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/array/Array#get:length local.set $length @@ -64676,7 +64642,7 @@ local.get $length call $~lib/typedarray/Float64Array#constructor local.tee $array - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 local.set $i loop $for-loop|0 @@ -64688,14 +64654,14 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i local.get $values local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 local.get $i call $~lib/array/Array#__get @@ -64713,39 +64679,39 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=12 + i32.store offset=12 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $buffer - i32.store $0 offset=16 + i32.store offset=16 i32.const 0 drop i32.const 0 @@ -64773,7 +64739,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1 @@ -64781,7 +64747,7 @@ i32.const 0 call $~lib/typedarray/Float64Array.wrap@varargs local.tee $result - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $i|6 loop $for-loop|1 @@ -64793,7 +64759,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Float64Array#__get @@ -64801,7 +64767,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 local.get $i|6 call $~lib/typedarray/Float64Array#__get @@ -64845,18 +64811,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -64865,7 +64831,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -64882,7 +64848,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int8Array#get:length i32.gt_s @@ -64899,7 +64865,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -64911,7 +64877,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -64937,7 +64903,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -64945,7 +64911,7 @@ drop local.get $ptr local.get $value - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -64967,17 +64933,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add - i32.load8_s $0 + i32.load8_s local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -64995,19 +64961,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:dataStart local.get $index i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -65029,12 +64995,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Int8Array#get:length local.set $len @@ -65043,7 +65009,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -65067,7 +65033,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Int8Array#__uget @@ -65076,7 +65042,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -65086,11 +65052,6 @@ i32.ne if i32.const 10320 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -65133,12 +65094,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -65167,18 +65128,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -65187,7 +65148,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -65204,7 +65165,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int8Array#get:length i32.gt_s @@ -65221,7 +65182,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -65233,7 +65194,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -65259,7 +65220,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -65278,7 +65239,7 @@ else i32.const 0 end - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -65309,18 +65270,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -65329,7 +65290,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -65346,7 +65307,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int8Array#get:length i32.gt_s @@ -65363,7 +65324,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -65375,7 +65336,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -65401,7 +65362,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -65410,7 +65371,7 @@ local.get $ptr local.get $value i32.wrap_i64 - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -65432,12 +65393,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -65466,18 +65427,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -65486,7 +65447,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -65503,7 +65464,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int8Array#get:length i32.gt_s @@ -65520,7 +65481,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -65532,7 +65493,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -65558,7 +65519,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -65577,7 +65538,7 @@ else i32.const 0 end - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -65605,18 +65566,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -65625,7 +65586,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -65642,7 +65603,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int8Array#get:length i32.gt_s @@ -65659,7 +65620,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -65671,7 +65632,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -65683,7 +65644,7 @@ local.get $sourceLen i32.const 0 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -65707,18 +65668,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -65727,7 +65688,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -65744,7 +65705,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int8Array#get:length i32.gt_s @@ -65761,7 +65722,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -65773,7 +65734,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -65799,7 +65760,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 0 drop @@ -65807,7 +65768,7 @@ drop local.get $ptr local.get $value - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -65835,18 +65796,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -65855,7 +65816,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:length local.set $sourceLen @@ -65872,7 +65833,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int8Array#get:length i32.gt_s @@ -65889,7 +65850,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -65901,7 +65862,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -65913,7 +65874,7 @@ local.get $sourceLen i32.const 0 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -65930,11 +65891,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -65943,37 +65899,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -65982,40 +65938,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -66024,31 +65980,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -66057,193 +66013,193 @@ i32.const 10 call $~lib/typedarray/Int8Array#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource1 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Int8Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 16 i32.const 10288 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource2 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 3 call $~lib/typedarray/Int8Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 16 i32.const 10368 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 6 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 16 i32.const 10400 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> i32.const 1 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource3 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 2 call $~lib/typedarray/Int8Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 16 i32.const 10432 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 4 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource7 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 7 call $~lib/typedarray/Int8Array#set<~lib/array/Array> i32.const 0 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 16 i32.const 10464 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -66268,18 +66224,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -66288,7 +66244,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -66305,7 +66261,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length i32.gt_s @@ -66322,7 +66278,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -66334,7 +66290,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -66360,7 +66316,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -66368,7 +66324,7 @@ drop local.get $ptr local.get $value - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -66390,12 +66346,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -66415,17 +66371,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add - i32.load8_u $0 + i32.load8_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -66443,19 +66399,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:dataStart local.get $index i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -66477,12 +66433,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Uint8Array#get:length local.set $len @@ -66491,7 +66447,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -66515,7 +66471,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Uint8Array#__uget @@ -66524,7 +66480,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -66534,11 +66490,6 @@ i32.ne if i32.const 10528 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -66590,18 +66541,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -66610,7 +66561,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -66627,7 +66578,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length i32.gt_s @@ -66644,7 +66595,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -66656,7 +66607,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -66682,7 +66633,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -66701,7 +66652,7 @@ else i32.const 0 end - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -66732,18 +66683,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -66752,7 +66703,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -66769,7 +66720,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length i32.gt_s @@ -66786,7 +66737,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -66798,7 +66749,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -66824,7 +66775,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -66833,7 +66784,7 @@ local.get $ptr local.get $value i32.wrap_i64 - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -66864,18 +66815,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -66884,7 +66835,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -66901,7 +66852,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length i32.gt_s @@ -66918,7 +66869,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -66930,7 +66881,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -66956,7 +66907,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -66975,7 +66926,7 @@ else i32.const 0 end - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -67003,18 +66954,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -67023,7 +66974,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -67040,7 +66991,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint8Array#get:length i32.gt_s @@ -67057,7 +67008,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -67069,7 +67020,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -67081,7 +67032,7 @@ local.get $sourceLen i32.const 0 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -67105,18 +67056,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -67125,7 +67076,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -67142,7 +67093,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length i32.gt_s @@ -67159,7 +67110,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -67171,7 +67122,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -67197,7 +67148,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 0 drop @@ -67205,7 +67156,7 @@ drop local.get $ptr local.get $value - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -67233,18 +67184,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -67253,7 +67204,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:length local.set $sourceLen @@ -67270,7 +67221,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint8Array#get:length i32.gt_s @@ -67287,7 +67238,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -67299,7 +67250,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -67311,7 +67262,7 @@ local.get $sourceLen i32.const 0 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -67328,11 +67279,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -67341,37 +67287,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -67380,40 +67326,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -67422,31 +67368,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -67455,193 +67401,193 @@ i32.const 10 call $~lib/typedarray/Uint8Array#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource1 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Uint8Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 64 i32.const 10496 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource2 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 3 call $~lib/typedarray/Uint8Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 64 i32.const 10576 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 6 call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 64 i32.const 10608 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> i32.const 1 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource3 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 2 call $~lib/typedarray/Uint8Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 64 i32.const 10640 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 4 call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource7 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 7 call $~lib/typedarray/Uint8Array#set<~lib/array/Array> i32.const 0 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 64 i32.const 10672 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -67666,18 +67612,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -67686,7 +67632,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -67703,7 +67649,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8ClampedArray#get:length i32.gt_s @@ -67720,7 +67666,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -67732,7 +67678,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -67758,7 +67704,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 1 drop @@ -67785,7 +67731,7 @@ local.get $value i32.or i32.and - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -67807,17 +67753,17 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.add - i32.load8_u $0 + i32.load8_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -67839,12 +67785,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Uint8ClampedArray#get:length local.set $len @@ -67853,7 +67799,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -67877,7 +67823,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Uint8ClampedArray#__uget @@ -67886,7 +67832,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -67896,11 +67842,6 @@ i32.ne if i32.const 10736 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -67952,18 +67893,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -67972,7 +67913,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -67989,7 +67930,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8ClampedArray#get:length i32.gt_s @@ -68006,7 +67947,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -68018,7 +67959,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -68044,7 +67985,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 1 drop @@ -68066,7 +68007,7 @@ else i32.const 0 end - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -68097,18 +68038,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -68117,7 +68058,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -68134,7 +68075,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8ClampedArray#get:length i32.gt_s @@ -68151,7 +68092,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -68163,7 +68104,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -68189,7 +68130,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 1 drop @@ -68220,7 +68161,7 @@ local.get $value i64.or i64.and - i64.store8 $0 + i64.store8 local.get $i i32.const 1 i32.add @@ -68251,18 +68192,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -68271,7 +68212,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -68288,7 +68229,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8ClampedArray#get:length i32.gt_s @@ -68305,7 +68246,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -68317,7 +68258,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -68343,7 +68284,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 1 drop @@ -68365,7 +68306,7 @@ else i32.const 0 end - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -68393,18 +68334,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -68413,7 +68354,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -68430,7 +68371,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint8ClampedArray#get:length i32.gt_s @@ -68447,7 +68388,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -68459,7 +68400,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -68471,7 +68412,7 @@ local.get $sourceLen i32.const 0 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -68495,18 +68436,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -68515,7 +68456,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -68532,7 +68473,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8ClampedArray#get:length i32.gt_s @@ -68549,7 +68490,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -68561,7 +68502,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -68587,7 +68528,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 1 drop @@ -68614,7 +68555,7 @@ local.get $value i32.or i32.and - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -68645,18 +68586,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -68665,7 +68606,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -68682,7 +68623,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8ClampedArray#get:length i32.gt_s @@ -68699,7 +68640,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -68711,7 +68652,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -68736,7 +68677,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 1 drop @@ -68763,7 +68704,7 @@ local.get $value i32.or i32.and - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -68787,11 +68728,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -68800,37 +68736,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -68839,40 +68775,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -68881,31 +68817,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -68914,193 +68850,193 @@ i32.const 10 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource1 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 64 i32.const 10704 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource2 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 64 i32.const 10800 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 64 i32.const 10832 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> i32.const 1 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource3 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 64 i32.const 10864 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource7 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 7 call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> i32.const 1 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 0 i32.const 64 i32.const 10896 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -69125,18 +69061,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -69145,7 +69081,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -69162,7 +69098,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length i32.gt_s @@ -69179,7 +69115,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -69191,7 +69127,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -69217,7 +69153,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -69225,7 +69161,7 @@ drop local.get $ptr local.get $value - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -69247,12 +69183,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -69272,19 +69208,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -69302,19 +69238,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -69336,12 +69272,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Int16Array#get:length local.set $len @@ -69350,7 +69286,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -69374,7 +69310,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Int16Array#__uget @@ -69383,7 +69319,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -69393,11 +69329,6 @@ i32.ne if i32.const 10976 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -69449,18 +69380,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -69469,7 +69400,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -69486,7 +69417,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length i32.gt_s @@ -69503,7 +69434,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -69515,7 +69446,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -69541,7 +69472,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -69560,7 +69491,7 @@ else i32.const 0 end - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -69591,18 +69522,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -69611,7 +69542,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -69628,7 +69559,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length i32.gt_s @@ -69645,7 +69576,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -69657,7 +69588,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -69683,7 +69614,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -69692,7 +69623,7 @@ local.get $ptr local.get $value i32.wrap_i64 - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -69723,18 +69654,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -69743,7 +69674,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -69760,7 +69691,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length i32.gt_s @@ -69777,7 +69708,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -69789,7 +69720,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -69815,7 +69746,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -69834,7 +69765,7 @@ else i32.const 0 end - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -69865,18 +69796,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -69885,7 +69816,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -69902,7 +69833,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length i32.gt_s @@ -69919,7 +69850,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -69931,7 +69862,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -69957,7 +69888,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -69965,7 +69896,7 @@ drop local.get $ptr local.get $value - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -69993,18 +69924,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -70013,7 +69944,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -70030,7 +69961,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int16Array#get:length i32.gt_s @@ -70047,7 +69978,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -70059,7 +69990,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -70071,7 +70002,7 @@ local.get $sourceLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -70095,18 +70026,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -70115,7 +70046,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -70132,7 +70063,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length i32.gt_s @@ -70149,7 +70080,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -70161,7 +70092,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -70187,7 +70118,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -70195,7 +70126,7 @@ drop local.get $ptr local.get $value - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -70219,11 +70150,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -70232,37 +70158,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -70271,40 +70197,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -70313,31 +70239,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -70346,193 +70272,193 @@ i32.const 10 call $~lib/typedarray/Int16Array#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource1 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Int16Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 1 i32.const 65 i32.const 10928 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource2 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 3 call $~lib/typedarray/Int16Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 1 i32.const 65 i32.const 11024 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 6 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 1 i32.const 65 i32.const 11072 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> i32.const 1 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource3 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 2 call $~lib/typedarray/Int16Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 1 i32.const 65 i32.const 11120 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 4 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource7 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 7 call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 0 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 1 i32.const 65 i32.const 11168 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -70557,18 +70483,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -70577,7 +70503,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -70594,7 +70520,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint16Array#get:length i32.gt_s @@ -70611,7 +70537,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -70623,7 +70549,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -70649,7 +70575,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -70657,7 +70583,7 @@ drop local.get $ptr local.get $value - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -70679,12 +70605,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -70704,19 +70630,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -70734,19 +70660,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -70768,12 +70694,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Uint16Array#get:length local.set $len @@ -70782,7 +70708,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -70806,7 +70732,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Uint16Array#__uget @@ -70815,7 +70741,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -70825,11 +70751,6 @@ i32.ne if i32.const 11264 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -70881,18 +70802,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -70901,7 +70822,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -70918,7 +70839,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint16Array#get:length i32.gt_s @@ -70935,7 +70856,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -70947,7 +70868,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -70973,7 +70894,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -70992,7 +70913,7 @@ else i32.const 0 end - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -71023,18 +70944,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -71043,7 +70964,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -71060,7 +70981,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint16Array#get:length i32.gt_s @@ -71077,7 +70998,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -71089,7 +71010,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -71115,7 +71036,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -71124,7 +71045,7 @@ local.get $ptr local.get $value i32.wrap_i64 - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -71155,18 +71076,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -71175,7 +71096,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -71192,7 +71113,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint16Array#get:length i32.gt_s @@ -71209,7 +71130,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -71221,7 +71142,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -71247,7 +71168,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -71266,7 +71187,7 @@ else i32.const 0 end - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -71297,18 +71218,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -71317,7 +71238,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -71334,7 +71255,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint16Array#get:length i32.gt_s @@ -71351,7 +71272,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -71363,7 +71284,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -71389,7 +71310,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -71397,7 +71318,7 @@ drop local.get $ptr local.get $value - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -71425,18 +71346,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -71445,7 +71366,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -71462,7 +71383,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint16Array#get:length i32.gt_s @@ -71479,7 +71400,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -71491,7 +71412,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -71503,7 +71424,7 @@ local.get $sourceLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -71527,18 +71448,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -71547,7 +71468,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -71564,7 +71485,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint16Array#get:length i32.gt_s @@ -71581,7 +71502,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -71593,7 +71514,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -71619,7 +71540,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -71627,7 +71548,7 @@ drop local.get $ptr local.get $value - i32.store16 $0 + i32.store16 local.get $i i32.const 1 i32.add @@ -71651,11 +71572,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -71664,37 +71580,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -71703,40 +71619,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -71745,31 +71661,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -71778,193 +71694,193 @@ i32.const 10 call $~lib/typedarray/Uint16Array#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource1 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Uint16Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 1 i32.const 66 i32.const 11216 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource2 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 3 call $~lib/typedarray/Uint16Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 1 i32.const 66 i32.const 11312 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 6 call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 1 i32.const 66 i32.const 11360 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> i32.const 1 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource3 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 2 call $~lib/typedarray/Uint16Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 1 i32.const 66 i32.const 11408 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 4 call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource7 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 7 call $~lib/typedarray/Uint16Array#set<~lib/array/Array> i32.const 0 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 1 i32.const 66 i32.const 11456 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -71986,18 +71902,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -72006,7 +71922,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:length local.set $sourceLen @@ -72023,7 +71939,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int32Array#get:length i32.gt_s @@ -72040,7 +71956,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -72052,7 +71968,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -72064,7 +71980,7 @@ local.get $sourceLen i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -72079,19 +71995,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -72109,19 +72025,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -72143,12 +72059,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Int32Array#get:length local.set $len @@ -72157,7 +72073,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -72181,7 +72097,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Int32Array#__uget @@ -72190,7 +72106,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -72200,11 +72116,6 @@ i32.ne if i32.const 11568 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -72256,18 +72167,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -72276,7 +72187,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -72293,7 +72204,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int32Array#get:length i32.gt_s @@ -72310,7 +72221,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -72322,7 +72233,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -72348,7 +72259,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -72367,7 +72278,7 @@ else i32.const 0 end - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -72398,18 +72309,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -72418,7 +72329,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -72435,7 +72346,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int32Array#get:length i32.gt_s @@ -72452,7 +72363,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -72464,7 +72375,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -72490,7 +72401,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -72499,7 +72410,7 @@ local.get $ptr local.get $value i32.wrap_i64 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -72530,18 +72441,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -72550,7 +72461,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -72567,7 +72478,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int32Array#get:length i32.gt_s @@ -72584,7 +72495,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -72596,7 +72507,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -72622,7 +72533,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -72641,7 +72552,7 @@ else i32.const 0 end - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -72672,18 +72583,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -72692,7 +72603,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -72709,7 +72620,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int32Array#get:length i32.gt_s @@ -72726,7 +72637,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -72738,7 +72649,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -72764,7 +72675,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -72772,7 +72683,7 @@ drop local.get $ptr local.get $value - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -72803,18 +72714,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -72823,7 +72734,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -72840,7 +72751,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int32Array#get:length i32.gt_s @@ -72857,7 +72768,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -72869,7 +72780,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -72895,7 +72806,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 0 drop @@ -72903,7 +72814,7 @@ drop local.get $ptr local.get $value - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -72934,18 +72845,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -72954,7 +72865,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -72971,7 +72882,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int32Array#get:length i32.gt_s @@ -72988,7 +72899,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -73000,7 +72911,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -73026,7 +72937,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -73034,7 +72945,7 @@ drop local.get $ptr local.get $value - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -73058,11 +72969,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -73071,37 +72977,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -73110,40 +73016,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -73152,31 +73058,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -73185,193 +73091,193 @@ i32.const 10 call $~lib/typedarray/Int32Array#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource1 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Int32Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 2 i32.const 17 i32.const 11504 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource2 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 3 call $~lib/typedarray/Int32Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 2 i32.const 17 i32.const 11616 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 6 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 2 i32.const 17 i32.const 11680 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> i32.const 1 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource3 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 2 call $~lib/typedarray/Int32Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 2 i32.const 17 i32.const 11744 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 4 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource7 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 7 call $~lib/typedarray/Int32Array#set<~lib/array/Array> i32.const 0 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 2 i32.const 17 i32.const 11808 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -73393,18 +73299,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -73413,7 +73319,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:length local.set $sourceLen @@ -73430,7 +73336,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint32Array#get:length i32.gt_s @@ -73447,7 +73353,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -73459,7 +73365,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -73471,7 +73377,7 @@ local.get $sourceLen i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -73486,12 +73392,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -73511,19 +73417,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -73541,19 +73447,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -73575,12 +73481,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Uint32Array#get:length local.set $len @@ -73589,7 +73495,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -73613,7 +73519,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Uint32Array#__uget @@ -73622,7 +73528,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -73632,11 +73538,6 @@ i32.ne if i32.const 11936 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -73688,18 +73589,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -73708,7 +73609,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -73725,7 +73626,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint32Array#get:length i32.gt_s @@ -73742,7 +73643,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -73754,7 +73655,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -73780,7 +73681,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -73799,7 +73700,7 @@ else i32.const 0 end - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -73830,18 +73731,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -73850,7 +73751,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -73867,7 +73768,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint32Array#get:length i32.gt_s @@ -73884,7 +73785,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -73896,7 +73797,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -73922,7 +73823,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -73931,7 +73832,7 @@ local.get $ptr local.get $value i32.wrap_i64 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -73962,18 +73863,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -73982,7 +73883,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -73999,7 +73900,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint32Array#get:length i32.gt_s @@ -74016,7 +73917,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -74028,7 +73929,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -74054,7 +73955,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -74073,7 +73974,7 @@ else i32.const 0 end - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -74104,18 +74005,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -74124,7 +74025,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -74141,7 +74042,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint32Array#get:length i32.gt_s @@ -74158,7 +74059,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -74170,7 +74071,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -74196,7 +74097,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -74204,7 +74105,7 @@ drop local.get $ptr local.get $value - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -74235,18 +74136,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -74255,7 +74156,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -74272,7 +74173,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint32Array#get:length i32.gt_s @@ -74289,7 +74190,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -74301,7 +74202,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -74327,7 +74228,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 0 drop @@ -74335,7 +74236,7 @@ drop local.get $ptr local.get $value - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -74366,18 +74267,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -74386,7 +74287,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -74403,7 +74304,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint32Array#get:length i32.gt_s @@ -74420,7 +74321,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -74432,7 +74333,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -74458,7 +74359,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -74466,7 +74367,7 @@ drop local.get $ptr local.get $value - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -74490,11 +74391,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -74503,37 +74399,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -74542,40 +74438,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -74584,31 +74480,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -74617,193 +74513,193 @@ i32.const 10 call $~lib/typedarray/Uint32Array#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource1 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Uint32Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 2 i32.const 67 i32.const 11872 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource2 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 3 call $~lib/typedarray/Uint32Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 2 i32.const 67 i32.const 11984 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 6 call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 2 i32.const 67 i32.const 12048 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> i32.const 1 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource3 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 2 call $~lib/typedarray/Uint32Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 2 i32.const 67 i32.const 12112 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 4 call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource7 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 7 call $~lib/typedarray/Uint32Array#set<~lib/array/Array> i32.const 0 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 2 i32.const 67 i32.const 12176 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -74828,18 +74724,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -74848,7 +74744,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -74865,7 +74761,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length i32.gt_s @@ -74882,7 +74778,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -74894,7 +74790,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -74920,7 +74816,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -74929,7 +74825,7 @@ local.get $ptr local.get $value i64.extend_i32_s - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -74951,12 +74847,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -74977,19 +74873,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -75008,19 +74904,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -75042,12 +74938,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Int64Array#get:length local.set $len @@ -75056,7 +74952,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -75080,7 +74976,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Int64Array#__uget @@ -75089,7 +74985,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -75099,11 +74995,6 @@ i64.ne if i32.const 12352 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -75155,18 +75046,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -75175,7 +75066,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -75192,7 +75083,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length i32.gt_s @@ -75209,7 +75100,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -75221,7 +75112,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -75247,7 +75138,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -75266,7 +75157,7 @@ else i64.const 0 end - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -75294,18 +75185,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -75314,7 +75205,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -75331,7 +75222,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int64Array#get:length i32.gt_s @@ -75348,7 +75239,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -75360,7 +75251,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -75372,7 +75263,7 @@ local.get $sourceLen i32.const 3 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -75396,18 +75287,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -75416,7 +75307,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -75433,7 +75324,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length i32.gt_s @@ -75450,7 +75341,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -75462,7 +75353,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -75488,7 +75379,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -75507,7 +75398,7 @@ else i64.const 0 end - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -75538,18 +75429,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -75558,7 +75449,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -75575,7 +75466,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length i32.gt_s @@ -75592,7 +75483,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -75604,7 +75495,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -75630,7 +75521,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -75639,7 +75530,7 @@ local.get $ptr local.get $value i64.extend_i32_u - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -75670,18 +75561,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -75690,7 +75581,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -75707,7 +75598,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length i32.gt_s @@ -75724,7 +75615,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -75736,7 +75627,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -75762,7 +75653,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 0 drop @@ -75771,7 +75662,7 @@ local.get $ptr local.get $value i64.extend_i32_s - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -75802,18 +75693,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -75822,7 +75713,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -75839,7 +75730,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length i32.gt_s @@ -75856,7 +75747,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -75868,7 +75759,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -75894,7 +75785,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -75903,7 +75794,7 @@ local.get $ptr local.get $value i64.extend_i32_s - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -75927,11 +75818,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -75940,37 +75826,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -75979,40 +75865,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -76021,31 +75907,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -76054,193 +75940,193 @@ i32.const 10 call $~lib/typedarray/Int64Array#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource1 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Int64Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 3 i32.const 68 i32.const 12240 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource2 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 3 call $~lib/typedarray/Int64Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 3 i32.const 68 i32.const 12400 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 6 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 3 i32.const 68 i32.const 12512 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> i32.const 1 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource3 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 2 call $~lib/typedarray/Int64Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 3 i32.const 68 i32.const 12624 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 4 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource7 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 7 call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 0 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 3 i32.const 68 i32.const 12736 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -76265,18 +76151,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -76285,7 +76171,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -76302,7 +76188,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint64Array#get:length i32.gt_s @@ -76319,7 +76205,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -76331,7 +76217,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -76357,7 +76243,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -76366,7 +76252,7 @@ local.get $ptr local.get $value i64.extend_i32_s - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -76388,12 +76274,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length_ local.set $1 @@ -76414,19 +76300,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -76445,19 +76331,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -76479,12 +76365,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Uint64Array#get:length local.set $len @@ -76493,7 +76379,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -76517,7 +76403,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Uint64Array#__uget @@ -76526,7 +76412,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -76536,11 +76422,6 @@ i64.ne if i32.const 12960 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -76592,18 +76473,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -76612,7 +76493,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -76629,7 +76510,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint64Array#get:length i32.gt_s @@ -76646,7 +76527,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -76658,7 +76539,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -76684,7 +76565,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -76703,7 +76584,7 @@ else i64.const 0 end - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -76731,18 +76612,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -76751,7 +76632,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -76768,7 +76649,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Uint64Array#get:length i32.gt_s @@ -76785,7 +76666,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -76797,7 +76678,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -76809,7 +76690,7 @@ local.get $sourceLen i32.const 3 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -76833,18 +76714,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -76853,7 +76734,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -76870,7 +76751,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint64Array#get:length i32.gt_s @@ -76887,7 +76768,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -76899,7 +76780,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -76925,7 +76806,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $value i32.const 0 drop @@ -76944,7 +76825,7 @@ else i64.const 0 end - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -76975,18 +76856,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -76995,7 +76876,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -77012,7 +76893,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint64Array#get:length i32.gt_s @@ -77029,7 +76910,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -77041,7 +76922,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -77067,7 +76948,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -77076,7 +76957,7 @@ local.get $ptr local.get $value i64.extend_i32_u - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -77107,18 +76988,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -77127,7 +77008,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -77144,7 +77025,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint64Array#get:length i32.gt_s @@ -77161,7 +77042,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -77173,7 +77054,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -77199,7 +77080,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 0 drop @@ -77208,7 +77089,7 @@ local.get $ptr local.get $value i64.extend_i32_s - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -77239,18 +77120,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -77259,7 +77140,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -77276,7 +77157,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint64Array#get:length i32.gt_s @@ -77293,7 +77174,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -77305,7 +77186,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -77331,7 +77212,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -77340,7 +77221,7 @@ local.get $ptr local.get $value i64.extend_i32_s - i64.store $0 + i64.store local.get $i i32.const 1 i32.add @@ -77364,11 +77245,6 @@ (local $7 i32) (local $8 i32) (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -77377,37 +77253,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -77416,40 +77292,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -77458,31 +77334,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -77491,193 +77367,193 @@ i32.const 10 call $~lib/typedarray/Uint64Array#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource1 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Uint64Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 3 i32.const 69 i32.const 12848 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource2 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 3 call $~lib/typedarray/Uint64Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 3 i32.const 69 i32.const 13008 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource4 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 6 call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 3 i32.const 69 i32.const 13120 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> i32.const 1 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource3 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 2 call $~lib/typedarray/Uint64Array#set<~lib/array/Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 3 i32.const 69 i32.const 13232 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource5 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 0 call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 local.get $setSource6 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 4 call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 global.get $std/typedarray/setSource7 - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 i32.const 7 call $~lib/typedarray/Uint64Array#set<~lib/array/Array> i32.const 0 drop local.get $a - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=4 - local.get $14 + local.get $9 + i32.store offset=4 + local.get $9 i32.const 10 i32.const 3 i32.const 69 i32.const 13344 call $~lib/rt/__newArray - local.set $14 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=20 - local.get $14 + local.get $9 + i32.store offset=20 + local.get $9 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -77702,18 +77578,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -77722,7 +77598,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -77739,7 +77615,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float32Array#get:length i32.gt_s @@ -77756,7 +77632,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -77768,7 +77644,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -77794,7 +77670,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -77803,7 +77679,7 @@ local.get $ptr local.get $value f32.convert_i32_s - f32.store $0 + f32.store local.get $i i32.const 1 i32.add @@ -77826,19 +77702,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -77857,19 +77733,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -77891,12 +77767,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Float32Array#get:length local.set $len @@ -77905,7 +77781,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -77929,7 +77805,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Float32Array#__uget @@ -77938,7 +77814,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -77948,11 +77824,6 @@ f32.ne if i32.const 13520 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -78001,18 +77872,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -78021,7 +77892,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:length local.set $sourceLen @@ -78038,7 +77909,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/typedarray/Float32Array#get:length i32.gt_s @@ -78055,7 +77926,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -78067,7 +77938,7 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=8 + i32.store offset=8 local.get $9 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -78079,7 +77950,7 @@ local.get $sourceLen i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -78103,18 +77974,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -78123,7 +77994,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -78140,7 +78011,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float32Array#get:length i32.gt_s @@ -78157,7 +78028,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -78169,7 +78040,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -78195,7 +78066,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -78204,7 +78075,7 @@ local.get $ptr local.get $value f32.convert_i64_s - f32.store $0 + f32.store local.get $i i32.const 1 i32.add @@ -78235,18 +78106,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -78255,7 +78126,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -78272,7 +78143,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float32Array#get:length i32.gt_s @@ -78289,7 +78160,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -78301,7 +78172,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -78327,7 +78198,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -78336,7 +78207,7 @@ local.get $ptr local.get $value f32.convert_i32_u - f32.store $0 + f32.store local.get $i i32.const 1 i32.add @@ -78367,18 +78238,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -78387,7 +78258,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -78404,7 +78275,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float32Array#get:length i32.gt_s @@ -78421,7 +78292,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -78433,7 +78304,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -78459,7 +78330,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 0 drop @@ -78468,7 +78339,7 @@ local.get $ptr local.get $value f32.convert_i32_s - f32.store $0 + f32.store local.get $i i32.const 1 i32.add @@ -78499,18 +78370,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -78519,7 +78390,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -78536,7 +78407,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float32Array#get:length i32.gt_s @@ -78553,7 +78424,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -78565,7 +78436,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -78591,7 +78462,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -78600,7 +78471,7 @@ local.get $ptr local.get $value f32.convert_i32_s - f32.store $0 + f32.store local.get $i i32.const 1 i32.add @@ -78623,10 +78494,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 24 i32.sub @@ -78635,37 +78502,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -78674,40 +78541,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -78716,31 +78583,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -78749,162 +78616,162 @@ i32.const 10 call $~lib/typedarray/Float32Array#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 global.get $std/typedarray/setSource1 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 0 call $~lib/typedarray/Float32Array#set<~lib/array/Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 10 i32.const 2 i32.const 62 i32.const 13456 call $~lib/rt/__newArray - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 global.get $std/typedarray/setSource2 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 3 call $~lib/typedarray/Float32Array#set<~lib/array/Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 10 i32.const 2 i32.const 62 i32.const 13568 call $~lib/rt/__newArray - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 local.get $setSource4 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 6 call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 10 i32.const 2 i32.const 62 i32.const 13632 call $~lib/rt/__newArray - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> i32.const 0 drop local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 local.get $setSource5 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 0 call $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 local.get $setSource6 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 4 call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 global.get $std/typedarray/setSource7 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 7 call $~lib/typedarray/Float32Array#set<~lib/array/Array> i32.const 0 drop local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 10 i32.const 2 i32.const 62 i32.const 13696 call $~lib/rt/__newArray - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -78929,18 +78796,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -78949,7 +78816,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -78966,7 +78833,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float64Array#get:length i32.gt_s @@ -78983,7 +78850,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -78995,7 +78862,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -79021,7 +78888,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 0 drop @@ -79030,7 +78897,7 @@ local.get $ptr local.get $value f64.convert_i32_s - f64.store $0 + f64.store local.get $i i32.const 1 i32.add @@ -79053,19 +78920,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -79084,19 +78951,19 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:dataStart local.get $index i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -79118,12 +78985,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $target local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/typedarray/Float64Array#get:length local.set $len @@ -79132,7 +78999,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/array/Array#get:length i32.eq @@ -79156,7 +79023,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/typedarray/Float64Array#__uget @@ -79165,7 +79032,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 local.get $i call $~lib/array/Array#__uget @@ -79175,11 +79042,6 @@ f64.ne if i32.const 13872 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 i32.const 3 local.get $i f64.convert_i32_s @@ -79229,18 +79091,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -79249,7 +79111,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -79266,7 +79128,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float64Array#get:length i32.gt_s @@ -79283,7 +79145,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -79295,7 +79157,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -79321,7 +79183,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 0 drop @@ -79331,7 +79193,7 @@ local.get $ptr local.get $value f64.promote_f32 - f64.store $0 + f64.store local.get $i i32.const 1 i32.add @@ -79362,18 +79224,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -79382,7 +79244,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int64Array#get:length local.set $sourceLen @@ -79399,7 +79261,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float64Array#get:length i32.gt_s @@ -79416,7 +79278,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -79428,7 +79290,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -79454,7 +79316,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $value i32.const 0 drop @@ -79463,7 +79325,7 @@ local.get $ptr local.get $value f64.convert_i64_s - f64.store $0 + f64.store local.get $i i32.const 1 i32.add @@ -79494,18 +79356,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -79514,7 +79376,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8Array#get:length local.set $sourceLen @@ -79531,7 +79393,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float64Array#get:length i32.gt_s @@ -79548,7 +79410,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -79560,7 +79422,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -79586,7 +79448,7 @@ i32.const 0 i32.shl i32.add - i32.load8_u $0 + i32.load8_u local.set $value i32.const 0 drop @@ -79595,7 +79457,7 @@ local.get $ptr local.get $value f64.convert_i32_u - f64.store $0 + f64.store local.get $i i32.const 1 i32.add @@ -79626,18 +79488,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -79646,7 +79508,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int16Array#get:length local.set $sourceLen @@ -79663,7 +79525,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float64Array#get:length i32.gt_s @@ -79680,7 +79542,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -79692,7 +79554,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -79718,7 +79580,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $value i32.const 0 drop @@ -79727,7 +79589,7 @@ local.get $ptr local.get $value f64.convert_i32_s - f64.store $0 + f64.store local.get $i i32.const 1 i32.add @@ -79758,18 +79620,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -79778,7 +79640,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:length local.set $sourceLen @@ -79795,7 +79657,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float64Array#get:length i32.gt_s @@ -79812,7 +79674,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -79824,7 +79686,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/array/Array#get:dataStart local.set $sourceStart @@ -79850,7 +79712,7 @@ i32.const 0 i32.shl i32.add - i32.load8_s $0 + i32.load8_s local.set $value i32.const 0 drop @@ -79859,7 +79721,7 @@ local.get $ptr local.get $value f64.convert_i32_s - f64.store $0 + f64.store local.get $i i32.const 1 i32.add @@ -79882,10 +79744,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 24 i32.sub @@ -79894,37 +79752,37 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 24 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $setSource4 - i32.store $0 + i32.store local.get $setSource4 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -79933,40 +79791,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=8 + i32.store offset=8 local.get $setSource5 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -79975,31 +79833,31 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=12 + i32.store offset=12 local.get $setSource6 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set @@ -80008,162 +79866,162 @@ i32.const 10 call $~lib/typedarray/Float64Array#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=16 local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 global.get $std/typedarray/setSource1 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 0 call $~lib/typedarray/Float64Array#set<~lib/array/Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 10 i32.const 3 i32.const 63 i32.const 13760 call $~lib/rt/__newArray - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 global.get $std/typedarray/setSource2 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 3 call $~lib/typedarray/Float64Array#set<~lib/array/Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 10 i32.const 3 i32.const 63 i32.const 13920 call $~lib/rt/__newArray - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 local.get $setSource4 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 6 call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 10 i32.const 3 i32.const 63 i32.const 14032 call $~lib/rt/__newArray - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> i32.const 0 drop local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 local.get $setSource5 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 0 call $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 local.get $setSource6 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 4 call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 global.get $std/typedarray/setSource7 - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 i32.const 7 call $~lib/typedarray/Float64Array#set<~lib/array/Array> i32.const 0 drop local.get $a - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=4 - local.get $12 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 10 i32.const 3 i32.const 63 i32.const 14144 call $~lib/rt/__newArray - local.set $12 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=20 - local.get $12 + local.get $8 + i32.store offset=20 + local.get $8 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -80188,18 +80046,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -80208,7 +80066,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Float32Array#get:length local.set $sourceLen @@ -80225,7 +80083,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8ClampedArray#get:length i32.gt_s @@ -80242,7 +80100,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -80254,7 +80112,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -80280,7 +80138,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $value i32.const 1 drop @@ -80302,7 +80160,7 @@ else i32.const 0 end - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -80333,18 +80191,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -80353,7 +80211,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Int32Array#get:length local.set $sourceLen @@ -80370,7 +80228,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/typedarray/Uint8ClampedArray#get:length i32.gt_s @@ -80387,7 +80245,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -80399,7 +80257,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $12 - i32.store $0 offset=8 + i32.store offset=8 local.get $12 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -80425,7 +80283,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 1 drop @@ -80452,7 +80310,7 @@ local.get $value i32.or i32.and - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -80485,18 +80343,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $this local.tee $target - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $source local.tee $source|4 - i32.store $0 offset=4 + i32.store offset=4 local.get $offset local.set $offset|5 i32.const 0 @@ -80505,7 +80363,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Uint32Array#get:length local.set $sourceLen @@ -80522,7 +80380,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/typedarray/Uint8ClampedArray#get:length i32.gt_s @@ -80539,7 +80397,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $offset|5 @@ -80551,7 +80409,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store offset=8 local.get $14 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.set $sourceStart @@ -80577,7 +80435,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $value i32.const 1 drop @@ -80595,7 +80453,7 @@ local.get $13 i32.lt_u select - i32.store8 $0 + i32.store8 local.get $i i32.const 1 i32.add @@ -80642,16 +80500,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -80661,7 +80516,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -80686,18 +80541,18 @@ br $break|0 end local.get $ptr - i32.load8_s $0 + i32.load8_s local.set $a local.get $ptr - i32.load8_s $0 offset=1 + i32.load8_s offset=1 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -80706,22 +80561,22 @@ local.get $a local.get $c select - i32.store8 $0 + i32.store8 local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i32.load8_s $0 offset=2 + i32.load8_s offset=2 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -80730,27 +80585,27 @@ local.get $a local.get $c select - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $ptr local.get $a local.get $b local.get $c select - i32.store8 $0 offset=2 + i32.store8 offset=2 end local.get $ptr - i32.load8_s $0 + i32.load8_s local.set $a|7 local.get $ptr - i32.load8_s $0 offset=1 + i32.load8_s offset=1 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -80759,15 +80614,15 @@ local.get $a|7 local.get $c|9 select - i32.store8 $0 + i32.store8 local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store8 $0 offset=1 + i32.store8 offset=1 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -80782,11 +80637,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -80829,7 +80684,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -80853,7 +80708,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -80884,7 +80739,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -80908,7 +80763,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -80943,7 +80798,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -80966,7 +80821,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -80979,7 +80834,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -80988,7 +80843,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -80999,7 +80854,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -81014,14 +80869,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -81043,7 +80898,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -81056,7 +80911,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -81065,7 +80920,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -81081,7 +80936,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -81094,26 +80949,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int8Array#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -81134,10 +80989,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -81158,19 +81013,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int8Array#sort local.set $2 @@ -81180,7 +81035,7 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>" (local $source i32) (local $result i32) (local $2 i32) @@ -81191,21 +81046,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -81214,7 +81069,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -81223,7 +81078,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 3 @@ -81233,19 +81088,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int8Array#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#__get @@ -81264,7 +81119,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get @@ -81283,7 +81138,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get @@ -81302,13 +81157,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14352 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Int8Array#sort drop @@ -81316,7 +81171,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#__get @@ -81335,7 +81190,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int8Array#__get @@ -81354,7 +81209,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int8Array#__get @@ -81408,16 +81263,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -81427,7 +81279,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -81452,18 +81304,18 @@ br $break|0 end local.get $ptr - i32.load8_u $0 + i32.load8_u local.set $a local.get $ptr - i32.load8_u $0 offset=1 + i32.load8_u offset=1 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -81472,22 +81324,22 @@ local.get $a local.get $c select - i32.store8 $0 + i32.store8 local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i32.load8_u $0 offset=2 + i32.load8_u offset=2 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -81496,27 +81348,27 @@ local.get $a local.get $c select - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $ptr local.get $a local.get $b local.get $c select - i32.store8 $0 offset=2 + i32.store8 offset=2 end local.get $ptr - i32.load8_u $0 + i32.load8_u local.set $a|7 local.get $ptr - i32.load8_u $0 offset=1 + i32.load8_u offset=1 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -81525,15 +81377,15 @@ local.get $a|7 local.get $c|9 select - i32.store8 $0 + i32.store8 local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store8 $0 offset=1 + i32.store8 offset=1 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -81548,11 +81400,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -81595,7 +81447,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -81619,7 +81471,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -81650,7 +81502,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -81674,7 +81526,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -81709,7 +81561,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -81732,7 +81584,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -81745,7 +81597,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -81754,7 +81606,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -81765,7 +81617,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -81780,14 +81632,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -81809,7 +81661,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -81822,7 +81674,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -81831,7 +81683,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -81847,7 +81699,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -81860,26 +81712,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint8Array#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -81900,10 +81752,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -81922,19 +81774,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint8Array#sort local.set $2 @@ -81944,7 +81796,7 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>" (local $source i32) (local $result i32) (local $2 i32) @@ -81955,21 +81807,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -81978,7 +81830,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -81987,7 +81839,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 3 @@ -81997,19 +81849,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Uint8Array#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -82028,7 +81880,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get @@ -82047,7 +81899,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get @@ -82066,13 +81918,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14416 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Uint8Array#sort drop @@ -82080,7 +81932,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -82099,7 +81951,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint8Array#__get @@ -82118,7 +81970,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint8Array#__get @@ -82147,26 +81999,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint8ClampedArray#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -82187,10 +82039,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -82209,19 +82061,19 @@ br $~lib/util/sort/COMPARATOR|inlined.1 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint8ClampedArray#sort local.set $2 @@ -82231,7 +82083,7 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>" (local $source i32) (local $result i32) (local $2 i32) @@ -82242,21 +82094,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -82265,7 +82117,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -82274,7 +82126,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 3 @@ -82284,19 +82136,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Uint8ClampedArray#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get @@ -82315,7 +82167,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get @@ -82334,7 +82186,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get @@ -82353,13 +82205,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14480 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Uint8ClampedArray#sort drop @@ -82367,7 +82219,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get @@ -82386,7 +82238,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get @@ -82405,7 +82257,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get @@ -82459,16 +82311,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -82478,7 +82327,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -82503,18 +82352,18 @@ br $break|0 end local.get $ptr - i32.load16_s $0 + i32.load16_s local.set $a local.get $ptr - i32.load16_s $0 offset=2 + i32.load16_s offset=2 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -82523,22 +82372,22 @@ local.get $a local.get $c select - i32.store16 $0 + i32.store16 local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i32.load16_s $0 offset=4 + i32.load16_s offset=4 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -82547,27 +82396,27 @@ local.get $a local.get $c select - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $ptr local.get $a local.get $b local.get $c select - i32.store16 $0 offset=4 + i32.store16 offset=4 end local.get $ptr - i32.load16_s $0 + i32.load16_s local.set $a|7 local.get $ptr - i32.load16_s $0 offset=2 + i32.load16_s offset=2 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -82576,15 +82425,15 @@ local.get $a|7 local.get $c|9 select - i32.store16 $0 + i32.store16 local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store16 $0 offset=2 + i32.store16 offset=2 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -82599,11 +82448,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -82646,7 +82495,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -82670,7 +82519,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -82701,7 +82550,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -82725,7 +82574,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -82760,7 +82609,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -82783,7 +82632,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -82796,7 +82645,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -82805,7 +82654,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -82816,7 +82665,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -82831,14 +82680,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -82860,7 +82709,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -82873,7 +82722,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -82882,7 +82731,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -82898,7 +82747,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -82911,26 +82760,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int16Array#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -82951,10 +82800,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -82975,19 +82824,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int16Array#sort local.set $2 @@ -82997,7 +82846,7 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>" (local $source i32) (local $result i32) (local $2 i32) @@ -83008,21 +82857,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -83031,7 +82880,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -83040,7 +82889,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 3 @@ -83050,19 +82899,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int16Array#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int16Array#__get @@ -83081,7 +82930,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get @@ -83100,7 +82949,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get @@ -83119,13 +82968,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14544 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Int16Array#sort drop @@ -83133,7 +82982,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int16Array#__get @@ -83152,7 +83001,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int16Array#__get @@ -83171,7 +83020,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int16Array#__get @@ -83225,16 +83074,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -83244,7 +83090,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -83269,18 +83115,18 @@ br $break|0 end local.get $ptr - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -83289,22 +83135,22 @@ local.get $a local.get $c select - i32.store16 $0 + i32.store16 local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i32.load16_u $0 offset=4 + i32.load16_u offset=4 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -83313,27 +83159,27 @@ local.get $a local.get $c select - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $ptr local.get $a local.get $b local.get $c select - i32.store16 $0 offset=4 + i32.store16 offset=4 end local.get $ptr - i32.load16_u $0 + i32.load16_u local.set $a|7 local.get $ptr - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -83342,15 +83188,15 @@ local.get $a|7 local.get $c|9 select - i32.store16 $0 + i32.store16 local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store16 $0 offset=2 + i32.store16 offset=2 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -83365,11 +83211,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -83412,7 +83258,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -83436,7 +83282,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -83467,7 +83313,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -83491,7 +83337,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -83526,7 +83372,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -83549,7 +83395,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -83562,7 +83408,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -83571,7 +83417,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -83582,7 +83428,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -83597,14 +83443,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -83626,7 +83472,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -83639,7 +83485,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -83648,7 +83494,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -83664,7 +83510,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -83677,26 +83523,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint16Array#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -83717,10 +83563,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -83739,19 +83585,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint16Array#sort local.set $2 @@ -83761,7 +83607,7 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>" (local $source i32) (local $result i32) (local $2 i32) @@ -83772,21 +83618,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -83795,7 +83641,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -83804,7 +83650,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 3 @@ -83814,19 +83660,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Uint16Array#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint16Array#__get @@ -83845,7 +83691,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get @@ -83864,7 +83710,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get @@ -83883,13 +83729,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14608 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Uint16Array#sort drop @@ -83897,7 +83743,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint16Array#__get @@ -83916,7 +83762,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint16Array#__get @@ -83935,7 +83781,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint16Array#__get @@ -83989,16 +83835,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -84008,7 +83851,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -84033,18 +83876,18 @@ br $break|0 end local.get $ptr - i32.load $0 + i32.load local.set $a local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -84053,22 +83896,22 @@ local.get $a local.get $c select - i32.store $0 + i32.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i32.load $0 offset=8 + i32.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -84077,27 +83920,27 @@ local.get $a local.get $c select - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - i32.store $0 offset=8 + i32.store offset=8 end local.get $ptr - i32.load $0 + i32.load local.set $a|7 local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -84106,15 +83949,15 @@ local.get $a|7 local.get $c|9 select - i32.store $0 + i32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -84129,11 +83972,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -84176,7 +84019,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -84200,7 +84043,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -84231,7 +84074,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -84255,7 +84098,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -84290,7 +84133,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -84313,7 +84156,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -84326,7 +84169,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -84335,7 +84178,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -84346,7 +84189,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -84361,14 +84204,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -84390,7 +84233,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -84403,7 +84246,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -84412,7 +84255,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -84428,7 +84271,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -84441,26 +84284,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int32Array#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -84481,10 +84324,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -84505,19 +84348,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int32Array#sort local.set $2 @@ -84527,7 +84370,7 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>" (local $source i32) (local $result i32) (local $2 i32) @@ -84538,21 +84381,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -84561,7 +84404,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -84570,7 +84413,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 3 @@ -84580,19 +84423,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int32Array#__get @@ -84611,7 +84454,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get @@ -84630,7 +84473,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get @@ -84649,13 +84492,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14672 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Int32Array#sort drop @@ -84663,7 +84506,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int32Array#__get @@ -84682,7 +84525,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int32Array#__get @@ -84701,7 +84544,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int32Array#__get @@ -84755,16 +84598,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -84774,7 +84614,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -84799,18 +84639,18 @@ br $break|0 end local.get $ptr - i32.load $0 + i32.load local.set $a local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -84819,22 +84659,22 @@ local.get $a local.get $c select - i32.store $0 + i32.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i32.load $0 offset=8 + i32.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c @@ -84843,27 +84683,27 @@ local.get $a local.get $c select - i32.store $0 offset=4 + i32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - i32.store $0 offset=8 + i32.store offset=8 end local.get $ptr - i32.load $0 + i32.load local.set $a|7 local.get $ptr - i32.load $0 offset=4 + i32.load offset=4 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.set $c|9 @@ -84872,15 +84712,15 @@ local.get $a|7 local.get $c|9 select - i32.store $0 + i32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -84895,11 +84735,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -84942,7 +84782,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -84966,7 +84806,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -84997,7 +84837,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -85021,7 +84861,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -85056,7 +84896,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -85079,7 +84919,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -85092,7 +84932,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -85101,7 +84941,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -85112,7 +84952,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -85127,14 +84967,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -85156,7 +84996,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -85169,7 +85009,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -85178,7 +85018,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -85194,7 +85034,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -85207,26 +85047,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint32Array#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -85247,10 +85087,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -85269,19 +85109,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint32Array#sort local.set $2 @@ -85291,7 +85131,7 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>" (local $source i32) (local $result i32) (local $2 i32) @@ -85302,21 +85142,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i32.const 1 @@ -85325,7 +85165,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i32.const 2 @@ -85334,7 +85174,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i32.const 3 @@ -85344,19 +85184,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Uint32Array#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint32Array#__get @@ -85375,7 +85215,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get @@ -85394,7 +85234,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get @@ -85413,13 +85253,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14736 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Uint32Array#sort drop @@ -85427,7 +85267,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint32Array#__get @@ -85446,7 +85286,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint32Array#__get @@ -85465,7 +85305,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint32Array#__get @@ -85519,16 +85359,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -85538,7 +85375,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -85563,18 +85400,18 @@ br $break|0 end local.get $ptr - i64.load $0 + i64.load local.set $a local.get $ptr - i64.load $0 offset=8 + i64.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s local.set $c @@ -85583,22 +85420,22 @@ local.get $a local.get $c select - i64.store $0 + i64.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i64.load $0 offset=16 + i64.load offset=16 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s local.set $c @@ -85607,27 +85444,27 @@ local.get $a local.get $c select - i64.store $0 offset=8 + i64.store offset=8 local.get $ptr local.get $a local.get $b local.get $c select - i64.store $0 offset=16 + i64.store offset=16 end local.get $ptr - i64.load $0 + i64.load local.set $a|7 local.get $ptr - i64.load $0 offset=8 + i64.load offset=8 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s local.set $c|9 @@ -85636,15 +85473,15 @@ local.get $a|7 local.get $c|9 select - i64.store $0 + i64.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -85659,11 +85496,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -85706,7 +85543,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -85730,7 +85567,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -85761,7 +85598,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -85785,7 +85622,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -85820,7 +85657,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -85843,7 +85680,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -85856,7 +85693,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -85865,7 +85702,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -85876,7 +85713,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -85891,14 +85728,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -85920,7 +85757,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -85933,7 +85770,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -85942,7 +85779,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -85958,7 +85795,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -85971,26 +85808,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Int64Array#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -86011,10 +85848,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -86035,19 +85872,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Int64Array#sort local.set $2 @@ -86057,7 +85894,7 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>" (local $source i32) (local $result i32) (local $2 i32) @@ -86068,21 +85905,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i64.const 1 @@ -86091,7 +85928,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i64.const 2 @@ -86100,7 +85937,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 3 @@ -86110,19 +85947,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int64Array#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int64Array#__get @@ -86141,7 +85978,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get @@ -86160,7 +85997,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get @@ -86179,13 +86016,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14800 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Int64Array#sort drop @@ -86193,7 +86030,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Int64Array#__get @@ -86212,7 +86049,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Int64Array#__get @@ -86231,7 +86068,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Int64Array#__get @@ -86285,16 +86122,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -86304,7 +86138,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -86329,18 +86163,18 @@ br $break|0 end local.get $ptr - i64.load $0 + i64.load local.set $a local.get $ptr - i64.load $0 offset=8 + i64.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s local.set $c @@ -86349,22 +86183,22 @@ local.get $a local.get $c select - i64.store $0 + i64.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - i64.load $0 offset=16 + i64.load offset=16 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s local.set $c @@ -86373,27 +86207,27 @@ local.get $a local.get $c select - i64.store $0 offset=8 + i64.store offset=8 local.get $ptr local.get $a local.get $b local.get $c select - i64.store $0 offset=16 + i64.store offset=16 end local.get $ptr - i64.load $0 + i64.load local.set $a|7 local.get $ptr - i64.load $0 offset=8 + i64.load offset=8 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $8) i32.const 0 i32.gt_s local.set $c|9 @@ -86402,15 +86236,15 @@ local.get $a|7 local.get $c|9 select - i64.store $0 + i64.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -86425,11 +86259,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -86472,7 +86306,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -86496,7 +86330,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -86527,7 +86361,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -86551,7 +86385,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -86586,7 +86420,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -86609,7 +86443,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -86622,7 +86456,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -86631,7 +86465,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -86642,7 +86476,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -86657,14 +86491,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -86686,7 +86520,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -86699,7 +86533,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -86708,7 +86542,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -86724,7 +86558,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -86737,26 +86571,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Uint64Array#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -86777,10 +86611,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -86799,19 +86633,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Uint64Array#sort local.set $2 @@ -86821,7 +86655,7 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>" (local $source i32) (local $result i32) (local $2 i32) @@ -86832,21 +86666,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 i64.const 1 @@ -86855,7 +86689,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 i64.const 2 @@ -86864,7 +86698,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 i64.const 3 @@ -86874,19 +86708,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Uint64Array#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint64Array#__get @@ -86905,7 +86739,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get @@ -86924,7 +86758,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get @@ -86943,13 +86777,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14864 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Uint64Array#sort drop @@ -86957,7 +86791,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Uint64Array#__get @@ -86976,7 +86810,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Uint64Array#__get @@ -86995,7 +86829,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Uint64Array#__get @@ -87049,16 +86883,13 @@ (local $start|33 i32) (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store local.get $len i32.const 48 i32.le_s @@ -87068,7 +86899,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -87093,18 +86924,18 @@ br $break|0 end local.get $ptr - f32.load $0 + f32.load local.set $a local.get $ptr - f32.load $0 offset=4 + f32.load offset=4 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $13) i32.const 0 i32.gt_s local.set $c @@ -87113,22 +86944,22 @@ local.get $a local.get $c select - f32.store $0 + f32.store local.get $a local.get $b local.get $c select local.set $a local.get $ptr - f32.load $0 offset=8 + f32.load offset=8 local.set $b local.get $a local.get $b i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $13) i32.const 0 i32.gt_s local.set $c @@ -87137,27 +86968,27 @@ local.get $a local.get $c select - f32.store $0 offset=4 + f32.store offset=4 local.get $ptr local.get $a local.get $b local.get $c select - f32.store $0 offset=8 + f32.store offset=8 end local.get $ptr - f32.load $0 + f32.load local.set $a|7 local.get $ptr - f32.load $0 offset=4 + f32.load offset=4 local.set $b|8 local.get $a|7 local.get $b|8 i32.const 2 global.set $~argumentsLength local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $13) i32.const 0 i32.gt_s local.set $c|9 @@ -87166,15 +86997,15 @@ local.get $a|7 local.get $c|9 select - f32.store $0 + f32.store local.get $ptr local.get $a|7 local.get $b|8 local.get $c|9 select - f32.store $0 offset=4 + f32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -87189,11 +87020,11 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -87236,7 +87067,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $i i32.const 1 i32.add @@ -87260,7 +87091,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endA @@ -87291,7 +87122,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -87315,7 +87146,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=4 + i32.store local.get $34 call $~lib/util/sort/extendRunRight local.set $endB @@ -87350,7 +87181,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 + i32.store local.get $34 call $~lib/util/sort/insertionSort end @@ -87373,7 +87204,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start local.get $start i32.const -1 @@ -87386,7 +87217,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $endA @@ -87395,7 +87226,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns local.get $start @@ -87406,7 +87237,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store end local.get $i|30 i32.const 1 @@ -87421,14 +87252,14 @@ i32.shl i32.add local.get $startA - i32.store $0 + i32.store local.get $leftRunEndBuf local.get $k i32.const 2 i32.shl i32.add local.get $endA - i32.store $0 + i32.store local.get $startB local.set $startA local.get $endB @@ -87450,7 +87281,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $start|33 local.get $start|33 i32.const -1 @@ -87463,7 +87294,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.get $hi @@ -87472,7 +87303,7 @@ local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=8 + i32.store local.get $34 call $~lib/util/sort/mergeRuns end @@ -87488,7 +87319,7 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -87501,26 +87332,26 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/typedarray/Float32Array#get:length local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/sort/SORT local.get $this @@ -87541,10 +87372,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -87567,19 +87398,19 @@ br $~lib/util/sort/COMPARATOR|inlined.0 end local.tee $comparator - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 call $~lib/typedarray/Float32Array#sort local.set $2 @@ -87589,7 +87420,7 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>" (local $source i32) (local $result i32) (local $2 i32) @@ -87600,21 +87431,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 f32.const 1 @@ -87623,7 +87454,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 f32.const 2 @@ -87632,7 +87463,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f32.const 3 @@ -87642,19 +87473,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Float32Array#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -87673,7 +87504,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get @@ -87692,7 +87523,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get @@ -87711,13 +87542,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14928 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Float32Array#sort drop @@ -87725,7 +87556,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -87744,7 +87575,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Float32Array#__get @@ -87763,7 +87594,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Float32Array#__get @@ -87783,7 +87614,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>" (local $source i32) (local $result i32) (local $2 i32) @@ -87794,21 +87625,21 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $source - i32.store $0 + i32.store local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 f64.const 1 @@ -87817,7 +87648,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 f64.const 2 @@ -87826,7 +87657,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 f64.const 3 @@ -87836,19 +87667,19 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Float64Array#sort@varargs local.tee $result - i32.store $0 offset=8 + i32.store offset=8 local.get $result local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Float64Array#__get @@ -87867,7 +87698,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Float64Array#__get @@ -87886,7 +87717,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Float64Array#__get @@ -87905,13 +87736,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 14960 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 call $~lib/typedarray/Float64Array#sort drop @@ -87919,7 +87750,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 0 call $~lib/typedarray/Float64Array#__get @@ -87938,7 +87769,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 1 call $~lib/typedarray/Float64Array#__get @@ -87957,7 +87788,7 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 2 call $~lib/typedarray/Float64Array#__get @@ -88043,42 +87874,6 @@ (local $62 i32) (local $63 i32) (local $64 i32) - (local $65 i32) - (local $66 i32) - (local $67 i32) - (local $68 i32) - (local $69 i32) - (local $70 i32) - (local $71 i32) - (local $72 i32) - (local $73 i32) - (local $74 i32) - (local $75 i32) - (local $76 i32) - (local $77 i32) - (local $78 i32) - (local $79 i32) - (local $80 i32) - (local $81 i32) - (local $82 i32) - (local $83 i32) - (local $84 i32) - (local $85 i32) - (local $86 i32) - (local $87 i32) - (local $88 i32) - (local $89 i32) - (local $90 i32) - (local $91 i32) - (local $92 i32) - (local $93 i32) - (local $94 i32) - (local $95 i32) - (local $96 i32) - (local $97 i32) - (local $98 i32) - (local $99 i32) - (local $100 i32) global.get $~lib/memory/__stack_pointer i32.const 124 i32.sub @@ -88087,7 +87882,7 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 124 - memory.fill $0 + memory.fill global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT i32.const 1 i32.eq @@ -88132,7 +87927,7 @@ i32.const 8 i32.eq drop - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -88158,40 +87953,40 @@ i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.store $0 + i32.store local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int32Array#get:length i32.const 3 i32.eq @@ -88205,11 +88000,11 @@ unreachable end local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -88223,11 +88018,11 @@ unreachable end local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 i32.const 4 @@ -88243,11 +88038,11 @@ unreachable end local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 1 @@ -88262,11 +88057,11 @@ unreachable end local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 2 @@ -88281,11 +88076,11 @@ unreachable end local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 3 @@ -88301,22 +88096,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#subarray local.tee $0 - i32.store $0 + i32.store local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int32Array#get:length i32.const 1 i32.eq @@ -88330,11 +88125,11 @@ unreachable end local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 1 i32.const 4 @@ -88350,11 +88145,11 @@ unreachable end local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 1 i32.const 4 @@ -88370,11 +88165,11 @@ unreachable end local.get $0 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 2 @@ -88393,97 +88188,97 @@ i32.const 8 call $~lib/typedarray/Float64Array#constructor local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 f64.const 7 call $~lib/typedarray/Float64Array#__set local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 f64.const 6 call $~lib/typedarray/Float64Array#__set local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 4 f64.const 5 call $~lib/typedarray/Float64Array#__set local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 f64.const 4 call $~lib/typedarray/Float64Array#__set local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 6 f64.const 3 call $~lib/typedarray/Float64Array#__set local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 7 f64.const 8 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 6 call $~lib/typedarray/Float64Array#subarray local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Float64Array#get:length i32.const 4 i32.eq @@ -88497,11 +88292,11 @@ unreachable end local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 2 i32.const 8 @@ -88517,11 +88312,11 @@ unreachable end local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 4 i32.const 8 @@ -88537,33 +88332,33 @@ unreachable end local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Float64Array#sort@varargs drop local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 call $~lib/typedarray/Float64Array#__get f64.const 4 f64.eq if (result i32) local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 5 @@ -88573,11 +88368,11 @@ end if (result i32) local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 6 @@ -88587,11 +88382,11 @@ end if (result i32) local.get $1 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 call $~lib/typedarray/Float64Array#__get f64.const 7 @@ -88613,40 +88408,40 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const -32 call $~lib/typedarray/Uint8ClampedArray#__set local.get $2 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set local.get $2 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 256 call $~lib/typedarray/Uint8ClampedArray#__set local.get $2 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 0 @@ -88661,11 +88456,11 @@ unreachable end local.get $2 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 2 @@ -88680,11 +88475,11 @@ unreachable end local.get $2 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 255 @@ -88703,79 +88498,79 @@ i32.const 5 call $~lib/typedarray/Int8Array#constructor local.tee $3 - i32.store $0 offset=16 + i32.store offset=16 local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 4 i32.const 5 call $~lib/typedarray/Int8Array#__set local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 1 i32.const 3 call $~lib/typedarray/Int8Array#fill drop local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 0 i32.const 16 i32.const 704 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -88787,11 +88582,11 @@ unreachable end local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 0 i32.const 1 @@ -88800,21 +88595,21 @@ call $~lib/typedarray/Int8Array#fill@varargs drop local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 0 i32.const 16 i32.const 784 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -88826,32 +88621,32 @@ unreachable end local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 0 i32.const -3 call $~lib/typedarray/Int8Array#fill drop local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 0 i32.const 16 i32.const 816 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -88863,11 +88658,11 @@ unreachable end local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const -2 i32.const 2 @@ -88876,21 +88671,21 @@ call $~lib/typedarray/Int8Array#fill@varargs drop local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 0 i32.const 16 i32.const 848 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -88902,32 +88697,32 @@ unreachable end local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 i32.const 0 call $~lib/typedarray/Int8Array#fill drop local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 0 i32.const 16 i32.const 880 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -88940,22 +88735,22 @@ end global.get $~lib/memory/__stack_pointer local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#subarray - local.tee $14 - i32.store $0 offset=24 - local.get $14 - local.set $100 + local.tee $9 + i32.store offset=24 + local.get $9 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 0 i32.const 1 @@ -88963,12 +88758,12 @@ i32.const 0 call $~lib/typedarray/Int8Array#fill@varargs drop - local.get $14 - local.set $100 + local.get $9 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int8Array#get:length i32.const 3 i32.eq @@ -88981,12 +88776,12 @@ call $~lib/builtins/abort unreachable end - local.get $14 - local.set $100 + local.get $9 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 1 i32.eq @@ -88999,12 +88794,12 @@ call $~lib/builtins/abort unreachable end - local.get $14 - local.set $100 + local.get $9 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 i32.eq @@ -89017,22 +88812,22 @@ call $~lib/builtins/abort unreachable end - local.get $14 - local.set $100 + local.get $9 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 i32.const 0 i32.const 16 i32.const 912 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -89044,21 +88839,21 @@ unreachable end local.get $3 - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 0 i32.const 16 i32.const 944 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt8ArrayEqual i32.eqz if @@ -89073,80 +88868,80 @@ i32.const 0 i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $19 - i32.store $0 offset=28 - local.get $19 - local.set $100 + local.tee $12 + i32.store offset=28 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 1 i32.const 3 call $~lib/typedarray/Int32Array#fill drop - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 976 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -89157,12 +88952,12 @@ call $~lib/builtins/abort unreachable end - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 0 i32.const 1 @@ -89170,22 +88965,22 @@ i32.const 0 call $~lib/typedarray/Int32Array#fill@varargs drop - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1024 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -89196,33 +88991,33 @@ call $~lib/builtins/abort unreachable end - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 0 i32.const -3 call $~lib/typedarray/Int32Array#fill drop - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1072 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -89233,12 +89028,12 @@ call $~lib/builtins/abort unreachable end - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const -2 i32.const 2 @@ -89246,22 +89041,22 @@ i32.const 0 call $~lib/typedarray/Int32Array#fill@varargs drop - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1120 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -89272,33 +89067,33 @@ call $~lib/builtins/abort unreachable end - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 i32.const 0 call $~lib/typedarray/Int32Array#fill drop - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1168 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -89310,23 +89105,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#subarray - local.tee $30 - i32.store $0 offset=32 - local.get $30 - local.set $100 + local.tee $18 + i32.store offset=32 + local.get $18 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 0 i32.const 1 @@ -89334,12 +89129,12 @@ i32.const 0 call $~lib/typedarray/Int32Array#fill@varargs drop - local.get $30 - local.set $100 + local.get $18 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int32Array#get:length i32.const 3 i32.eq @@ -89352,12 +89147,12 @@ call $~lib/builtins/abort unreachable end - local.get $30 - local.set $100 + local.get $18 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 1 i32.const 4 @@ -89372,12 +89167,12 @@ call $~lib/builtins/abort unreachable end - local.get $30 - local.set $100 + local.get $18 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 i32.const 4 @@ -89392,22 +89187,22 @@ call $~lib/builtins/abort unreachable end - local.get $30 - local.set $100 + local.get $18 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 i32.const 2 i32.const 17 i32.const 1216 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -89418,22 +89213,22 @@ call $~lib/builtins/abort unreachable end - local.get $19 - local.set $100 + local.get $12 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1248 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -89448,80 +89243,80 @@ i32.const 0 i32.const 6 call $~lib/typedarray/Int8Array#constructor - local.tee $35 - i32.store $0 offset=36 - local.get $35 - local.set $100 + local.tee $21 + i32.store offset=36 + local.get $21 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set - local.get $35 - local.set $100 + local.get $21 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set - local.get $35 - local.set $100 + local.get $21 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set - local.get $35 - local.set $100 + local.get $21 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set - local.get $35 - local.set $100 + local.get $21 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 4 i32.const 5 call $~lib/typedarray/Int8Array#__set - local.get $35 - local.set $100 + local.get $21 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 6 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $35 - local.set $100 + local.get $21 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 6 call $~lib/typedarray/Int8Array#subarray - local.tee $36 - i32.store $0 offset=40 - local.get $36 - local.set $100 + local.tee $22 + i32.store offset=40 + local.get $22 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 2 @@ -89535,12 +89330,12 @@ call $~lib/builtins/abort unreachable end - local.get $36 - local.set $100 + local.get $22 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int8Array#get:length i32.const 5 i32.eq @@ -89553,12 +89348,12 @@ call $~lib/builtins/abort unreachable end - local.get $36 - local.set $100 + local.get $22 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 1 i32.eq @@ -89571,12 +89366,12 @@ call $~lib/builtins/abort unreachable end - local.get $36 - local.set $100 + local.get $22 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 5 i32.eq @@ -89590,23 +89385,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $36 - local.set $100 + local.get $22 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 5 call $~lib/typedarray/Int8Array#subarray - local.tee $37 - i32.store $0 offset=44 - local.get $37 - local.set $100 + local.tee $23 + i32.store offset=44 + local.get $23 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 3 @@ -89620,12 +89415,12 @@ call $~lib/builtins/abort unreachable end - local.get $37 - local.set $100 + local.get $23 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int8Array#get:length i32.const 4 i32.eq @@ -89638,12 +89433,12 @@ call $~lib/builtins/abort unreachable end - local.get $37 - local.set $100 + local.get $23 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 2 i32.eq @@ -89656,12 +89451,12 @@ call $~lib/builtins/abort unreachable end - local.get $37 - local.set $100 + local.get $23 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 4 i32.eq @@ -89675,23 +89470,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $37 - local.set $100 + local.get $23 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#subarray - local.tee $38 - i32.store $0 offset=48 - local.get $38 - local.set $100 + local.tee $24 + i32.store offset=48 + local.get $24 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 4 @@ -89705,12 +89500,12 @@ call $~lib/builtins/abort unreachable end - local.get $38 - local.set $100 + local.get $24 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int8Array#get:length i32.const 3 i32.eq @@ -89723,12 +89518,12 @@ call $~lib/builtins/abort unreachable end - local.get $38 - local.set $100 + local.get $24 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 3 i32.eq @@ -89741,12 +89536,12 @@ call $~lib/builtins/abort unreachable end - local.get $38 - local.set $100 + local.get $24 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 i32.eq @@ -89763,94 +89558,94 @@ i32.const 0 i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $39 - local.set $100 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $39 - local.set $100 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $39 - local.set $100 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $39 - local.set $100 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $39 - local.set $100 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $40 - i32.store $0 offset=56 - local.get $39 - local.set $100 + local.tee $26 + i32.store offset=56 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.get $64 + i32.store offset=60 + local.get $64 i32.const 0 i32.const 3 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1296 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -89862,46 +89657,46 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.get $64 + i32.store offset=60 + local.get $64 i32.const 1 i32.const 3 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1344 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -89913,46 +89708,46 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.get $64 + i32.store offset=60 + local.get $64 i32.const 1 i32.const 2 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1392 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -89964,46 +89759,46 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.get $64 + i32.store offset=60 + local.get $64 i32.const 2 i32.const 2 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1440 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -90015,44 +89810,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.get $64 + i32.store offset=60 + local.get $64 i32.const 0 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1488 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -90064,44 +89859,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.get $64 + i32.store offset=60 + local.get $64 i32.const 1 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1536 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -90113,44 +89908,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.get $64 + i32.store offset=60 + local.get $64 i32.const 1 i32.const 2 i32.const 4 call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1584 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -90162,46 +89957,46 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.get $64 + i32.store offset=60 + local.get $64 i32.const 0 i32.const -2 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1632 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -90213,44 +90008,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.get $64 + i32.store offset=60 + local.get $64 i32.const 0 i32.const -2 i32.const -1 call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1680 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -90262,44 +90057,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 + global.get $~lib/memory/__stack_pointer + local.get $64 + i32.store offset=60 + local.get $64 i32.const -4 i32.const -3 i32.const -2 call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1728 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -90311,44 +90106,44 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 + global.get $~lib/memory/__stack_pointer + local.get $64 + i32.store offset=60 + local.get $64 i32.const -4 i32.const -3 i32.const -1 call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1776 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -90360,46 +90155,46 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - local.set $100 + local.get $26 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=52 - local.get $39 - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=60 - local.get $100 + local.tee $25 + i32.store offset=52 + local.get $25 + local.set $64 + global.get $~lib/memory/__stack_pointer + local.get $64 + i32.store offset=60 + local.get $64 i32.const -4 i32.const -3 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 5 i32.const 2 i32.const 17 i32.const 1824 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/isInt32ArrayEqual i32.eqz if @@ -90414,71 +90209,71 @@ i32.const 0 i32.const 5 call $~lib/typedarray/Int32Array#constructor - local.tee $65 - i32.store $0 offset=64 - local.get $65 - local.set $100 + local.tee $39 + i32.store offset=64 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set - local.get $65 - local.set $100 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set - local.get $65 - local.set $100 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set - local.get $65 - local.set $100 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set - local.get $65 - local.set $100 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $65 - local.set $100 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#subarray - local.tee $66 - i32.store $0 offset=68 - local.get $66 - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.tee $40 + i32.store offset=68 + local.get $40 + local.set $64 + global.get $~lib/memory/__stack_pointer + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int32Array#get:length i32.const 3 i32.eq @@ -90491,12 +90286,12 @@ call $~lib/builtins/abort unreachable end - local.get $66 - local.set $100 + local.get $40 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 4 i32.eq @@ -90509,12 +90304,12 @@ call $~lib/builtins/abort unreachable end - local.get $66 - local.set $100 + local.get $40 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 12 i32.eq @@ -90528,23 +90323,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $65 - local.set $100 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 3 call $~lib/typedarray/Int32Array#slice - local.tee $67 - i32.store $0 offset=72 - local.get $67 - local.set $100 + local.tee $41 + i32.store offset=72 + local.get $41 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 2 @@ -90558,12 +90353,12 @@ call $~lib/builtins/abort unreachable end - local.get $67 - local.set $100 + local.get $41 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 3 @@ -90577,12 +90372,12 @@ call $~lib/builtins/abort unreachable end - local.get $67 - local.set $100 + local.get $41 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int32Array#get:length i32.const 2 i32.eq @@ -90595,12 +90390,12 @@ call $~lib/builtins/abort unreachable end - local.get $67 - local.set $100 + local.get $41 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -90613,12 +90408,12 @@ call $~lib/builtins/abort unreachable end - local.get $67 - local.set $100 + local.get $41 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 8 i32.eq @@ -90632,23 +90427,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $66 - local.set $100 + local.get $40 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#slice - local.tee $68 - i32.store $0 offset=76 - local.get $68 - local.set $100 + local.tee $42 + i32.store offset=76 + local.get $42 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 3 @@ -90662,12 +90457,12 @@ call $~lib/builtins/abort unreachable end - local.get $68 - local.set $100 + local.get $42 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int32Array#get:length i32.const 1 i32.eq @@ -90680,12 +90475,12 @@ call $~lib/builtins/abort unreachable end - local.get $68 - local.set $100 + local.get $42 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq @@ -90698,12 +90493,12 @@ call $~lib/builtins/abort unreachable end - local.get $68 - local.set $100 + local.get $42 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 4 i32.eq @@ -90717,21 +90512,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $65 - local.set $100 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Int32Array#slice@varargs - local.tee $69 - i32.store $0 offset=80 - local.get $69 - local.get $65 + local.tee $43 + i32.store offset=80 + local.get $43 + local.get $39 i32.ne i32.eqz if @@ -90742,19 +90537,19 @@ call $~lib/builtins/abort unreachable end - local.get $69 - local.set $100 + local.get $43 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int32Array#get:length - local.get $65 - local.set $100 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Int32Array#get:length i32.eq i32.eqz @@ -90766,19 +90561,19 @@ call $~lib/builtins/abort unreachable end - local.get $69 - local.set $100 + local.get $43 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $65 - local.set $100 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.eq i32.eqz @@ -90790,19 +90585,19 @@ call $~lib/builtins/abort unreachable end - local.get $69 - local.set $100 + local.get $43 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $65 - local.set $100 + local.get $39 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.eq i32.eqz @@ -90814,159 +90609,159 @@ call $~lib/builtins/abort unreachable end - call $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> + call $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testAt<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testAt<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testAt<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testAt<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testAt<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testAt<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testAt<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testAt<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testAt<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testAt<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64>" global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 1 call $~lib/typedarray/Float64Array#constructor - local.tee $76 - i32.store $0 offset=84 - local.get $76 - local.set $100 + local.tee $47 + i32.store offset=84 + local.get $47 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 f64.const nan:0x8000000000000 call $~lib/typedarray/Float64Array#__set - local.get $76 - local.set $100 + local.get $47 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 f64.const nan:0x8000000000000 i32.const 0 call $~lib/typedarray/Float64Array#indexOf @@ -90981,12 +90776,12 @@ call $~lib/builtins/abort unreachable end - local.get $76 - local.set $100 + local.get $47 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 f64.const nan:0x8000000000000 i32.const 0 call $~lib/typedarray/Float64Array#includes @@ -91007,23 +90802,23 @@ i32.const 0 i32.const 1 call $~lib/typedarray/Float32Array#constructor - local.tee $77 - i32.store $0 offset=88 - local.get $77 - local.set $100 + local.tee $48 + i32.store offset=88 + local.get $48 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 f32.const nan:0x400000 call $~lib/typedarray/Float32Array#__set - local.get $77 - local.set $100 + local.get $48 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 f32.const nan:0x400000 i32.const 0 call $~lib/typedarray/Float32Array#indexOf @@ -91038,12 +90833,12 @@ call $~lib/builtins/abort unreachable end - local.get $77 - local.set $100 + local.get $48 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 f32.const nan:0x400000 i32.const 0 call $~lib/typedarray/Float32Array#includes @@ -91060,43 +90855,43 @@ call $~lib/builtins/abort unreachable end - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64>" global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $80 - i32.store $0 offset=92 + local.tee $50 + i32.store offset=92 global.get $~lib/memory/__stack_pointer - local.get $80 - local.set $100 + local.get $50 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $81 - i32.store $0 offset=96 - local.get $81 - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.tee $51 + i32.store offset=96 + local.get $51 + local.set $64 + global.get $~lib/memory/__stack_pointer + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Uint8Array#get:length i32.const 0 i32.eq @@ -91113,28 +90908,28 @@ i32.const 0 i32.const 2 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $80 - i32.store $0 offset=92 + local.tee $50 + i32.store offset=92 global.get $~lib/memory/__stack_pointer - local.get $80 - local.set $100 + local.get $50 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $81 - i32.store $0 offset=96 - local.get $81 - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.tee $51 + i32.store offset=96 + local.get $51 + local.set $64 + global.get $~lib/memory/__stack_pointer + local.get $64 + i32.store offset=4 + local.get $64 call $~lib/typedarray/Uint8Array#get:length i32.const 0 i32.eq @@ -91147,17 +90942,17 @@ call $~lib/builtins/abort unreachable end - call $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> + call $"std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64>" call $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> @@ -91173,38 +90968,38 @@ i32.const 0 i32.const 10 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $90 - i32.store $0 offset=100 + local.tee $56 + i32.store offset=100 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $91 - i32.store $0 offset=104 - local.get $91 - local.set $100 + local.tee $57 + i32.store offset=104 + local.get $57 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 f32.const 400 call $~lib/typedarray/Float32Array#__set - local.get $91 - local.set $100 + local.get $57 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 f32.const nan:0x400000 call $~lib/typedarray/Float32Array#__set - local.get $91 - local.set $100 + local.get $57 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 f32.const inf call $~lib/typedarray/Float32Array#__set @@ -91212,41 +91007,41 @@ i32.const 0 i32.const 4 call $~lib/typedarray/Int64Array#constructor - local.tee $92 - i32.store $0 offset=108 - local.get $92 - local.set $100 + local.tee $58 + i32.store offset=108 + local.get $58 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i64.const -10 call $~lib/typedarray/Int64Array#__set - local.get $92 - local.set $100 + local.get $58 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i64.const 100 call $~lib/typedarray/Int64Array#__set - local.get $92 - local.set $100 + local.get $58 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i64.const 10 call $~lib/typedarray/Int64Array#__set - local.get $92 - local.set $100 + local.get $58 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 i64.const 300 call $~lib/typedarray/Int64Array#__set @@ -91254,124 +91049,124 @@ i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#constructor - local.tee $93 - i32.store $0 offset=112 - local.get $93 - local.set $100 + local.tee $59 + i32.store offset=112 + local.get $59 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 300 call $~lib/typedarray/Int32Array#__set - local.get $93 - local.set $100 + local.get $59 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const -1 call $~lib/typedarray/Int32Array#__set - local.get $90 - local.set $100 + local.get $56 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 - local.get $91 - local.set $100 + local.get $64 + i32.store offset=4 + local.get $64 + local.get $57 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> - local.get $90 - local.set $100 + local.get $56 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 - local.get $92 - local.set $100 + local.get $64 + i32.store offset=4 + local.get $64 + local.get $58 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - local.get $90 - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 - local.get $93 - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $56 + local.set $64 + global.get $~lib/memory/__stack_pointer + local.get $64 + i32.store offset=4 + local.get $64 + local.get $59 + local.set $64 + global.get $~lib/memory/__stack_pointer + local.get $64 + i32.store offset=20 + local.get $64 i32.const 8 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> - local.get $90 - local.set $100 + local.get $56 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 10 i32.const 0 i32.const 64 i32.const 14256 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 4 call $~lib/typedarray/Uint32Array#constructor - local.tee $96 - i32.store $0 offset=116 - local.get $96 - local.set $100 + local.tee $61 + i32.store offset=116 + local.get $61 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set - local.get $96 - local.set $100 + local.get $61 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 300 call $~lib/typedarray/Uint32Array#__set - local.get $96 - local.set $100 + local.get $61 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 100 call $~lib/typedarray/Uint32Array#__set - local.get $96 - local.set $100 + local.get $61 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 i32.const -1 call $~lib/typedarray/Uint32Array#__set @@ -91379,100 +91174,100 @@ i32.const 0 i32.const 4 call $~lib/typedarray/Int16Array#constructor - local.tee $97 - i32.store $0 offset=120 - local.get $97 - local.set $100 + local.tee $62 + i32.store offset=120 + local.get $62 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 0 i32.const -10 call $~lib/typedarray/Int16Array#__set - local.get $97 - local.set $100 + local.get $62 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 1 i32.const 100 call $~lib/typedarray/Int16Array#__set - local.get $97 - local.set $100 + local.get $62 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 2 i32.const 10 call $~lib/typedarray/Int16Array#__set - local.get $97 - local.set $100 + local.get $62 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 3 i32.const 300 call $~lib/typedarray/Int16Array#__set - local.get $90 - local.set $100 + local.get $56 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 - local.get $96 - local.set $100 + local.get $64 + i32.store offset=4 + local.get $64 + local.get $61 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> - local.get $90 - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 - local.get $97 - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $56 + local.set $64 + global.get $~lib/memory/__stack_pointer + local.get $64 + i32.store offset=4 + local.get $64 + local.get $62 + local.set $64 + global.get $~lib/memory/__stack_pointer + local.get $64 + i32.store offset=20 + local.get $64 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - local.get $90 - local.set $100 + local.get $56 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=4 - local.get $100 + local.get $64 + i32.store offset=4 + local.get $64 i32.const 10 i32.const 0 i32.const 64 i32.const 14288 call $~lib/rt/__newArray - local.set $100 + local.set $64 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=20 - local.get $100 + local.get $64 + i32.store offset=20 + local.get $64 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - call $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64> + call $"std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>" global.get $~lib/memory/__heap_base global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect @@ -91490,12 +91285,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f64%2Cf64%29=>i32>#get:_env local.get $cookie @@ -91514,14 +91309,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -91540,14 +91335,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -91566,12 +91361,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env local.get $cookie @@ -91590,12 +91385,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#get:_env local.get $cookie @@ -91614,12 +91409,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#get:_env local.get $cookie @@ -91638,12 +91433,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env local.get $cookie @@ -91662,12 +91457,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env local.get $cookie @@ -91686,12 +91481,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#get:_env local.get $cookie @@ -91710,12 +91505,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env local.get $cookie @@ -91734,12 +91529,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#get:_env local.get $cookie @@ -91758,12 +91553,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#get:_env local.get $cookie @@ -91782,12 +91577,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env local.get $cookie @@ -91806,12 +91601,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#get:_env local.get $cookie @@ -91830,12 +91625,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env local.get $cookie @@ -91854,12 +91649,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#get:_env local.get $cookie @@ -91878,12 +91673,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#get:_env local.get $cookie @@ -91902,12 +91697,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env local.get $cookie @@ -91926,12 +91721,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env local.get $cookie @@ -91950,12 +91745,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#get:_env local.get $cookie @@ -91974,12 +91769,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env local.get $cookie @@ -91998,12 +91793,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#get:_env local.get $cookie @@ -92022,12 +91817,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#get:_env local.get $cookie @@ -92046,12 +91841,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env local.get $cookie @@ -92070,12 +91865,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#get:_env local.get $cookie @@ -92094,12 +91889,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#get:_env local.get $cookie @@ -92118,12 +91913,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#get:_env local.get $cookie @@ -92142,12 +91937,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#get:_env local.get $cookie @@ -92166,12 +91961,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#get:_env local.get $cookie @@ -92190,12 +91985,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#get:_env local.get $cookie @@ -92214,12 +92009,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#get:_env local.get $cookie @@ -92238,12 +92033,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#get:_env local.get $cookie @@ -92262,12 +92057,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#get:_env local.get $cookie @@ -92286,12 +92081,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#get:_env local.get $cookie @@ -92310,12 +92105,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#get:_env local.get $cookie @@ -92334,12 +92129,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#get:_env local.get $cookie @@ -92358,12 +92153,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#get:_env local.get $cookie @@ -92382,12 +92177,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#get:_env local.get $cookie @@ -92406,12 +92201,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#get:_env local.get $cookie @@ -92430,12 +92225,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#get:_env local.get $cookie @@ -92454,12 +92249,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#get:_env local.get $cookie @@ -92478,12 +92273,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#get:_env local.get $cookie @@ -92502,12 +92297,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#get:_env local.get $cookie @@ -92526,12 +92321,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#get:_env local.get $cookie @@ -92550,12 +92345,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#get:_env local.get $cookie @@ -92574,12 +92369,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#get:_env local.get $cookie @@ -92598,12 +92393,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#get:_env local.get $cookie @@ -92622,14 +92417,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -92648,14 +92443,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -92674,14 +92469,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -92700,14 +92495,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -92726,14 +92521,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -92752,14 +92547,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -92778,14 +92573,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -92804,14 +92599,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 drop local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/array/Array#get:buffer local.get $cookie @@ -92830,12 +92625,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i8%2Ci8%29=>i32>#get:_env local.get $cookie @@ -92854,12 +92649,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u8%2Cu8%29=>i32>#get:_env local.get $cookie @@ -92878,12 +92673,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i16%2Ci16%29=>i32>#get:_env local.get $cookie @@ -92902,12 +92697,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u16%2Cu16%29=>i32>#get:_env local.get $cookie @@ -92926,12 +92721,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env local.get $cookie @@ -92950,12 +92745,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env local.get $cookie @@ -92974,12 +92769,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28i64%2Ci64%29=>i32>#get:_env local.get $cookie @@ -92998,12 +92793,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28u64%2Cu64%29=>i32>#get:_env local.get $cookie @@ -93022,12 +92817,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env local.get $cookie @@ -93049,7 +92844,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length local.get $alignLog2 i32.shl @@ -93060,27 +92855,27 @@ local.get $data call $~lib/rt/__newBuffer local.tee $buffer - i32.store $0 + i32.store i32.const 16 local.get $id call $~lib/rt/itcms/__new local.set $array local.get $array local.get $buffer - i32.store $0 + i32.store local.get $array local.get $buffer i32.const 0 call $~lib/rt/itcms/__link local.get $array local.get $buffer - i32.store $0 offset=4 + i32.store offset=4 local.get $array local.get $bufferSize - i32.store $0 offset=8 + i32.store offset=8 local.get $array local.get $length - i32.store $0 offset=12 + i32.store offset=12 local.get $array local.set $7 global.get $~lib/memory/__stack_pointer @@ -93111,7 +92906,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -93171,7 +92966,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -93211,7 +93006,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -93246,7 +93041,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -93261,7 +93056,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $14 @@ -93291,7 +93086,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -93336,7 +93131,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer local.get $value @@ -93372,7 +93167,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|8 local.get $value @@ -93401,7 +93196,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $value i64.extend_i32_u @@ -93444,7 +93239,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -93515,7 +93310,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -93545,7 +93340,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -93587,7 +93382,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -93618,7 +93413,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -93632,7 +93427,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $18 @@ -93667,7 +93462,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -93722,7 +93517,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer local.get $val32 @@ -93748,7 +93543,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|9 local.get $value @@ -93786,7 +93581,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.set $buffer|13 local.get $value @@ -93813,7 +93608,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $value local.get $decimals|16 @@ -93830,10 +93625,12 @@ local.get $17 return ) - (func $~lib/util/number/dtoa (param $value f64) (result i32) + (func $~lib/util/number/dtoa (param $value f32) (result i32) + (local $value|1 f64) + (local $isSingle i32) (local $size i32) (local $result i32) - (local $3 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -93841,77 +93638,144 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $value - f64.const 0 - f64.eq - if - i32.const 8640 - local.set $3 + i32.store + block $~lib/util/number/dtoa_impl|inlined.0 (result i32) + local.get $value + f64.promote_f32 + local.set $value|1 + i32.const 1 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq + if + i32.const 8640 + br $~lib/util/number/dtoa_impl|inlined.0 + end + local.get $value|1 + local.get $value|1 + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 8672 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 8704 + i32.const 8752 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 8784 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 8784 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.0 end - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - local.get $value + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/util/number/dtoa (param $value f64) (result i32) + (local $value|1 f64) + (local $isSingle i32) + (local $size i32) + (local $result i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $~lib/util/number/dtoa_impl|inlined.1 (result i32) local.get $value - f64.ne + local.set $value|1 + i32.const 0 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq if - i32.const 8672 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 8640 + br $~lib/util/number/dtoa_impl|inlined.1 end - i32.const 8704 - i32.const 8752 - local.get $value + local.get $value|1 + local.get $value|1 + f64.sub f64.const 0 - f64.lt - select - local.set $3 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 8672 + br $~lib/util/number/dtoa_impl|inlined.1 + end + i32.const 8704 + i32.const 8752 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.1 + end + i32.const 8784 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 8784 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.1 end - i32.const 8784 - local.get $value - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $size - global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 - local.get $result - i32.const 8784 - local.get $size - memory.copy $0 $0 - local.get $result - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 return ) (func $~lib/arraybuffer/ArrayBuffer#constructor (param $this i32) (param $length i32) (result i32) @@ -93924,7 +93788,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $length i32.const 1073741820 i32.gt_u @@ -93941,7 +93805,7 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 + i32.store i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index 09c5ad4c20..b0cdfab0ca 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -1,47 +1,46 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32) (result i32))) - (type $i64_i64_=>_i32 (func (param i64 i64) (result i32))) - (type $i64_i32_i32_=>_i32 (func (param i64 i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $f64_f64_=>_i32 (func (param f64 f64) (result i32))) - (type $f32_f32_=>_i32 (func (param f32 f32) (result i32))) - (type $i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32))) - (type $i32_i32_i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32 i32 i32))) - (type $f32_i32_i32_=>_i32 (func (param f32 i32 i32) (result i32))) - (type $f64_i32_i32_=>_i32 (func (param f64 i32 i32) (result i32))) - (type $i32_i32_=>_i64 (func (param i32 i32) (result i64))) - (type $i64_i64_i32_i32_=>_i64 (func (param i64 i64 i32 i32) (result i64))) - (type $i32_i64_=>_i32 (func (param i32 i64) (result i32))) - (type $i32_i64_i32_=>_i32 (func (param i32 i64 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $f32_f32_i32_i32_=>_f32 (func (param f32 f32 i32 i32) (result f32))) - (type $f64_f64_i32_i32_=>_f64 (func (param f64 f64 i32 i32) (result f64))) - (type $i64_i32_i32_=>_i64 (func (param i64 i32 i32) (result i64))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $i32_i32_=>_f64 (func (param i32 i32) (result f64))) - (type $i32_i32_=>_f32 (func (param i32 i32) (result f32))) - (type $i64_i32_i32_=>_none (func (param i64 i32 i32))) - (type $f32_i32_i32_=>_f32 (func (param f32 i32 i32) (result f32))) - (type $f64_i32_i32_=>_f64 (func (param f64 i32 i32) (result f64))) - (type $i32_i32_i64_=>_none (func (param i32 i32 i64))) - (type $f32_i32_i32_=>_none (func (param f32 i32 i32))) - (type $f64_i32_i32_=>_none (func (param f64 i32 i32))) - (type $i32_f32_i32_=>_i32 (func (param i32 f32 i32) (result i32))) - (type $i32_f64_i32_=>_i32 (func (param i32 f64 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i32_i64_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i64 i32 i64 i32) (result i32))) - (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func (param i32 i32 f64 f64 f64 f64 f64))) - (type $i32_i32_f64_=>_none (func (param i32 i32 f64))) - (type $i32_i32_f32_=>_none (func (param i32 i32 f32))) - (type $i32_f32_=>_i32 (func (param i32 f32) (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func)) + (type $3 (func (param i32) (result i32))) + (type $4 (func (param i32 i32 i32))) + (type $5 (func (param i32 i32))) + (type $6 (func (param i32 i32 i32 i32) (result i32))) + (type $7 (func (param i64 i64) (result i32))) + (type $8 (func (param i64 i32 i32) (result i32))) + (type $9 (func (param i32))) + (type $10 (func (param f64 f64) (result i32))) + (type $11 (func (param f32 f32) (result i32))) + (type $12 (func (param i32 i32 i32 i32 i32))) + (type $13 (func (param i32 i32 i32 i32 i32 i32))) + (type $14 (func (param f32 i32 i32) (result i32))) + (type $15 (func (param f64 i32 i32) (result i32))) + (type $16 (func (param i32 i32) (result i64))) + (type $17 (func (param i64 i64 i32 i32) (result i64))) + (type $18 (func (param i32 i64) (result i32))) + (type $19 (func (param i32 i64 i32) (result i32))) + (type $20 (func (param i32 i32 i32 i32))) + (type $21 (func (param i32 i32 i64))) + (type $22 (func (param f32 f32 i32 i32) (result f32))) + (type $23 (func (param f64 f64 i32 i32) (result f64))) + (type $24 (func (param i64 i32 i32) (result i64))) + (type $25 (func (param i32 f64 i32) (result i32))) + (type $26 (func (param i32 i32) (result f64))) + (type $27 (func (param i32 i32) (result f32))) + (type $28 (func (param i64 i32 i32))) + (type $29 (func (param f32 i32 i32) (result f32))) + (type $30 (func (param f64 i32 i32) (result f64))) + (type $31 (func (param i32 f32) (result i32))) + (type $32 (func (param i32 f64) (result i32))) + (type $33 (func (param f32 i32 i32))) + (type $34 (func (param f64 i32 i32))) + (type $35 (func (param i32 f32 i32) (result i32))) + (type $36 (func (result i32))) + (type $37 (func (param i32 i64 i32))) + (type $38 (func (param i32 i64 i64 i32 i64 i32) (result i32))) + (type $39 (func (param i32 i32 f64 f64 f64 f64 f64))) + (type $40 (func (param i32 i32 f64))) + (type $41 (func (param i32 i32 f32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -65,650 +64,650 @@ (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 49088)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") - (data (i32.const 1148) "<") - (data (i32.const 1160) "\02\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 1212) "<") - (data (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1340) "<") - (data (i32.const 1352) "\02\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 1404) ",") - (data (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1484) "<") - (data (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1548) "<") - (data (i32.const 1560) "\02\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1612) "<") - (data (i32.const 1624) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1676) "\1c") - (data (i32.const 1688) "\0f\00\00\00\08\00\00\00\01") - (data (i32.const 1708) "\1c") - (data (i32.const 1720) "\01\00\00\00\05\00\00\00\01\01\01\04\05") - (data (i32.const 1740) ",") - (data (i32.const 1752) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") - (data (i32.const 1788) "\1c") - (data (i32.const 1800) "\01\00\00\00\05") - (data (i32.const 1820) "\1c") - (data (i32.const 1832) "\01\00\00\00\05\00\00\00\01\01") - (data (i32.const 1852) "\1c") - (data (i32.const 1864) "\01\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 1884) "\1c") - (data (i32.const 1896) "\01\00\00\00\05\00\00\00\01\01\00\02\02") - (data (i32.const 1916) "\1c") - (data (i32.const 1928) "\01\00\00\00\03") - (data (i32.const 1948) "\1c") - (data (i32.const 1960) "\01\00\00\00\05\00\00\00\01\00\00\00\02") - (data (i32.const 1980) ",") - (data (i32.const 1992) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") - (data (i32.const 2028) ",") - (data (i32.const 2040) "\01\00\00\00\14") - (data (i32.const 2076) ",") - (data (i32.const 2088) "\01\00\00\00\14\00\00\00\01\00\00\00\01") - (data (i32.const 2124) ",") - (data (i32.const 2136) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 2172) ",") - (data (i32.const 2184) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") - (data (i32.const 2220) "\1c") - (data (i32.const 2232) "\01\00\00\00\0c") - (data (i32.const 2252) ",") - (data (i32.const 2264) "\01\00\00\00\14\00\00\00\01") - (data (i32.const 2288) "\02") - (data (i32.const 2300) ",") - (data (i32.const 2312) "\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2348) ",") - (data (i32.const 2360) "\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") - (data (i32.const 2396) ",") - (data (i32.const 2408) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 2444) ",") - (data (i32.const 2456) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2492) ",") - (data (i32.const 2504) "\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2540) ",") - (data (i32.const 2552) "\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2588) ",") - (data (i32.const 2600) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 2636) ",") - (data (i32.const 2648) "\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2684) ",") - (data (i32.const 2696) "\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2732) ",") - (data (i32.const 2744) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") - (data (i32.const 2780) ",") - (data (i32.const 2792) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") - (data (i32.const 2828) ",") - (data (i32.const 2840) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") - (data (i32.const 2876) "\1c") - (data (i32.const 2888) "\12\00\00\00\08\00\00\00\02") - (data (i32.const 2908) "\1c") - (data (i32.const 2920) "\13\00\00\00\08\00\00\00\03") - (data (i32.const 2940) "\1c") - (data (i32.const 2952) "\14\00\00\00\08\00\00\00\04") - (data (i32.const 2972) "\1c") - (data (i32.const 2984) "\15\00\00\00\08\00\00\00\05") - (data (i32.const 3004) "\1c") - (data (i32.const 3016) "\16\00\00\00\08\00\00\00\06") - (data (i32.const 3036) "\1c") - (data (i32.const 3048) "\17\00\00\00\08\00\00\00\07") - (data (i32.const 3068) "\1c") - (data (i32.const 3080) "\18\00\00\00\08\00\00\00\08") - (data (i32.const 3100) "\1c") - (data (i32.const 3112) "\19\00\00\00\08\00\00\00\t") - (data (i32.const 3132) "\1c") - (data (i32.const 3144) "\1a\00\00\00\08\00\00\00\n") - (data (i32.const 3164) "\1c") - (data (i32.const 3176) "\1b\00\00\00\08\00\00\00\0b") - (data (i32.const 3196) "\1c") - (data (i32.const 3208) "\1c\00\00\00\08\00\00\00\0c") - (data (i32.const 3228) "\1c") - (data (i32.const 3240) "\12\00\00\00\08\00\00\00\r") - (data (i32.const 3260) "\1c") - (data (i32.const 3272) "\13\00\00\00\08\00\00\00\0e") - (data (i32.const 3292) "\1c") - (data (i32.const 3304) "\14\00\00\00\08\00\00\00\0f") - (data (i32.const 3324) "\1c") - (data (i32.const 3336) "\15\00\00\00\08\00\00\00\10") - (data (i32.const 3356) "\1c") - (data (i32.const 3368) "\16\00\00\00\08\00\00\00\11") - (data (i32.const 3388) "\1c") - (data (i32.const 3400) "\17\00\00\00\08\00\00\00\12") - (data (i32.const 3420) "\1c") - (data (i32.const 3432) "\18\00\00\00\08\00\00\00\13") - (data (i32.const 3452) "\1c") - (data (i32.const 3464) "\19\00\00\00\08\00\00\00\14") - (data (i32.const 3484) "\1c") - (data (i32.const 3496) "\1a\00\00\00\08\00\00\00\15") - (data (i32.const 3516) "\1c") - (data (i32.const 3528) "\1b\00\00\00\08\00\00\00\16") - (data (i32.const 3548) "\1c") - (data (i32.const 3560) "\1c\00\00\00\08\00\00\00\17") - (data (i32.const 3580) "\1c") - (data (i32.const 3592) "\1d\00\00\00\08\00\00\00\18") - (data (i32.const 3612) "\1c") - (data (i32.const 3624) "\1e\00\00\00\08\00\00\00\19") - (data (i32.const 3644) "\1c") - (data (i32.const 3656) "\1f\00\00\00\08\00\00\00\1a") - (data (i32.const 3676) "\1c") - (data (i32.const 3688) " \00\00\00\08\00\00\00\1b") - (data (i32.const 3708) "\1c") - (data (i32.const 3720) "!\00\00\00\08\00\00\00\1c") - (data (i32.const 3740) "\1c") - (data (i32.const 3752) "\"\00\00\00\08\00\00\00\1d") - (data (i32.const 3772) "\1c") - (data (i32.const 3784) "#\00\00\00\08\00\00\00\1e") - (data (i32.const 3804) "\1c") - (data (i32.const 3816) "$\00\00\00\08\00\00\00\1f") - (data (i32.const 3836) "\1c") - (data (i32.const 3848) "%\00\00\00\08\00\00\00 ") - (data (i32.const 3868) "\1c") - (data (i32.const 3880) "&\00\00\00\08\00\00\00!") - (data (i32.const 3900) "\1c") - (data (i32.const 3912) "\'\00\00\00\08\00\00\00\"") - (data (i32.const 3932) "\1c") - (data (i32.const 3944) "(\00\00\00\08\00\00\00#") - (data (i32.const 3964) "\1c") - (data (i32.const 3976) ")\00\00\00\08\00\00\00$") - (data (i32.const 3996) "\1c") - (data (i32.const 4008) "*\00\00\00\08\00\00\00%") - (data (i32.const 4028) "\1c") - (data (i32.const 4040) "+\00\00\00\08\00\00\00&") - (data (i32.const 4060) "\1c") - (data (i32.const 4072) ",\00\00\00\08\00\00\00\'") - (data (i32.const 4092) "\1c") - (data (i32.const 4104) "-\00\00\00\08\00\00\00(") - (data (i32.const 4124) "\1c") - (data (i32.const 4136) ".\00\00\00\08\00\00\00)") - (data (i32.const 4156) "\1c") - (data (i32.const 4168) "/\00\00\00\08\00\00\00*") - (data (i32.const 4188) "\1c") - (data (i32.const 4200) "0\00\00\00\08\00\00\00+") - (data (i32.const 4220) "\1c") - (data (i32.const 4232) "1\00\00\00\08\00\00\00,") - (data (i32.const 4252) "\1c") - (data (i32.const 4264) "2\00\00\00\08\00\00\00-") - (data (i32.const 4284) "\1c") - (data (i32.const 4296) "(\00\00\00\08\00\00\00.") - (data (i32.const 4316) "\1c") - (data (i32.const 4328) "(\00\00\00\08\00\00\00/") - (data (i32.const 4348) "\1c") - (data (i32.const 4360) ")\00\00\00\08\00\00\000") - (data (i32.const 4380) "\1c") - (data (i32.const 4392) ")\00\00\00\08\00\00\001") - (data (i32.const 4412) "\1c") - (data (i32.const 4424) "*\00\00\00\08\00\00\002") - (data (i32.const 4444) "\1c") - (data (i32.const 4456) "*\00\00\00\08\00\00\003") - (data (i32.const 4476) "\1c") - (data (i32.const 4488) "+\00\00\00\08\00\00\004") - (data (i32.const 4508) "\1c") - (data (i32.const 4520) "+\00\00\00\08\00\00\005") - (data (i32.const 4540) "\1c") - (data (i32.const 4552) ",\00\00\00\08\00\00\006") - (data (i32.const 4572) "\1c") - (data (i32.const 4584) ",\00\00\00\08\00\00\007") - (data (i32.const 4604) "\1c") - (data (i32.const 4616) "-\00\00\00\08\00\00\008") - (data (i32.const 4636) "\1c") - (data (i32.const 4648) "-\00\00\00\08\00\00\009") - (data (i32.const 4668) "\1c") - (data (i32.const 4680) ".\00\00\00\08\00\00\00:") - (data (i32.const 4700) "\1c") - (data (i32.const 4712) ".\00\00\00\08\00\00\00;") - (data (i32.const 4732) "\1c") - (data (i32.const 4744) "/\00\00\00\08\00\00\00<") - (data (i32.const 4764) "\1c") - (data (i32.const 4776) "/\00\00\00\08\00\00\00=") - (data (i32.const 4796) "\1c") - (data (i32.const 4808) "0\00\00\00\08\00\00\00>") - (data (i32.const 4828) "\1c") - (data (i32.const 4840) "0\00\00\00\08\00\00\00?") - (data (i32.const 4860) "\1c") - (data (i32.const 4872) "1\00\00\00\08\00\00\00@") - (data (i32.const 4892) "\1c") - (data (i32.const 4904) "1\00\00\00\08\00\00\00A") - (data (i32.const 4924) "\1c") - (data (i32.const 4936) "2\00\00\00\08\00\00\00B") - (data (i32.const 4956) "\1c") - (data (i32.const 4968) "2\00\00\00\08\00\00\00C") - (data (i32.const 4988) "\1c") - (data (i32.const 5000) "(\00\00\00\08\00\00\00D") - (data (i32.const 5020) "\1c") - (data (i32.const 5032) "(\00\00\00\08\00\00\00E") - (data (i32.const 5052) "\1c") - (data (i32.const 5064) ")\00\00\00\08\00\00\00F") - (data (i32.const 5084) "\1c") - (data (i32.const 5096) ")\00\00\00\08\00\00\00G") - (data (i32.const 5116) "\1c") - (data (i32.const 5128) "*\00\00\00\08\00\00\00H") - (data (i32.const 5148) "\1c") - (data (i32.const 5160) "*\00\00\00\08\00\00\00I") - (data (i32.const 5180) "\1c") - (data (i32.const 5192) "+\00\00\00\08\00\00\00J") - (data (i32.const 5212) "\1c") - (data (i32.const 5224) "+\00\00\00\08\00\00\00K") - (data (i32.const 5244) "\1c") - (data (i32.const 5256) ",\00\00\00\08\00\00\00L") - (data (i32.const 5276) "\1c") - (data (i32.const 5288) ",\00\00\00\08\00\00\00M") - (data (i32.const 5308) "\1c") - (data (i32.const 5320) "-\00\00\00\08\00\00\00N") - (data (i32.const 5340) "\1c") - (data (i32.const 5352) "-\00\00\00\08\00\00\00O") - (data (i32.const 5372) "\1c") - (data (i32.const 5384) ".\00\00\00\08\00\00\00P") - (data (i32.const 5404) "\1c") - (data (i32.const 5416) ".\00\00\00\08\00\00\00Q") - (data (i32.const 5436) "\1c") - (data (i32.const 5448) "/\00\00\00\08\00\00\00R") - (data (i32.const 5468) "\1c") - (data (i32.const 5480) "/\00\00\00\08\00\00\00S") - (data (i32.const 5500) "\1c") - (data (i32.const 5512) "0\00\00\00\08\00\00\00T") - (data (i32.const 5532) "\1c") - (data (i32.const 5544) "0\00\00\00\08\00\00\00U") - (data (i32.const 5564) "\1c") - (data (i32.const 5576) "1\00\00\00\08\00\00\00V") - (data (i32.const 5596) "\1c") - (data (i32.const 5608) "1\00\00\00\08\00\00\00W") - (data (i32.const 5628) "\1c") - (data (i32.const 5640) "2\00\00\00\08\00\00\00X") - (data (i32.const 5660) "\1c") - (data (i32.const 5672) "2\00\00\00\08\00\00\00Y") - (data (i32.const 5692) "\1c") - (data (i32.const 5704) "(\00\00\00\08\00\00\00Z") - (data (i32.const 5724) "\1c") - (data (i32.const 5736) "(\00\00\00\08\00\00\00[") - (data (i32.const 5756) "\1c") - (data (i32.const 5768) ")\00\00\00\08\00\00\00\\") - (data (i32.const 5788) "\1c") - (data (i32.const 5800) ")\00\00\00\08\00\00\00]") - (data (i32.const 5820) "\1c") - (data (i32.const 5832) "*\00\00\00\08\00\00\00^") - (data (i32.const 5852) "\1c") - (data (i32.const 5864) "*\00\00\00\08\00\00\00_") - (data (i32.const 5884) "\1c") - (data (i32.const 5896) "+\00\00\00\08\00\00\00`") - (data (i32.const 5916) "\1c") - (data (i32.const 5928) "+\00\00\00\08\00\00\00a") - (data (i32.const 5948) "\1c") - (data (i32.const 5960) ",\00\00\00\08\00\00\00b") - (data (i32.const 5980) "\1c") - (data (i32.const 5992) ",\00\00\00\08\00\00\00c") - (data (i32.const 6012) "\1c") - (data (i32.const 6024) "-\00\00\00\08\00\00\00d") - (data (i32.const 6044) "\1c") - (data (i32.const 6056) "-\00\00\00\08\00\00\00e") - (data (i32.const 6076) "\1c") - (data (i32.const 6088) ".\00\00\00\08\00\00\00f") - (data (i32.const 6108) "\1c") - (data (i32.const 6120) ".\00\00\00\08\00\00\00g") - (data (i32.const 6140) "\1c") - (data (i32.const 6152) "/\00\00\00\08\00\00\00h") - (data (i32.const 6172) "\1c") - (data (i32.const 6184) "/\00\00\00\08\00\00\00i") - (data (i32.const 6204) "\1c") - (data (i32.const 6216) "0\00\00\00\08\00\00\00j") - (data (i32.const 6236) "\1c") - (data (i32.const 6248) "0\00\00\00\08\00\00\00k") - (data (i32.const 6268) "\1c") - (data (i32.const 6280) "1\00\00\00\08\00\00\00l") - (data (i32.const 6300) "\1c") - (data (i32.const 6312) "1\00\00\00\08\00\00\00m") - (data (i32.const 6332) "\1c") - (data (i32.const 6344) "2\00\00\00\08\00\00\00n") - (data (i32.const 6364) "\1c") - (data (i32.const 6376) "2\00\00\00\08\00\00\00o") - (data (i32.const 6396) "\1c") - (data (i32.const 6408) "(\00\00\00\08\00\00\00p") - (data (i32.const 6428) "\1c") - (data (i32.const 6440) "(\00\00\00\08\00\00\00q") - (data (i32.const 6460) "\1c") - (data (i32.const 6472) ")\00\00\00\08\00\00\00r") - (data (i32.const 6492) "\1c") - (data (i32.const 6504) ")\00\00\00\08\00\00\00s") - (data (i32.const 6524) "\1c") - (data (i32.const 6536) "*\00\00\00\08\00\00\00t") - (data (i32.const 6556) "\1c") - (data (i32.const 6568) "*\00\00\00\08\00\00\00u") - (data (i32.const 6588) "\1c") - (data (i32.const 6600) "+\00\00\00\08\00\00\00v") - (data (i32.const 6620) "\1c") - (data (i32.const 6632) "+\00\00\00\08\00\00\00w") - (data (i32.const 6652) "\1c") - (data (i32.const 6664) ",\00\00\00\08\00\00\00x") - (data (i32.const 6684) "\1c") - (data (i32.const 6696) ",\00\00\00\08\00\00\00y") - (data (i32.const 6716) "\1c") - (data (i32.const 6728) "-\00\00\00\08\00\00\00z") - (data (i32.const 6748) "\1c") - (data (i32.const 6760) "-\00\00\00\08\00\00\00{") - (data (i32.const 6780) "\1c") - (data (i32.const 6792) ".\00\00\00\08\00\00\00|") - (data (i32.const 6812) "\1c") - (data (i32.const 6824) ".\00\00\00\08\00\00\00}") - (data (i32.const 6844) "\1c") - (data (i32.const 6856) "/\00\00\00\08\00\00\00~") - (data (i32.const 6876) "\1c") - (data (i32.const 6888) "/\00\00\00\08\00\00\00\7f") - (data (i32.const 6908) "\1c") - (data (i32.const 6920) "0\00\00\00\08\00\00\00\80") - (data (i32.const 6940) "\1c") - (data (i32.const 6952) "0\00\00\00\08\00\00\00\81") - (data (i32.const 6972) "\1c") - (data (i32.const 6984) "1\00\00\00\08\00\00\00\82") - (data (i32.const 7004) "\1c") - (data (i32.const 7016) "1\00\00\00\08\00\00\00\83") - (data (i32.const 7036) "\1c") - (data (i32.const 7048) "2\00\00\00\08\00\00\00\84") - (data (i32.const 7068) "\1c") - (data (i32.const 7080) "2\00\00\00\08\00\00\00\85") - (data (i32.const 7100) "\1c") - (data (i32.const 7112) "\01\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e") - (data (i32.const 7132) ",") - (data (i32.const 7144) "\11\00\00\00\10\00\00\00\d0\1b\00\00\d0\1b\00\00\0c\00\00\00\03") - (data (i32.const 7180) "\1c") - (data (i32.const 7192) "3\00\00\00\08\00\00\00\86") - (data (i32.const 7212) "\1c") - (data (i32.const 7224) "4\00\00\00\08\00\00\00\87") - (data (i32.const 7244) "\1c") - (data (i32.const 7256) "5\00\00\00\08\00\00\00\88") - (data (i32.const 7276) "\1c") - (data (i32.const 7288) "6\00\00\00\08\00\00\00\89") - (data (i32.const 7308) "\1c") - (data (i32.const 7320) "7\00\00\00\08\00\00\00\8a") - (data (i32.const 7340) "\1c") - (data (i32.const 7352) "8\00\00\00\08\00\00\00\8b") - (data (i32.const 7372) "\1c") - (data (i32.const 7384) "9\00\00\00\08\00\00\00\8c") - (data (i32.const 7404) "\1c") - (data (i32.const 7416) ":\00\00\00\08\00\00\00\8d") - (data (i32.const 7436) "\1c") - (data (i32.const 7448) ";\00\00\00\08\00\00\00\8e") - (data (i32.const 7468) "\1c") - (data (i32.const 7480) "<\00\00\00\08\00\00\00\8f") - (data (i32.const 7500) "\1c") - (data (i32.const 7512) "=\00\00\00\08\00\00\00\90") - (data (i32.const 7532) "<") - (data (i32.const 7544) "\01\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") - (data (i32.const 7596) ",") - (data (i32.const 7608) "\11\00\00\00\10\00\00\00\80\1d\00\00\80\1d\00\00$\00\00\00\t") - (data (i32.const 7644) "<") - (data (i32.const 7656) "\01\00\00\00,\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\n") - (data (i32.const 7708) ",") - (data (i32.const 7720) "\11\00\00\00\10\00\00\00\f0\1d\00\00\f0\1d\00\00,\00\00\00\0b") - (data (i32.const 7756) "\1c") - (data (i32.const 7768) "\02") - (data (i32.const 7788) "|") - (data (i32.const 7800) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 7916) "<") - (data (i32.const 7928) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 7980) "\1c") - (data (i32.const 7992) "\02\00\00\00\02\00\00\000") - (data (i32.const 8012) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 8412) "\1c\04") - (data (i32.const 8424) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 9468) "\\") - (data (i32.const 9480) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 9564) "\1c") - (data (i32.const 9576) "\02\00\00\00\02\00\00\00,") - (data (i32.const 9596) ",") - (data (i32.const 9608) "\02\00\00\00\12\00\00\001\00,\002\00,\003\00,\004\00,\005") - (data (i32.const 9644) "\1c") - (data (i32.const 9656) "\02\00\00\00\06\00\00\000\00.\000") - (data (i32.const 9676) "\1c") - (data (i32.const 9688) "\02\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 9708) ",") - (data (i32.const 9720) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 9756) ",") - (data (i32.const 9768) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 9864) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00\10\00\00\000+\00\000+\00\00\0c\00\00\00\03") - (data (i32.const 11116) ",") - (data (i32.const 11128) "\01\00\00\00\18") - (data (i32.const 11142) "\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff") - (data (i32.const 11164) ",") - (data (i32.const 11176) "?\00\00\00\10\00\00\00\80+\00\00\80+\00\00\18\00\00\00\03") - (data (i32.const 11212) "\1c") - (data (i32.const 11224) "\01\00\00\00\03\00\00\00\92\91\90") - (data (i32.const 11244) ",") - (data (i32.const 11256) "\10\00\00\00\10\00\00\00\e0+\00\00\e0+\00\00\03\00\00\00\03") - (data (i32.const 11292) "\1c") - (data (i32.const 11304) "\01\00\00\00\n\00\00\00\01\02\03") - (data (i32.const 11324) ",") - (data (i32.const 11336) "\02\00\00\00\12\00\00\00I\00n\00t\008\00A\00r\00r\00a\00y") - (data (i32.const 11372) "\1c") - (data (i32.const 11384) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06") - (data (i32.const 11404) "\1c") - (data (i32.const 11416) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t") - (data (i32.const 11436) "\1c") - (data (i32.const 11448) "\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t") - (data (i32.const 11468) "\1c") - (data (i32.const 11480) "\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90") - (data (i32.const 11500) "\1c") - (data (i32.const 11512) "\01\00\00\00\n\00\00\00\01\02\03") - (data (i32.const 11532) ",") - (data (i32.const 11544) "\02\00\00\00\14\00\00\00U\00i\00n\00t\008\00A\00r\00r\00a\00y") - (data (i32.const 11580) "\1c") - (data (i32.const 11592) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06") - (data (i32.const 11612) "\1c") - (data (i32.const 11624) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t") - (data (i32.const 11644) "\1c") - (data (i32.const 11656) "\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t") - (data (i32.const 11676) "\1c") - (data (i32.const 11688) "\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90") - (data (i32.const 11708) "\1c") - (data (i32.const 11720) "\01\00\00\00\n\00\00\00\01\02\03") - (data (i32.const 11740) "<") - (data (i32.const 11752) "\02\00\00\00\"\00\00\00U\00i\00n\00t\008\00C\00l\00a\00m\00p\00e\00d\00A\00r\00r\00a\00y") - (data (i32.const 11804) "\1c") - (data (i32.const 11816) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06") - (data (i32.const 11836) "\1c") - (data (i32.const 11848) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t") - (data (i32.const 11868) "\1c") - (data (i32.const 11880) "\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t") - (data (i32.const 11900) "\1c") - (data (i32.const 11912) "\01\00\00\00\n\00\00\00defg\ff\ff\ff") - (data (i32.const 11932) ",") - (data (i32.const 11944) "\01\00\00\00\14\00\00\00\01\00\02\00\03") - (data (i32.const 11980) ",") - (data (i32.const 11992) "\02\00\00\00\14\00\00\00I\00n\00t\001\006\00A\00r\00r\00a\00y") - (data (i32.const 12028) ",") - (data (i32.const 12040) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06") - (data (i32.const 12076) ",") - (data (i32.const 12088) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t") - (data (i32.const 12124) ",") - (data (i32.const 12136) "\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t") - (data (i32.const 12172) ",") - (data (i32.const 12184) "\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff") - (data (i32.const 12220) ",") - (data (i32.const 12232) "\01\00\00\00\14\00\00\00\01\00\02\00\03") - (data (i32.const 12268) ",") - (data (i32.const 12280) "\02\00\00\00\16\00\00\00U\00i\00n\00t\001\006\00A\00r\00r\00a\00y") - (data (i32.const 12316) ",") - (data (i32.const 12328) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06") - (data (i32.const 12364) ",") - (data (i32.const 12376) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t") - (data (i32.const 12412) ",") - (data (i32.const 12424) "\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t") - (data (i32.const 12460) ",") - (data (i32.const 12472) "\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff") - (data (i32.const 12508) "<") - (data (i32.const 12520) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 12572) ",") - (data (i32.const 12584) "\02\00\00\00\14\00\00\00I\00n\00t\003\002\00A\00r\00r\00a\00y") - (data (i32.const 12620) "<") - (data (i32.const 12632) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06") - (data (i32.const 12684) "<") - (data (i32.const 12696) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") - (data (i32.const 12748) "<") - (data (i32.const 12760) "\01\00\00\00(\00\00\00\01\00\00\00\02") - (data (i32.const 12788) "\06\00\00\00\07\00\00\00\08\00\00\00\t") - (data (i32.const 12812) "<") - (data (i32.const 12824) "\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff") - (data (i32.const 12876) "<") - (data (i32.const 12888) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03") - (data (i32.const 12940) ",") - (data (i32.const 12952) "\02\00\00\00\16\00\00\00U\00i\00n\00t\003\002\00A\00r\00r\00a\00y") - (data (i32.const 12988) "<") - (data (i32.const 13000) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06") - (data (i32.const 13052) "<") - (data (i32.const 13064) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") - (data (i32.const 13116) "<") - (data (i32.const 13128) "\01\00\00\00(\00\00\00\01\00\00\00\02") - (data (i32.const 13156) "\06\00\00\00\07\00\00\00\08\00\00\00\t") - (data (i32.const 13180) "<") - (data (i32.const 13192) "\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff") - (data (i32.const 13244) "l") - (data (i32.const 13256) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03") - (data (i32.const 13356) ",") - (data (i32.const 13368) "\02\00\00\00\14\00\00\00I\00n\00t\006\004\00A\00r\00r\00a\00y") - (data (i32.const 13404) "l") - (data (i32.const 13416) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06") - (data (i32.const 13516) "l") - (data (i32.const 13528) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") - (data (i32.const 13628) "l") - (data (i32.const 13640) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02") - (data (i32.const 13688) "\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") - (data (i32.const 13740) "l") - (data (i32.const 13752) "\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 13852) "l") - (data (i32.const 13864) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03") - (data (i32.const 13964) ",") - (data (i32.const 13976) "\02\00\00\00\16\00\00\00U\00i\00n\00t\006\004\00A\00r\00r\00a\00y") - (data (i32.const 14012) "l") - (data (i32.const 14024) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06") - (data (i32.const 14124) "l") - (data (i32.const 14136) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") - (data (i32.const 14236) "l") - (data (i32.const 14248) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02") - (data (i32.const 14296) "\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") - (data (i32.const 14348) "l") - (data (i32.const 14360) "\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff") - (data (i32.const 14460) "<") - (data (i32.const 14472) "\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@") - (data (i32.const 14524) ",") - (data (i32.const 14536) "\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y") - (data (i32.const 14572) "<") - (data (i32.const 14584) "\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@") - (data (i32.const 14636) "<") - (data (i32.const 14648) "\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\e0@\00\00\00A\00\00\10A") - (data (i32.const 14700) "<") - (data (i32.const 14712) "\01\00\00\00(\00\00\00\00\00\c8B\00\00\caB\00\00\ccB\00\00\ceB\00\00zD\00@zD\00\80zD\00\00\dc\c2\00\00\de\c2\00\00\e0\c2") - (data (i32.const 14764) "l") - (data (i32.const 14776) "\01\00\00\00P") - (data (i32.const 14790) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@") - (data (i32.const 14876) ",") - (data (i32.const 14888) "\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\006\004\00A\00r\00r\00a\00y") - (data (i32.const 14924) "l") - (data (i32.const 14936) "\01\00\00\00P") - (data (i32.const 14950) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@") - (data (i32.const 15036) "l") - (data (i32.const 15048) "\01\00\00\00P") - (data (i32.const 15062) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\1c@\00\00\00\00\00\00 @\00\00\00\00\00\00\"@") - (data (i32.const 15148) "l") - (data (i32.const 15160) "\01\00\00\00P") - (data (i32.const 15174) "Y@\00\00\00\00\00@Y@\00\00\00\00\00\80Y@\00\00\00\00\00\c0Y@\00\00\00\00\00@\8f@\00\00\00\00\00H\8f@\00\00\00\00\00P\8f@\00\00\00\00\00\80[\c0\00\00\00\00\00\c0[\c0\00\00\00\00\00\00\\\c0") - (data (i32.const 15260) "\1c") - (data (i32.const 15272) "\01\00\00\00\n\00\00\00\00\ff\00\00\00d\n\ff\ff") - (data (i32.const 15292) "\1c") - (data (i32.const 15304) "\01\00\00\00\n\00\00\00\01\ffd\ff\00\00d\n\ff") - (data (i32.const 15324) "\1c") - (data (i32.const 15336) "F\00\00\00\08\00\00\00\91") - (data (i32.const 15356) "\1c") - (data (i32.const 15368) "F\00\00\00\08\00\00\00\92") - (data (i32.const 15388) "\1c") - (data (i32.const 15400) "G\00\00\00\08\00\00\00\93") - (data (i32.const 15420) "\1c") - (data (i32.const 15432) "G\00\00\00\08\00\00\00\94") - (data (i32.const 15452) "\1c") - (data (i32.const 15464) "G\00\00\00\08\00\00\00\95") - (data (i32.const 15484) "\1c") - (data (i32.const 15496) "G\00\00\00\08\00\00\00\96") - (data (i32.const 15516) "\1c") - (data (i32.const 15528) "H\00\00\00\08\00\00\00\97") - (data (i32.const 15548) "\1c") - (data (i32.const 15560) "H\00\00\00\08\00\00\00\98") - (data (i32.const 15580) "\1c") - (data (i32.const 15592) "I\00\00\00\08\00\00\00\99") - (data (i32.const 15612) "\1c") - (data (i32.const 15624) "I\00\00\00\08\00\00\00\9a") - (data (i32.const 15644) "\1c") - (data (i32.const 15656) "J\00\00\00\08\00\00\00\9b") - (data (i32.const 15676) "\1c") - (data (i32.const 15688) "J\00\00\00\08\00\00\00\9c") - (data (i32.const 15708) "\1c") - (data (i32.const 15720) "K\00\00\00\08\00\00\00\9d") - (data (i32.const 15740) "\1c") - (data (i32.const 15752) "K\00\00\00\08\00\00\00\9e") - (data (i32.const 15772) "\1c") - (data (i32.const 15784) "L\00\00\00\08\00\00\00\9f") - (data (i32.const 15804) "\1c") - (data (i32.const 15816) "L\00\00\00\08\00\00\00\a0") - (data (i32.const 15836) "\1c") - (data (i32.const 15848) "M\00\00\00\08\00\00\00\a1") - (data (i32.const 15868) "\1c") - (data (i32.const 15880) "M\00\00\00\08\00\00\00\a2") - (data (i32.const 15900) "\1c") - (data (i32.const 15912) "N\00\00\00\08\00\00\00\a3") - (data (i32.const 15932) "\1c") - (data (i32.const 15944) "N\00\00\00\08\00\00\00\a4") - (data (i32.const 15964) "\1c") - (data (i32.const 15976) "\0f\00\00\00\08\00\00\00\a5") - (data (i32.const 16000) "O\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00B\08\00\00\02\t") - (data (i32.const 16252) "\02\19\00\00\02\1a\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\01\00\00\02\n\00\00\02\02") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\1c\00\00\00I\00n\00v\00a\00l\00i\00d\00 \00l\00e\00n\00g\00t\00h") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00b\00u\00f\00f\00e\00r\00.\00t\00s") + (data $2 (i32.const 1148) "<") + (data $2.1 (i32.const 1160) "\02\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 $3 (i32.const 1212) "<") + (data $3.1 (i32.const 1224) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1340) "<") + (data $6.1 (i32.const 1352) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1404) ",") + (data $7.1 (i32.const 1416) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1484) "<") + (data $9.1 (i32.const 1496) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1548) "<") + (data $10.1 (i32.const 1560) "\02\00\00\00\"\00\00\00s\00t\00d\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data $11 (i32.const 1612) "<") + (data $11.1 (i32.const 1624) "\02\00\00\00$\00\00\00~\00l\00i\00b\00/\00t\00y\00p\00e\00d\00a\00r\00r\00a\00y\00.\00t\00s") + (data $12 (i32.const 1676) "\1c") + (data $12.1 (i32.const 1688) "\0f\00\00\00\08\00\00\00\01") + (data $13 (i32.const 1708) "\1c") + (data $13.1 (i32.const 1720) "\01\00\00\00\05\00\00\00\01\01\01\04\05") + (data $14 (i32.const 1740) ",") + (data $14.1 (i32.const 1752) "\02\00\00\00\1a\00\00\00~\00l\00i\00b\00/\00a\00r\00r\00a\00y\00.\00t\00s") + (data $15 (i32.const 1788) "\1c") + (data $15.1 (i32.const 1800) "\01\00\00\00\05") + (data $16 (i32.const 1820) "\1c") + (data $16.1 (i32.const 1832) "\01\00\00\00\05\00\00\00\01\01") + (data $17 (i32.const 1852) "\1c") + (data $17.1 (i32.const 1864) "\01\00\00\00\05\00\00\00\01\01\00\02\02") + (data $18 (i32.const 1884) "\1c") + (data $18.1 (i32.const 1896) "\01\00\00\00\05\00\00\00\01\01\00\02\02") + (data $19 (i32.const 1916) "\1c") + (data $19.1 (i32.const 1928) "\01\00\00\00\03") + (data $20 (i32.const 1948) "\1c") + (data $20.1 (i32.const 1960) "\01\00\00\00\05\00\00\00\01\00\00\00\02") + (data $21 (i32.const 1980) ",") + (data $21.1 (i32.const 1992) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\01\00\00\00\04\00\00\00\05") + (data $22 (i32.const 2028) ",") + (data $22.1 (i32.const 2040) "\01\00\00\00\14") + (data $23 (i32.const 2076) ",") + (data $23.1 (i32.const 2088) "\01\00\00\00\14\00\00\00\01\00\00\00\01") + (data $24 (i32.const 2124) ",") + (data $24.1 (i32.const 2136) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data $25 (i32.const 2172) ",") + (data $25.1 (i32.const 2184) "\01\00\00\00\14\00\00\00\01\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\02") + (data $26 (i32.const 2220) "\1c") + (data $26.1 (i32.const 2232) "\01\00\00\00\0c") + (data $27 (i32.const 2252) ",") + (data $27.1 (i32.const 2264) "\01\00\00\00\14\00\00\00\01") + (data $27.2 (i32.const 2288) "\02") + (data $28 (i32.const 2300) ",") + (data $28.1 (i32.const 2312) "\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data $29 (i32.const 2348) ",") + (data $29.1 (i32.const 2360) "\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\05\00\00\00\04\00\00\00\05") + (data $30 (i32.const 2396) ",") + (data $30.1 (i32.const 2408) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data $31 (i32.const 2444) ",") + (data $31.1 (i32.const 2456) "\01\00\00\00\14\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $32 (i32.const 2492) ",") + (data $32.1 (i32.const 2504) "\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $33 (i32.const 2540) ",") + (data $33.1 (i32.const 2552) "\01\00\00\00\14\00\00\00\01\00\00\00\04\00\00\00\03\00\00\00\04\00\00\00\05") + (data $34 (i32.const 2588) ",") + (data $34.1 (i32.const 2600) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data $35 (i32.const 2636) ",") + (data $35.1 (i32.const 2648) "\01\00\00\00\14\00\00\00\04\00\00\00\05\00\00\00\03\00\00\00\04\00\00\00\05") + (data $36 (i32.const 2684) ",") + (data $36.1 (i32.const 2696) "\01\00\00\00\14\00\00\00\04\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05") + (data $37 (i32.const 2732) ",") + (data $37.1 (i32.const 2744) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\03\00\00\00\04\00\00\00\05") + (data $38 (i32.const 2780) ",") + (data $38.1 (i32.const 2792) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\04\00\00\00\05") + (data $39 (i32.const 2828) ",") + (data $39.1 (i32.const 2840) "\01\00\00\00\14\00\00\00\01\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\05") + (data $40 (i32.const 2876) "\1c") + (data $40.1 (i32.const 2888) "\12\00\00\00\08\00\00\00\02") + (data $41 (i32.const 2908) "\1c") + (data $41.1 (i32.const 2920) "\13\00\00\00\08\00\00\00\03") + (data $42 (i32.const 2940) "\1c") + (data $42.1 (i32.const 2952) "\14\00\00\00\08\00\00\00\04") + (data $43 (i32.const 2972) "\1c") + (data $43.1 (i32.const 2984) "\15\00\00\00\08\00\00\00\05") + (data $44 (i32.const 3004) "\1c") + (data $44.1 (i32.const 3016) "\16\00\00\00\08\00\00\00\06") + (data $45 (i32.const 3036) "\1c") + (data $45.1 (i32.const 3048) "\17\00\00\00\08\00\00\00\07") + (data $46 (i32.const 3068) "\1c") + (data $46.1 (i32.const 3080) "\18\00\00\00\08\00\00\00\08") + (data $47 (i32.const 3100) "\1c") + (data $47.1 (i32.const 3112) "\19\00\00\00\08\00\00\00\t") + (data $48 (i32.const 3132) "\1c") + (data $48.1 (i32.const 3144) "\1a\00\00\00\08\00\00\00\n") + (data $49 (i32.const 3164) "\1c") + (data $49.1 (i32.const 3176) "\1b\00\00\00\08\00\00\00\0b") + (data $50 (i32.const 3196) "\1c") + (data $50.1 (i32.const 3208) "\1c\00\00\00\08\00\00\00\0c") + (data $51 (i32.const 3228) "\1c") + (data $51.1 (i32.const 3240) "\12\00\00\00\08\00\00\00\r") + (data $52 (i32.const 3260) "\1c") + (data $52.1 (i32.const 3272) "\13\00\00\00\08\00\00\00\0e") + (data $53 (i32.const 3292) "\1c") + (data $53.1 (i32.const 3304) "\14\00\00\00\08\00\00\00\0f") + (data $54 (i32.const 3324) "\1c") + (data $54.1 (i32.const 3336) "\15\00\00\00\08\00\00\00\10") + (data $55 (i32.const 3356) "\1c") + (data $55.1 (i32.const 3368) "\16\00\00\00\08\00\00\00\11") + (data $56 (i32.const 3388) "\1c") + (data $56.1 (i32.const 3400) "\17\00\00\00\08\00\00\00\12") + (data $57 (i32.const 3420) "\1c") + (data $57.1 (i32.const 3432) "\18\00\00\00\08\00\00\00\13") + (data $58 (i32.const 3452) "\1c") + (data $58.1 (i32.const 3464) "\19\00\00\00\08\00\00\00\14") + (data $59 (i32.const 3484) "\1c") + (data $59.1 (i32.const 3496) "\1a\00\00\00\08\00\00\00\15") + (data $60 (i32.const 3516) "\1c") + (data $60.1 (i32.const 3528) "\1b\00\00\00\08\00\00\00\16") + (data $61 (i32.const 3548) "\1c") + (data $61.1 (i32.const 3560) "\1c\00\00\00\08\00\00\00\17") + (data $62 (i32.const 3580) "\1c") + (data $62.1 (i32.const 3592) "\1d\00\00\00\08\00\00\00\18") + (data $63 (i32.const 3612) "\1c") + (data $63.1 (i32.const 3624) "\1e\00\00\00\08\00\00\00\19") + (data $64 (i32.const 3644) "\1c") + (data $64.1 (i32.const 3656) "\1f\00\00\00\08\00\00\00\1a") + (data $65 (i32.const 3676) "\1c") + (data $65.1 (i32.const 3688) " \00\00\00\08\00\00\00\1b") + (data $66 (i32.const 3708) "\1c") + (data $66.1 (i32.const 3720) "!\00\00\00\08\00\00\00\1c") + (data $67 (i32.const 3740) "\1c") + (data $67.1 (i32.const 3752) "\"\00\00\00\08\00\00\00\1d") + (data $68 (i32.const 3772) "\1c") + (data $68.1 (i32.const 3784) "#\00\00\00\08\00\00\00\1e") + (data $69 (i32.const 3804) "\1c") + (data $69.1 (i32.const 3816) "$\00\00\00\08\00\00\00\1f") + (data $70 (i32.const 3836) "\1c") + (data $70.1 (i32.const 3848) "%\00\00\00\08\00\00\00 ") + (data $71 (i32.const 3868) "\1c") + (data $71.1 (i32.const 3880) "&\00\00\00\08\00\00\00!") + (data $72 (i32.const 3900) "\1c") + (data $72.1 (i32.const 3912) "\'\00\00\00\08\00\00\00\"") + (data $73 (i32.const 3932) "\1c") + (data $73.1 (i32.const 3944) "(\00\00\00\08\00\00\00#") + (data $74 (i32.const 3964) "\1c") + (data $74.1 (i32.const 3976) ")\00\00\00\08\00\00\00$") + (data $75 (i32.const 3996) "\1c") + (data $75.1 (i32.const 4008) "*\00\00\00\08\00\00\00%") + (data $76 (i32.const 4028) "\1c") + (data $76.1 (i32.const 4040) "+\00\00\00\08\00\00\00&") + (data $77 (i32.const 4060) "\1c") + (data $77.1 (i32.const 4072) ",\00\00\00\08\00\00\00\'") + (data $78 (i32.const 4092) "\1c") + (data $78.1 (i32.const 4104) "-\00\00\00\08\00\00\00(") + (data $79 (i32.const 4124) "\1c") + (data $79.1 (i32.const 4136) ".\00\00\00\08\00\00\00)") + (data $80 (i32.const 4156) "\1c") + (data $80.1 (i32.const 4168) "/\00\00\00\08\00\00\00*") + (data $81 (i32.const 4188) "\1c") + (data $81.1 (i32.const 4200) "0\00\00\00\08\00\00\00+") + (data $82 (i32.const 4220) "\1c") + (data $82.1 (i32.const 4232) "1\00\00\00\08\00\00\00,") + (data $83 (i32.const 4252) "\1c") + (data $83.1 (i32.const 4264) "2\00\00\00\08\00\00\00-") + (data $84 (i32.const 4284) "\1c") + (data $84.1 (i32.const 4296) "(\00\00\00\08\00\00\00.") + (data $85 (i32.const 4316) "\1c") + (data $85.1 (i32.const 4328) "(\00\00\00\08\00\00\00/") + (data $86 (i32.const 4348) "\1c") + (data $86.1 (i32.const 4360) ")\00\00\00\08\00\00\000") + (data $87 (i32.const 4380) "\1c") + (data $87.1 (i32.const 4392) ")\00\00\00\08\00\00\001") + (data $88 (i32.const 4412) "\1c") + (data $88.1 (i32.const 4424) "*\00\00\00\08\00\00\002") + (data $89 (i32.const 4444) "\1c") + (data $89.1 (i32.const 4456) "*\00\00\00\08\00\00\003") + (data $90 (i32.const 4476) "\1c") + (data $90.1 (i32.const 4488) "+\00\00\00\08\00\00\004") + (data $91 (i32.const 4508) "\1c") + (data $91.1 (i32.const 4520) "+\00\00\00\08\00\00\005") + (data $92 (i32.const 4540) "\1c") + (data $92.1 (i32.const 4552) ",\00\00\00\08\00\00\006") + (data $93 (i32.const 4572) "\1c") + (data $93.1 (i32.const 4584) ",\00\00\00\08\00\00\007") + (data $94 (i32.const 4604) "\1c") + (data $94.1 (i32.const 4616) "-\00\00\00\08\00\00\008") + (data $95 (i32.const 4636) "\1c") + (data $95.1 (i32.const 4648) "-\00\00\00\08\00\00\009") + (data $96 (i32.const 4668) "\1c") + (data $96.1 (i32.const 4680) ".\00\00\00\08\00\00\00:") + (data $97 (i32.const 4700) "\1c") + (data $97.1 (i32.const 4712) ".\00\00\00\08\00\00\00;") + (data $98 (i32.const 4732) "\1c") + (data $98.1 (i32.const 4744) "/\00\00\00\08\00\00\00<") + (data $99 (i32.const 4764) "\1c") + (data $99.1 (i32.const 4776) "/\00\00\00\08\00\00\00=") + (data $100 (i32.const 4796) "\1c") + (data $100.1 (i32.const 4808) "0\00\00\00\08\00\00\00>") + (data $101 (i32.const 4828) "\1c") + (data $101.1 (i32.const 4840) "0\00\00\00\08\00\00\00?") + (data $102 (i32.const 4860) "\1c") + (data $102.1 (i32.const 4872) "1\00\00\00\08\00\00\00@") + (data $103 (i32.const 4892) "\1c") + (data $103.1 (i32.const 4904) "1\00\00\00\08\00\00\00A") + (data $104 (i32.const 4924) "\1c") + (data $104.1 (i32.const 4936) "2\00\00\00\08\00\00\00B") + (data $105 (i32.const 4956) "\1c") + (data $105.1 (i32.const 4968) "2\00\00\00\08\00\00\00C") + (data $106 (i32.const 4988) "\1c") + (data $106.1 (i32.const 5000) "(\00\00\00\08\00\00\00D") + (data $107 (i32.const 5020) "\1c") + (data $107.1 (i32.const 5032) "(\00\00\00\08\00\00\00E") + (data $108 (i32.const 5052) "\1c") + (data $108.1 (i32.const 5064) ")\00\00\00\08\00\00\00F") + (data $109 (i32.const 5084) "\1c") + (data $109.1 (i32.const 5096) ")\00\00\00\08\00\00\00G") + (data $110 (i32.const 5116) "\1c") + (data $110.1 (i32.const 5128) "*\00\00\00\08\00\00\00H") + (data $111 (i32.const 5148) "\1c") + (data $111.1 (i32.const 5160) "*\00\00\00\08\00\00\00I") + (data $112 (i32.const 5180) "\1c") + (data $112.1 (i32.const 5192) "+\00\00\00\08\00\00\00J") + (data $113 (i32.const 5212) "\1c") + (data $113.1 (i32.const 5224) "+\00\00\00\08\00\00\00K") + (data $114 (i32.const 5244) "\1c") + (data $114.1 (i32.const 5256) ",\00\00\00\08\00\00\00L") + (data $115 (i32.const 5276) "\1c") + (data $115.1 (i32.const 5288) ",\00\00\00\08\00\00\00M") + (data $116 (i32.const 5308) "\1c") + (data $116.1 (i32.const 5320) "-\00\00\00\08\00\00\00N") + (data $117 (i32.const 5340) "\1c") + (data $117.1 (i32.const 5352) "-\00\00\00\08\00\00\00O") + (data $118 (i32.const 5372) "\1c") + (data $118.1 (i32.const 5384) ".\00\00\00\08\00\00\00P") + (data $119 (i32.const 5404) "\1c") + (data $119.1 (i32.const 5416) ".\00\00\00\08\00\00\00Q") + (data $120 (i32.const 5436) "\1c") + (data $120.1 (i32.const 5448) "/\00\00\00\08\00\00\00R") + (data $121 (i32.const 5468) "\1c") + (data $121.1 (i32.const 5480) "/\00\00\00\08\00\00\00S") + (data $122 (i32.const 5500) "\1c") + (data $122.1 (i32.const 5512) "0\00\00\00\08\00\00\00T") + (data $123 (i32.const 5532) "\1c") + (data $123.1 (i32.const 5544) "0\00\00\00\08\00\00\00U") + (data $124 (i32.const 5564) "\1c") + (data $124.1 (i32.const 5576) "1\00\00\00\08\00\00\00V") + (data $125 (i32.const 5596) "\1c") + (data $125.1 (i32.const 5608) "1\00\00\00\08\00\00\00W") + (data $126 (i32.const 5628) "\1c") + (data $126.1 (i32.const 5640) "2\00\00\00\08\00\00\00X") + (data $127 (i32.const 5660) "\1c") + (data $127.1 (i32.const 5672) "2\00\00\00\08\00\00\00Y") + (data $128 (i32.const 5692) "\1c") + (data $128.1 (i32.const 5704) "(\00\00\00\08\00\00\00Z") + (data $129 (i32.const 5724) "\1c") + (data $129.1 (i32.const 5736) "(\00\00\00\08\00\00\00[") + (data $130 (i32.const 5756) "\1c") + (data $130.1 (i32.const 5768) ")\00\00\00\08\00\00\00\\") + (data $131 (i32.const 5788) "\1c") + (data $131.1 (i32.const 5800) ")\00\00\00\08\00\00\00]") + (data $132 (i32.const 5820) "\1c") + (data $132.1 (i32.const 5832) "*\00\00\00\08\00\00\00^") + (data $133 (i32.const 5852) "\1c") + (data $133.1 (i32.const 5864) "*\00\00\00\08\00\00\00_") + (data $134 (i32.const 5884) "\1c") + (data $134.1 (i32.const 5896) "+\00\00\00\08\00\00\00`") + (data $135 (i32.const 5916) "\1c") + (data $135.1 (i32.const 5928) "+\00\00\00\08\00\00\00a") + (data $136 (i32.const 5948) "\1c") + (data $136.1 (i32.const 5960) ",\00\00\00\08\00\00\00b") + (data $137 (i32.const 5980) "\1c") + (data $137.1 (i32.const 5992) ",\00\00\00\08\00\00\00c") + (data $138 (i32.const 6012) "\1c") + (data $138.1 (i32.const 6024) "-\00\00\00\08\00\00\00d") + (data $139 (i32.const 6044) "\1c") + (data $139.1 (i32.const 6056) "-\00\00\00\08\00\00\00e") + (data $140 (i32.const 6076) "\1c") + (data $140.1 (i32.const 6088) ".\00\00\00\08\00\00\00f") + (data $141 (i32.const 6108) "\1c") + (data $141.1 (i32.const 6120) ".\00\00\00\08\00\00\00g") + (data $142 (i32.const 6140) "\1c") + (data $142.1 (i32.const 6152) "/\00\00\00\08\00\00\00h") + (data $143 (i32.const 6172) "\1c") + (data $143.1 (i32.const 6184) "/\00\00\00\08\00\00\00i") + (data $144 (i32.const 6204) "\1c") + (data $144.1 (i32.const 6216) "0\00\00\00\08\00\00\00j") + (data $145 (i32.const 6236) "\1c") + (data $145.1 (i32.const 6248) "0\00\00\00\08\00\00\00k") + (data $146 (i32.const 6268) "\1c") + (data $146.1 (i32.const 6280) "1\00\00\00\08\00\00\00l") + (data $147 (i32.const 6300) "\1c") + (data $147.1 (i32.const 6312) "1\00\00\00\08\00\00\00m") + (data $148 (i32.const 6332) "\1c") + (data $148.1 (i32.const 6344) "2\00\00\00\08\00\00\00n") + (data $149 (i32.const 6364) "\1c") + (data $149.1 (i32.const 6376) "2\00\00\00\08\00\00\00o") + (data $150 (i32.const 6396) "\1c") + (data $150.1 (i32.const 6408) "(\00\00\00\08\00\00\00p") + (data $151 (i32.const 6428) "\1c") + (data $151.1 (i32.const 6440) "(\00\00\00\08\00\00\00q") + (data $152 (i32.const 6460) "\1c") + (data $152.1 (i32.const 6472) ")\00\00\00\08\00\00\00r") + (data $153 (i32.const 6492) "\1c") + (data $153.1 (i32.const 6504) ")\00\00\00\08\00\00\00s") + (data $154 (i32.const 6524) "\1c") + (data $154.1 (i32.const 6536) "*\00\00\00\08\00\00\00t") + (data $155 (i32.const 6556) "\1c") + (data $155.1 (i32.const 6568) "*\00\00\00\08\00\00\00u") + (data $156 (i32.const 6588) "\1c") + (data $156.1 (i32.const 6600) "+\00\00\00\08\00\00\00v") + (data $157 (i32.const 6620) "\1c") + (data $157.1 (i32.const 6632) "+\00\00\00\08\00\00\00w") + (data $158 (i32.const 6652) "\1c") + (data $158.1 (i32.const 6664) ",\00\00\00\08\00\00\00x") + (data $159 (i32.const 6684) "\1c") + (data $159.1 (i32.const 6696) ",\00\00\00\08\00\00\00y") + (data $160 (i32.const 6716) "\1c") + (data $160.1 (i32.const 6728) "-\00\00\00\08\00\00\00z") + (data $161 (i32.const 6748) "\1c") + (data $161.1 (i32.const 6760) "-\00\00\00\08\00\00\00{") + (data $162 (i32.const 6780) "\1c") + (data $162.1 (i32.const 6792) ".\00\00\00\08\00\00\00|") + (data $163 (i32.const 6812) "\1c") + (data $163.1 (i32.const 6824) ".\00\00\00\08\00\00\00}") + (data $164 (i32.const 6844) "\1c") + (data $164.1 (i32.const 6856) "/\00\00\00\08\00\00\00~") + (data $165 (i32.const 6876) "\1c") + (data $165.1 (i32.const 6888) "/\00\00\00\08\00\00\00\7f") + (data $166 (i32.const 6908) "\1c") + (data $166.1 (i32.const 6920) "0\00\00\00\08\00\00\00\80") + (data $167 (i32.const 6940) "\1c") + (data $167.1 (i32.const 6952) "0\00\00\00\08\00\00\00\81") + (data $168 (i32.const 6972) "\1c") + (data $168.1 (i32.const 6984) "1\00\00\00\08\00\00\00\82") + (data $169 (i32.const 7004) "\1c") + (data $169.1 (i32.const 7016) "1\00\00\00\08\00\00\00\83") + (data $170 (i32.const 7036) "\1c") + (data $170.1 (i32.const 7048) "2\00\00\00\08\00\00\00\84") + (data $171 (i32.const 7068) "\1c") + (data $171.1 (i32.const 7080) "2\00\00\00\08\00\00\00\85") + (data $172 (i32.const 7100) "\1c") + (data $172.1 (i32.const 7112) "\01\00\00\00\0c\00\00\00\n\00\00\00\0c\00\00\00\0e") + (data $173 (i32.const 7132) ",") + (data $173.1 (i32.const 7144) "\11\00\00\00\10\00\00\00\d0\1b\00\00\d0\1b\00\00\0c\00\00\00\03") + (data $174 (i32.const 7180) "\1c") + (data $174.1 (i32.const 7192) "3\00\00\00\08\00\00\00\86") + (data $175 (i32.const 7212) "\1c") + (data $175.1 (i32.const 7224) "4\00\00\00\08\00\00\00\87") + (data $176 (i32.const 7244) "\1c") + (data $176.1 (i32.const 7256) "5\00\00\00\08\00\00\00\88") + (data $177 (i32.const 7276) "\1c") + (data $177.1 (i32.const 7288) "6\00\00\00\08\00\00\00\89") + (data $178 (i32.const 7308) "\1c") + (data $178.1 (i32.const 7320) "7\00\00\00\08\00\00\00\8a") + (data $179 (i32.const 7340) "\1c") + (data $179.1 (i32.const 7352) "8\00\00\00\08\00\00\00\8b") + (data $180 (i32.const 7372) "\1c") + (data $180.1 (i32.const 7384) "9\00\00\00\08\00\00\00\8c") + (data $181 (i32.const 7404) "\1c") + (data $181.1 (i32.const 7416) ":\00\00\00\08\00\00\00\8d") + (data $182 (i32.const 7436) "\1c") + (data $182.1 (i32.const 7448) ";\00\00\00\08\00\00\00\8e") + (data $183 (i32.const 7468) "\1c") + (data $183.1 (i32.const 7480) "<\00\00\00\08\00\00\00\8f") + (data $184 (i32.const 7500) "\1c") + (data $184.1 (i32.const 7512) "=\00\00\00\08\00\00\00\90") + (data $185 (i32.const 7532) "<") + (data $185.1 (i32.const 7544) "\01\00\00\00$\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data $186 (i32.const 7596) ",") + (data $186.1 (i32.const 7608) "\11\00\00\00\10\00\00\00\80\1d\00\00\80\1d\00\00$\00\00\00\t") + (data $187 (i32.const 7644) "<") + (data $187.1 (i32.const 7656) "\01\00\00\00,\00\00\00\00\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t\00\00\00\n") + (data $188 (i32.const 7708) ",") + (data $188.1 (i32.const 7720) "\11\00\00\00\10\00\00\00\f0\1d\00\00\f0\1d\00\00,\00\00\00\0b") + (data $189 (i32.const 7756) "\1c") + (data $189.1 (i32.const 7768) "\02") + (data $190 (i32.const 7788) "|") + (data $190.1 (i32.const 7800) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") + (data $191 (i32.const 7916) "<") + (data $191.1 (i32.const 7928) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") + (data $192 (i32.const 7980) "\1c") + (data $192.1 (i32.const 7992) "\02\00\00\00\02\00\00\000") + (data $193 (i32.const 8012) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") + (data $194 (i32.const 8412) "\1c\04") + (data $194.1 (i32.const 8424) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") + (data $195 (i32.const 9468) "\\") + (data $195.1 (i32.const 9480) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") + (data $196 (i32.const 9564) "\1c") + (data $196.1 (i32.const 9576) "\02\00\00\00\02\00\00\00,") + (data $197 (i32.const 9596) ",") + (data $197.1 (i32.const 9608) "\02\00\00\00\12\00\00\001\00,\002\00,\003\00,\004\00,\005") + (data $198 (i32.const 9644) "\1c") + (data $198.1 (i32.const 9656) "\02\00\00\00\06\00\00\000\00.\000") + (data $199 (i32.const 9676) "\1c") + (data $199.1 (i32.const 9688) "\02\00\00\00\06\00\00\00N\00a\00N") + (data $200 (i32.const 9708) ",") + (data $200.1 (i32.const 9720) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") + (data $201 (i32.const 9756) ",") + (data $201.1 (i32.const 9768) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") + (data $203 (i32.const 9864) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\00\00\00\10\00\00\000+\00\000+\00\00\0c\00\00\00\03") + (data $213 (i32.const 11116) ",") + (data $213.1 (i32.const 11128) "\01\00\00\00\18") + (data $213.2 (i32.const 11142) "\f0\7f\00\00\00\00\00\00\f8\7f\00\00\00\00\00\00\f0\ff") + (data $214 (i32.const 11164) ",") + (data $214.1 (i32.const 11176) "?\00\00\00\10\00\00\00\80+\00\00\80+\00\00\18\00\00\00\03") + (data $215 (i32.const 11212) "\1c") + (data $215.1 (i32.const 11224) "\01\00\00\00\03\00\00\00\92\91\90") + (data $216 (i32.const 11244) ",") + (data $216.1 (i32.const 11256) "\10\00\00\00\10\00\00\00\e0+\00\00\e0+\00\00\03\00\00\00\03") + (data $217 (i32.const 11292) "\1c") + (data $217.1 (i32.const 11304) "\01\00\00\00\n\00\00\00\01\02\03") + (data $218 (i32.const 11324) ",") + (data $218.1 (i32.const 11336) "\02\00\00\00\12\00\00\00I\00n\00t\008\00A\00r\00r\00a\00y") + (data $219 (i32.const 11372) "\1c") + (data $219.1 (i32.const 11384) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06") + (data $220 (i32.const 11404) "\1c") + (data $220.1 (i32.const 11416) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t") + (data $221 (i32.const 11436) "\1c") + (data $221.1 (i32.const 11448) "\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t") + (data $222 (i32.const 11468) "\1c") + (data $222.1 (i32.const 11480) "\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90") + (data $223 (i32.const 11500) "\1c") + (data $223.1 (i32.const 11512) "\01\00\00\00\n\00\00\00\01\02\03") + (data $224 (i32.const 11532) ",") + (data $224.1 (i32.const 11544) "\02\00\00\00\14\00\00\00U\00i\00n\00t\008\00A\00r\00r\00a\00y") + (data $225 (i32.const 11580) "\1c") + (data $225.1 (i32.const 11592) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06") + (data $226 (i32.const 11612) "\1c") + (data $226.1 (i32.const 11624) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t") + (data $227 (i32.const 11644) "\1c") + (data $227.1 (i32.const 11656) "\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t") + (data $228 (i32.const 11676) "\1c") + (data $228.1 (i32.const 11688) "\01\00\00\00\n\00\00\00defg\e8\e9\ea\92\91\90") + (data $229 (i32.const 11708) "\1c") + (data $229.1 (i32.const 11720) "\01\00\00\00\n\00\00\00\01\02\03") + (data $230 (i32.const 11740) "<") + (data $230.1 (i32.const 11752) "\02\00\00\00\"\00\00\00U\00i\00n\00t\008\00C\00l\00a\00m\00p\00e\00d\00A\00r\00r\00a\00y") + (data $231 (i32.const 11804) "\1c") + (data $231.1 (i32.const 11816) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06") + (data $232 (i32.const 11836) "\1c") + (data $232.1 (i32.const 11848) "\01\00\00\00\n\00\00\00\01\02\03\04\05\06\07\08\t") + (data $233 (i32.const 11868) "\1c") + (data $233.1 (i32.const 11880) "\01\00\00\00\n\00\00\00\01\02\00\00\00\06\07\08\t") + (data $234 (i32.const 11900) "\1c") + (data $234.1 (i32.const 11912) "\01\00\00\00\n\00\00\00defg\ff\ff\ff") + (data $235 (i32.const 11932) ",") + (data $235.1 (i32.const 11944) "\01\00\00\00\14\00\00\00\01\00\02\00\03") + (data $236 (i32.const 11980) ",") + (data $236.1 (i32.const 11992) "\02\00\00\00\14\00\00\00I\00n\00t\001\006\00A\00r\00r\00a\00y") + (data $237 (i32.const 12028) ",") + (data $237.1 (i32.const 12040) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06") + (data $238 (i32.const 12076) ",") + (data $238.1 (i32.const 12088) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t") + (data $239 (i32.const 12124) ",") + (data $239.1 (i32.const 12136) "\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t") + (data $240 (i32.const 12172) ",") + (data $240.1 (i32.const 12184) "\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff") + (data $241 (i32.const 12220) ",") + (data $241.1 (i32.const 12232) "\01\00\00\00\14\00\00\00\01\00\02\00\03") + (data $242 (i32.const 12268) ",") + (data $242.1 (i32.const 12280) "\02\00\00\00\16\00\00\00U\00i\00n\00t\001\006\00A\00r\00r\00a\00y") + (data $243 (i32.const 12316) ",") + (data $243.1 (i32.const 12328) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06") + (data $244 (i32.const 12364) ",") + (data $244.1 (i32.const 12376) "\01\00\00\00\14\00\00\00\01\00\02\00\03\00\04\00\05\00\06\00\07\00\08\00\t") + (data $245 (i32.const 12412) ",") + (data $245.1 (i32.const 12424) "\01\00\00\00\14\00\00\00\01\00\02\00\00\00\00\00\00\00\06\00\07\00\08\00\t") + (data $246 (i32.const 12460) ",") + (data $246.1 (i32.const 12472) "\01\00\00\00\14\00\00\00d\00e\00f\00g\00\e8\03\e9\03\ea\03\92\ff\91\ff\90\ff") + (data $247 (i32.const 12508) "<") + (data $247.1 (i32.const 12520) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03") + (data $248 (i32.const 12572) ",") + (data $248.1 (i32.const 12584) "\02\00\00\00\14\00\00\00I\00n\00t\003\002\00A\00r\00r\00a\00y") + (data $249 (i32.const 12620) "<") + (data $249.1 (i32.const 12632) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06") + (data $250 (i32.const 12684) "<") + (data $250.1 (i32.const 12696) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data $251 (i32.const 12748) "<") + (data $251.1 (i32.const 12760) "\01\00\00\00(\00\00\00\01\00\00\00\02") + (data $251.2 (i32.const 12788) "\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data $252 (i32.const 12812) "<") + (data $252.1 (i32.const 12824) "\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff") + (data $253 (i32.const 12876) "<") + (data $253.1 (i32.const 12888) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03") + (data $254 (i32.const 12940) ",") + (data $254.1 (i32.const 12952) "\02\00\00\00\16\00\00\00U\00i\00n\00t\003\002\00A\00r\00r\00a\00y") + (data $255 (i32.const 12988) "<") + (data $255.1 (i32.const 13000) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06") + (data $256 (i32.const 13052) "<") + (data $256.1 (i32.const 13064) "\01\00\00\00(\00\00\00\01\00\00\00\02\00\00\00\03\00\00\00\04\00\00\00\05\00\00\00\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data $257 (i32.const 13116) "<") + (data $257.1 (i32.const 13128) "\01\00\00\00(\00\00\00\01\00\00\00\02") + (data $257.2 (i32.const 13156) "\06\00\00\00\07\00\00\00\08\00\00\00\t") + (data $258 (i32.const 13180) "<") + (data $258.1 (i32.const 13192) "\01\00\00\00(\00\00\00d\00\00\00e\00\00\00f\00\00\00g\00\00\00\e8\03\00\00\e9\03\00\00\ea\03\00\00\92\ff\ff\ff\91\ff\ff\ff\90\ff\ff\ff") + (data $259 (i32.const 13244) "l") + (data $259.1 (i32.const 13256) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03") + (data $260 (i32.const 13356) ",") + (data $260.1 (i32.const 13368) "\02\00\00\00\14\00\00\00I\00n\00t\006\004\00A\00r\00r\00a\00y") + (data $261 (i32.const 13404) "l") + (data $261.1 (i32.const 13416) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06") + (data $262 (i32.const 13516) "l") + (data $262.1 (i32.const 13528) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") + (data $263 (i32.const 13628) "l") + (data $263.1 (i32.const 13640) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02") + (data $263.2 (i32.const 13688) "\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") + (data $264 (i32.const 13740) "l") + (data $264.1 (i32.const 13752) "\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff") + (data $265 (i32.const 13852) "l") + (data $265.1 (i32.const 13864) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03") + (data $266 (i32.const 13964) ",") + (data $266.1 (i32.const 13976) "\02\00\00\00\16\00\00\00U\00i\00n\00t\006\004\00A\00r\00r\00a\00y") + (data $267 (i32.const 14012) "l") + (data $267.1 (i32.const 14024) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06") + (data $268 (i32.const 14124) "l") + (data $268.1 (i32.const 14136) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\00\00\00\00\05\00\00\00\00\00\00\00\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") + (data $269 (i32.const 14236) "l") + (data $269.1 (i32.const 14248) "\01\00\00\00P\00\00\00\01\00\00\00\00\00\00\00\02") + (data $269.2 (i32.const 14296) "\06\00\00\00\00\00\00\00\07\00\00\00\00\00\00\00\08\00\00\00\00\00\00\00\t") + (data $270 (i32.const 14348) "l") + (data $270.1 (i32.const 14360) "\01\00\00\00P\00\00\00d\00\00\00\00\00\00\00e\00\00\00\00\00\00\00f\00\00\00\00\00\00\00g\00\00\00\00\00\00\00\e8\03\00\00\00\00\00\00\e9\03\00\00\00\00\00\00\ea\03\00\00\00\00\00\00\92\ff\ff\ff\ff\ff\ff\ff\91\ff\ff\ff\ff\ff\ff\ff\90\ff\ff\ff\ff\ff\ff\ff") + (data $271 (i32.const 14460) "<") + (data $271.1 (i32.const 14472) "\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@") + (data $272 (i32.const 14524) ",") + (data $272.1 (i32.const 14536) "\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\003\002\00A\00r\00r\00a\00y") + (data $273 (i32.const 14572) "<") + (data $273.1 (i32.const 14584) "\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@") + (data $274 (i32.const 14636) "<") + (data $274.1 (i32.const 14648) "\01\00\00\00(\00\00\00\00\00\80?\00\00\00@\00\00@@\00\00\80@\00\00\a0@\00\00\c0@\00\00\e0@\00\00\00A\00\00\10A") + (data $275 (i32.const 14700) "<") + (data $275.1 (i32.const 14712) "\01\00\00\00(\00\00\00\00\00\c8B\00\00\caB\00\00\ccB\00\00\ceB\00\00zD\00@zD\00\80zD\00\00\dc\c2\00\00\de\c2\00\00\e0\c2") + (data $276 (i32.const 14764) "l") + (data $276.1 (i32.const 14776) "\01\00\00\00P") + (data $276.2 (i32.const 14790) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@") + (data $277 (i32.const 14876) ",") + (data $277.1 (i32.const 14888) "\02\00\00\00\18\00\00\00F\00l\00o\00a\00t\006\004\00A\00r\00r\00a\00y") + (data $278 (i32.const 14924) "l") + (data $278.1 (i32.const 14936) "\01\00\00\00P") + (data $278.2 (i32.const 14950) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@") + (data $279 (i32.const 15036) "l") + (data $279.1 (i32.const 15048) "\01\00\00\00P") + (data $279.2 (i32.const 15062) "\f0?\00\00\00\00\00\00\00@\00\00\00\00\00\00\08@\00\00\00\00\00\00\10@\00\00\00\00\00\00\14@\00\00\00\00\00\00\18@\00\00\00\00\00\00\1c@\00\00\00\00\00\00 @\00\00\00\00\00\00\"@") + (data $280 (i32.const 15148) "l") + (data $280.1 (i32.const 15160) "\01\00\00\00P") + (data $280.2 (i32.const 15174) "Y@\00\00\00\00\00@Y@\00\00\00\00\00\80Y@\00\00\00\00\00\c0Y@\00\00\00\00\00@\8f@\00\00\00\00\00H\8f@\00\00\00\00\00P\8f@\00\00\00\00\00\80[\c0\00\00\00\00\00\c0[\c0\00\00\00\00\00\00\\\c0") + (data $281 (i32.const 15260) "\1c") + (data $281.1 (i32.const 15272) "\01\00\00\00\n\00\00\00\00\ff\00\00\00d\n\ff\ff") + (data $282 (i32.const 15292) "\1c") + (data $282.1 (i32.const 15304) "\01\00\00\00\n\00\00\00\01\ffd\ff\00\00d\n\ff") + (data $283 (i32.const 15324) "\1c") + (data $283.1 (i32.const 15336) "F\00\00\00\08\00\00\00\91") + (data $284 (i32.const 15356) "\1c") + (data $284.1 (i32.const 15368) "F\00\00\00\08\00\00\00\92") + (data $285 (i32.const 15388) "\1c") + (data $285.1 (i32.const 15400) "G\00\00\00\08\00\00\00\93") + (data $286 (i32.const 15420) "\1c") + (data $286.1 (i32.const 15432) "G\00\00\00\08\00\00\00\94") + (data $287 (i32.const 15452) "\1c") + (data $287.1 (i32.const 15464) "G\00\00\00\08\00\00\00\95") + (data $288 (i32.const 15484) "\1c") + (data $288.1 (i32.const 15496) "G\00\00\00\08\00\00\00\96") + (data $289 (i32.const 15516) "\1c") + (data $289.1 (i32.const 15528) "H\00\00\00\08\00\00\00\97") + (data $290 (i32.const 15548) "\1c") + (data $290.1 (i32.const 15560) "H\00\00\00\08\00\00\00\98") + (data $291 (i32.const 15580) "\1c") + (data $291.1 (i32.const 15592) "I\00\00\00\08\00\00\00\99") + (data $292 (i32.const 15612) "\1c") + (data $292.1 (i32.const 15624) "I\00\00\00\08\00\00\00\9a") + (data $293 (i32.const 15644) "\1c") + (data $293.1 (i32.const 15656) "J\00\00\00\08\00\00\00\9b") + (data $294 (i32.const 15676) "\1c") + (data $294.1 (i32.const 15688) "J\00\00\00\08\00\00\00\9c") + (data $295 (i32.const 15708) "\1c") + (data $295.1 (i32.const 15720) "K\00\00\00\08\00\00\00\9d") + (data $296 (i32.const 15740) "\1c") + (data $296.1 (i32.const 15752) "K\00\00\00\08\00\00\00\9e") + (data $297 (i32.const 15772) "\1c") + (data $297.1 (i32.const 15784) "L\00\00\00\08\00\00\00\9f") + (data $298 (i32.const 15804) "\1c") + (data $298.1 (i32.const 15816) "L\00\00\00\08\00\00\00\a0") + (data $299 (i32.const 15836) "\1c") + (data $299.1 (i32.const 15848) "M\00\00\00\08\00\00\00\a1") + (data $300 (i32.const 15868) "\1c") + (data $300.1 (i32.const 15880) "M\00\00\00\08\00\00\00\a2") + (data $301 (i32.const 15900) "\1c") + (data $301.1 (i32.const 15912) "N\00\00\00\08\00\00\00\a3") + (data $302 (i32.const 15932) "\1c") + (data $302.1 (i32.const 15944) "N\00\00\00\08\00\00\00\a4") + (data $303 (i32.const 15964) "\1c") + (data $303.1 (i32.const 15976) "\0f\00\00\00\08\00\00\00\a5") + (data $304 (i32.const 16000) "O\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00A\08\00\00A\00\00\00A\00\00\00\81\08\00\00\81\00\00\00\01\t\00\00\01\01\00\00\01\n\00\00\01\02\00\00\01\19\00\00\01\1a\00\00\00\00\00\00B\08\00\00\02\t") + (data $304.1 (i32.const 16252) "\02\19\00\00\02\1a\00\00B\00\00\00\82\08\00\00\82\00\00\00\02\01\00\00\02\n\00\00\02\02") (table $0 166 166 funcref) - (elem $0 (i32.const 1) $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 $~lib/util/sort/COMPARATOR~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0) + (elem $0 (i32.const 1) $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1" $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1" $"std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0" $~lib/util/sort/COMPARATOR~anonymous|0 $"std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0" $"std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 7152 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 7616 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 7728 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 10928 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 11008 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 11088 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 11184 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 11264 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1360 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1168 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 8432 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 9488 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -718,7 +717,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -736,7 +735,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -753,7 +752,7 @@ i32.eq if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $1 i32.eqz if @@ -767,16 +766,16 @@ local.get $1 global.set $~lib/rt/itcms/iter end - block $__inlined_func$~lib/rt/itcms/Object#unlink + block $__inlined_func$~lib/rt/itcms/Object#unlink$1403 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.tee $1 i32.eqz if local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.eqz local.get $0 i32.const 49088 @@ -791,10 +790,10 @@ call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink + br $__inlined_func$~lib/rt/itcms/Object#unlink$1403 end local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.eqz if @@ -807,20 +806,20 @@ end local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 end global.get $~lib/rt/itcms/toSpace local.set $2 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 local.tee $1 i32.const 2 i32.le_u @@ -829,7 +828,7 @@ else local.get $1 i32.const 16000 - i32.load $0 + i32.load i32.gt_u if i32.const 1360 @@ -844,13 +843,13 @@ i32.shl i32.const 16004 i32.add - i32.load $0 + i32.load i32.const 32 i32.and end local.set $3 local.get $2 - i32.load $0 offset=8 + i32.load offset=8 local.set $1 local.get $0 global.get $~lib/rt/itcms/white @@ -860,21 +859,45 @@ select local.get $2 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 local.get $0 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 + ) + (func $~lib/rt/itcms/__visit (param $0 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + call $~lib/rt/itcms/Object#makeGray + global.get $~lib/rt/itcms/visitCount + i32.const 1 + i32.add + global.set $~lib/rt/itcms/visitCount + end ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -882,8 +905,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -895,10 +918,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -909,29 +932,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -939,10 +962,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -956,75 +979,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -1046,7 +1062,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -1063,12 +1079,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -1085,17 +1101,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -1105,9 +1121,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -1132,13 +1148,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -1172,7 +1188,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -1228,19 +1244,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -1252,15 +1268,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -1268,23 +1284,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1504 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1298,10 +1316,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -1309,23 +1327,22 @@ if i32.const 0 i32.const 1504 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -1337,52 +1354,53 @@ if i32.const 0 i32.const 1504 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -1390,7 +1408,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -1398,7 +1416,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1409,10 +1427,10 @@ end i32.const 49088 i32.const 0 - i32.store $0 + i32.store i32.const 50656 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -1424,7 +1442,7 @@ i32.const 49088 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -1442,7 +1460,7 @@ i32.const 49088 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -1459,9 +1477,10 @@ end i32.const 49088 i32.const 50660 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 49088 global.set $~lib/rt/tlsf/ROOT @@ -1481,7 +1500,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $2 local.get $0 i32.const 4 i32.sub @@ -1496,25 +1514,24 @@ i32.const 1 else local.get $1 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1504 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $1 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $2 + i32.store local.get $1 call $~lib/rt/tlsf/insertBlock ) @@ -1543,7 +1560,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1556,19 +1573,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -1579,7 +1596,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1591,7 +1608,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -1604,12 +1621,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -1618,7 +1631,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1629,26 +1642,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1664,7 +1677,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1680,7 +1693,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1705,14 +1718,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1728,12 +1741,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1741,47 +1753,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1792,7 +1806,7 @@ if i32.const 0 i32.const 1504 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1802,7 +1816,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1819,10 +1833,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1838,13 +1852,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1504 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1859,7 +1873,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1875,34 +1889,60 @@ if i32.const 1168 i32.const 1504 - i32.const 458 + i32.const 461 i32.const 29 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 + if (result i32) + i32.const 12 + else + local.get $1 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $3 call $~lib/rt/tlsf/searchBlock local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 + local.get $3 + i32.const 256 + i32.ge_u + if (result i32) + local.get $3 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $3 + i32.const 1 + i32.const 27 + local.get $3 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $3 + end + else + local.get $3 + end i32.const 4 local.get $0 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1910,21 +1950,6 @@ i32.sub i32.ne i32.shl - local.get $3 - i32.const 1 - i32.const 27 - local.get $3 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $3 - local.get $3 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1937,12 +1962,12 @@ local.get $2 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $2 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1953,9 +1978,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $0 local.get $3 @@ -1965,7 +1991,7 @@ if i32.const 0 i32.const 1504 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1973,14 +1999,14 @@ end local.get $3 local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1504 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1989,7 +2015,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.set $4 local.get $3 i32.const 4 @@ -1999,7 +2025,7 @@ if i32.const 0 i32.const 1504 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2019,7 +2045,7 @@ i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add @@ -2031,7 +2057,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $0 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -2040,21 +2066,21 @@ local.get $4 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $0 local.get $0 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 ) @@ -2076,7 +2102,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$68 i32.const 2048 local.set $2 loop $do-loop|0 @@ -2088,16 +2114,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$68 end local.get $2 i32.const 0 @@ -2105,14 +2127,13 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 i32.lt_u i32.const 10 i32.shl - local.get $2 i32.add global.set $~lib/rt/itcms/threshold end @@ -2129,36 +2150,36 @@ call $~lib/rt/tlsf/allocateBlock local.tee $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -2171,14 +2192,69 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) + local.get $1 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1232 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load 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 + ) (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (local $5 f64) (local $6 f64) (local $7 i32) (local $8 f64) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -2210,19 +2286,19 @@ i32.shl i32.add local.tee $3 - f64.load $0 offset=8 + f64.load offset=8 local.tee $8 local.set $6 local.get $3 - f64.load $0 + f64.load local.set $5 i32.const 2 global.set $~argumentsLength local.get $5 local.get $8 local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $10) i32.const 0 i32.le_s if @@ -2246,25 +2322,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 + local.tee $9 + f64.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $10) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add + local.get $9 local.get $8 - f64.store $0 offset=16 + f64.store offset=16 local.get $3 i32.const 1 i32.sub @@ -2279,7 +2352,7 @@ i32.shl i32.add local.get $5 - f64.store $0 offset=16 + f64.store offset=16 loop $while-continue|2 local.get $1 local.get $3 @@ -2291,25 +2364,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 + local.tee $9 + f64.load local.set $5 i32.const 2 global.set $~argumentsLength local.get $5 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $10) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add + local.get $9 local.get $5 - f64.store $0 offset=8 + f64.store offset=8 local.get $3 i32.const 1 i32.sub @@ -2324,7 +2394,7 @@ i32.shl i32.add local.get $6 - f64.store $0 offset=8 + f64.store offset=8 local.get $7 i32.const 2 i32.add @@ -2350,8 +2420,7 @@ i32.const 3 i32.shl i32.add - f64.load $0 - local.set $5 + f64.load local.get $0 local.get $1 i32.const 1 @@ -2360,15 +2429,12 @@ i32.const 3 i32.shl i32.add - f64.load $0 - local.set $7 + f64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $10) i32.const 0 i32.gt_s if @@ -2383,18 +2449,14 @@ i32.shl i32.add local.tee $6 - f64.load $0 offset=8 - local.set $5 + f64.load offset=8 local.get $6 - f64.load $0 - local.set $7 + f64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $10) i32.const 31 i32.shr_u else @@ -2421,7 +2483,7 @@ i32.shl i32.add local.tee $3 - f64.load $0 + f64.load local.set $5 local.get $3 local.get $0 @@ -2430,15 +2492,15 @@ i32.shl i32.add local.tee $3 - f64.load $0 - f64.store $0 + f64.load + f64.store local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - f64.store $0 + f64.store local.get $2 i32.const 1 i32.sub @@ -2458,18 +2520,14 @@ i32.shl i32.add local.tee $1 - f64.load $0 offset=8 - local.set $5 + f64.load offset=8 local.get $1 - f64.load $0 - local.set $7 + f64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $10) i32.const 0 i32.ge_s else @@ -2520,8 +2578,8 @@ local.get $0 local.get $10 i32.add - f64.load $0 - f64.store $0 + f64.load + f64.store br $for-loop|0 end end @@ -2542,8 +2600,8 @@ i32.const 3 i32.shl i32.add - f64.load $0 offset=8 - f64.store $0 + f64.load offset=8 + f64.store local.get $6 i32.const 1 i32.add @@ -2561,22 +2619,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $7 local.get $4 local.get $2 i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $7 local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $10) i32.const 0 i32.lt_s if @@ -2586,7 +2644,7 @@ i32.shl i32.add local.get $7 - f64.store $0 + f64.store local.get $6 i32.const 1 i32.sub @@ -2598,7 +2656,7 @@ i32.shl i32.add local.get $8 - f64.store $0 + f64.store local.get $2 i32.const 1 i32.add @@ -2641,47 +2699,47 @@ i64.lt_s i32.sub ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $"std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 i32.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $"std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 local.get $1 i64.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $"std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) local.get $0 local.get $1 f32.add ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $"std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) local.get $0 local.get $1 f64.add ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 local.get $0 i32.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i64) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $0 i64) (param $1 i32) (param $2 i32) (result i64) local.get $0 local.get $0 i64.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result f32) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $0 f32) (param $1 i32) (param $2 i32) (result f32) local.get $0 local.get $0 f32.mul ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result f64) + (func $"std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $0 f64) (param $1 i32) (param $2 i32) (result f64) local.get $0 local.get $0 f64.mul ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.extend8_s i32.const 2 @@ -2695,7 +2753,7 @@ i32.const 20 i32.sub local.tee $3 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -2704,208 +2762,208 @@ if local.get $3 local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 return end local.get $1 local.get $3 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $2 local.get $0 local.get $1 local.get $3 - i32.load $0 offset=16 + i32.load offset=16 local.tee $0 local.get $0 local.get $1 i32.gt_u select - memory.copy $0 $0 + memory.copy local.get $2 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.gt_u ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.extend16_s i32.const 2 i32.gt_s ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 2 i32.gt_u ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.gt_s ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.gt_u ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.gt_s ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.gt_u ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 f32.gt ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 f64.gt ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.eqz ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 2 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.eqz ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 2 i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.eqz ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 2 i64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1" (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.eqz ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 2 f32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1" (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 0 f32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 2 f64.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1" (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 0 f64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 255 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 65535 i32.and i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 4 i32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1" (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 4 i64.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1" (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 f32.const 4 f32.eq ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1" (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 f64.const 4 f64.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.extend8_s i32.const 1 i32.and i32.eqz ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.const 1 i32.and i32.eqz ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.extend16_s i32.const 1 i32.and i32.eqz ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 i64.const 1 i64.and i64.eqz ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $0 f32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) block $__inlined_func$~lib/math/NativeMathf.mod (result f32) local.get $0 i32.reinterpret_f32 - local.tee $3 + local.tee $1 i32.const 23 i32.shr_u i32.const 255 @@ -2922,33 +2980,37 @@ f32.div br $__inlined_func$~lib/math/NativeMathf.mod end - local.get $3 + local.get $1 i32.const 1 i32.shl - local.tee $1 + local.tee $3 i32.const -2147483648 i32.le_u if local.get $0 - local.get $1 + local.get $3 i32.const -2147483648 i32.ne f32.convert_i32_u f32.mul br $__inlined_func$~lib/math/NativeMathf.mod end + local.get $1 + i32.const -2147483648 + i32.and + local.set $3 local.get $2 if (result i32) - local.get $3 + local.get $1 i32.const 8388607 i32.and i32.const 8388608 i32.or else - local.get $3 + local.get $1 i32.const 1 local.get $2 - local.get $3 + local.get $1 i32.const 9 i32.shl i32.clz @@ -3016,48 +3078,49 @@ local.tee $4 i32.sub local.set $2 - local.get $3 - i32.const -2147483648 - i32.and local.get $1 local.get $4 i32.shl - local.tee $1 - i32.const 8388608 - i32.sub - local.get $2 - i32.const 23 - i32.shl - i32.or - local.get $1 - i32.const 1 - local.get $2 - i32.sub - i32.shr_u + local.set $1 local.get $2 i32.const 0 i32.gt_s - select + if (result i32) + local.get $1 + i32.const 8388608 + i32.sub + local.get $2 + i32.const 23 + i32.shl + i32.or + else + local.get $1 + i32.const 1 + local.get $2 + i32.sub + i32.shr_u + end + local.get $3 i32.or f32.reinterpret_i32 end f32.const 0 f32.eq ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (func $"std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $0 f64) (param $1 i32) (param $2 i32) (result i32) (local $3 i64) (local $4 i64) (local $5 i64) (local $6 i64) - block $__inlined_func$~lib/math/NativeMath.mod (result f64) + block $__inlined_func$~lib/math/NativeMath.mod$1 (result f64) local.get $0 i64.reinterpret_f64 - local.tee $5 + local.tee $4 i64.const 52 i64.shr_u i64.const 2047 i64.and - local.tee $4 + local.tee $6 i64.const 2047 i64.eq if @@ -3067,9 +3130,9 @@ local.tee $0 local.get $0 f64.div - br $__inlined_func$~lib/math/NativeMath.mod + br $__inlined_func$~lib/math/NativeMath.mod$1 end - local.get $5 + local.get $4 i64.const 1 i64.shl local.tee $3 @@ -3082,24 +3145,28 @@ i64.ne f64.convert_i32_u f64.mul - br $__inlined_func$~lib/math/NativeMath.mod + br $__inlined_func$~lib/math/NativeMath.mod$1 end local.get $4 + i64.const 63 + i64.shr_u + local.set $5 + local.get $6 i64.eqz if (result i64) - local.get $5 + local.get $4 i64.const 1 + local.get $6 local.get $4 - local.get $5 i64.const 12 i64.shl i64.clz i64.sub - local.tee $4 + local.tee $6 i64.sub i64.shl else - local.get $5 + local.get $4 i64.const 4503599627370495 i64.and i64.const 4503599627370496 @@ -3107,7 +3174,7 @@ end local.set $3 loop $while-continue|0 - local.get $4 + local.get $6 i64.const 1024 i64.gt_s if @@ -3121,7 +3188,7 @@ local.get $3 i64.const 4503599627370496 i64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod + br_if $__inlined_func$~lib/math/NativeMath.mod$1 drop local.get $3 i64.const 4503599627370496 @@ -3132,10 +3199,10 @@ i64.const 1 i64.shl local.set $3 - local.get $4 + local.get $6 i64.const 1 i64.sub - local.set $4 + local.set $6 br $while-continue|0 end end @@ -3149,14 +3216,14 @@ local.get $3 i64.const 4503599627370496 i64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod + br_if $__inlined_func$~lib/math/NativeMath.mod$1 drop local.get $3 i64.const 4503599627370496 i64.sub local.set $3 end - local.get $4 + local.get $6 local.get $3 i64.const 11 i64.shl @@ -3164,28 +3231,31 @@ local.tee $4 i64.sub local.set $6 - local.get $5 - i64.const -9223372036854775808 - i64.and local.get $3 local.get $4 i64.shl - local.tee $3 - i64.const 4503599627370496 - i64.sub - local.get $6 - i64.const 52 - i64.shl - i64.or - local.get $3 - i64.const 1 - local.get $6 - i64.sub - i64.shr_u + local.set $3 local.get $6 i64.const 0 i64.gt_s - select + if (result i64) + local.get $3 + i64.const 4503599627370496 + i64.sub + local.get $6 + i64.const 52 + i64.shl + i64.or + else + local.get $3 + i64.const 1 + local.get $6 + i64.sub + i64.shr_u + end + local.get $5 + i64.const 63 + i64.shl i64.or f64.reinterpret_i64 end @@ -3222,7 +3292,7 @@ i32.shl i32.const 8012 i32.add - i64.load32_u $0 + i64.load32_u local.get $3 i32.const 100 i32.rem_u @@ -3230,11 +3300,11 @@ i32.shl i32.const 8012 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -3257,8 +3327,8 @@ i32.shl i32.const 8012 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $1 i32.const 100 i32.div_u @@ -3280,8 +3350,8 @@ i32.shl i32.const 8012 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store else local.get $0 local.get $2 @@ -3293,7 +3363,7 @@ local.get $1 i32.const 48 i32.add - i32.store16 $0 + i32.store16 end ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) @@ -3301,25 +3371,24 @@ (local $3 i32) local.get $1 i32.extend8_s + local.tee $3 i32.const 0 i32.lt_s local.tee $2 if - local.get $1 - i32.const 255 - i32.and - i32.const 128 + local.get $3 + i32.const -128 i32.eq if local.get $0 i64.const 15762813447372845 - i64.store $0 + i64.store i32.const 4 return end local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $1 i32.sub @@ -3330,18 +3399,18 @@ i32.const 1 i32.shl i32.add - local.set $3 + local.set $0 local.get $1 i32.extend8_s + local.tee $3 i32.const 10 i32.lt_u if + local.get $0 local.get $3 - local.get $1 - i32.extend8_s i32.const 48 i32.or - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -3395,13 +3464,13 @@ i32.add end end - local.set $0 - local.get $3 - local.get $1 + local.set $3 local.get $0 + local.get $1 + local.get $3 call $~lib/util/number/utoa32_dec_lut - local.get $0 local.get $2 + local.get $3 i32.add ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) @@ -3409,67 +3478,65 @@ local.get $1 i32.const 255 i32.and + local.tee $2 i32.const 10 i32.lt_u if local.get $0 - local.get $1 - i32.const 255 - i32.and + local.get $2 i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end local.get $1 i32.const 255 i32.and - local.set $2 + local.set $1 i32.const 3 - local.get $2 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add - local.get $2 + local.get $1 i32.const 100 i32.ge_u select - local.set $1 + local.set $2 local.get $0 - local.get $2 local.get $1 + local.get $2 call $~lib/util/number/utoa32_dec_lut - local.get $1 + local.get $2 ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) local.get $1 i32.extend16_s + local.tee $3 i32.const 0 i32.lt_s local.tee $2 if - local.get $1 - i32.const 65535 - i32.and - i32.const 32768 + local.get $3 + i32.const -32768 i32.eq if local.get $0 i64.const 15481338470793261 - i64.store $0 + i64.store local.get $0 i32.const 3670070 - i32.store $0 offset=8 + i32.store offset=8 i32.const 6 return end local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $1 i32.sub @@ -3480,18 +3547,18 @@ i32.const 1 i32.shl i32.add - local.set $3 + local.set $0 local.get $1 i32.extend16_s + local.tee $3 i32.const 10 i32.lt_u if + local.get $0 local.get $3 - local.get $1 - i32.extend16_s i32.const 48 i32.or - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -3545,13 +3612,13 @@ i32.add end end - local.set $0 - local.get $3 - local.get $1 + local.set $3 local.get $0 + local.get $1 + local.get $3 call $~lib/util/number/utoa32_dec_lut - local.get $0 local.get $2 + local.get $3 i32.add ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) @@ -3559,49 +3626,48 @@ local.get $1 i32.const 65535 i32.and + local.tee $2 i32.const 10 i32.lt_u if local.get $0 - local.get $1 - i32.const 65535 - i32.and + local.get $2 i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end local.get $1 i32.const 65535 i32.and - local.set $2 - local.get $2 + local.set $1 + local.get $1 i32.const 100 i32.lt_u if (result i32) - local.get $2 + local.get $1 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $2 + local.get $1 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $2 + local.get $1 i32.const 1000 i32.ge_u i32.add end - local.set $1 + local.set $2 local.get $0 - local.get $2 local.get $1 + local.get $2 call $~lib/util/number/utoa32_dec_lut - local.get $1 + local.get $2 ) (func $~lib/util/number/itoa_buffered (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -3612,7 +3678,7 @@ if local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 i32.const 0 local.get $1 i32.sub @@ -3632,7 +3698,7 @@ local.get $1 i32.const 48 i32.or - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -3701,7 +3767,7 @@ local.get $1 i32.const 48 i32.or - i32.store16 $0 + i32.store16 i32.const 1 return end @@ -3792,7 +3858,7 @@ i32.shl i32.const 8012 i32.add - i64.load32_u $0 + i64.load32_u local.get $4 i32.const 100 i32.rem_u @@ -3800,11 +3866,11 @@ i32.shl i32.const 8012 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store local.get $0 local.get $2 i32.const 4 @@ -3823,7 +3889,7 @@ i32.shl i32.const 8012 i32.add - i64.load32_u $0 + i64.load32_u local.get $3 i32.const 100 i32.rem_u @@ -3831,11 +3897,11 @@ i32.shl i32.const 8012 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -3856,7 +3922,7 @@ if local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 i64.const 0 local.get $1 i64.sub @@ -3876,7 +3942,7 @@ local.get $1 i64.const 48 i64.or - i64.store16 $0 + i64.store16 local.get $3 i32.const 1 i32.add @@ -4008,11 +4074,11 @@ i64.const 10 i64.lt_u if - local.get $2 + local.get $0 local.get $1 i64.const 48 i64.or - i64.store16 $0 + i64.store16 i32.const 1 return end @@ -4344,7 +4410,7 @@ i32.and i32.const 48 i32.add - i32.store16 $0 + i32.store16 local.get $5 i32.const 1 i32.add @@ -4359,6 +4425,7 @@ i64.extend_i32_u local.get $10 i64.extend_i32_s + local.tee $2 i64.shl local.get $8 i64.add @@ -4374,9 +4441,8 @@ i32.shl i32.const 10736 i32.add - i64.load32_u $0 - local.get $10 - i64.extend_i32_s + i64.load32_u + local.get $2 i64.shl local.set $2 local.get $0 @@ -4387,7 +4453,7 @@ i32.shl i32.add local.tee $0 - i32.load16_u $0 + i32.load16_u local.set $7 loop $while-continue|3 local.get $1 @@ -4431,7 +4497,7 @@ end local.get $0 local.get $7 - i32.store16 $0 + i32.store16 local.get $5 return end @@ -4468,7 +4534,7 @@ i32.and i32.const 48 i32.add - i32.store16 $0 + i32.store16 local.get $5 i32.const 1 i32.add @@ -4498,7 +4564,7 @@ i32.shl i32.const 10736 i32.add - i64.load32_u $0 + i64.load32_u i64.mul local.set $1 local.get $0 @@ -4509,7 +4575,7 @@ i32.shl i32.add local.tee $0 - i32.load16_u $0 + i32.load16_u local.set $7 loop $while-continue|6 local.get $1 @@ -4553,7 +4619,7 @@ end local.get $0 local.get $7 - i32.store16 $0 + i32.store16 local.get $5 ) (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -4568,7 +4634,7 @@ i32.shl i32.add i32.const 3145774 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.add @@ -4596,7 +4662,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $1 i32.const 1 i32.add @@ -4610,7 +4676,7 @@ i32.shl i32.add i32.const 3145774 - i32.store $0 + i32.store local.get $3 i32.const 2 i32.add @@ -4637,10 +4703,10 @@ i32.sub i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $0 i32.const 46 - i32.store16 $0 + i32.store16 local.get $1 i32.const 1 i32.add @@ -4665,10 +4731,10 @@ local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $0 i32.const 3014704 - i32.store $0 + i32.store i32.const 2 local.set $2 loop $for-loop|1 @@ -4682,7 +4748,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -4700,7 +4766,7 @@ if local.get $0 i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 i32.const 4 i32.add @@ -4774,7 +4840,7 @@ i32.const 43 local.get $3 select - i32.store16 $0 + i32.store16 else local.get $0 i32.const 4 @@ -4788,16 +4854,16 @@ local.tee $2 i32.const 2 i32.sub - memory.copy $0 $0 + memory.copy local.get $0 i32.const 46 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 local.get $2 i32.add local.tee $0 i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 i32.const 4 i32.add @@ -4871,7 +4937,7 @@ i32.const 43 local.get $2 select - i32.store16 $0 + i32.store16 local.get $0 local.get $1 i32.add @@ -4884,13 +4950,12 @@ end end ) - (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i32) - (local $4 i64) - (local $5 i64) + (func $~lib/util/number/dtoa_core (param $0 i32) (param $1 f64) (param $2 i32) (result i32) + (local $3 i64) + (local $4 i32) + (local $5 i32) (local $6 i64) - (local $7 i32) + (local $7 i64) (local $8 i32) (local $9 i32) (local $10 i64) @@ -4899,74 +4964,110 @@ (local $13 i64) (local $14 i64) (local $15 i64) + (local $16 i64) local.get $1 f64.const 0 f64.lt - local.tee $3 - if (result f64) + local.tee $4 + if local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 local.get $1 f64.neg + local.set $1 + end + local.get $2 + if (result i64) + local.get $1 + f32.demote_f64 + i32.reinterpret_f32 + local.tee $8 + i32.const 2139095040 + i32.and + i32.const 23 + i32.shr_u + local.tee $9 + i32.const 1 + local.get $9 + select + i32.const 150 + i32.sub + local.set $5 + local.get $8 + i32.const 8388607 + i32.and + i64.extend_i32_u + local.get $9 + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 23 + i64.shl + i64.add else local.get $1 + i64.reinterpret_f64 + local.tee $3 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.tee $8 + i32.const 1 + local.get $8 + select + i32.const 1075 + i32.sub + local.set $5 + local.get $3 + i64.const 4503599627370495 + i64.and + local.get $8 + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + i64.add end - i64.reinterpret_f64 - local.tee $2 - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.tee $7 - i32.const 1 - local.get $7 - select - i32.const 1075 - i32.sub - local.tee $8 + local.set $3 + local.get $5 i32.const 1 i32.sub - local.get $2 - i64.const 4503599627370495 - i64.and - local.get $7 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - i64.add - local.tee $2 + local.get $3 i64.const 1 i64.shl i64.const 1 i64.add - local.tee $4 + local.tee $6 i64.clz i32.wrap_i64 - local.tee $7 + local.tee $8 i32.sub local.set $9 - local.get $4 - local.get $7 + local.get $6 + local.get $8 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus - local.get $2 - local.get $2 + local.get $3 + local.get $3 + i64.const 8388608 i64.const 4503599627370496 + local.get $2 + select i64.eq i32.const 1 i32.add - local.tee $7 + local.tee $2 i64.extend_i32_s i64.shl i64.const 1 i64.sub - local.get $8 - local.get $7 + local.get $5 + local.get $2 i32.sub local.get $9 i32.sub @@ -4978,7 +5079,6 @@ i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $7 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -4987,8 +5087,8 @@ f64.add local.tee $1 i32.trunc_sat_f64_s - local.tee $8 - local.get $8 + local.tee $2 + local.get $2 f64.convert_i32_s local.get $1 f64.ne @@ -4997,99 +5097,99 @@ i32.shr_s i32.const 1 i32.add - local.tee $8 + local.tee $2 i32.const 3 i32.shl - local.tee $9 + local.tee $5 i32.sub global.set $~lib/util/number/_K - local.get $9 + local.get $5 i32.const 9864 i32.add - i64.load $0 + i64.load global.set $~lib/util/number/_frc_pow - local.get $8 + local.get $2 i32.const 1 i32.shl i32.const 10560 i32.add - i32.load16_s $0 + i32.load16_s global.set $~lib/util/number/_exp_pow - local.get $2 - local.get $2 + local.get $3 + local.get $3 i64.clz i64.shl - local.tee $2 + local.tee $3 i64.const 4294967295 i64.and - local.set $5 - local.get $2 + local.set $10 + local.get $3 i64.const 32 i64.shr_u - local.tee $4 + local.tee $6 global.get $~lib/util/number/_frc_pow - local.tee $10 + local.tee $11 i64.const 4294967295 i64.and - local.tee $11 + local.tee $12 i64.mul - local.get $5 - local.get $11 + local.get $10 + local.get $12 i64.mul i64.const 32 i64.shr_u i64.add - local.set $12 + local.set $13 global.get $~lib/util/number/_frc_plus - local.tee $2 + local.tee $3 i64.const 4294967295 i64.and - local.set $13 - local.get $11 - local.get $2 + local.set $14 + local.get $12 + local.get $3 i64.const 32 i64.shr_u - local.tee $6 + local.tee $7 i64.mul - local.get $11 - local.get $13 + local.get $12 + local.get $14 i64.mul i64.const 32 i64.shr_u i64.add - local.set $14 + local.set $15 global.get $~lib/util/number/_frc_minus - local.tee $15 + local.tee $16 i64.const 4294967295 i64.and - local.set $2 - local.get $11 - local.get $15 + local.set $3 + local.get $12 + local.get $16 i64.const 32 i64.shr_u - local.tee $15 + local.tee $16 i64.mul - local.get $2 - local.get $11 + local.get $3 + local.get $12 i64.mul i64.const 32 i64.shr_u i64.add - local.set $11 - local.get $10 + local.set $12 + local.get $11 i64.const 32 i64.shr_u - local.tee $10 - local.get $6 + local.tee $11 + local.get $7 i64.mul - local.get $14 + local.get $15 i64.const 32 i64.shr_u i64.add - local.get $10 - local.get $13 - i64.mul + local.get $11 local.get $14 + i64.mul + local.get $15 i64.const 4294967295 i64.and i64.add @@ -5100,24 +5200,24 @@ i64.add i64.const 1 i64.sub - local.set $6 + local.set $7 local.get $0 - local.get $3 + local.get $4 i32.const 1 i32.shl i32.add local.get $0 - local.get $4 - local.get $10 + local.get $6 + local.get $11 i64.mul - local.get $12 + local.get $13 i64.const 32 i64.shr_u i64.add - local.get $5 local.get $10 + local.get $11 i64.mul - local.get $12 + local.get $13 i64.const 4294967295 i64.and i64.add @@ -5126,24 +5226,24 @@ i64.const 32 i64.shr_u i64.add - local.get $6 local.get $7 global.get $~lib/util/number/_exp_pow + global.get $~lib/util/number/_exp i32.add i32.const -64 i32.sub - local.get $6 - local.get $10 - local.get $15 - i64.mul + local.get $7 local.get $11 + local.get $16 + i64.mul + local.get $12 i64.const 32 i64.shr_u i64.add - local.get $2 - local.get $10 - i64.mul + local.get $3 local.get $11 + i64.mul + local.get $12 i64.const 4294967295 i64.and i64.add @@ -5155,111 +5255,191 @@ i64.const 1 i64.add i64.sub - local.get $3 + local.get $4 call $~lib/util/number/genDigits - local.get $3 + local.get $4 i32.sub global.get $~lib/util/number/_K call $~lib/util/number/prettify - local.get $3 + local.get $4 i32.add ) - (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) - local.get $1 - f64.const 0 - f64.eq - if - local.get $0 - i32.const 48 - i32.store16 $0 - local.get $0 - i32.const 46 - i32.store16 $0 offset=2 - local.get $0 - i32.const 48 - i32.store16 $0 offset=4 - i32.const 3 - return - end - local.get $1 - local.get $1 - f64.sub - f64.const 0 - f64.ne - if - local.get $1 + (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f32) (result i32) + (local $2 f64) + (local $3 i32) + block $~lib/util/number/dtoa_buffered_impl|inlined.0 (result i32) local.get $1 - f64.ne + f64.promote_f32 + local.tee $2 + f64.const 0 + f64.eq if local.get $0 - i32.const 78 - i32.store16 $0 + i32.const 48 + i32.store16 local.get $0 - i32.const 97 - i32.store16 $0 offset=2 + i32.const 46 + i32.store16 offset=2 local.get $0 - i32.const 78 - i32.store16 $0 offset=4 + i32.const 48 + i32.store16 offset=4 i32.const 3 - return - else - local.get $1 - f64.const 0 - f64.lt - local.tee $2 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + end + local.get $2 + local.get $2 + f64.sub + f64.const 0 + f64.ne + if + local.get $2 + local.get $2 + f64.ne if local.get $0 - i32.const 45 - i32.store16 $0 + i32.const 78 + i32.store16 local.get $0 - i32.const 2 + i32.const 97 + i32.store16 offset=2 + local.get $0 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 + else + local.get $2 + f64.const 0 + f64.lt + local.tee $3 + if + local.get $0 + i32.const 45 + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + end + local.get $0 + i64.const 29555310648492105 + i64.store + local.get $0 + i64.const 34058970405077102 + i64.store offset=8 + local.get $3 + i32.const 8 i32.add - local.set $0 + br $~lib/util/number/dtoa_buffered_impl|inlined.0 end - local.get $0 - i64.const 29555310648492105 - i64.store $0 - local.get $0 - i64.const 34058970405077102 - i64.store $0 offset=8 - local.get $2 - i32.const 8 - i32.add - return + unreachable end - unreachable + local.get $0 + local.get $2 + i32.const 1 + call $~lib/util/number/dtoa_core end - local.get $0 - local.get $1 - call $~lib/util/number/dtoa_core ) - (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - local.get $3 - local.get $2 - local.get $1 - i32.sub - i32.const 1 - i32.add - local.tee $5 - local.get $3 - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $5 - i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 - loop $for-loop|0 + (func $~lib/util/number/dtoa_buffered (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) + block $~lib/util/number/dtoa_buffered_impl|inlined.1 (result i32) + local.get $1 + f64.const 0 + f64.eq + if + local.get $0 + i32.const 48 + i32.store16 + local.get $0 + i32.const 46 + i32.store16 offset=2 + local.get $0 + i32.const 48 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + end + local.get $1 + local.get $1 + f64.sub + f64.const 0 + f64.ne + if + local.get $1 + local.get $1 + f64.ne + if + local.get $0 + i32.const 78 + i32.store16 + local.get $0 + i32.const 97 + i32.store16 offset=2 + local.get $0 + i32.const 78 + i32.store16 offset=4 + i32.const 3 + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + else + local.get $1 + f64.const 0 + f64.lt + local.tee $2 + if + local.get $0 + i32.const 45 + i32.store16 + local.get $0 + i32.const 2 + i32.add + local.set $0 + end + local.get $0 + i64.const 29555310648492105 + i64.store + local.get $0 + i64.const 34058970405077102 + i64.store offset=8 + local.get $2 + i32.const 8 + i32.add + br $~lib/util/number/dtoa_buffered_impl|inlined.1 + end + unreachable + end + local.get $0 + local.get $1 + i32.const 0 + call $~lib/util/number/dtoa_core + end + ) + (func $~lib/util/sort/insertionSort (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.const 1 + i32.add + local.tee $5 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $5 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 local.get $2 local.get $7 i32.ge_s @@ -5268,19 +5448,19 @@ local.get $7 i32.add local.tee $3 - i32.load8_s $0 offset=1 + i32.load8_s offset=1 local.tee $6 local.set $5 local.get $3 - i32.load8_s $0 + i32.load8_s local.set $3 i32.const 2 global.set $~argumentsLength local.get $3 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -5302,23 +5482,22 @@ local.get $0 local.get $6 i32.add - i32.load8_s $0 - local.set $8 + local.tee $8 + i32.load8_s + local.set $9 i32.const 2 global.set $~argumentsLength - local.get $8 + local.get $9 local.get $3 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $6 - i32.add local.get $8 - i32.store8 $0 offset=2 + local.get $9 + i32.store8 offset=2 local.get $6 i32.const 1 i32.sub @@ -5331,7 +5510,7 @@ local.get $6 i32.add local.get $3 - i32.store8 $0 offset=2 + i32.store8 offset=2 loop $while-continue|2 local.get $1 local.get $6 @@ -5341,23 +5520,22 @@ local.get $0 local.get $6 i32.add - i32.load8_s $0 - local.set $3 + local.tee $3 + i32.load8_s + local.set $8 i32.const 2 global.set $~argumentsLength - local.get $3 + local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $6 - i32.add local.get $3 - i32.store8 $0 offset=1 + local.get $8 + i32.store8 offset=1 local.get $6 i32.const 1 i32.sub @@ -5370,7 +5548,7 @@ local.get $6 i32.add local.get $5 - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $7 i32.const 2 i32.add @@ -5393,23 +5571,19 @@ local.get $0 local.get $1 i32.add - i32.load8_s $0 - local.set $5 + i32.load8_s local.get $1 i32.const 1 i32.add local.tee $4 local.get $0 i32.add - i32.load8_s $0 - local.set $6 + i32.load8_s i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -5422,18 +5596,14 @@ local.get $4 i32.add local.tee $5 - i32.load8_s $0 offset=1 - local.set $6 + i32.load8_s offset=1 local.get $5 - i32.load8_s $0 - local.set $5 + i32.load8_s i32.const 2 global.set $~argumentsLength - local.get $6 - local.get $5 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -5458,22 +5628,22 @@ local.get $1 i32.add local.tee $3 - i32.load8_s $0 + i32.load8_s local.set $5 local.get $3 local.get $0 local.get $2 i32.add local.tee $3 - i32.load8_s $0 - i32.store8 $0 + i32.load8_s + i32.store8 local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - i32.store8 $0 + i32.store8 local.get $2 i32.const 1 i32.sub @@ -5491,18 +5661,14 @@ local.get $4 i32.add local.tee $1 - i32.load8_s $0 offset=1 - local.set $5 + i32.load8_s offset=1 local.get $1 - i32.load8_s $0 - local.set $1 + i32.load8_s i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $1 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -5548,8 +5714,8 @@ local.get $0 local.get $2 i32.add - i32.load8_s $0 - i32.store8 $0 + i32.load8_s + i32.store8 br $for-loop|0 end end @@ -5566,8 +5732,8 @@ local.get $0 local.get $6 i32.add - i32.load8_s $0 offset=1 - i32.store8 $0 + i32.load8_s offset=1 + i32.store8 local.get $6 i32.const 1 i32.add @@ -5583,20 +5749,20 @@ local.get $4 local.get $6 i32.add - i32.load8_s $0 + i32.load8_s local.set $8 local.get $2 local.get $4 i32.add - i32.load8_s $0 + i32.load8_s local.set $7 i32.const 2 global.set $~argumentsLength local.get $8 local.get $7 local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -5604,7 +5770,7 @@ local.get $1 i32.add local.get $8 - i32.store8 $0 + i32.store8 local.get $6 i32.const 1 i32.sub @@ -5614,7 +5780,7 @@ local.get $1 i32.add local.get $7 - i32.store8 $0 + i32.store8 local.get $2 i32.const 1 i32.add @@ -5635,7 +5801,7 @@ i32.extend8_s i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $0 i32) (param $1 i32) (result i32) local.get $1 i32.extend8_s local.tee $1 @@ -5653,6 +5819,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -5682,19 +5849,19 @@ local.get $7 i32.add local.tee $3 - i32.load8_u $0 offset=1 + i32.load8_u offset=1 local.tee $6 local.set $5 local.get $3 - i32.load8_u $0 + i32.load8_u local.set $3 i32.const 2 global.set $~argumentsLength local.get $3 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -5716,23 +5883,22 @@ local.get $0 local.get $6 i32.add - i32.load8_u $0 - local.set $8 + local.tee $8 + i32.load8_u + local.set $9 i32.const 2 global.set $~argumentsLength - local.get $8 + local.get $9 local.get $3 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $6 - i32.add local.get $8 - i32.store8 $0 offset=2 + local.get $9 + i32.store8 offset=2 local.get $6 i32.const 1 i32.sub @@ -5745,7 +5911,7 @@ local.get $6 i32.add local.get $3 - i32.store8 $0 offset=2 + i32.store8 offset=2 loop $while-continue|2 local.get $1 local.get $6 @@ -5755,23 +5921,22 @@ local.get $0 local.get $6 i32.add - i32.load8_u $0 - local.set $3 + local.tee $3 + i32.load8_u + local.set $8 i32.const 2 global.set $~argumentsLength - local.get $3 + local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $6 - i32.add local.get $3 - i32.store8 $0 offset=1 + local.get $8 + i32.store8 offset=1 local.get $6 i32.const 1 i32.sub @@ -5784,7 +5949,7 @@ local.get $6 i32.add local.get $5 - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $7 i32.const 2 i32.add @@ -5807,23 +5972,19 @@ local.get $0 local.get $1 i32.add - i32.load8_u $0 - local.set $5 + i32.load8_u local.get $1 i32.const 1 i32.add local.tee $4 local.get $0 i32.add - i32.load8_u $0 - local.set $6 + i32.load8_u i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -5836,18 +5997,14 @@ local.get $4 i32.add local.tee $5 - i32.load8_u $0 offset=1 - local.set $6 + i32.load8_u offset=1 local.get $5 - i32.load8_u $0 - local.set $5 + i32.load8_u i32.const 2 global.set $~argumentsLength - local.get $6 - local.get $5 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -5872,22 +6029,22 @@ local.get $1 i32.add local.tee $3 - i32.load8_u $0 + i32.load8_u local.set $5 local.get $3 local.get $0 local.get $2 i32.add local.tee $3 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - i32.store8 $0 + i32.store8 local.get $2 i32.const 1 i32.sub @@ -5905,18 +6062,14 @@ local.get $4 i32.add local.tee $1 - i32.load8_u $0 offset=1 - local.set $5 + i32.load8_u offset=1 local.get $1 - i32.load8_u $0 - local.set $1 + i32.load8_u i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $1 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -5962,8 +6115,8 @@ local.get $0 local.get $2 i32.add - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 br $for-loop|0 end end @@ -5980,8 +6133,8 @@ local.get $0 local.get $6 i32.add - i32.load8_u $0 offset=1 - i32.store8 $0 + i32.load8_u offset=1 + i32.store8 local.get $6 i32.const 1 i32.add @@ -5997,20 +6150,20 @@ local.get $4 local.get $6 i32.add - i32.load8_u $0 + i32.load8_u local.set $8 local.get $2 local.get $4 i32.add - i32.load8_u $0 + i32.load8_u local.set $7 i32.const 2 global.set $~argumentsLength local.get $8 local.get $7 local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -6018,7 +6171,7 @@ local.get $1 i32.add local.get $8 - i32.store8 $0 + i32.store8 local.get $6 i32.const 1 i32.sub @@ -6028,7 +6181,7 @@ local.get $1 i32.add local.get $7 - i32.store8 $0 + i32.store8 local.get $2 i32.const 1 i32.add @@ -6057,7 +6210,7 @@ i32.lt_u i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0" (param $0 i32) (param $1 i32) (result i32) local.get $1 i32.const 255 i32.and @@ -6077,6 +6230,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -6108,19 +6262,19 @@ i32.shl i32.add local.tee $3 - i32.load16_s $0 offset=2 + i32.load16_s offset=2 local.tee $6 local.set $5 local.get $3 - i32.load16_s $0 + i32.load16_s local.set $3 i32.const 2 global.set $~argumentsLength local.get $3 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -6144,25 +6298,22 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $8 + local.tee $8 + i32.load16_s + local.set $9 i32.const 2 global.set $~argumentsLength - local.get $8 + local.get $9 local.get $3 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add local.get $8 - i32.store16 $0 offset=4 + local.get $9 + i32.store16 offset=4 local.get $6 i32.const 1 i32.sub @@ -6177,7 +6328,7 @@ i32.shl i32.add local.get $3 - i32.store16 $0 offset=4 + i32.store16 offset=4 loop $while-continue|2 local.get $1 local.get $6 @@ -6189,25 +6340,22 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $3 + local.tee $3 + i32.load16_s + local.set $8 i32.const 2 global.set $~argumentsLength - local.get $3 + local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add local.get $3 - i32.store16 $0 offset=2 + local.get $8 + i32.store16 offset=2 local.get $6 i32.const 1 i32.sub @@ -6222,7 +6370,7 @@ i32.shl i32.add local.get $5 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $7 i32.const 2 i32.add @@ -6247,8 +6395,7 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $5 + i32.load16_s local.get $0 local.get $1 i32.const 1 @@ -6257,15 +6404,12 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $6 + i32.load16_s i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -6280,18 +6424,14 @@ i32.shl i32.add local.tee $5 - i32.load16_s $0 offset=2 - local.set $6 + i32.load16_s offset=2 local.get $5 - i32.load16_s $0 - local.set $5 + i32.load16_s i32.const 2 global.set $~argumentsLength - local.get $6 - local.get $5 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -6318,7 +6458,7 @@ i32.shl i32.add local.tee $3 - i32.load16_s $0 + i32.load16_s local.set $5 local.get $3 local.get $0 @@ -6327,15 +6467,15 @@ i32.shl i32.add local.tee $3 - i32.load16_s $0 - i32.store16 $0 + i32.load16_s + i32.store16 local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.sub @@ -6355,18 +6495,14 @@ i32.shl i32.add local.tee $1 - i32.load16_s $0 offset=2 - local.set $5 + i32.load16_s offset=2 local.get $1 - i32.load16_s $0 - local.set $1 + i32.load16_s i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $1 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -6415,8 +6551,8 @@ local.get $0 local.get $8 i32.add - i32.load16_s $0 - i32.store16 $0 + i32.load16_s + i32.store16 br $for-loop|0 end end @@ -6437,8 +6573,8 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 offset=2 - i32.store16 $0 + i32.load16_s offset=2 + i32.store16 local.get $6 i32.const 1 i32.add @@ -6456,22 +6592,22 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $7 local.get $4 local.get $2 i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $8 i32.const 2 global.set $~argumentsLength local.get $7 local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -6481,7 +6617,7 @@ i32.shl i32.add local.get $7 - i32.store16 $0 + i32.store16 local.get $6 i32.const 1 i32.sub @@ -6493,7 +6629,7 @@ i32.shl i32.add local.get $8 - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -6514,7 +6650,7 @@ i32.extend16_s i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $0 i32) (param $1 i32) (result i32) local.get $1 i32.extend16_s local.tee $1 @@ -6532,6 +6668,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -6563,19 +6700,19 @@ i32.shl i32.add local.tee $3 - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.tee $6 local.set $5 local.get $3 - i32.load16_u $0 + i32.load16_u local.set $3 i32.const 2 global.set $~argumentsLength local.get $3 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -6599,25 +6736,22 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $8 + local.tee $8 + i32.load16_u + local.set $9 i32.const 2 global.set $~argumentsLength - local.get $8 + local.get $9 local.get $3 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add local.get $8 - i32.store16 $0 offset=4 + local.get $9 + i32.store16 offset=4 local.get $6 i32.const 1 i32.sub @@ -6632,7 +6766,7 @@ i32.shl i32.add local.get $3 - i32.store16 $0 offset=4 + i32.store16 offset=4 loop $while-continue|2 local.get $1 local.get $6 @@ -6644,25 +6778,22 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $3 + local.tee $3 + i32.load16_u + local.set $8 i32.const 2 global.set $~argumentsLength - local.get $3 + local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add local.get $3 - i32.store16 $0 offset=2 + local.get $8 + i32.store16 offset=2 local.get $6 i32.const 1 i32.sub @@ -6677,7 +6808,7 @@ i32.shl i32.add local.get $5 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $7 i32.const 2 i32.add @@ -6702,8 +6833,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $5 + i32.load16_u local.get $0 local.get $1 i32.const 1 @@ -6712,15 +6842,12 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $6 + i32.load16_u i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -6735,18 +6862,14 @@ i32.shl i32.add local.tee $5 - i32.load16_u $0 offset=2 - local.set $6 + i32.load16_u offset=2 local.get $5 - i32.load16_u $0 - local.set $5 + i32.load16_u i32.const 2 global.set $~argumentsLength - local.get $6 - local.get $5 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -6773,7 +6896,7 @@ i32.shl i32.add local.tee $3 - i32.load16_u $0 + i32.load16_u local.set $5 local.get $3 local.get $0 @@ -6782,15 +6905,15 @@ i32.shl i32.add local.tee $3 - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.sub @@ -6810,18 +6933,14 @@ i32.shl i32.add local.tee $1 - i32.load16_u $0 offset=2 - local.set $5 + i32.load16_u offset=2 local.get $1 - i32.load16_u $0 - local.set $1 + i32.load16_u i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $1 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -6870,8 +6989,8 @@ local.get $0 local.get $8 i32.add - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 br $for-loop|0 end end @@ -6892,8 +7011,8 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 offset=2 - i32.store16 $0 + i32.load16_u offset=2 + i32.store16 local.get $6 i32.const 1 i32.add @@ -6911,22 +7030,22 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $7 local.get $4 local.get $2 i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $8 i32.const 2 global.set $~argumentsLength local.get $7 local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -6936,7 +7055,7 @@ i32.shl i32.add local.get $7 - i32.store16 $0 + i32.store16 local.get $6 i32.const 1 i32.sub @@ -6948,7 +7067,7 @@ i32.shl i32.add local.get $8 - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -6977,7 +7096,7 @@ i32.lt_u i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0" (param $0 i32) (param $1 i32) (result i32) local.get $1 i32.const 65535 i32.and @@ -6997,6 +7116,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -7028,19 +7148,19 @@ i32.shl i32.add local.tee $3 - i32.load $0 offset=4 + i32.load offset=4 local.tee $6 local.set $5 local.get $3 - i32.load $0 + i32.load local.set $3 i32.const 2 global.set $~argumentsLength local.get $3 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -7064,25 +7184,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $8 + local.tee $8 + i32.load + local.set $9 i32.const 2 global.set $~argumentsLength - local.get $8 + local.get $9 local.get $3 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add local.get $8 - i32.store $0 offset=8 + local.get $9 + i32.store offset=8 local.get $6 i32.const 1 i32.sub @@ -7097,7 +7214,7 @@ i32.shl i32.add local.get $3 - i32.store $0 offset=8 + i32.store offset=8 loop $while-continue|2 local.get $1 local.get $6 @@ -7109,25 +7226,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $3 + local.tee $3 + i32.load + local.set $8 i32.const 2 global.set $~argumentsLength - local.get $3 + local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add local.get $3 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 local.get $6 i32.const 1 i32.sub @@ -7142,7 +7256,7 @@ i32.shl i32.add local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 i32.add @@ -7167,8 +7281,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 + i32.load local.get $0 local.get $1 i32.const 1 @@ -7177,15 +7290,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $6 + i32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -7200,18 +7310,14 @@ i32.shl i32.add local.tee $5 - i32.load $0 offset=4 - local.set $6 + i32.load offset=4 local.get $5 - i32.load $0 - local.set $5 + i32.load i32.const 2 global.set $~argumentsLength - local.get $6 - local.get $5 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -7238,7 +7344,7 @@ i32.shl i32.add local.tee $3 - i32.load $0 + i32.load local.set $5 local.get $3 local.get $0 @@ -7247,15 +7353,15 @@ i32.shl i32.add local.tee $3 - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.sub @@ -7275,18 +7381,14 @@ i32.shl i32.add local.tee $1 - i32.load $0 offset=4 - local.set $5 + i32.load offset=4 local.get $1 - i32.load $0 - local.set $1 + i32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $1 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -7335,8 +7437,8 @@ local.get $0 local.get $8 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store br $for-loop|0 end end @@ -7357,8 +7459,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $6 i32.const 1 i32.add @@ -7376,22 +7478,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 local.get $4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $7 local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -7401,7 +7503,7 @@ i32.shl i32.add local.get $7 - i32.store $0 + i32.store local.get $6 i32.const 1 i32.sub @@ -7413,7 +7515,7 @@ i32.shl i32.add local.get $8 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.add @@ -7432,7 +7534,7 @@ local.get $1 i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.lt_s @@ -7446,6 +7548,7 @@ (local $6 i32) (local $7 i32) (local $8 i32) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -7477,19 +7580,19 @@ i32.shl i32.add local.tee $3 - i32.load $0 offset=4 + i32.load offset=4 local.tee $6 local.set $5 local.get $3 - i32.load $0 + i32.load local.set $3 i32.const 2 global.set $~argumentsLength local.get $3 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s if @@ -7513,25 +7616,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $8 + local.tee $8 + i32.load + local.set $9 i32.const 2 global.set $~argumentsLength - local.get $8 + local.get $9 local.get $3 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add local.get $8 - i32.store $0 offset=8 + local.get $9 + i32.store offset=8 local.get $6 i32.const 1 i32.sub @@ -7546,7 +7646,7 @@ i32.shl i32.add local.get $3 - i32.store $0 offset=8 + i32.store offset=8 loop $while-continue|2 local.get $1 local.get $6 @@ -7558,25 +7658,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $3 + local.tee $3 + i32.load + local.set $8 i32.const 2 global.set $~argumentsLength - local.get $3 + local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add local.get $3 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 local.get $6 i32.const 1 i32.sub @@ -7591,7 +7688,7 @@ i32.shl i32.add local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 i32.add @@ -7616,8 +7713,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 + i32.load local.get $0 local.get $1 i32.const 1 @@ -7626,15 +7722,12 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $6 + i32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s if @@ -7649,18 +7742,14 @@ i32.shl i32.add local.tee $5 - i32.load $0 offset=4 - local.set $6 + i32.load offset=4 local.get $5 - i32.load $0 - local.set $5 + i32.load i32.const 2 global.set $~argumentsLength - local.get $6 - local.get $5 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 31 i32.shr_u else @@ -7687,7 +7776,7 @@ i32.shl i32.add local.tee $3 - i32.load $0 + i32.load local.set $5 local.get $3 local.get $0 @@ -7696,15 +7785,15 @@ i32.shl i32.add local.tee $3 - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.sub @@ -7724,18 +7813,14 @@ i32.shl i32.add local.tee $1 - i32.load $0 offset=4 - local.set $5 + i32.load offset=4 local.get $1 - i32.load $0 - local.set $1 + i32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $1 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.ge_s else @@ -7784,8 +7869,8 @@ local.get $0 local.get $8 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store br $for-loop|0 end end @@ -7806,8 +7891,8 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 + i32.load offset=4 + i32.store local.get $6 i32.const 1 i32.add @@ -7825,22 +7910,22 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $7 local.get $4 local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $7 local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.lt_s if @@ -7850,7 +7935,7 @@ i32.shl i32.add local.get $7 - i32.store $0 + i32.store local.get $6 i32.const 1 i32.sub @@ -7862,7 +7947,7 @@ i32.shl i32.add local.get $8 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.add @@ -7885,7 +7970,7 @@ i32.lt_u i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 (param $0 i32) (param $1 i32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0" (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 i32.lt_u @@ -7899,6 +7984,7 @@ (local $6 i64) (local $7 i32) (local $8 i64) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -7930,19 +8016,19 @@ i32.shl i32.add local.tee $3 - i64.load $0 offset=8 + i64.load offset=8 local.tee $8 local.set $6 local.get $3 - i64.load $0 + i64.load local.set $5 i32.const 2 global.set $~argumentsLength local.get $5 local.get $8 local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.le_s if @@ -7966,25 +8052,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + local.tee $9 + i64.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add + local.get $9 local.get $8 - i64.store $0 offset=16 + i64.store offset=16 local.get $3 i32.const 1 i32.sub @@ -7999,7 +8082,7 @@ i32.shl i32.add local.get $5 - i64.store $0 offset=16 + i64.store offset=16 loop $while-continue|2 local.get $1 local.get $3 @@ -8011,25 +8094,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + local.tee $9 + i64.load local.set $5 i32.const 2 global.set $~argumentsLength local.get $5 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add + local.get $9 local.get $5 - i64.store $0 offset=8 + i64.store offset=8 local.get $3 i32.const 1 i32.sub @@ -8044,7 +8124,7 @@ i32.shl i32.add local.get $6 - i64.store $0 offset=8 + i64.store offset=8 local.get $7 i32.const 2 i32.add @@ -8070,8 +8150,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $5 + i64.load local.get $0 local.get $1 i32.const 1 @@ -8080,15 +8159,12 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $7 + i64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s if @@ -8103,18 +8179,14 @@ i32.shl i32.add local.tee $6 - i64.load $0 offset=8 - local.set $5 + i64.load offset=8 local.get $6 - i64.load $0 - local.set $7 + i64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 31 i32.shr_u else @@ -8141,7 +8213,7 @@ i32.shl i32.add local.tee $3 - i64.load $0 + i64.load local.set $5 local.get $3 local.get $0 @@ -8150,15 +8222,15 @@ i32.shl i32.add local.tee $3 - i64.load $0 - i64.store $0 + i64.load + i64.store local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - i64.store $0 + i64.store local.get $2 i32.const 1 i32.sub @@ -8178,18 +8250,14 @@ i32.shl i32.add local.tee $1 - i64.load $0 offset=8 - local.set $5 + i64.load offset=8 local.get $1 - i64.load $0 - local.set $7 + i64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.ge_s else @@ -8240,8 +8308,8 @@ local.get $0 local.get $10 i32.add - i64.load $0 - i64.store $0 + i64.load + i64.store br $for-loop|0 end end @@ -8262,8 +8330,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 offset=8 - i64.store $0 + i64.load offset=8 + i64.store local.get $6 i32.const 1 i32.add @@ -8281,22 +8349,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $7 local.get $4 local.get $2 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $7 local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.lt_s if @@ -8306,7 +8374,7 @@ i32.shl i32.add local.get $7 - i64.store $0 + i64.store local.get $6 i32.const 1 i32.sub @@ -8318,7 +8386,7 @@ i32.shl i32.add local.get $8 - i64.store $0 + i64.store local.get $2 i32.const 1 i32.add @@ -8341,7 +8409,7 @@ i64.lt_s i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i64) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $0 i64) (param $1 i64) (result i32) local.get $0 local.get $1 i64.lt_s @@ -8355,6 +8423,7 @@ (local $6 i64) (local $7 i32) (local $8 i64) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -8386,19 +8455,19 @@ i32.shl i32.add local.tee $3 - i64.load $0 offset=8 + i64.load offset=8 local.tee $8 local.set $6 local.get $3 - i64.load $0 + i64.load local.set $5 i32.const 2 global.set $~argumentsLength local.get $5 local.get $8 local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.le_s if @@ -8422,25 +8491,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + local.tee $9 + i64.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add + local.get $9 local.get $8 - i64.store $0 offset=16 + i64.store offset=16 local.get $3 i32.const 1 i32.sub @@ -8455,7 +8521,7 @@ i32.shl i32.add local.get $5 - i64.store $0 offset=16 + i64.store offset=16 loop $while-continue|2 local.get $1 local.get $3 @@ -8467,25 +8533,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + local.tee $9 + i64.load local.set $5 i32.const 2 global.set $~argumentsLength local.get $5 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add + local.get $9 local.get $5 - i64.store $0 offset=8 + i64.store offset=8 local.get $3 i32.const 1 i32.sub @@ -8500,7 +8563,7 @@ i32.shl i32.add local.get $6 - i64.store $0 offset=8 + i64.store offset=8 local.get $7 i32.const 2 i32.add @@ -8526,8 +8589,7 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $5 + i64.load local.get $0 local.get $1 i32.const 1 @@ -8536,15 +8598,12 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $7 + i64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s if @@ -8559,18 +8618,14 @@ i32.shl i32.add local.tee $6 - i64.load $0 offset=8 - local.set $5 + i64.load offset=8 local.get $6 - i64.load $0 - local.set $7 + i64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 31 i32.shr_u else @@ -8597,7 +8652,7 @@ i32.shl i32.add local.tee $3 - i64.load $0 + i64.load local.set $5 local.get $3 local.get $0 @@ -8606,15 +8661,15 @@ i32.shl i32.add local.tee $3 - i64.load $0 - i64.store $0 + i64.load + i64.store local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - i64.store $0 + i64.store local.get $2 i32.const 1 i32.sub @@ -8634,18 +8689,14 @@ i32.shl i32.add local.tee $1 - i64.load $0 offset=8 - local.set $5 + i64.load offset=8 local.get $1 - i64.load $0 - local.set $7 + i64.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.ge_s else @@ -8696,8 +8747,8 @@ local.get $0 local.get $10 i32.add - i64.load $0 - i64.store $0 + i64.load + i64.store br $for-loop|0 end end @@ -8718,8 +8769,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 offset=8 - i64.store $0 + i64.load offset=8 + i64.store local.get $6 i32.const 1 i32.add @@ -8737,22 +8788,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $7 local.get $4 local.get $2 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $7 local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.lt_s if @@ -8762,7 +8813,7 @@ i32.shl i32.add local.get $7 - i64.store $0 + i64.store local.get $6 i32.const 1 i32.sub @@ -8774,7 +8825,7 @@ i32.shl i32.add local.get $8 - i64.store $0 + i64.store local.get $2 i32.const 1 i32.add @@ -8797,7 +8848,7 @@ i64.lt_u i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 (param $0 i64) (param $1 i64) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0" (param $0 i64) (param $1 i64) (result i32) local.get $0 local.get $1 i64.lt_u @@ -8811,6 +8862,7 @@ (local $6 f32) (local $7 i32) (local $8 f32) + (local $9 i32) local.get $1 local.get $3 local.get $2 @@ -8842,19 +8894,19 @@ i32.shl i32.add local.tee $3 - f32.load $0 offset=4 + f32.load offset=4 local.tee $8 local.set $6 local.get $3 - f32.load $0 + f32.load local.set $5 i32.const 2 global.set $~argumentsLength local.get $5 local.get $8 local.get $4 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $11) i32.const 0 i32.le_s if @@ -8878,25 +8930,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + local.tee $9 + f32.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $8 local.get $5 local.get $4 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $11) i32.const 0 i32.le_s br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add + local.get $9 local.get $8 - f32.store $0 offset=8 + f32.store offset=8 local.get $3 i32.const 1 i32.sub @@ -8911,7 +8960,7 @@ i32.shl i32.add local.get $5 - f32.store $0 offset=8 + f32.store offset=8 loop $while-continue|2 local.get $1 local.get $3 @@ -8923,25 +8972,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + local.tee $9 + f32.load local.set $5 i32.const 2 global.set $~argumentsLength local.get $5 local.get $6 local.get $4 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $11) i32.const 0 i32.le_s br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add + local.get $9 local.get $5 - f32.store $0 offset=4 + f32.store offset=4 local.get $3 i32.const 1 i32.sub @@ -8956,7 +9002,7 @@ i32.shl i32.add local.get $6 - f32.store $0 offset=4 + f32.store offset=4 local.get $7 i32.const 2 i32.add @@ -8982,8 +9028,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 - local.set $5 + f32.load local.get $0 local.get $1 i32.const 1 @@ -8992,15 +9037,12 @@ i32.const 2 i32.shl i32.add - f32.load $0 - local.set $7 + f32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $11) i32.const 0 i32.gt_s if @@ -9015,18 +9057,14 @@ i32.shl i32.add local.tee $6 - f32.load $0 offset=4 - local.set $5 + f32.load offset=4 local.get $6 - f32.load $0 - local.set $7 + f32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $11) i32.const 31 i32.shr_u else @@ -9053,7 +9091,7 @@ i32.shl i32.add local.tee $3 - f32.load $0 + f32.load local.set $5 local.get $3 local.get $0 @@ -9062,15 +9100,15 @@ i32.shl i32.add local.tee $3 - f32.load $0 - f32.store $0 + f32.load + f32.store local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - f32.store $0 + f32.store local.get $2 i32.const 1 i32.sub @@ -9090,18 +9128,14 @@ i32.shl i32.add local.tee $1 - f32.load $0 offset=4 - local.set $5 + f32.load offset=4 local.get $1 - f32.load $0 - local.set $7 + f32.load i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $7 local.get $3 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $11) i32.const 0 i32.ge_s else @@ -9152,8 +9186,8 @@ local.get $0 local.get $10 i32.add - f32.load $0 - f32.store $0 + f32.load + f32.store br $for-loop|0 end end @@ -9174,8 +9208,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 - f32.store $0 + f32.load offset=4 + f32.store local.get $6 i32.const 1 i32.add @@ -9193,22 +9227,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $7 local.get $4 local.get $2 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $8 i32.const 2 global.set $~argumentsLength local.get $7 local.get $8 local.get $5 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + i32.load + call_indirect (type $11) i32.const 0 i32.lt_s if @@ -9218,7 +9252,7 @@ i32.shl i32.add local.get $7 - f32.store $0 + f32.store local.get $6 i32.const 1 i32.sub @@ -9230,7 +9264,7 @@ i32.shl i32.add local.get $8 - f32.store $0 + f32.store local.get $2 i32.const 1 i32.add @@ -9273,7 +9307,7 @@ i32.lt_s i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 f32) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $0 f32) (param $1 f32) (result i32) local.get $0 local.get $1 f32.lt @@ -9282,7 +9316,7 @@ f32.gt i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 f64) (result i32) + (func $"std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $0 f64) (param $1 f64) (result i32) local.get $0 local.get $1 f64.lt @@ -9292,7 +9326,6 @@ i32.sub ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $folding-inner3 block $folding-inner2 block $folding-inner1 @@ -9304,7 +9337,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid end return @@ -9324,19 +9357,14 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -9352,19 +9380,14 @@ i32.lt_s br_if $folding-inner3 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -9372,12 +9395,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end i32.const 49120 @@ -9391,7 +9410,6 @@ call $start:std/typedarray ) (func $~lib/arraybuffer/ArrayBufferView#constructor (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -9408,12 +9426,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $0 i32.eqz if @@ -9422,27 +9439,29 @@ i32.const 3 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 - local.get $3 + i32.store local.get $0 - i32.store $0 offset=4 + i32.const 0 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 1073741820 local.get $2 @@ -9464,36 +9483,32 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 local.get $2 - i32.store $0 + i32.store + local.get $0 local.get $2 - if - local.get $0 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $2 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -9501,7 +9516,6 @@ ) (func $~lib/typedarray/Int8Array#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9518,26 +9532,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -9546,7 +9558,6 @@ ) (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -9563,31 +9574,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $1 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store local.get $0 - i32.load $0 + i32.load i32.sub - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int8Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -9604,24 +9609,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 - local.set $0 - local.get $1 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint8Array#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9638,26 +9639,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 5 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -9666,7 +9665,6 @@ ) (func $~lib/typedarray/Uint8ClampedArray#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9683,26 +9681,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 6 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -9711,7 +9707,6 @@ ) (func $~lib/typedarray/Int16Array#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9728,26 +9723,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 7 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 1 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -9755,7 +9748,6 @@ local.get $0 ) (func $~lib/typedarray/Int16Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -9772,26 +9764,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint16Array#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9808,26 +9796,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 8 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 1 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -9836,7 +9822,6 @@ ) (func $~lib/typedarray/Int32Array#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9853,26 +9838,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 9 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -9880,7 +9863,6 @@ local.get $0 ) (func $~lib/typedarray/Int32Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -9897,26 +9879,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint32Array#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9933,26 +9911,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 10 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -9961,7 +9937,6 @@ ) (func $~lib/typedarray/Int64Array#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9978,26 +9953,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 11 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -10005,7 +9978,6 @@ local.get $0 ) (func $~lib/typedarray/Int64Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -10022,26 +9994,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint64Array#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -10058,26 +10026,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 12 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -10086,7 +10052,6 @@ ) (func $~lib/typedarray/Float32Array#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -10103,26 +10068,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 13 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -10131,7 +10094,6 @@ ) (func $~lib/typedarray/Float64Array#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -10148,26 +10110,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 14 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -10192,18 +10152,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 48 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/typedarray/Int8Array#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10216,10 +10175,10 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.ne if i32.const 0 @@ -10231,7 +10190,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int8Array#get:length local.get $0 @@ -10248,10 +10207,10 @@ local.get $0 call $~lib/typedarray/Uint8Array#constructor local.tee $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10264,10 +10223,10 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.ne if i32.const 0 @@ -10279,7 +10238,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int8Array#get:length local.get $0 @@ -10296,10 +10255,10 @@ local.get $0 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10312,10 +10271,10 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.ne if i32.const 0 @@ -10327,7 +10286,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int8Array#get:length local.get $0 @@ -10344,10 +10303,10 @@ local.get $0 call $~lib/typedarray/Int16Array#constructor local.tee $1 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10360,9 +10319,9 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.get $0 i32.const 1 i32.shl @@ -10377,7 +10336,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int16Array#get:length local.get $0 @@ -10394,10 +10353,10 @@ local.get $0 call $~lib/typedarray/Uint16Array#constructor local.tee $1 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10410,9 +10369,9 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.get $0 i32.const 1 i32.shl @@ -10427,7 +10386,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int16Array#get:length local.get $0 @@ -10444,10 +10403,10 @@ local.get $0 call $~lib/typedarray/Int32Array#constructor local.tee $1 - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10460,9 +10419,9 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.get $0 i32.const 2 i32.shl @@ -10477,7 +10436,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int32Array#get:length local.get $0 @@ -10494,10 +10453,10 @@ local.get $0 call $~lib/typedarray/Uint32Array#constructor local.tee $1 - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10510,9 +10469,9 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.get $0 i32.const 2 i32.shl @@ -10527,7 +10486,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int32Array#get:length local.get $0 @@ -10544,10 +10503,10 @@ local.get $0 call $~lib/typedarray/Int64Array#constructor local.tee $1 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10560,9 +10519,9 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.get $0 i32.const 3 i32.shl @@ -10577,7 +10536,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int64Array#get:length local.get $0 @@ -10594,10 +10553,10 @@ local.get $0 call $~lib/typedarray/Uint64Array#constructor local.tee $1 - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10610,9 +10569,9 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.get $0 i32.const 3 i32.shl @@ -10627,7 +10586,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int64Array#get:length local.get $0 @@ -10644,10 +10603,10 @@ local.get $0 call $~lib/typedarray/Float32Array#constructor local.tee $1 - i32.store $0 offset=40 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10660,9 +10619,9 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.get $0 i32.const 2 i32.shl @@ -10677,7 +10636,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int32Array#get:length local.get $0 @@ -10694,10 +10653,10 @@ local.get $0 call $~lib/typedarray/Float64Array#constructor local.tee $1 - i32.store $0 offset=44 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -10710,9 +10669,9 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.get $0 i32.const 3 i32.shl @@ -10727,7 +10686,7 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int64Array#get:length local.get $0 @@ -10746,7 +10705,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Int32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -10763,15 +10721,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u i32.ge_u @@ -10784,24 +10741,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Int32Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -10818,15 +10773,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u i32.ge_u @@ -10839,26 +10793,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int32Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -10875,21 +10827,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $4 + local.get $0 + i32.load + local.tee $5 + i32.store + local.get $4 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $4 + local.get $0 + i32.load offset=4 local.get $1 i32.const 0 i32.lt_s @@ -10897,9 +10871,9 @@ local.get $1 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 @@ -10911,7 +10885,12 @@ i32.lt_s select end - local.set $1 + local.tee $0 + i32.const 2 + i32.shl + i32.add + i32.store offset=4 + local.get $4 local.get $2 i32.const 0 i32.lt_s @@ -10919,9 +10898,9 @@ local.get $2 local.get $3 i32.add - local.tee $2 + local.tee $1 i32.const 0 - local.get $2 + local.get $1 i32.const 0 i32.gt_s select @@ -10933,60 +10912,24 @@ i32.lt_s select end - local.tee $2 - local.get $1 + local.tee $1 + local.get $0 + local.get $0 local.get $1 - local.get $2 i32.lt_s select - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $3 - local.get $2 - local.get $1 i32.sub i32.const 2 i32.shl - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $4 ) (func $~lib/typedarray/Float64Array#__set (param $0 i32) (param $1 i32) (param $2 f64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11003,15 +10946,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u i32.ge_u @@ -11024,18 +10966,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add local.get $2 - f64.store $0 - local.get $3 + f64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -11043,6 +10984,7 @@ (func $~lib/typedarray/Float64Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -11059,21 +11001,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int64Array#get:length local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $4 + local.get $0 + i32.load + local.tee $5 + i32.store + local.get $4 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $4 + local.get $0 + i32.load offset=4 local.get $1 i32.const 0 i32.lt_s @@ -11081,9 +11045,9 @@ local.get $1 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 @@ -11095,7 +11059,12 @@ i32.lt_s select end - local.set $1 + local.tee $0 + i32.const 3 + i32.shl + i32.add + i32.store offset=4 + local.get $4 local.get $2 i32.const 0 i32.lt_s @@ -11103,9 +11072,9 @@ local.get $2 local.get $3 i32.add - local.tee $2 + local.tee $1 i32.const 0 - local.get $2 + local.get $1 i32.const 0 i32.gt_s select @@ -11117,57 +11086,22 @@ i32.lt_s select end - local.tee $2 - local.get $1 + local.tee $1 + local.get $0 + local.get $0 local.get $1 - local.get $2 i32.lt_s select - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $3 - local.get $2 - local.get $1 i32.sub i32.const 3 i32.shl - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $4 ) (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -11182,11 +11116,12 @@ (local $12 i32) (local $13 i32) (local $14 i64) - (local $15 f64) - (local $16 f64) - (local $17 i32) + (local $15 i32) + (local $16 i32) + (local $17 f64) + (local $18 f64) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -11201,12 +11136,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -11229,87 +11160,87 @@ br $break|0 end local.get $0 - f64.load $0 + f64.load local.set $9 local.get $0 - f64.load $0 offset=8 - local.set $15 + f64.load offset=8 + local.set $17 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $15 + local.get $17 local.get $9 local.get $9 - local.get $15 + local.get $17 local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $10) i32.const 0 i32.gt_s local.tee $1 select - f64.store $0 + f64.store local.get $0 - f64.load $0 offset=16 - local.set $16 + f64.load offset=16 + local.set $18 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $16 + local.get $18 local.get $9 - local.get $15 + local.get $17 local.get $1 select local.tee $9 local.get $9 - local.get $16 + local.get $18 local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $10) i32.const 0 i32.gt_s local.tee $1 select - f64.store $0 offset=8 + f64.store offset=8 local.get $0 local.get $9 - local.get $16 + local.get $18 local.get $1 select - f64.store $0 offset=16 + f64.store offset=16 end local.get $0 - f64.load $0 + f64.load local.set $9 local.get $0 - f64.load $0 offset=8 - local.set $15 + f64.load offset=8 + local.set $17 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $15 + local.get $17 local.get $9 local.get $9 - local.get $15 + local.get $17 local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.load + call_indirect (type $10) i32.const 0 i32.gt_s local.tee $1 select - f64.store $0 + f64.store local.get $0 local.get $9 - local.get $15 + local.get $17 local.get $1 select - f64.store $0 offset=8 + f64.store offset=8 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 @@ -11356,7 +11287,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -11379,7 +11310,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 @@ -11397,7 +11328,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 @@ -11422,7 +11353,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 @@ -11442,7 +11373,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 local.get $10 @@ -11490,29 +11421,28 @@ local.get $7 i32.gt_u if - local.get $11 local.get $1 i32.const 2 i32.shl + local.tee $15 + local.get $11 i32.add - i32.load $0 + local.tee $16 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $17 local.get $12 + local.get $15 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 @@ -11520,11 +11450,9 @@ local.get $13 local.get $2 call $~lib/util/sort/mergeRuns - local.get $11 - local.get $17 - i32.add + local.get $16 i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -11542,12 +11470,12 @@ local.get $11 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 local.get $12 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -11560,31 +11488,30 @@ loop $for-loop|4 local.get $1 if - local.get $11 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 + local.get $11 + i32.add + i32.load + local.tee $4 i32.const -1 i32.ne if + local.get $3 local.get $12 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $10 local.get $13 local.get $2 @@ -11602,13 +11529,13 @@ local.get $11 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -11631,26 +11558,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $3 + i32.store local.get $1 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer @@ -11661,7 +11583,6 @@ ) (func $~lib/typedarray/Float64Array#sort@varargs (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -11678,12 +11599,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 block $1of1 block $0of1 block $outOfRange @@ -11696,28 +11616,24 @@ local.set $1 global.get $~lib/memory/__stack_pointer i32.const 1696 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 local.get $1 call $~lib/typedarray/Float64Array#sort - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float64Array#__get (param $0 i32) (param $1 i32) (result f64) (local $2 f64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11734,15 +11650,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u i32.ge_u @@ -11755,25 +11670,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $2 - local.get $3 + f64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/typedarray/Uint8ClampedArray#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11790,15 +11701,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.ge_u if i32.const 1360 @@ -11809,12 +11719,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add i32.const 255 local.get $2 @@ -11829,14 +11738,13 @@ i32.const -1 i32.xor i32.and - i32.store8 $0 - local.get $3 + i32.store8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Uint8ClampedArray#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11853,15 +11761,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.ge_u if i32.const 1360 @@ -11872,23 +11779,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_u $0 - local.set $0 - local.get $2 + i32.load8_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11905,15 +11808,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.ge_u if i32.const 1360 @@ -11924,23 +11826,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add local.get $2 - i32.store8 $0 - local.get $3 + i32.store8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Int8Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11957,18 +11857,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $4 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int8Array#get:length local.tee $0 @@ -12008,7 +11907,7 @@ local.get $0 local.get $2 i32.sub - memory.fill $0 + memory.fill end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -12016,7 +11915,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#get:length (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12033,23 +11931,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $1 + i32.load offset=12 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int8Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12066,15 +11960,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.ge_u if i32.const 1360 @@ -12085,27 +11978,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_s $0 - local.set $0 - local.get $2 + i32.load8_s + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/typedarray/isInt8ArrayEqual (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12117,18 +12006,17 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length local.get $3 @@ -12136,25 +12024,25 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int8Array#get:length - local.set $5 + local.set $4 loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Int8Array#__get - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12164,15 +12052,14 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $2 local.get $1 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1360 @@ -12183,21 +12070,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $1 - i32.store $0 + i32.store local.get $2 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_s $0 - local.set $6 - local.get $4 + i32.load8_s + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $6 + local.get $5 i32.ne br_if $folding-inner1 local.get $2 @@ -12246,7 +12130,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -12266,7 +12150,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 @@ -12280,6 +12164,7 @@ (func $~lib/typedarray/Int8Array#subarray (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -12296,21 +12181,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $4 + local.get $0 + i32.load + local.tee $5 + i32.store + local.get $4 + local.get $5 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $4 + local.get $0 + i32.load offset=4 local.get $1 i32.const 0 i32.lt_s @@ -12318,9 +12225,9 @@ local.get $1 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 @@ -12332,7 +12239,10 @@ i32.lt_s select end - local.set $1 + local.tee $0 + i32.add + i32.store offset=4 + local.get $4 local.get $2 i32.const 0 i32.lt_s @@ -12340,9 +12250,9 @@ local.get $2 local.get $3 i32.add - local.tee $2 + local.tee $1 i32.const 0 - local.get $2 + local.get $1 i32.const 0 i32.gt_s select @@ -12354,57 +12264,23 @@ i32.lt_s select end - local.tee $2 - local.get $1 - local.get $1 - local.get $2 - i32.lt_s - select - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $3 + local.tee $1 local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=4 - local.get $3 local.get $1 + i32.lt_s + select local.get $0 - i32.load $0 offset=4 - i32.add - i32.store $0 offset=4 - local.get $3 - local.get $2 - local.get $1 i32.sub - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $4 ) (func $~lib/typedarray/Int32Array#fill (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12421,18 +12297,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.set $5 - local.get $4 + i32.load offset=4 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $0 call $~lib/typedarray/Int32Array#get:length @@ -12463,7 +12338,7 @@ i32.lt_s select local.set $0 - block $__inlined_func$~lib/util/bytes/FILL + block $__inlined_func$~lib/util/bytes/FILL$202 local.get $1 i32.eqz local.get $1 @@ -12475,7 +12350,7 @@ local.get $2 i32.gt_s if - local.get $5 + local.get $4 local.get $2 i32.const 2 i32.shl @@ -12486,22 +12361,22 @@ i32.sub i32.const 2 i32.shl - memory.fill $0 + memory.fill end - br $__inlined_func$~lib/util/bytes/FILL + br $__inlined_func$~lib/util/bytes/FILL$202 end loop $for-loop|0 local.get $0 local.get $2 i32.gt_s if - local.get $5 + local.get $4 local.get $2 i32.const 2 i32.shl i32.add local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 1 i32.add @@ -12516,7 +12391,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -12533,15 +12407,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=12 + i32.load offset=12 i32.ge_u if i32.const 1360 @@ -12552,22 +12425,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/typedarray/isInt32ArrayEqual (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -12589,18 +12459,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store block $folding-inner0 local.get $1 call $~lib/array/Array#get:length @@ -12609,7 +12478,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $3 @@ -12620,14 +12489,14 @@ if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Int32Array#__get local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/array/Array#__get @@ -12673,7 +12542,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -12693,7 +12562,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 @@ -12707,7 +12576,6 @@ (func $~lib/typedarray/Int32Array#slice (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -12724,18 +12592,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $3 @@ -12791,36 +12658,33 @@ i32.const 0 i32.gt_s select - local.tee $3 + local.tee $2 call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + i32.load offset=4 global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $4 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $5 - local.get $2 local.get $0 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - local.get $3 + local.get $2 i32.const 2 i32.shl - memory.copy $0 $0 - local.get $2 + memory.copy + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 ) (func $~lib/typedarray/Int32Array#slice@varargs (param $0 i32) (result i32) (local $1 i32) @@ -12841,7 +12705,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $outOfRange @@ -12855,17 +12719,15 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 call $~lib/typedarray/Int32Array#slice - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int32Array#copyWithin (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) @@ -12886,21 +12748,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $4 local.get $3 @@ -12909,7 +12770,7 @@ select local.set $5 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $3 local.get $1 i32.const 0 @@ -12996,7 +12857,7 @@ select i32.const 2 i32.shl - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -13022,7 +12883,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -13038,21 +12899,18 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 local.get $3 call $~lib/typedarray/Int32Array#copyWithin - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint8Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13069,15 +12927,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.ge_u if i32.const 1360 @@ -13088,16 +12945,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add local.get $2 - i32.store8 $0 - local.get $3 + i32.store8 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -13109,7 +12965,7 @@ (local $5 i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -13124,27 +12980,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - i64.const 0 - i64.store $0 offset=8 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $4 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $5 @@ -13156,11 +13011,11 @@ local.get $2 local.get $4 i32.add - i32.load8_u $0 + i32.load8_u local.set $6 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $3 @@ -13168,8 +13023,8 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $3 local.get $2 i32.const 1 @@ -13179,13 +13034,12 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) (func $~lib/typedarray/Int16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13202,15 +13056,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u i32.ge_u @@ -13223,24 +13076,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add local.get $2 - i32.store16 $0 - local.get $3 + i32.store16 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Uint16Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13257,15 +13108,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u i32.ge_u @@ -13278,24 +13128,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add local.get $2 - i32.store16 $0 - local.get $3 + i32.store16 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Uint32Array#__set (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13312,15 +13160,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u i32.ge_u @@ -13333,24 +13180,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Int64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13367,15 +13212,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u i32.ge_u @@ -13388,24 +13232,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add local.get $2 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Uint64Array#__set (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13422,15 +13264,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u i32.ge_u @@ -13443,24 +13284,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add local.get $2 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Float32Array#__set (param $0 i32) (param $1 i32) (param $2 f32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13477,15 +13316,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u i32.ge_u @@ -13498,18 +13336,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add local.get $2 - f32.store $0 - local.get $3 + f32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -13532,15 +13369,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 0 local.get $1 @@ -13560,20 +13396,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_s $0 - local.set $0 - local.get $2 + i32.load8_s + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint8Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -13593,15 +13426,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 0 local.get $1 @@ -13621,20 +13453,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_u $0 - local.set $0 - local.get $2 + i32.load8_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint8ClampedArray#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -13654,15 +13483,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.tee $2 i32.const 0 local.get $1 @@ -13682,20 +13510,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_u $0 - local.set $0 - local.get $2 + i32.load8_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int16Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -13715,15 +13540,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u local.tee $2 @@ -13745,22 +13569,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $0 - local.get $2 + i32.load16_s + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint16Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -13780,15 +13601,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u local.tee $2 @@ -13810,22 +13630,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $0 - local.get $2 + i32.load16_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int32Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -13845,15 +13662,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u local.tee $2 @@ -13875,22 +13691,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint32Array#at (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -13910,15 +13723,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u local.tee $2 @@ -13940,26 +13752,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int64Array#at (param $0 i32) (param $1 i32) (result i64) - (local $2 i64) - (local $3 i32) + (local $2 i32) + (local $3 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13976,18 +13785,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $2 i32.const 0 local.get $1 i32.const 0 @@ -13995,7 +13803,7 @@ select i32.add local.tee $1 - local.get $3 + local.get $2 i32.ge_u if i32.const 1360 @@ -14006,26 +13814,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $2 - local.get $3 + i64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/typedarray/Uint64Array#at (param $0 i32) (param $1 i32) (result i64) - (local $2 i64) - (local $3 i32) + (local $2 i32) + (local $3 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14042,18 +13847,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $2 i32.const 0 local.get $1 i32.const 0 @@ -14061,7 +13865,7 @@ select i32.add local.tee $1 - local.get $3 + local.get $2 i32.ge_u if i32.const 1360 @@ -14072,26 +13876,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $2 - local.get $3 + i64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/typedarray/Float32Array#at (param $0 i32) (param $1 i32) (result f32) - (local $2 f32) - (local $3 i32) + (local $2 i32) + (local $3 f32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14108,18 +13909,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u - local.tee $3 + local.tee $2 i32.const 0 local.get $1 i32.const 0 @@ -14127,7 +13927,7 @@ select i32.add local.tee $1 - local.get $3 + local.get $2 i32.ge_u if i32.const 1360 @@ -14138,26 +13938,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.set $2 - local.get $3 + f32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/typedarray/Float64Array#at (param $0 i32) (param $1 i32) (result f64) - (local $2 f64) - (local $3 i32) + (local $2 i32) + (local $3 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14174,18 +13971,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u - local.tee $3 + local.tee $2 i32.const 0 local.get $1 i32.const 0 @@ -14193,7 +13989,7 @@ select i32.add local.tee $1 - local.get $3 + local.get $2 i32.ge_u if i32.const 1360 @@ -14204,22 +14000,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $2 - local.get $3 + f64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/typedarray/Uint8Array#reduceRight (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -14227,7 +14020,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -14242,27 +14035,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 - i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $4 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length i32.const 1 @@ -14276,11 +14068,11 @@ local.get $2 local.get $4 i32.add - i32.load8_u $0 + i32.load8_u local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $3 @@ -14288,8 +14080,8 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $3 local.get $2 i32.const 1 @@ -14299,12 +14091,12 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -14323,48 +14115,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $6 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3600 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -14372,98 +14162,93 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $6 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3600 - i32.store $0 offset=4 - local.get $2 - local.get $6 - i32.store $0 offset=8 - local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length - local.set $7 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $4 i32.const 1 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=16 + local.tee $3 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $7 + local.get $2 + local.get $4 i32.lt_s if - local.get $0 local.get $2 + local.get $6 i32.add - i32.load8_s $0 - local.set $3 + i32.load8_s + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $5 - i32.add + local.get $2 local.get $3 + i32.add + local.get $7 + local.get $2 local.get $0 - local.get $6 i32.const 3600 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 - local.get $0 + i32.load + call_indirect (type $1) + i32.store8 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|0 end end + local.get $1 + local.get $3 + i32.store + local.get $1 + local.get $3 + call $~lib/rt/itcms/__link + local.get $1 + local.get $3 + i32.store offset=4 + local.get $1 local.get $4 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $5 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $4 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 1 @@ -14477,9 +14262,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 4 @@ -14493,9 +14278,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 9 @@ -14522,7 +14307,6 @@ unreachable ) (func $~lib/typedarray/Uint8Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14539,15 +14323,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.ge_u if i32.const 1360 @@ -14558,22 +14341,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_u $0 - local.set $0 - local.get $2 + i32.load8_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -14592,48 +14372,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8Array#constructor - local.tee $6 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3632 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -14641,98 +14419,93 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $6 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3632 - i32.store $0 offset=4 - local.get $2 - local.get $6 - i32.store $0 offset=8 - local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length - local.set $7 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $4 i32.const 1 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=16 + local.tee $3 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $7 + local.get $2 + local.get $4 i32.lt_s if - local.get $0 local.get $2 + local.get $6 i32.add - i32.load8_u $0 - local.set $3 + i32.load8_u + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $5 - i32.add + local.get $2 local.get $3 + i32.add + local.get $7 + local.get $2 local.get $0 - local.get $6 i32.const 3632 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 - local.get $0 + i32.load + call_indirect (type $1) + i32.store8 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|0 end end + local.get $1 + local.get $3 + i32.store + local.get $1 + local.get $3 + call $~lib/rt/itcms/__link + local.get $1 + local.get $3 + i32.store offset=4 + local.get $1 local.get $4 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $5 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $4 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Uint8Array#__get i32.const 1 @@ -14746,9 +14519,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 4 @@ -14762,9 +14535,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 9 @@ -14790,7 +14563,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -14809,48 +14582,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $6 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3664 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -14858,98 +14629,93 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $6 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3664 - i32.store $0 offset=4 - local.get $2 - local.get $6 - i32.store $0 offset=8 - local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length - local.set $7 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $4 i32.const 1 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=16 + local.tee $3 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $7 + local.get $2 + local.get $4 i32.lt_s if - local.get $0 local.get $2 + local.get $6 i32.add - i32.load8_u $0 - local.set $3 + i32.load8_u + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $0 - local.get $5 - i32.add + local.get $2 local.get $3 + i32.add + local.get $7 + local.get $2 local.get $0 - local.get $6 i32.const 3664 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 - local.get $0 + i32.load + call_indirect (type $1) + i32.store8 + local.get $2 i32.const 1 i32.add - local.set $0 + local.set $2 br $for-loop|0 end end + local.get $1 + local.get $3 + i32.store + local.get $1 + local.get $3 + call $~lib/rt/itcms/__link + local.get $1 + local.get $3 + i32.store offset=4 + local.get $1 local.get $4 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $5 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $4 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 @@ -14963,9 +14729,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 4 @@ -14979,9 +14745,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 9 @@ -15008,7 +14774,6 @@ unreachable ) (func $~lib/typedarray/Int16Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15025,15 +14790,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u i32.ge_u @@ -15046,24 +14810,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $0 - local.get $2 + i32.load16_s + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -15084,48 +14845,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $8 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3696 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -15133,104 +14892,99 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $8 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3696 - i32.store $0 offset=4 - local.get $2 - local.get $8 - i32.store $0 offset=8 - local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $9 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 7 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $4 i32.const 1 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=16 + local.tee $2 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $3 + local.get $4 i32.lt_s if - local.get $2 - local.get $0 + local.get $6 + local.get $3 i32.const 1 i32.shl - local.tee $4 + local.tee $8 i32.add - i32.load16_s $0 - local.set $5 + i32.load16_s + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 - local.get $7 + local.get $2 + local.get $8 i32.add - local.get $5 + local.get $9 + local.get $3 local.get $0 - local.get $8 i32.const 3696 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 $0 - local.get $0 + i32.load + call_indirect (type $1) + i32.store16 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $6 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 + local.get $1 + local.get $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link + local.get $1 + local.get $2 + i32.store offset=4 + local.get $1 local.get $7 - i32.store $0 offset=4 - local.get $6 - local.get $3 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $6 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Int16Array#__get i32.const 1 @@ -15244,9 +14998,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 4 @@ -15260,9 +15014,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 9 @@ -15289,7 +15043,6 @@ unreachable ) (func $~lib/typedarray/Uint16Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15306,15 +15059,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 1 i32.shr_u i32.ge_u @@ -15327,24 +15079,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $0 - local.get $2 + i32.load16_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -15365,48 +15114,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $8 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3728 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -15414,104 +15161,99 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $8 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3728 - i32.store $0 offset=4 - local.get $2 - local.get $8 - i32.store $0 offset=8 - local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $9 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 8 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $4 i32.const 1 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=16 + local.tee $2 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $3 + local.get $4 i32.lt_s if - local.get $2 - local.get $0 + local.get $6 + local.get $3 i32.const 1 i32.shl - local.tee $4 + local.tee $8 i32.add - i32.load16_u $0 - local.set $5 + i32.load16_u + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 - local.get $7 + local.get $2 + local.get $8 i32.add - local.get $5 + local.get $9 + local.get $3 local.get $0 - local.get $8 i32.const 3728 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 $0 - local.get $0 + i32.load + call_indirect (type $1) + i32.store16 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $6 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 + local.get $1 + local.get $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link + local.get $1 + local.get $2 + i32.store offset=4 + local.get $1 local.get $7 - i32.store $0 offset=4 - local.get $6 - local.get $3 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $6 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Uint16Array#__get i32.const 1 @@ -15525,9 +15267,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 4 @@ -15541,9 +15283,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 9 @@ -15569,7 +15311,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -15590,48 +15332,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $8 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3760 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -15639,104 +15379,99 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $8 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3760 - i32.store $0 offset=4 - local.get $2 - local.get $8 - i32.store $0 offset=8 - local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.set $9 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $4 i32.const 2 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=16 + local.tee $2 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $3 + local.get $4 i32.lt_s if - local.get $2 - local.get $0 + local.get $6 + local.get $3 i32.const 2 i32.shl - local.tee $4 + local.tee $8 i32.add - i32.load $0 - local.set $5 + i32.load + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 - local.get $7 + local.get $2 + local.get $8 i32.add - local.get $5 + local.get $9 + local.get $3 local.get $0 - local.get $8 i32.const 3760 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 - local.get $0 + i32.load + call_indirect (type $1) + i32.store + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $6 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 + local.get $1 + local.get $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link + local.get $1 + local.get $2 + i32.store offset=4 + local.get $1 local.get $7 - i32.store $0 offset=4 - local.get $6 - local.get $3 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $6 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 1 @@ -15750,9 +15485,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 4 @@ -15766,9 +15501,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 9 @@ -15795,7 +15530,6 @@ unreachable ) (func $~lib/typedarray/Uint32Array#__get (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15812,15 +15546,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u i32.ge_u @@ -15833,24 +15566,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -15871,48 +15601,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $8 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3792 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -15920,104 +15648,99 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $8 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3792 - i32.store $0 offset=4 - local.get $2 - local.get $8 - i32.store $0 offset=8 - local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.set $9 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $4 i32.const 2 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=16 + local.tee $2 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $3 + local.get $4 i32.lt_s if - local.get $2 - local.get $0 + local.get $6 + local.get $3 i32.const 2 i32.shl - local.tee $4 + local.tee $8 i32.add - i32.load $0 - local.set $5 + i32.load + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 - local.get $7 + local.get $2 + local.get $8 i32.add - local.get $5 + local.get $9 + local.get $3 local.get $0 - local.get $8 i32.const 3792 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 - local.get $0 + i32.load + call_indirect (type $1) + i32.store + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $6 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 + local.get $1 + local.get $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link + local.get $1 + local.get $2 + i32.store offset=4 + local.get $1 local.get $7 - i32.store $0 offset=4 - local.get $6 - local.get $3 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $6 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Uint32Array#__get i32.const 1 @@ -16031,9 +15754,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 4 @@ -16047,9 +15770,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 9 @@ -16077,7 +15800,6 @@ ) (func $~lib/typedarray/Int64Array#__get (param $0 i32) (param $1 i32) (result i64) (local $2 i64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -16094,15 +15816,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u i32.ge_u @@ -16115,34 +15836,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $2 - local.get $3 + i64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>" (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) + (local $9 i64) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -16153,48 +15871,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $8 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3824 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16202,104 +15918,99 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $8 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3824 - i32.store $0 offset=4 - local.get $2 - local.get $8 - i32.store $0 offset=8 - local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $9 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 11 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $4 i32.const 3 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=16 + local.tee $2 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $3 + local.get $4 i32.lt_s if - local.get $2 - local.get $0 + local.get $6 + local.get $3 i32.const 3 i32.shl - local.tee $4 + local.tee $8 i32.add - i64.load $0 - local.set $5 + i64.load + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 - local.get $7 + local.get $2 + local.get $8 i32.add - local.get $5 + local.get $9 + local.get $3 local.get $0 - local.get $8 i32.const 3824 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store $0 - local.get $0 + i32.load + call_indirect (type $24) + i64.store + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $6 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 + local.get $1 + local.get $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link + local.get $1 + local.get $2 + i32.store offset=4 + local.get $1 local.get $7 - i32.store $0 offset=4 - local.get $6 - local.get $3 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $6 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Int64Array#__get i64.const 1 @@ -16313,9 +16024,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 4 @@ -16329,9 +16040,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 9 @@ -16359,7 +16070,6 @@ ) (func $~lib/typedarray/Uint64Array#__get (param $0 i32) (param $1 i32) (result i64) (local $2 i64) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -16376,15 +16086,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.shr_u i32.ge_u @@ -16397,34 +16106,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $2 - local.get $3 + i64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>" (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) + (local $9 i64) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -16435,48 +16141,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $8 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3856 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16484,104 +16188,99 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $8 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3856 - i32.store $0 offset=4 - local.get $2 - local.get $8 - i32.store $0 offset=8 - local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $9 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 12 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $4 i32.const 3 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=16 + local.tee $2 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $3 + local.get $4 i32.lt_s if - local.get $2 - local.get $0 + local.get $6 + local.get $3 i32.const 3 i32.shl - local.tee $4 + local.tee $8 i32.add - i64.load $0 - local.set $5 + i64.load + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 - local.get $7 + local.get $2 + local.get $8 i32.add - local.get $5 + local.get $9 + local.get $3 local.get $0 - local.get $8 i32.const 3856 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store $0 - local.get $0 + i32.load + call_indirect (type $24) + i64.store + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $6 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 + local.get $1 + local.get $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link + local.get $1 + local.get $2 + i32.store offset=4 + local.get $1 local.get $7 - i32.store $0 offset=4 - local.get $6 - local.get $3 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $6 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Uint64Array#__get i64.const 1 @@ -16595,9 +16294,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 4 @@ -16611,9 +16310,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 9 @@ -16641,7 +16340,6 @@ ) (func $~lib/typedarray/Float32Array#__get (param $0 i32) (param $1 i32) (result f32) (local $2 f32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -16658,15 +16356,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=8 + i32.load offset=8 i32.const 2 i32.shr_u i32.ge_u @@ -16679,34 +16376,31 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.set $2 - local.get $3 + f32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>" (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 f32) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) + (local $9 f32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -16717,48 +16411,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $8 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3888 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16766,104 +16458,99 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $8 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3888 - i32.store $0 offset=4 - local.get $2 - local.get $8 - i32.store $0 offset=8 - local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.set $9 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 13 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $4 i32.const 2 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=16 + local.tee $2 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $3 + local.get $4 i32.lt_s if - local.get $2 - local.get $0 + local.get $6 + local.get $3 i32.const 2 i32.shl - local.tee $4 + local.tee $8 i32.add - f32.load $0 - local.set $5 + f32.load + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 - local.get $7 + local.get $2 + local.get $8 i32.add - local.get $5 + local.get $9 + local.get $3 local.get $0 - local.get $8 i32.const 3888 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_f32) - f32.store $0 - local.get $0 + i32.load + call_indirect (type $29) + f32.store + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $6 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 + local.get $1 + local.get $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link + local.get $1 + local.get $2 + i32.store offset=4 + local.get $1 local.get $7 - i32.store $0 offset=4 - local.get $6 - local.get $3 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $6 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Float32Array#__get f32.const 1 @@ -16877,9 +16564,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 4 @@ -16893,9 +16580,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 9 @@ -16921,17 +16608,17 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>" (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 f64) + (local $5 i32) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) + (local $9 f64) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -16942,48 +16629,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $1 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $8 - i32.store $0 + local.tee $0 + i32.store global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $0 + i32.store offset=4 + local.get $0 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3920 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16991,104 +16676,99 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $8 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3920 - i32.store $0 offset=4 - local.get $2 - local.get $8 - i32.store $0 offset=8 - local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $9 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.set $2 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 14 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $4 i32.const 3 i32.shl - local.tee $3 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=16 + local.tee $2 + i32.store offset=16 loop $for-loop|0 - local.get $0 - local.get $9 + local.get $3 + local.get $4 i32.lt_s if - local.get $2 - local.get $0 + local.get $6 + local.get $3 i32.const 3 i32.shl - local.tee $4 + local.tee $8 i32.add - f64.load $0 - local.set $5 + f64.load + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=20 + local.get $0 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 - local.get $7 + local.get $2 + local.get $8 i32.add - local.get $5 + local.get $9 + local.get $3 local.get $0 - local.get $8 i32.const 3920 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_f64) - f64.store $0 - local.get $0 + i32.load + call_indirect (type $30) + f64.store + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|0 end end - local.get $6 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $6 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 + local.get $1 + local.get $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link + local.get $1 + local.get $2 + i32.store offset=4 + local.get $1 local.get $7 - i32.store $0 offset=4 - local.get $6 - local.get $3 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $1 - local.get $6 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Float64Array#__get f64.const 1 @@ -17102,9 +16782,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 4 @@ -17118,9 +16798,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 9 @@ -17146,7 +16826,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -17166,62 +16846,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Int8Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 i32.const 5 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3952 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -17229,108 +16907,103 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $7 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3952 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int8Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $5 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $1 - local.get $5 + local.get $2 + local.get $7 i32.add - i32.load8_s $0 - local.set $3 + i32.load8_s + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $3 - local.get $1 - local.get $7 + local.get $5 + local.get $2 + local.get $8 i32.const 3952 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $0 - local.get $2 + local.get $4 i32.add - local.get $3 - i32.store8 $0 + local.get $5 + i32.store8 local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $6 - local.get $2 + local.get $1 + local.get $4 local.get $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $6 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $6 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -17341,9 +17014,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int8Array#get:length i32.const 3 i32.ne @@ -17356,9 +17029,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Int8Array#__get i32.const 3 @@ -17372,9 +17045,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Int8Array#__get i32.const 4 @@ -17388,9 +17061,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Int8Array#__get i32.const 5 @@ -17416,7 +17089,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -17436,62 +17109,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Uint8Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 i32.const 5 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3984 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -17499,108 +17170,103 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $7 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3984 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int8Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 5 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $5 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $1 - local.get $5 + local.get $2 + local.get $7 i32.add - i32.load8_u $0 - local.set $3 + i32.load8_u + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $3 - local.get $1 - local.get $7 + local.get $5 + local.get $2 + local.get $8 i32.const 3984 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $0 - local.get $2 + local.get $4 i32.add - local.get $3 - i32.store8 $0 + local.get $5 + i32.store8 local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $6 - local.get $2 + local.get $1 + local.get $4 local.get $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $6 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $6 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -17611,9 +17277,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int8Array#get:length i32.const 3 i32.ne @@ -17626,9 +17292,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Uint8Array#__get i32.const 3 @@ -17642,9 +17308,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Uint8Array#__get i32.const 4 @@ -17658,9 +17324,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Uint8Array#__get i32.const 5 @@ -17686,7 +17352,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -17706,62 +17372,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4016 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -17769,108 +17433,103 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $7 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4016 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int8Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $5 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $1 - local.get $5 + local.get $2 + local.get $7 i32.add - i32.load8_u $0 - local.set $3 + i32.load8_u + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $3 - local.get $1 - local.get $7 + local.get $5 + local.get $2 + local.get $8 i32.const 4016 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if local.get $0 - local.get $2 + local.get $4 i32.add - local.get $3 - i32.store8 $0 + local.get $5 + i32.store8 local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $6 - local.get $2 + local.get $1 + local.get $4 local.get $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $6 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $6 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $6 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -17881,9 +17540,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int8Array#get:length i32.const 3 i32.ne @@ -17896,9 +17555,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 @@ -17912,9 +17571,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 4 @@ -17928,9 +17587,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get i32.const 5 @@ -17956,7 +17615,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -17976,62 +17635,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Int16Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i32.const 4 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 i32.const 5 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4048 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18039,117 +17696,112 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $7 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4048 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int16Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 7 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $4 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $2 + i32.load16_s + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $2 - local.get $1 - local.get $7 + local.get $8 i32.const 4048 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if - local.get $6 + local.get $4 local.get $0 i32.const 1 i32.shl i32.add - local.get $2 - i32.store16 $0 + local.get $5 + i32.store16 local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $5 - local.get $6 + local.get $1 + local.get $4 local.get $0 i32.const 1 i32.shl local.tee $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $5 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -18160,9 +17812,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int16Array#get:length i32.const 3 i32.ne @@ -18175,9 +17827,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Int16Array#__get i32.const 3 @@ -18191,9 +17843,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Int16Array#__get i32.const 4 @@ -18207,9 +17859,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Int16Array#__get i32.const 5 @@ -18235,7 +17887,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -18255,62 +17907,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Uint16Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i32.const 4 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 i32.const 5 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4080 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18318,117 +17968,112 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $7 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4080 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int16Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 8 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 1 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $4 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $2 + i32.load16_u + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $2 - local.get $1 - local.get $7 + local.get $8 i32.const 4080 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if - local.get $6 + local.get $4 local.get $0 i32.const 1 i32.shl i32.add - local.get $2 - i32.store16 $0 + local.get $5 + i32.store16 local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $5 - local.get $6 + local.get $1 + local.get $4 local.get $0 i32.const 1 i32.shl local.tee $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $5 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -18439,9 +18084,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int16Array#get:length i32.const 3 i32.ne @@ -18454,9 +18099,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Uint16Array#__get i32.const 3 @@ -18470,9 +18115,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Uint16Array#__get i32.const 4 @@ -18486,9 +18131,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Uint16Array#__get i32.const 5 @@ -18514,7 +18159,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -18534,62 +18179,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Int32Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4112 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18597,117 +18240,112 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $7 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4112 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int32Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 2 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $4 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $2 + i32.load + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $2 - local.get $1 - local.get $7 + local.get $8 i32.const 4112 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if - local.get $6 + local.get $4 local.get $0 i32.const 2 i32.shl i32.add - local.get $2 - i32.store $0 + local.get $5 + i32.store local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $5 - local.get $6 + local.get $1 + local.get $4 local.get $0 i32.const 2 i32.shl local.tee $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $5 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -18718,9 +18356,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int32Array#get:length i32.const 3 i32.ne @@ -18733,9 +18371,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Int32Array#__get i32.const 3 @@ -18749,9 +18387,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Int32Array#__get i32.const 4 @@ -18765,9 +18403,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Int32Array#__get i32.const 5 @@ -18793,7 +18431,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -18813,62 +18451,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Uint32Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i32.const 4 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 i32.const 5 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4144 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18876,117 +18512,112 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $2 - local.get $7 - i32.store $0 - local.get $2 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4144 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int32Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 2 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $4 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $2 + i32.load + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $2 - local.get $1 - local.get $7 + local.get $8 i32.const 4144 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) if - local.get $6 + local.get $4 local.get $0 i32.const 2 i32.shl i32.add - local.get $2 - i32.store $0 + local.get $5 + i32.store local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $5 - local.get $6 + local.get $1 + local.get $4 local.get $0 i32.const 2 i32.shl local.tee $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $5 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -18997,9 +18628,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int32Array#get:length i32.const 3 i32.ne @@ -19012,9 +18643,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Uint32Array#__get i32.const 3 @@ -19028,9 +18659,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Uint32Array#__get i32.const 4 @@ -19044,9 +18675,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Uint32Array#__get i32.const 5 @@ -19072,13 +18703,13 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>" (local $0 i32) (local $1 i32) - (local $2 i64) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 i64) (local $6 i32) (local $7 i32) (local $8 i32) @@ -19092,62 +18723,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Int64Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i64.const 4 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 i64.const 5 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4176 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -19155,117 +18784,112 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $4 - local.get $7 - i32.store $0 - local.get $4 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4176 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int64Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 11 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 3 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $4 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $2 + i64.load + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $2 - local.get $1 - local.get $7 + local.get $8 i32.const 4176 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $8) if - local.get $6 + local.get $4 local.get $0 i32.const 3 i32.shl i32.add - local.get $2 - i64.store $0 + local.get $5 + i64.store local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $5 - local.get $6 + local.get $1 + local.get $4 local.get $0 i32.const 3 i32.shl local.tee $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $5 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -19276,9 +18900,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int64Array#get:length i32.const 3 i32.ne @@ -19291,9 +18915,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Int64Array#__get i64.const 3 @@ -19307,9 +18931,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Int64Array#__get i64.const 4 @@ -19323,9 +18947,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Int64Array#__get i64.const 5 @@ -19351,13 +18975,13 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>" (local $0 i32) (local $1 i32) - (local $2 i64) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 i64) (local $6 i32) (local $7 i32) (local $8 i32) @@ -19371,62 +18995,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Uint64Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 i64.const 4 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 i64.const 5 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4208 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -19434,117 +19056,112 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $4 - local.get $7 - i32.store $0 - local.get $4 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4208 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int64Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 12 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 3 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $4 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $2 + i64.load + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $2 - local.get $1 - local.get $7 + local.get $8 i32.const 4208 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $8) if - local.get $6 + local.get $4 local.get $0 i32.const 3 i32.shl i32.add - local.get $2 - i64.store $0 + local.get $5 + i64.store local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $5 - local.get $6 + local.get $1 + local.get $4 local.get $0 i32.const 3 i32.shl local.tee $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $5 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -19555,9 +19172,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int64Array#get:length i32.const 3 i32.ne @@ -19570,9 +19187,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Uint64Array#__get i64.const 3 @@ -19586,9 +19203,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Uint64Array#__get i64.const 4 @@ -19602,9 +19219,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Uint64Array#__get i64.const 5 @@ -19630,13 +19247,13 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>" (local $0 i32) (local $1 i32) - (local $2 f32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f32) (local $6 i32) (local $7 i32) (local $8 i32) @@ -19650,62 +19267,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Float32Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 f32.const 4 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 f32.const 5 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4240 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -19713,117 +19328,112 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $4 - local.get $7 - i32.store $0 - local.get $4 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4240 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int32Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 13 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 2 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $4 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 2 i32.shl i32.add - f32.load $0 - local.set $2 + f32.load + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $2 - local.get $1 - local.get $7 + local.get $8 i32.const 4240 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) + i32.load + call_indirect (type $14) if - local.get $6 + local.get $4 local.get $0 i32.const 2 i32.shl i32.add - local.get $2 - f32.store $0 + local.get $5 + f32.store local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $5 - local.get $6 + local.get $1 + local.get $4 local.get $0 i32.const 2 i32.shl local.tee $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $5 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -19834,9 +19444,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int32Array#get:length i32.const 3 i32.ne @@ -19849,9 +19459,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Float32Array#__get f32.const 3 @@ -19865,9 +19475,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Float32Array#__get f32.const 4 @@ -19881,9 +19491,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Float32Array#__get f32.const 5 @@ -19909,13 +19519,13 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>" (local $0 i32) (local $1 i32) - (local $2 f64) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 f64) (local $6 i32) (local $7 i32) (local $8 i32) @@ -19929,62 +19539,60 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $3 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 6 call $~lib/typedarray/Float64Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 3 f64.const 4 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 5 f64.const 5 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 + local.get $8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4272 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -19992,117 +19600,112 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $4 - local.get $7 - i32.store $0 - local.get $4 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4272 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=8 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store offset=8 + local.get $8 call $~lib/typedarray/Int64Array#get:length - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 14 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=12 + local.tee $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 + local.get $3 i32.const 3 i32.shl i32.const 1 call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=16 + local.tee $4 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - i32.load $0 offset=4 - local.set $4 + local.get $8 + i32.store offset=8 + local.get $8 + i32.load offset=4 + local.set $7 loop $for-loop|0 - local.get $1 - local.get $8 + local.get $2 + local.get $3 i32.lt_s if - local.get $4 - local.get $1 + local.get $7 + local.get $2 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $2 + f64.load + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 + local.get $8 + i32.store offset=8 i32.const 3 global.set $~argumentsLength + local.get $5 local.get $2 - local.get $1 - local.get $7 + local.get $8 i32.const 4272 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) + i32.load + call_indirect (type $15) if - local.get $6 + local.get $4 local.get $0 i32.const 3 i32.shl i32.add - local.get $2 - f64.store $0 + local.get $5 + f64.store local.get $0 i32.const 1 i32.add local.set $0 end - local.get $1 + local.get $2 i32.const 1 i32.add - local.set $1 + local.set $2 br $for-loop|0 end end - local.get $5 - local.get $6 + local.get $1 + local.get $4 local.get $0 i32.const 3 i32.shl local.tee $0 call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 + local.tee $2 + i32.store + local.get $1 + local.get $2 + call $~lib/rt/itcms/__link local.get $1 - if - local.get $5 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $5 + i32.store offset=8 local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $5 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 @@ -20113,9 +19716,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 call $~lib/typedarray/Int64Array#get:length i32.const 3 i32.ne @@ -20128,9 +19731,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 call $~lib/typedarray/Float64Array#__get f64.const 3 @@ -20144,9 +19747,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 call $~lib/typedarray/Float64Array#__get f64.const 4 @@ -20160,9 +19763,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 call $~lib/typedarray/Float64Array#__get f64.const 5 @@ -20194,7 +19797,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -20209,28 +19812,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $4 @@ -20242,11 +19844,11 @@ local.get $2 local.get $3 i32.add - i32.load8_s $0 + i32.load8_s local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 1 @@ -20254,9 +19856,9 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0" drop local.get $2 i32.const 1 @@ -20267,12 +19869,10 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint8Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -20280,7 +19880,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -20295,28 +19895,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $4 @@ -20328,11 +19927,11 @@ local.get $2 local.get $3 i32.add - i32.load8_u $0 + i32.load8_u local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 1 @@ -20340,9 +19939,9 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0" drop local.get $2 i32.const 1 @@ -20353,12 +19952,10 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int16Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -20366,7 +19963,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -20381,28 +19978,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.set $4 @@ -20416,11 +20012,11 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 1 @@ -20428,9 +20024,9 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0" drop local.get $2 i32.const 1 @@ -20441,12 +20037,10 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint16Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -20454,7 +20048,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -20469,28 +20063,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.set $4 @@ -20504,11 +20097,11 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 1 @@ -20516,9 +20109,9 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0" drop local.get $2 i32.const 1 @@ -20529,12 +20122,10 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int32Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -20542,7 +20133,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -20557,28 +20148,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $4 @@ -20592,11 +20182,11 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 1 @@ -20604,9 +20194,9 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0" drop local.get $2 i32.const 1 @@ -20617,12 +20207,10 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint32Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -20630,7 +20218,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -20645,28 +20233,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $4 @@ -20680,11 +20267,11 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 1 @@ -20692,9 +20279,9 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0" drop local.get $2 i32.const 1 @@ -20705,20 +20292,18 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int64Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i32) + (local $4 i32) + (local $5 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -20733,34 +20318,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 + local.set $4 loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -20768,21 +20352,21 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $4 + i64.load + local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $4 + local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 + i32.load + call_indirect (type $8) + br_if $"~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0" drop local.get $2 i32.const 1 @@ -20793,20 +20377,18 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint64Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i32) + (local $4 i32) + (local $5 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -20821,34 +20403,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 + local.set $4 loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -20856,21 +20437,21 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $4 + i64.load + local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $4 + local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 + i32.load + call_indirect (type $8) + br_if $"~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0" drop local.get $2 i32.const 1 @@ -20881,20 +20462,18 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float32Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f32) - (local $5 i32) + (local $4 i32) + (local $5 f32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -20909,34 +20488,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length - local.set $5 + local.set $4 loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -20944,21 +20522,21 @@ i32.const 2 i32.shl i32.add - f32.load $0 - local.set $4 + f32.load + local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $4 + local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 + i32.load + call_indirect (type $14) + br_if $"~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0" drop local.get $2 i32.const 1 @@ -20969,20 +20547,18 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float64Array#some (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f64) - (local $5 i32) + (local $4 i32) + (local $5 f64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -20997,34 +20573,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 + local.set $4 loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -21032,21 +20607,21 @@ i32.const 3 i32.shl i32.add - f64.load $0 - local.set $4 + f64.load + local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 1 - local.get $4 + local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 + i32.load + call_indirect (type $15) + br_if $"~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0" drop local.get $2 i32.const 1 @@ -21057,12 +20632,10 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int8Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -21070,7 +20643,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21085,31 +20658,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0" loop $for-loop|0 local.get $2 local.get $4 @@ -21118,20 +20690,18 @@ local.get $2 local.get $3 i32.add - i32.load8_s $0 - local.set $5 + i32.load8_s global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0" local.get $2 i32.const 1 i32.add @@ -21143,7 +20713,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -21154,7 +20724,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21169,31 +20739,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0" loop $for-loop|0 local.get $2 local.get $4 @@ -21202,20 +20771,18 @@ local.get $2 local.get $3 i32.add - i32.load8_u $0 - local.set $5 + i32.load8_u global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0" local.get $2 i32.const 1 i32.add @@ -21227,7 +20794,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -21238,7 +20805,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21253,31 +20820,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0" loop $for-loop|0 local.get $2 local.get $4 @@ -21288,20 +20854,18 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $5 + i32.load16_s global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0" local.get $2 i32.const 1 i32.add @@ -21313,7 +20877,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -21324,7 +20888,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21339,31 +20903,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 - i64.const 0 - i64.store $0 offset=8 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0" loop $for-loop|0 local.get $2 local.get $4 @@ -21374,20 +20937,18 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $5 + i32.load16_u global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0" local.get $2 i32.const 1 i32.add @@ -21399,7 +20960,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -21410,7 +20971,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21425,31 +20986,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0" loop $for-loop|0 local.get $2 local.get $4 @@ -21460,20 +21020,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 + i32.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0" local.get $2 i32.const 1 i32.add @@ -21485,7 +21043,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -21496,7 +21054,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21511,31 +21069,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $4 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0" loop $for-loop|0 local.get $2 local.get $4 @@ -21546,20 +21103,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $5 + i32.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0" local.get $2 i32.const 1 i32.add @@ -21571,7 +21126,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -21579,10 +21134,10 @@ (func $~lib/typedarray/Int64Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i32) + (local $4 i32) + (local $5 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21597,34 +21152,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 i64.const 0 - i64.store $0 offset=8 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + local.set $4 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0" loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -21632,20 +21186,18 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $4 + i64.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + i32.load + call_indirect (type $8) + br_if $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0" local.get $2 i32.const 1 i32.add @@ -21657,7 +21209,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -21665,10 +21217,10 @@ (func $~lib/typedarray/Uint64Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i32) + (local $4 i32) + (local $5 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21683,34 +21235,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - i64.const 0 - i64.store $0 offset=8 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.set $4 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0" loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -21718,20 +21269,18 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $4 + i64.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + i32.load + call_indirect (type $8) + br_if $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0" local.get $2 i32.const 1 i32.add @@ -21743,7 +21292,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -21751,10 +21300,10 @@ (func $~lib/typedarray/Float32Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f32) - (local $5 i32) + (local $4 i32) + (local $5 f32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21769,34 +21318,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 i64.const 0 - i64.store $0 offset=8 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length - local.set $5 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + local.set $4 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0" loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -21804,20 +21352,18 @@ i32.const 2 i32.shl i32.add - f32.load $0 - local.set $4 + f32.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + i32.load + call_indirect (type $14) + br_if $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0" local.get $2 i32.const 1 i32.add @@ -21829,7 +21375,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -21837,10 +21383,10 @@ (func $~lib/typedarray/Float64Array#findIndex (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f64) - (local $5 i32) + (local $4 i32) + (local $5 f64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21855,34 +21401,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 i64.const 0 - i64.store $0 offset=8 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + local.set $4 + block $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0" loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -21890,20 +21435,18 @@ i32.const 3 i32.shl i32.add - f64.load $0 - local.set $4 + f64.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + i32.load + call_indirect (type $15) + br_if $"~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0" local.get $2 i32.const 1 i32.add @@ -21915,7 +21458,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -21925,7 +21468,7 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21940,33 +21483,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length i32.const 1 i32.sub local.set $2 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0" loop $for-loop|0 local.get $2 i32.const 0 @@ -21975,20 +21517,18 @@ local.get $2 local.get $3 i32.add - i32.load8_s $0 - local.set $4 + i32.load8_s global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0" local.get $2 i32.const 1 i32.sub @@ -22000,7 +21540,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -22010,7 +21550,7 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22025,33 +21565,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 - i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length i32.const 1 i32.sub local.set $2 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0" loop $for-loop|0 local.get $2 i32.const 0 @@ -22060,20 +21599,18 @@ local.get $2 local.get $3 i32.add - i32.load8_u $0 - local.set $4 + i32.load8_u global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0" local.get $2 i32.const 1 i32.sub @@ -22085,7 +21622,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -22095,7 +21632,7 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22110,33 +21647,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length i32.const 1 i32.sub local.set $2 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0" loop $for-loop|0 local.get $2 i32.const 0 @@ -22147,20 +21683,18 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $4 + i32.load16_s global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0" local.get $2 i32.const 1 i32.sub @@ -22172,7 +21706,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -22182,7 +21716,7 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22197,33 +21731,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length i32.const 1 i32.sub local.set $2 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0" loop $for-loop|0 local.get $2 i32.const 0 @@ -22234,20 +21767,18 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $4 + i32.load16_u global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0" local.get $2 i32.const 1 i32.sub @@ -22259,7 +21790,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -22269,7 +21800,7 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22284,33 +21815,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length i32.const 1 i32.sub local.set $2 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0" loop $for-loop|0 local.get $2 i32.const 0 @@ -22321,20 +21851,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $4 + i32.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0" local.get $2 i32.const 1 i32.sub @@ -22346,7 +21874,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -22356,7 +21884,7 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22371,33 +21899,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length i32.const 1 i32.sub local.set $2 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0" loop $for-loop|0 local.get $2 i32.const 0 @@ -22408,20 +21935,18 @@ i32.const 2 i32.shl i32.add - i32.load $0 - local.set $4 + i32.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + i32.load + call_indirect (type $1) + br_if $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0" local.get $2 i32.const 1 i32.sub @@ -22433,7 +21958,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -22443,7 +21968,7 @@ (local $3 i32) (local $4 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22458,33 +21983,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length i32.const 1 i32.sub local.set $2 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0" loop $for-loop|0 local.get $2 i32.const 0 @@ -22495,20 +22019,18 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $4 + i64.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + i32.load + call_indirect (type $8) + br_if $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0" local.get $2 i32.const 1 i32.sub @@ -22520,7 +22042,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -22530,7 +22052,7 @@ (local $3 i32) (local $4 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22545,33 +22067,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 - i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length i32.const 1 i32.sub local.set $2 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0" loop $for-loop|0 local.get $2 i32.const 0 @@ -22582,20 +22103,18 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $4 + i64.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + i32.load + call_indirect (type $8) + br_if $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0" local.get $2 i32.const 1 i32.sub @@ -22607,7 +22126,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -22617,7 +22136,7 @@ (local $3 i32) (local $4 f32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22632,33 +22151,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 - i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length i32.const 1 i32.sub local.set $2 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0" loop $for-loop|0 local.get $2 i32.const 0 @@ -22669,20 +22187,18 @@ i32.const 2 i32.shl i32.add - f32.load $0 - local.set $4 + f32.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + i32.load + call_indirect (type $14) + br_if $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0" local.get $2 i32.const 1 i32.sub @@ -22694,7 +22210,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -22704,7 +22220,7 @@ (local $3 i32) (local $4 f64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22719,33 +22235,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 - i64.const 0 - i64.store $0 offset=8 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length i32.const 1 i32.sub local.set $2 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + block $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0" loop $for-loop|0 local.get $2 i32.const 0 @@ -22756,20 +22271,18 @@ i32.const 3 i32.shl i32.add - f64.load $0 - local.set $4 + f64.load global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + i32.load + call_indirect (type $15) + br_if $"~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0" local.get $2 i32.const 1 i32.sub @@ -22781,7 +22294,7 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -22792,7 +22305,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22807,28 +22320,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $4 @@ -22840,11 +22352,11 @@ local.get $2 local.get $3 i32.add - i32.load8_s $0 + i32.load8_s local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 0 @@ -22852,10 +22364,10 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 + br_if $"~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0" drop local.get $2 i32.const 1 @@ -22866,12 +22378,10 @@ end i32.const 1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint8Array#every (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -22879,7 +22389,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22894,28 +22404,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $4 @@ -22927,11 +22436,11 @@ local.get $2 local.get $3 i32.add - i32.load8_u $0 + i32.load8_u local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 0 @@ -22939,10 +22448,10 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 + br_if $"~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0" drop local.get $2 i32.const 1 @@ -22953,12 +22462,10 @@ end i32.const 1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int16Array#every (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -22966,7 +22473,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22981,28 +22488,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.set $4 @@ -23016,11 +22522,11 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 0 @@ -23028,10 +22534,10 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 + br_if $"~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0" drop local.get $2 i32.const 1 @@ -23042,12 +22548,10 @@ end i32.const 1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint16Array#every (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -23055,7 +22559,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23070,28 +22574,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.set $4 @@ -23105,11 +22608,11 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 0 @@ -23117,10 +22620,10 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 + br_if $"~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0" drop local.get $2 i32.const 1 @@ -23131,12 +22634,10 @@ end i32.const 1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int32Array#every (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -23144,7 +22645,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23159,28 +22660,113 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load + call_indirect (type $1) + i32.eqz + br_if $"~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0" + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + i32.const 1 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint32Array#every (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $4 @@ -23194,11 +22780,11 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 0 @@ -23206,10 +22792,10 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $1) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 + br_if $"~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0" drop local.get $2 i32.const 1 @@ -23220,20 +22806,18 @@ end i32.const 1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/typedarray/Uint32Array#every (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#every (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) + (local $5 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23248,30 +22832,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - call $~lib/typedarray/Int32Array#get:length + call $~lib/typedarray/Int64Array#get:length local.set $4 loop $for-loop|0 local.get $2 @@ -23280,14 +22863,14 @@ if local.get $3 local.get $2 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 + i64.load local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 0 @@ -23295,10 +22878,10 @@ local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.load + call_indirect (type $8) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 + br_if $"~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0" drop local.get $2 i32.const 1 @@ -23309,109 +22892,18 @@ end i32.const 1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/typedarray/Int64Array#every (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) - (local $5 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $5 - local.get $0 - i32.store $0 - local.get $5 - local.get $1 - i32.store $0 offset=4 - local.get $5 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $5 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int64Array#get:length - local.set $5 - loop $for-loop|0 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $3 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $4 - local.get $2 - local.get $0 - local.get $1 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 - drop - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 1 - end - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint64Array#every (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i32) + (local $4 i32) + (local $5 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23426,34 +22918,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 + local.set $4 loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -23461,22 +22952,22 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.set $4 + i64.load + local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $4 + local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) + i32.load + call_indirect (type $8) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 + br_if $"~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0" drop local.get $2 i32.const 1 @@ -23487,20 +22978,18 @@ end i32.const 1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float32Array#every (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f32) - (local $5 i32) + (local $4 i32) + (local $5 f32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23515,34 +23004,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 - i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length - local.set $5 + local.set $4 loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -23550,22 +23038,22 @@ i32.const 2 i32.shl i32.add - f32.load $0 - local.set $4 + f32.load + local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $4 + local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) + i32.load + call_indirect (type $14) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 + br_if $"~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0" drop local.get $2 i32.const 1 @@ -23576,20 +23064,18 @@ end i32.const 1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float64Array#every (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 f64) - (local $5 i32) + (local $4 i32) + (local $5 f64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23604,34 +23090,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i64.const 0 - i64.store $0 - local.get $5 i64.const 0 - i64.store $0 offset=8 - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $"~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 + local.set $4 loop $for-loop|0 local.get $2 - local.get $5 + local.get $4 i32.lt_s if local.get $3 @@ -23639,22 +23124,22 @@ i32.const 3 i32.shl i32.add - f64.load $0 - local.set $4 + f64.load + local.set $5 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength i32.const 0 - local.get $4 + local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) + i32.load + call_indirect (type $15) i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 + br_if $"~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0" drop local.get $2 i32.const 1 @@ -23665,15 +23150,12 @@ end i32.const 1 end - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23690,12 +23172,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 + i32.store local.get $0 i32.const 255 i32.and @@ -23750,7 +23231,7 @@ (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23765,27 +23246,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i64.const 0 - i64.store $0 offset=8 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $4 @@ -23797,19 +23277,17 @@ local.get $2 local.get $3 i32.add - i32.load8_u $0 - local.set $5 + i32.load8_u global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $5 local.get $2 local.get $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.load + call_indirect (type $4) local.get $2 i32.const 1 i32.add @@ -23818,12 +23296,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23840,12 +23317,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 + i32.store local.get $0 i32.const 65535 i32.and @@ -23894,8 +23370,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0 (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int32Array,i32>~anonymous|0" (param $0 i32) (param $1 i32) (param $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23912,12 +23387,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 + i32.store i32.const 7152 local.get $1 call $~lib/array/Array#__get @@ -23962,8 +23436,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (param $0 i64) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0" (param $0 i64) (param $1 i32) (param $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23980,12 +23453,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 + i32.store i32.const 7152 local.get $1 call $~lib/array/Array#__get @@ -24031,8 +23503,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (param $0 f32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0" (param $0 f32) (param $1 i32) (param $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24049,12 +23520,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 + i32.store i32.const 7152 local.get $1 call $~lib/array/Array#__get @@ -24100,8 +23570,7 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (param $0 f64) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $"std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0" (param $0 f64) (param $1 i32) (param $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -24118,12 +23587,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 + i32.store i32.const 7152 local.get $1 call $~lib/array/Array#__get @@ -24194,29 +23662,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $2 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int8Array#get:length - local.tee $4 + local.tee $5 i32.const 1 i32.gt_u if - local.get $4 + local.get $5 i32.const 1 i32.shr_u - local.set $5 - local.get $4 + local.set $4 + local.get $5 i32.const 8 i32.sub local.set $6 @@ -24224,14 +23691,14 @@ local.get $1 i32.const 7 i32.add - local.get $5 + local.get $4 i32.lt_u if local.get $1 local.get $2 i32.add local.tee $7 - i64.load $0 + i64.load local.tee $3 i64.const 8 i64.shr_u @@ -24251,7 +23718,7 @@ local.get $1 i32.sub local.tee $7 - i64.load $0 + i64.load local.tee $8 i64.const 8 i64.shr_u @@ -24276,7 +23743,7 @@ i64.or i64.const 32 i64.rotr - i64.store $0 + i64.store local.get $7 local.get $3 i64.const 16 @@ -24291,7 +23758,7 @@ i64.or i64.const 32 i64.rotr - i64.store $0 + i64.store local.get $1 i32.const 8 i32.add @@ -24299,33 +23766,33 @@ br $while-continue|0 end end - local.get $4 + local.get $5 i32.const 1 i32.sub - local.set $4 + local.set $5 loop $while-continue|1 local.get $1 - local.get $5 + local.get $4 i32.lt_u if local.get $1 local.get $2 i32.add local.tee $6 - i32.load8_u $0 + i32.load8_u local.set $7 local.get $6 local.get $2 - local.get $4 + local.get $5 local.get $1 i32.sub i32.add local.tee $6 - i32.load8_u $0 - i32.store8 $0 + i32.load8_u + i32.store8 local.get $6 local.get $7 - i32.store8 $0 + i32.store8 local.get $1 i32.const 1 i32.add @@ -24340,7 +23807,7 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -24362,42 +23829,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Int8Array#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $2 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -24406,10 +23871,10 @@ call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -24425,31 +23890,29 @@ end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Int8Array#__get - local.set $4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 i32.const 7616 - local.get $3 + local.get $4 i32.const 1 i32.sub local.get $0 @@ -24473,9 +23936,9 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 4 i32.const 8 @@ -24483,15 +23946,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int8Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Int8Array#__get @@ -24507,7 +23969,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Int8Array#__get @@ -24523,7 +23985,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Int8Array#__get @@ -24539,7 +24001,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Int8Array#__get @@ -24578,33 +24040,59 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - i32.const 4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int8Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $3 + local.get $0 + i32.load + local.tee $4 + i32.store local.get $3 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $3 + local.get $0 + i32.load offset=4 + i32.const 4 + local.get $2 + local.get $2 i32.const 4 i32.gt_s select - local.set $2 + local.tee $0 + i32.add + i32.store offset=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 @@ -24614,61 +24102,28 @@ 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 local.tee $1 - local.get $2 - local.get $1 - local.get $2 - i32.gt_s - select - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $3 local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $2 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.store $0 offset=4 - local.get $3 local.get $1 - local.get $2 + i32.lt_s + select + local.get $0 i32.sub - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -24690,42 +24145,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Uint8Array#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $2 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -24735,10 +24188,10 @@ call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -24755,31 +24208,29 @@ end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Uint8Array#__get - local.set $4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 i32.const 7616 - local.get $3 + local.get $4 i32.const 1 i32.sub local.get $0 @@ -24804,24 +24255,23 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 8 call $~lib/typedarray/Uint8Array#subarray local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int8Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -24837,7 +24287,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Uint8Array#__get @@ -24853,7 +24303,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Uint8Array#__get @@ -24869,7 +24319,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Uint8Array#__get @@ -24908,33 +24358,59 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - i32.const 4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int8Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $3 + local.get $0 + i32.load + local.tee $4 + i32.store + local.get $3 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $3 + local.get $0 + i32.load offset=4 + i32.const 4 + local.get $2 + local.get $2 i32.const 4 i32.gt_s select - local.set $2 + local.tee $0 + i32.add + i32.store offset=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 @@ -24944,61 +24420,28 @@ 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 local.tee $1 - local.get $2 - local.get $1 - local.get $2 - i32.gt_s - select - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $3 local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $2 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.store $0 offset=4 - local.get $3 local.get $1 - local.get $2 + i32.lt_s + select + local.get $0 i32.sub - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -25020,42 +24463,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $2 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -25065,10 +24506,10 @@ call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -25085,31 +24526,29 @@ end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Int8Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Uint8ClampedArray#__get - local.set $4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 i32.const 7616 - local.get $3 + local.get $4 i32.const 1 i32.sub local.get $0 @@ -25134,24 +24573,23 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 8 call $~lib/typedarray/Uint8ClampedArray#subarray local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int8Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get @@ -25167,7 +24605,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get @@ -25183,7 +24621,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get @@ -25199,7 +24637,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__get @@ -25242,29 +24680,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $2 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length - local.tee $3 + local.tee $4 i32.const 1 i32.gt_u if - local.get $3 + local.get $4 i32.const 1 i32.shr_u - local.set $4 - local.get $3 + local.set $3 + local.get $4 i32.const 2 i32.sub local.set $5 @@ -25272,7 +24709,7 @@ local.get $1 i32.const 1 i32.add - local.get $4 + local.get $3 i32.lt_u if local.get $2 @@ -25283,7 +24720,7 @@ i32.shl i32.add local.tee $6 - i32.load $0 + i32.load i32.const 16 i32.rotr local.set $7 @@ -25294,13 +24731,13 @@ i32.shl i32.add local.tee $6 - i32.load $0 + i32.load i32.const 16 i32.rotr - i32.store $0 + i32.store local.get $6 local.get $7 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.add @@ -25308,13 +24745,13 @@ br $while-continue|0 end end - local.get $3 + local.get $4 i32.const 1 i32.sub - local.set $3 + local.set $4 loop $while-continue|1 local.get $1 - local.get $4 + local.get $3 i32.lt_u if local.get $2 @@ -25323,22 +24760,22 @@ i32.shl i32.add local.tee $5 - i32.load16_u $0 + i32.load16_u local.set $6 local.get $5 local.get $2 - local.get $3 + local.get $4 local.get $1 i32.sub i32.const 1 i32.shl i32.add local.tee $5 - i32.load16_u $0 - i32.store16 $0 + i32.load16_u + i32.store16 local.get $5 local.get $6 - i32.store16 $0 + i32.store16 local.get $1 i32.const 1 i32.add @@ -25373,33 +24810,61 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - i32.const 4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int16Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $3 + local.get $0 + i32.load + local.tee $4 + i32.store + local.get $3 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $3 + local.get $0 + i32.load offset=4 + i32.const 4 + local.get $2 + local.get $2 i32.const 4 i32.gt_s select - local.set $2 + local.tee $0 + i32.const 1 + i32.shl + i32.add + i32.store offset=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 @@ -25409,65 +24874,30 @@ 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 local.tee $1 - local.get $2 - local.get $1 - local.get $2 - i32.gt_s - select - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=4 - local.get $3 local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $3 local.get $1 - local.get $2 + i32.lt_s + select + local.get $0 i32.sub i32.const 1 i32.shl - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -25489,42 +24919,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Int16Array#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $2 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -25533,10 +24961,10 @@ call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -25552,31 +24980,29 @@ end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Int16Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Int16Array#__get - local.set $4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 i32.const 7616 - local.get $3 + local.get $4 i32.const 1 i32.sub local.get $0 @@ -25600,24 +25026,23 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 8 call $~lib/typedarray/Int16Array#subarray local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int16Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Int16Array#__get @@ -25633,7 +25058,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Int16Array#__get @@ -25649,7 +25074,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Int16Array#__get @@ -25665,7 +25090,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Int16Array#__get @@ -25704,33 +25129,61 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - i32.const 4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int16Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $3 + local.get $0 + i32.load + local.tee $4 + i32.store + local.get $3 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $3 + local.get $0 + i32.load offset=4 + i32.const 4 + local.get $2 + local.get $2 i32.const 4 i32.gt_s select - local.set $2 + local.tee $0 + i32.const 1 + i32.shl + i32.add + i32.store offset=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 @@ -25740,65 +25193,30 @@ 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 local.tee $1 - local.get $2 - local.get $1 - local.get $2 - i32.gt_s - select - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=4 - local.get $3 local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $3 local.get $1 - local.get $2 + i32.lt_s + select + local.get $0 i32.sub i32.const 1 i32.shl - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -25820,42 +25238,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Uint16Array#constructor - local.tee $2 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Uint16Array#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $2 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -25865,10 +25281,10 @@ call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -25885,31 +25301,29 @@ end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Int16Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Uint16Array#__get - local.set $4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 i32.const 7616 - local.get $3 + local.get $4 i32.const 1 i32.sub local.get $0 @@ -25934,24 +25348,23 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 8 call $~lib/typedarray/Uint16Array#subarray local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int16Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Uint16Array#__get @@ -25967,7 +25380,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Uint16Array#__get @@ -25983,7 +25396,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Uint16Array#__get @@ -25999,7 +25412,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Uint16Array#__get @@ -26041,35 +25454,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $2 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int32Array#get:length - local.tee $3 + local.tee $4 i32.const 1 i32.gt_u if - local.get $3 + local.get $4 i32.const 1 i32.shr_u - local.set $4 - local.get $3 + local.set $3 + local.get $4 i32.const 1 i32.sub local.set $5 loop $while-continue|0 local.get $1 - local.get $4 + local.get $3 i32.lt_u if local.get $2 @@ -26078,8 +25490,8 @@ i32.shl i32.add local.tee $6 - i32.load $0 - local.set $3 + i32.load + local.set $4 local.get $6 local.get $2 local.get $5 @@ -26089,11 +25501,11 @@ i32.shl i32.add local.tee $6 - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $6 - local.get $3 - i32.store $0 + local.get $4 + i32.store local.get $1 i32.const 1 i32.add @@ -26108,7 +25520,7 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -26130,42 +25542,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Int32Array#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $2 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -26173,10 +25583,10 @@ call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -26191,36 +25601,36 @@ end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Int32Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Int32Array#__get - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 - local.get $3 + local.get $4 i32.const 1 i32.sub local.get $0 i32.sub call $~lib/array/Array#__get - local.get $4 + local.get $2 i32.ne if i32.const 0 @@ -26238,9 +25648,9 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 4 i32.const 8 @@ -26248,15 +25658,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int32Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Int32Array#__get @@ -26272,7 +25681,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Int32Array#__get @@ -26288,7 +25697,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Int32Array#__get @@ -26304,7 +25713,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Int32Array#__get @@ -26343,33 +25752,61 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - i32.const 4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int32Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $3 + local.get $0 + i32.load + local.tee $4 + i32.store + local.get $3 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $3 + local.get $0 + i32.load offset=4 + i32.const 4 + local.get $2 + local.get $2 i32.const 4 i32.gt_s select - local.set $2 + local.tee $0 + i32.const 2 + i32.shl + i32.add + i32.store offset=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 @@ -26379,65 +25816,30 @@ 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 local.tee $1 - local.get $2 - local.get $1 - local.get $2 - i32.gt_s - select - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $3 local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $3 local.get $1 - local.get $2 + i32.lt_s + select + local.get $0 i32.sub i32.const 2 i32.shl - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -26459,42 +25861,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Uint32Array#constructor - local.tee $2 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $4 call $~lib/typedarray/Uint32Array#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $2 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -26502,10 +25902,10 @@ call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -26520,36 +25920,36 @@ end end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Int32Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $3 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Uint32Array#__get - local.set $4 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 - local.get $3 + local.get $4 i32.const 1 i32.sub local.get $0 i32.sub call $~lib/array/Array#__get - local.get $4 + local.get $2 i32.ne if i32.const 0 @@ -26567,24 +25967,23 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 8 call $~lib/typedarray/Uint32Array#subarray local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int32Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Uint32Array#__get @@ -26600,7 +25999,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Uint32Array#__get @@ -26616,7 +26015,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Uint32Array#__get @@ -26632,7 +26031,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Uint32Array#__get @@ -26654,8 +26053,8 @@ (func $~lib/typedarray/Int64Array#reverse (param $0 i32) (result 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) global.get $~lib/memory/__stack_pointer @@ -26674,35 +26073,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $2 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int64Array#get:length - local.tee $4 + local.tee $5 i32.const 1 i32.gt_u if - local.get $4 + local.get $5 i32.const 1 i32.shr_u - local.set $5 - local.get $4 + local.set $3 + local.get $5 i32.const 1 i32.sub - local.set $4 + local.set $5 loop $while-continue|0 local.get $1 - local.get $5 + local.get $3 i32.lt_u if local.get $2 @@ -26711,22 +26109,22 @@ i32.shl i32.add local.tee $6 - i64.load $0 - local.set $3 + i64.load + local.set $4 local.get $6 local.get $2 - local.get $4 + local.get $5 local.get $1 i32.sub i32.const 3 i32.shl i32.add local.tee $6 - i64.load $0 - i64.store $0 + i64.load + i64.store local.get $6 - local.get $3 - i64.store $0 + local.get $4 + i64.store local.get $1 i32.const 1 i32.add @@ -26761,33 +26159,61 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - i32.const 4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int64Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $3 + local.get $0 + i32.load + local.tee $4 + i32.store + local.get $3 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $3 + local.get $0 + i32.load offset=4 + i32.const 4 + local.get $2 + local.get $2 i32.const 4 i32.gt_s select - local.set $2 + local.tee $0 + i32.const 3 + i32.shl + i32.add + i32.store offset=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 @@ -26797,71 +26223,35 @@ 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 local.tee $1 - local.get $2 - local.get $1 - local.get $2 - i32.gt_s - select - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $3 local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $3 local.get $1 - local.get $2 + i32.lt_s + select + local.get $0 i32.sub i32.const 3 i32.shl - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64>" (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) + (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -26878,42 +26268,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 call $~lib/typedarray/Int64Array#constructor - local.tee $4 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 call $~lib/typedarray/Int64Array#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $5 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $4 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $4 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -26922,10 +26310,10 @@ call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -26941,31 +26329,29 @@ end end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Int64Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $5 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Int64Array#__get - local.set $3 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 i32.const 7616 - local.get $5 + local.get $4 i32.const 1 i32.sub local.get $0 @@ -26989,24 +26375,23 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 8 call $~lib/typedarray/Int64Array#subarray local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int64Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Int64Array#__get @@ -27022,7 +26407,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Int64Array#__get @@ -27038,7 +26423,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Int64Array#__get @@ -27054,7 +26439,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Int64Array#__get @@ -27093,33 +26478,61 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - i32.const 4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int64Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $3 + local.get $0 + i32.load + local.tee $4 + i32.store local.get $3 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $3 + local.get $0 + i32.load offset=4 + i32.const 4 + local.get $2 + local.get $2 i32.const 4 i32.gt_s select - local.set $2 + local.tee $0 + i32.const 3 + i32.shl + i32.add + i32.store offset=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 @@ -27129,71 +26542,35 @@ 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 local.tee $1 - local.get $2 - local.get $1 - local.get $2 - i32.gt_s - select - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $3 local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $3 local.get $1 - local.get $2 + i32.lt_s + select + local.get $0 i32.sub i32.const 3 i32.shl - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64>" (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 i64) + (local $2 i64) + (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -27210,42 +26587,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 call $~lib/typedarray/Uint64Array#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $5 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $4 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $4 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -27254,10 +26629,10 @@ call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -27273,31 +26648,29 @@ end end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Int64Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $5 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Uint64Array#__get - local.set $3 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 i32.const 7616 - local.get $5 + local.get $4 i32.const 1 i32.sub local.get $0 @@ -27321,24 +26694,23 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 8 call $~lib/typedarray/Uint64Array#subarray local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Int64Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Uint64Array#__get @@ -27354,7 +26726,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Uint64Array#__get @@ -27370,7 +26742,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Uint64Array#__get @@ -27386,7 +26758,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Uint64Array#__get @@ -27408,8 +26780,8 @@ (func $~lib/typedarray/Float32Array#reverse (param $0 i32) (result 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) global.get $~lib/memory/__stack_pointer @@ -27428,35 +26800,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $2 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int32Array#get:length - local.tee $4 + local.tee $5 i32.const 1 i32.gt_u if - local.get $4 + local.get $5 i32.const 1 i32.shr_u - local.set $5 - local.get $4 + local.set $3 + local.get $5 i32.const 1 i32.sub - local.set $4 + local.set $5 loop $while-continue|0 local.get $1 - local.get $5 + local.get $3 i32.lt_u if local.get $2 @@ -27465,22 +26836,22 @@ i32.shl i32.add local.tee $6 - f32.load $0 - local.set $3 + f32.load + local.set $4 local.get $6 local.get $2 - local.get $4 + local.get $5 local.get $1 i32.sub i32.const 2 i32.shl i32.add local.tee $6 - f32.load $0 - f32.store $0 + f32.load + f32.store local.get $6 - local.get $3 - f32.store $0 + local.get $4 + f32.store local.get $1 i32.const 1 i32.add @@ -27515,33 +26886,61 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - i32.const 4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int32Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new local.tee $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $3 + local.get $0 + i32.load + local.tee $4 + i32.store + local.get $3 + local.get $4 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $3 + local.get $0 + i32.load offset=4 + i32.const 4 + local.get $2 + local.get $2 i32.const 4 i32.gt_s select - local.set $2 + local.tee $0 + i32.const 2 + i32.shl + i32.add + i32.store offset=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 @@ -27551,71 +26950,35 @@ 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 local.tee $1 - local.get $2 - local.get $1 - local.get $2 - i32.gt_s - select - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $3 local.get $0 - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if - local.get $3 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $0 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $3 local.get $1 - local.get $2 + i32.lt_s + select + local.get $0 i32.sub i32.const 2 i32.shl - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32>" (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 f32) + (local $2 f32) + (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -27632,42 +26995,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 call $~lib/typedarray/Float32Array#constructor - local.tee $4 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 call $~lib/typedarray/Float32Array#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $5 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $4 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $4 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -27676,10 +27037,10 @@ call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -27695,31 +27056,29 @@ end end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Float32Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $5 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Float32Array#__get - local.set $3 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 i32.const 7616 - local.get $5 + local.get $4 i32.const 1 i32.sub local.get $0 @@ -27743,24 +27102,23 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 8 call $~lib/typedarray/Float32Array#subarray local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Float32Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -27776,7 +27134,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Float32Array#__get @@ -27792,7 +27150,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Float32Array#__get @@ -27808,7 +27166,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Float32Array#__get @@ -27830,8 +27188,8 @@ (func $~lib/typedarray/Float64Array#reverse (param $0 i32) (result 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) global.get $~lib/memory/__stack_pointer @@ -27850,35 +27208,34 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $2 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int64Array#get:length - local.tee $4 + local.tee $5 i32.const 1 i32.gt_u if - local.get $4 + local.get $5 i32.const 1 i32.shr_u - local.set $5 - local.get $4 + local.set $3 + local.get $5 i32.const 1 i32.sub - local.set $4 + local.set $5 loop $while-continue|0 local.get $1 - local.get $5 + local.get $3 i32.lt_u if local.get $2 @@ -27887,22 +27244,22 @@ i32.shl i32.add local.tee $6 - f64.load $0 - local.set $3 + f64.load + local.set $4 local.get $6 local.get $2 - local.get $4 + local.get $5 local.get $1 i32.sub i32.const 3 i32.shl i32.add local.tee $6 - f64.load $0 - f64.store $0 + f64.load + f64.store local.get $6 - local.get $3 - f64.store $0 + local.get $4 + f64.store local.get $1 i32.const 1 i32.add @@ -27917,13 +27274,12 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64>" (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 f64) + (local $2 f64) + (local $3 i32) (local $4 i32) - (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -27940,42 +27296,40 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7616 call $~lib/array/Array#get:length - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 call $~lib/typedarray/Float64Array#constructor - local.tee $4 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $4 call $~lib/typedarray/Float64Array#constructor local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 loop $for-loop|0 local.get $0 - local.get $5 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $4 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 - local.get $4 + i32.store offset=16 + local.get $3 local.get $0 i32.const 7616 local.get $0 @@ -27984,10 +27338,10 @@ call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 local.get $0 i32.const 7616 @@ -28003,31 +27357,29 @@ end end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + local.get $3 call $~lib/typedarray/Float64Array#reverse drop i32.const 0 local.set $0 loop $for-loop|1 local.get $0 - local.get $5 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $3 + i32.store offset=4 + local.get $3 local.get $0 call $~lib/typedarray/Float64Array#__get - local.set $3 global.get $~lib/memory/__stack_pointer i32.const 7616 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 i32.const 7616 - local.get $5 + local.get $4 i32.const 1 i32.sub local.get $0 @@ -28051,9 +27403,9 @@ end end global.get $~lib/memory/__stack_pointer - local.tee $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $1 i32.const 4 i32.const 8 @@ -28061,15 +27413,14 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 local.get $1 call $~lib/typedarray/Float64Array#reverse local.tee $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Float64Array#__get @@ -28085,7 +27436,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get @@ -28101,7 +27452,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get @@ -28117,7 +27468,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 call $~lib/typedarray/Float64Array#__get @@ -28154,16 +27505,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int8Array#get:length @@ -28173,7 +27523,7 @@ local.get $3 i32.ge_s i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" drop local.get $2 i32.const 0 @@ -28192,9 +27542,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -28205,12 +27555,12 @@ local.get $0 local.get $2 i32.add - i32.load8_u $0 + i32.load8_u local.get $1 i32.const 255 i32.and i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" drop local.get $2 i32.const 1 @@ -28221,12 +27571,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int8Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -28246,22 +27594,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int8Array#get:length local.tee $3 i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" drop local.get $2 local.get $3 @@ -28281,9 +27628,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -28294,12 +27641,12 @@ local.get $0 local.get $2 i32.add - i32.load8_u $0 + i32.load8_u local.get $1 i32.const 255 i32.and i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0" drop local.get $2 i32.const 1 @@ -28310,12 +27657,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int8Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -28336,7 +27681,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -28349,30 +27694,27 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $2 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/typedarray/Int8Array#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -28389,37 +27731,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -28434,9 +27774,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -28449,9 +27789,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 11 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -28466,9 +27806,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const -1 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -28483,9 +27823,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -28500,9 +27840,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int8Array#indexOf @@ -28517,9 +27857,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int8Array#indexOf @@ -28534,9 +27874,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#indexOf @@ -28551,9 +27891,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 10 call $~lib/typedarray/Int8Array#indexOf @@ -28568,9 +27908,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -100 call $~lib/typedarray/Int8Array#indexOf @@ -28585,11 +27925,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#lastIndexOf@varargs if @@ -28601,11 +27941,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 11 call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const -1 @@ -28619,11 +27959,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const -1 call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const -1 @@ -28637,11 +27977,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 3 call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const 3 @@ -28655,9 +27995,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#lastIndexOf @@ -28672,9 +28012,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int8Array#lastIndexOf @@ -28689,9 +28029,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int8Array#lastIndexOf @@ -28706,9 +28046,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 100 call $~lib/typedarray/Int8Array#lastIndexOf @@ -28723,9 +28063,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -10 call $~lib/typedarray/Int8Array#lastIndexOf @@ -28740,9 +28080,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -11 call $~lib/typedarray/Int8Array#lastIndexOf @@ -28757,19 +28097,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 4 i32.const 9 call $~lib/typedarray/Int8Array#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -28786,7 +28125,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -28801,7 +28140,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -28818,7 +28157,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 9 i32.const 0 @@ -28835,7 +28174,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 i32.const 0 @@ -28852,7 +28191,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 11 i32.const 0 @@ -28869,7 +28208,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -28886,7 +28225,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 2 @@ -28906,11 +28245,10 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -28927,37 +28265,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -28973,9 +28309,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -28988,9 +28324,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 11 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -29005,9 +28341,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const -1 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -29022,9 +28358,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -29039,9 +28375,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int8Array#indexOf @@ -29056,9 +28392,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int8Array#indexOf @@ -29073,9 +28409,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#indexOf @@ -29090,9 +28426,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 10 call $~lib/typedarray/Int8Array#indexOf @@ -29107,9 +28443,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -100 call $~lib/typedarray/Int8Array#indexOf @@ -29124,11 +28460,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#lastIndexOf@varargs if @@ -29140,11 +28476,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 11 call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const -1 @@ -29158,11 +28494,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const -1 call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const -1 @@ -29176,11 +28512,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 3 call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const 3 @@ -29194,9 +28530,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29211,9 +28547,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29228,9 +28564,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29245,9 +28581,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 100 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29262,9 +28598,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -10 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29279,9 +28615,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -11 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29296,18 +28632,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 9 call $~lib/typedarray/Uint8Array#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -29324,7 +28659,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -29339,7 +28674,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -29356,7 +28691,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 9 i32.const 0 @@ -29373,7 +28708,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 i32.const 0 @@ -29390,7 +28725,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 11 i32.const 0 @@ -29407,7 +28742,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -29424,7 +28759,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 2 @@ -29444,11 +28779,10 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -29465,37 +28799,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -29511,9 +28843,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -29526,9 +28858,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 11 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -29543,9 +28875,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const -1 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -29560,9 +28892,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/typedarray/Int8Array#indexOf @@ -29577,9 +28909,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int8Array#indexOf @@ -29594,9 +28926,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int8Array#indexOf @@ -29611,9 +28943,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#indexOf @@ -29628,9 +28960,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 10 call $~lib/typedarray/Int8Array#indexOf @@ -29645,9 +28977,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -100 call $~lib/typedarray/Int8Array#indexOf @@ -29662,11 +28994,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 call $~lib/typedarray/Int8Array#lastIndexOf@varargs if @@ -29678,11 +29010,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 11 call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const -1 @@ -29696,11 +29028,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const -1 call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const -1 @@ -29714,11 +29046,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 3 call $~lib/typedarray/Int8Array#lastIndexOf@varargs i32.const 3 @@ -29732,9 +29064,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29749,9 +29081,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29766,9 +29098,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29783,9 +29115,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 100 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29800,9 +29132,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -10 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29817,9 +29149,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -11 call $~lib/typedarray/Int8Array#lastIndexOf @@ -29834,18 +29166,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 9 call $~lib/typedarray/Uint8ClampedArray#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -29862,7 +29193,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -29877,7 +29208,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -29894,7 +29225,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 9 i32.const 0 @@ -29911,7 +29242,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 i32.const 0 @@ -29928,7 +29259,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 11 i32.const 0 @@ -29945,7 +29276,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -29962,7 +29293,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 2 @@ -30000,16 +29331,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int16Array#get:length @@ -30019,7 +29349,7 @@ local.get $3 i32.ge_s i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" drop local.get $2 i32.const 0 @@ -30038,9 +29368,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -30053,12 +29383,12 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $1 i32.const 65535 i32.and i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" drop local.get $2 i32.const 1 @@ -30069,12 +29399,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int16Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -30094,22 +29422,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int16Array#get:length local.tee $3 i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" drop local.get $2 local.get $3 @@ -30129,9 +29456,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -30144,12 +29471,12 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.get $1 i32.const 65535 i32.and i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0" drop local.get $2 i32.const 1 @@ -30160,12 +29487,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int16Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -30186,7 +29511,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -30199,30 +29524,27 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length local.set $2 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/typedarray/Int16Array#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -30239,37 +29561,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -30284,9 +29604,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/typedarray/Int16Array#indexOf @@ -30299,9 +29619,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 11 i32.const 0 call $~lib/typedarray/Int16Array#indexOf @@ -30316,9 +29636,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const -1 i32.const 0 call $~lib/typedarray/Int16Array#indexOf @@ -30333,9 +29653,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/typedarray/Int16Array#indexOf @@ -30350,9 +29670,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int16Array#indexOf @@ -30367,9 +29687,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int16Array#indexOf @@ -30384,9 +29704,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int16Array#indexOf @@ -30401,9 +29721,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 10 call $~lib/typedarray/Int16Array#indexOf @@ -30418,9 +29738,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -100 call $~lib/typedarray/Int16Array#indexOf @@ -30435,11 +29755,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 call $~lib/typedarray/Int16Array#lastIndexOf@varargs if @@ -30451,11 +29771,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 11 call $~lib/typedarray/Int16Array#lastIndexOf@varargs i32.const -1 @@ -30469,11 +29789,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const -1 call $~lib/typedarray/Int16Array#lastIndexOf@varargs i32.const -1 @@ -30487,11 +29807,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 3 call $~lib/typedarray/Int16Array#lastIndexOf@varargs i32.const 3 @@ -30505,9 +29825,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int16Array#lastIndexOf @@ -30522,9 +29842,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int16Array#lastIndexOf @@ -30539,9 +29859,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int16Array#lastIndexOf @@ -30556,9 +29876,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 100 call $~lib/typedarray/Int16Array#lastIndexOf @@ -30573,9 +29893,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -10 call $~lib/typedarray/Int16Array#lastIndexOf @@ -30590,9 +29910,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -11 call $~lib/typedarray/Int16Array#lastIndexOf @@ -30607,18 +29927,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 9 call $~lib/typedarray/Int16Array#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -30635,7 +29954,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -30650,7 +29969,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -30667,7 +29986,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 9 i32.const 0 @@ -30684,7 +30003,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 i32.const 0 @@ -30701,7 +30020,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 11 i32.const 0 @@ -30718,7 +30037,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -30735,7 +30054,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 2 @@ -30755,11 +30074,10 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -30776,37 +30094,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Uint16Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -30822,9 +30138,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/typedarray/Int16Array#indexOf @@ -30837,9 +30153,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 11 i32.const 0 call $~lib/typedarray/Int16Array#indexOf @@ -30854,9 +30170,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const -1 i32.const 0 call $~lib/typedarray/Int16Array#indexOf @@ -30871,9 +30187,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/typedarray/Int16Array#indexOf @@ -30888,9 +30204,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int16Array#indexOf @@ -30905,9 +30221,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int16Array#indexOf @@ -30922,9 +30238,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int16Array#indexOf @@ -30939,9 +30255,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 10 call $~lib/typedarray/Int16Array#indexOf @@ -30956,9 +30272,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -100 call $~lib/typedarray/Int16Array#indexOf @@ -30973,11 +30289,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 call $~lib/typedarray/Int16Array#lastIndexOf@varargs if @@ -30989,11 +30305,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 11 call $~lib/typedarray/Int16Array#lastIndexOf@varargs i32.const -1 @@ -31007,11 +30323,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const -1 call $~lib/typedarray/Int16Array#lastIndexOf@varargs i32.const -1 @@ -31025,11 +30341,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 3 call $~lib/typedarray/Int16Array#lastIndexOf@varargs i32.const 3 @@ -31043,9 +30359,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int16Array#lastIndexOf @@ -31060,9 +30376,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int16Array#lastIndexOf @@ -31077,9 +30393,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int16Array#lastIndexOf @@ -31094,9 +30410,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 100 call $~lib/typedarray/Int16Array#lastIndexOf @@ -31111,9 +30427,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -10 call $~lib/typedarray/Int16Array#lastIndexOf @@ -31128,9 +30444,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -11 call $~lib/typedarray/Int16Array#lastIndexOf @@ -31145,18 +30461,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 9 call $~lib/typedarray/Uint16Array#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -31173,7 +30488,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -31188,7 +30503,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -31205,7 +30520,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 9 i32.const 0 @@ -31222,7 +30537,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 i32.const 0 @@ -31239,7 +30554,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 11 i32.const 0 @@ -31256,7 +30571,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -31273,7 +30588,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 2 @@ -31311,16 +30626,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int32Array#get:length @@ -31330,7 +30644,7 @@ local.get $3 i32.ge_s i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" drop local.get $2 i32.const 0 @@ -31349,9 +30663,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -31364,10 +30678,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $1 i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" drop local.get $2 i32.const 1 @@ -31378,12 +30692,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int32Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -31403,22 +30715,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int32Array#get:length local.tee $3 i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" drop local.get $2 local.get $3 @@ -31438,9 +30749,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -31453,10 +30764,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $1 i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0" drop local.get $2 i32.const 1 @@ -31467,12 +30778,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int32Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -31493,7 +30802,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -31506,30 +30815,27 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $2 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/typedarray/Int32Array#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -31546,37 +30852,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Int32Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -31590,9 +30894,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/typedarray/Int32Array#indexOf @@ -31605,9 +30909,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 11 i32.const 0 call $~lib/typedarray/Int32Array#indexOf @@ -31622,9 +30926,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const -1 i32.const 0 call $~lib/typedarray/Int32Array#indexOf @@ -31639,9 +30943,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/typedarray/Int32Array#indexOf @@ -31656,9 +30960,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int32Array#indexOf @@ -31673,9 +30977,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int32Array#indexOf @@ -31690,9 +30994,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#indexOf @@ -31707,9 +31011,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 10 call $~lib/typedarray/Int32Array#indexOf @@ -31724,9 +31028,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -100 call $~lib/typedarray/Int32Array#indexOf @@ -31741,11 +31045,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 call $~lib/typedarray/Int32Array#lastIndexOf@varargs if @@ -31757,11 +31061,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 11 call $~lib/typedarray/Int32Array#lastIndexOf@varargs i32.const -1 @@ -31775,11 +31079,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const -1 call $~lib/typedarray/Int32Array#lastIndexOf@varargs i32.const -1 @@ -31793,11 +31097,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 3 call $~lib/typedarray/Int32Array#lastIndexOf@varargs i32.const 3 @@ -31811,9 +31115,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#lastIndexOf @@ -31828,9 +31132,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Int32Array#lastIndexOf @@ -31845,9 +31149,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Int32Array#lastIndexOf @@ -31862,9 +31166,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 100 call $~lib/typedarray/Int32Array#lastIndexOf @@ -31879,9 +31183,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -10 call $~lib/typedarray/Int32Array#lastIndexOf @@ -31896,9 +31200,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -11 call $~lib/typedarray/Int32Array#lastIndexOf @@ -31913,19 +31217,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 4 i32.const 9 call $~lib/typedarray/Int32Array#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -31942,7 +31245,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -31957,7 +31260,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -31974,7 +31277,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 9 i32.const 0 @@ -31991,7 +31294,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 i32.const 0 @@ -32008,7 +31311,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 11 i32.const 0 @@ -32025,7 +31328,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -32042,7 +31345,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 2 @@ -32080,16 +31383,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int32Array#get:length @@ -32099,7 +31401,7 @@ local.get $3 i32.ge_s i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" drop local.get $2 i32.const 0 @@ -32118,9 +31420,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -32133,10 +31435,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $1 i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" drop local.get $2 i32.const 1 @@ -32147,12 +31449,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint32Array#lastIndexOf (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) @@ -32172,22 +31472,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int32Array#get:length local.tee $3 i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" drop local.get $2 local.get $3 @@ -32207,9 +31506,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -32222,10 +31521,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.get $1 i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0" drop local.get $2 i32.const 1 @@ -32236,12 +31535,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint32Array#lastIndexOf@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -32262,7 +31559,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -32275,30 +31572,27 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $2 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/typedarray/Uint32Array#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -32315,37 +31609,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Uint32Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -32359,9 +31651,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/typedarray/Uint32Array#indexOf @@ -32374,9 +31666,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 11 i32.const 0 call $~lib/typedarray/Uint32Array#indexOf @@ -32391,9 +31683,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const -1 i32.const 0 call $~lib/typedarray/Uint32Array#indexOf @@ -32408,9 +31700,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/typedarray/Uint32Array#indexOf @@ -32425,9 +31717,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Uint32Array#indexOf @@ -32442,9 +31734,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Uint32Array#indexOf @@ -32459,9 +31751,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Uint32Array#indexOf @@ -32476,9 +31768,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 10 call $~lib/typedarray/Uint32Array#indexOf @@ -32493,9 +31785,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -100 call $~lib/typedarray/Uint32Array#indexOf @@ -32510,11 +31802,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 0 call $~lib/typedarray/Uint32Array#lastIndexOf@varargs if @@ -32526,11 +31818,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 11 call $~lib/typedarray/Uint32Array#lastIndexOf@varargs i32.const -1 @@ -32544,11 +31836,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const -1 call $~lib/typedarray/Uint32Array#lastIndexOf@varargs i32.const -1 @@ -32562,11 +31854,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i32.const 3 call $~lib/typedarray/Uint32Array#lastIndexOf@varargs i32.const 3 @@ -32580,9 +31872,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 4 call $~lib/typedarray/Uint32Array#lastIndexOf @@ -32597,9 +31889,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 3 call $~lib/typedarray/Uint32Array#lastIndexOf @@ -32614,9 +31906,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 2 call $~lib/typedarray/Uint32Array#lastIndexOf @@ -32631,9 +31923,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 100 call $~lib/typedarray/Uint32Array#lastIndexOf @@ -32648,9 +31940,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -10 call $~lib/typedarray/Uint32Array#lastIndexOf @@ -32665,9 +31957,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const -11 call $~lib/typedarray/Uint32Array#lastIndexOf @@ -32682,18 +31974,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 9 call $~lib/typedarray/Uint32Array#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 0 @@ -32710,7 +32001,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 0 @@ -32725,7 +32016,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 0 @@ -32742,7 +32033,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 9 i32.const 0 @@ -32759,7 +32050,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 i32.const 0 @@ -32776,7 +32067,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 11 i32.const 0 @@ -32793,7 +32084,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 1 @@ -32810,7 +32101,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 5 i32.const 2 @@ -32848,16 +32139,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int64Array#get:length @@ -32867,7 +32157,7 @@ local.get $3 i32.ge_s i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" drop local.get $2 i32.const 0 @@ -32886,9 +32176,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -32901,10 +32191,10 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $1 i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" drop local.get $2 i32.const 1 @@ -32915,12 +32205,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int64Array#lastIndexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) @@ -32940,22 +32228,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int64Array#get:length local.tee $3 i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" drop local.get $2 local.get $3 @@ -32975,9 +32262,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -32990,10 +32277,10 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $1 i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0" drop local.get $2 i32.const 1 @@ -33004,12 +32291,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int64Array#lastIndexOf@varargs (param $0 i32) (param $1 i64) (result i32) (local $2 i32) @@ -33030,7 +32315,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -33043,30 +32328,27 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int64Array#get:length local.set $2 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/typedarray/Int64Array#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -33083,37 +32365,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -33128,9 +32408,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 0 i32.const 0 call $~lib/typedarray/Int64Array#indexOf @@ -33143,9 +32423,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 11 i32.const 0 call $~lib/typedarray/Int64Array#indexOf @@ -33160,9 +32440,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const -1 i32.const 0 call $~lib/typedarray/Int64Array#indexOf @@ -33177,9 +32457,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 0 call $~lib/typedarray/Int64Array#indexOf @@ -33194,9 +32474,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 2 call $~lib/typedarray/Int64Array#indexOf @@ -33211,9 +32491,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 3 call $~lib/typedarray/Int64Array#indexOf @@ -33228,9 +32508,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 4 call $~lib/typedarray/Int64Array#indexOf @@ -33245,9 +32525,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 1 i32.const 10 call $~lib/typedarray/Int64Array#indexOf @@ -33262,9 +32542,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 1 i32.const -100 call $~lib/typedarray/Int64Array#indexOf @@ -33279,11 +32559,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i64.const 0 call $~lib/typedarray/Int64Array#lastIndexOf@varargs if @@ -33295,11 +32575,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i64.const 11 call $~lib/typedarray/Int64Array#lastIndexOf@varargs i32.const -1 @@ -33313,11 +32593,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i64.const -1 call $~lib/typedarray/Int64Array#lastIndexOf@varargs i32.const -1 @@ -33331,11 +32611,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i64.const 3 call $~lib/typedarray/Int64Array#lastIndexOf@varargs i32.const 3 @@ -33349,9 +32629,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 4 call $~lib/typedarray/Int64Array#lastIndexOf @@ -33366,9 +32646,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 3 call $~lib/typedarray/Int64Array#lastIndexOf @@ -33383,9 +32663,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 2 call $~lib/typedarray/Int64Array#lastIndexOf @@ -33400,9 +32680,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 1 i32.const 100 call $~lib/typedarray/Int64Array#lastIndexOf @@ -33417,9 +32697,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 1 i32.const -10 call $~lib/typedarray/Int64Array#lastIndexOf @@ -33434,9 +32714,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 1 i32.const -11 call $~lib/typedarray/Int64Array#lastIndexOf @@ -33451,18 +32731,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 9 call $~lib/typedarray/Int64Array#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 3 i32.const 0 @@ -33479,7 +32758,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 4 i32.const 0 @@ -33494,7 +32773,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 5 i32.const 0 @@ -33511,7 +32790,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 9 i32.const 0 @@ -33528,7 +32807,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 10 i32.const 0 @@ -33545,7 +32824,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 11 i32.const 0 @@ -33562,7 +32841,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 5 i32.const 1 @@ -33579,7 +32858,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 5 i32.const 2 @@ -33617,16 +32896,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int64Array#get:length @@ -33636,7 +32914,7 @@ local.get $3 i32.ge_s i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" drop local.get $2 i32.const 0 @@ -33655,9 +32933,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -33670,10 +32948,10 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $1 i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" drop local.get $2 i32.const 1 @@ -33684,12 +32962,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint64Array#lastIndexOf (param $0 i32) (param $1 i64) (param $2 i32) (result i32) (local $3 i32) @@ -33709,22 +32985,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int64Array#get:length local.tee $3 i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" drop local.get $2 local.get $3 @@ -33744,9 +33019,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -33759,10 +33034,10 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.get $1 i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0" drop local.get $2 i32.const 1 @@ -33773,12 +33048,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Uint64Array#lastIndexOf@varargs (param $0 i32) (param $1 i64) (result i32) (local $2 i32) @@ -33799,7 +33072,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -33812,30 +33085,27 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int64Array#get:length local.set $2 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/typedarray/Uint64Array#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -33852,37 +33122,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Uint64Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -33897,9 +33165,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 0 i32.const 0 call $~lib/typedarray/Uint64Array#indexOf @@ -33912,9 +33180,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 11 i32.const 0 call $~lib/typedarray/Uint64Array#indexOf @@ -33929,9 +33197,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const -1 i32.const 0 call $~lib/typedarray/Uint64Array#indexOf @@ -33946,9 +33214,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 0 call $~lib/typedarray/Uint64Array#indexOf @@ -33963,9 +33231,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 2 call $~lib/typedarray/Uint64Array#indexOf @@ -33980,9 +33248,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 3 call $~lib/typedarray/Uint64Array#indexOf @@ -33997,9 +33265,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 4 call $~lib/typedarray/Uint64Array#indexOf @@ -34014,9 +33282,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 1 i32.const 10 call $~lib/typedarray/Uint64Array#indexOf @@ -34031,9 +33299,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 1 i32.const -100 call $~lib/typedarray/Uint64Array#indexOf @@ -34048,11 +33316,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i64.const 0 call $~lib/typedarray/Uint64Array#lastIndexOf@varargs if @@ -34064,11 +33332,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i64.const 11 call $~lib/typedarray/Uint64Array#lastIndexOf@varargs i32.const -1 @@ -34082,11 +33350,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i64.const -1 call $~lib/typedarray/Uint64Array#lastIndexOf@varargs i32.const -1 @@ -34100,11 +33368,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 i64.const 3 call $~lib/typedarray/Uint64Array#lastIndexOf@varargs i32.const 3 @@ -34118,9 +33386,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 4 call $~lib/typedarray/Uint64Array#lastIndexOf @@ -34135,9 +33403,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 3 call $~lib/typedarray/Uint64Array#lastIndexOf @@ -34152,9 +33420,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 3 i32.const 2 call $~lib/typedarray/Uint64Array#lastIndexOf @@ -34169,9 +33437,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 1 i32.const 100 call $~lib/typedarray/Uint64Array#lastIndexOf @@ -34186,9 +33454,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 1 i32.const -10 call $~lib/typedarray/Uint64Array#lastIndexOf @@ -34203,9 +33471,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i64.const 1 i32.const -11 call $~lib/typedarray/Uint64Array#lastIndexOf @@ -34220,18 +33488,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 9 call $~lib/typedarray/Uint64Array#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 3 i32.const 0 @@ -34248,7 +33515,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 4 i32.const 0 @@ -34263,7 +33530,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 5 i32.const 0 @@ -34280,7 +33547,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 9 i32.const 0 @@ -34297,7 +33564,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 10 i32.const 0 @@ -34314,7 +33581,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 11 i32.const 0 @@ -34331,7 +33598,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 5 i32.const 1 @@ -34348,7 +33615,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i64.const 5 i32.const 2 @@ -34386,16 +33653,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int32Array#get:length @@ -34405,7 +33671,7 @@ local.get $3 i32.ge_s i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" drop local.get $2 i32.const 0 @@ -34424,9 +33690,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -34439,10 +33705,10 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $1 f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" drop local.get $2 i32.const 1 @@ -34453,12 +33719,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float32Array#lastIndexOf (param $0 i32) (param $1 f32) (param $2 i32) (result i32) (local $3 i32) @@ -34478,22 +33742,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int32Array#get:length local.tee $3 i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" drop local.get $2 local.get $3 @@ -34513,9 +33776,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -34528,10 +33791,10 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.get $1 f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0" drop local.get $2 i32.const 1 @@ -34542,12 +33805,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float32Array#lastIndexOf@varargs (param $0 i32) (param $1 f32) (result i32) (local $2 i32) @@ -34568,7 +33829,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -34581,30 +33842,27 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $2 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/typedarray/Float32Array#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -34621,37 +33879,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Float32Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -34666,9 +33922,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 0 i32.const 0 call $~lib/typedarray/Float32Array#indexOf @@ -34681,9 +33937,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 11 i32.const 0 call $~lib/typedarray/Float32Array#indexOf @@ -34698,9 +33954,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const -1 i32.const 0 call $~lib/typedarray/Float32Array#indexOf @@ -34715,9 +33971,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 3 i32.const 0 call $~lib/typedarray/Float32Array#indexOf @@ -34732,9 +33988,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 3 i32.const 2 call $~lib/typedarray/Float32Array#indexOf @@ -34749,9 +34005,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 3 i32.const 3 call $~lib/typedarray/Float32Array#indexOf @@ -34766,9 +34022,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 3 i32.const 4 call $~lib/typedarray/Float32Array#indexOf @@ -34783,9 +34039,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 1 i32.const 10 call $~lib/typedarray/Float32Array#indexOf @@ -34800,9 +34056,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 1 i32.const -100 call $~lib/typedarray/Float32Array#indexOf @@ -34817,11 +34073,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f32.const 0 call $~lib/typedarray/Float32Array#lastIndexOf@varargs if @@ -34833,11 +34089,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f32.const 11 call $~lib/typedarray/Float32Array#lastIndexOf@varargs i32.const -1 @@ -34851,11 +34107,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f32.const -1 call $~lib/typedarray/Float32Array#lastIndexOf@varargs i32.const -1 @@ -34869,11 +34125,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f32.const 3 call $~lib/typedarray/Float32Array#lastIndexOf@varargs i32.const 3 @@ -34887,9 +34143,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 3 i32.const 4 call $~lib/typedarray/Float32Array#lastIndexOf @@ -34904,9 +34160,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 3 i32.const 3 call $~lib/typedarray/Float32Array#lastIndexOf @@ -34921,9 +34177,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 3 i32.const 2 call $~lib/typedarray/Float32Array#lastIndexOf @@ -34938,9 +34194,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 1 i32.const 100 call $~lib/typedarray/Float32Array#lastIndexOf @@ -34955,9 +34211,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 1 i32.const -10 call $~lib/typedarray/Float32Array#lastIndexOf @@ -34972,9 +34228,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f32.const 1 i32.const -11 call $~lib/typedarray/Float32Array#lastIndexOf @@ -34989,18 +34245,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 9 call $~lib/typedarray/Float32Array#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f32.const 3 i32.const 0 @@ -35017,7 +34272,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f32.const 4 i32.const 0 @@ -35032,7 +34287,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f32.const 5 i32.const 0 @@ -35049,7 +34304,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f32.const 9 i32.const 0 @@ -35066,7 +34321,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f32.const 10 i32.const 0 @@ -35083,7 +34338,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f32.const 11 i32.const 0 @@ -35100,7 +34355,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f32.const 5 i32.const 1 @@ -35117,7 +34372,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f32.const 5 i32.const 2 @@ -35155,16 +34410,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int64Array#get:length @@ -35174,7 +34428,7 @@ local.get $3 i32.ge_s i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" drop local.get $2 i32.const 0 @@ -35193,9 +34447,9 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -35208,10 +34462,10 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $1 f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + br_if $"~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" drop local.get $2 i32.const 1 @@ -35222,12 +34476,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float64Array#lastIndexOf (param $0 i32) (param $1 f64) (param $2 i32) (result i32) (local $3 i32) @@ -35247,22 +34499,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $3 + i64.store + block $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const -1 local.get $0 call $~lib/typedarray/Int64Array#get:length local.tee $3 i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" drop local.get $2 local.get $3 @@ -35282,9 +34533,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 loop $while-continue|0 local.get $2 @@ -35297,10 +34548,10 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.get $1 f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + br_if $"~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0" drop local.get $2 i32.const 1 @@ -35311,12 +34562,10 @@ end i32.const -1 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Float64Array#lastIndexOf@varargs (param $0 i32) (param $1 f64) (result i32) (local $2 i32) @@ -35337,7 +34586,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $1of1 block $0of1 block $outOfRange @@ -35350,30 +34599,27 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int64Array#get:length local.set $2 end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 local.get $2 call $~lib/typedarray/Float64Array#lastIndexOf - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64>" (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -35390,37 +34636,35 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=4 + i32.store offset=4 i32.const 7728 call $~lib/array/Array#get:length - local.set $3 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $1 call $~lib/typedarray/Float64Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 local.get $0 - local.get $3 + local.get $1 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $1 - i32.store $0 offset=4 local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=12 - local.get $1 + i32.store offset=12 + local.get $2 local.get $0 i32.const 7728 local.get $0 @@ -35435,9 +34679,9 @@ end end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 0 i32.const 0 call $~lib/typedarray/Float64Array#indexOf @@ -35450,9 +34694,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 11 i32.const 0 call $~lib/typedarray/Float64Array#indexOf @@ -35467,9 +34711,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const -1 i32.const 0 call $~lib/typedarray/Float64Array#indexOf @@ -35484,9 +34728,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 3 i32.const 0 call $~lib/typedarray/Float64Array#indexOf @@ -35501,9 +34745,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 3 i32.const 2 call $~lib/typedarray/Float64Array#indexOf @@ -35518,9 +34762,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 3 i32.const 3 call $~lib/typedarray/Float64Array#indexOf @@ -35535,9 +34779,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 3 i32.const 4 call $~lib/typedarray/Float64Array#indexOf @@ -35552,9 +34796,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 1 i32.const 10 call $~lib/typedarray/Float64Array#indexOf @@ -35569,9 +34813,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 1 i32.const -100 call $~lib/typedarray/Float64Array#indexOf @@ -35586,11 +34830,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f64.const 0 call $~lib/typedarray/Float64Array#lastIndexOf@varargs if @@ -35602,11 +34846,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f64.const 11 call $~lib/typedarray/Float64Array#lastIndexOf@varargs i32.const -1 @@ -35620,11 +34864,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f64.const -1 call $~lib/typedarray/Float64Array#lastIndexOf@varargs i32.const -1 @@ -35638,11 +34882,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $1 + local.get $2 f64.const 3 call $~lib/typedarray/Float64Array#lastIndexOf@varargs i32.const 3 @@ -35656,9 +34900,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 3 i32.const 4 call $~lib/typedarray/Float64Array#lastIndexOf @@ -35673,9 +34917,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 3 i32.const 3 call $~lib/typedarray/Float64Array#lastIndexOf @@ -35690,9 +34934,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 3 i32.const 2 call $~lib/typedarray/Float64Array#lastIndexOf @@ -35707,9 +34951,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 1 i32.const 100 call $~lib/typedarray/Float64Array#lastIndexOf @@ -35724,9 +34968,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 1 i32.const -10 call $~lib/typedarray/Float64Array#lastIndexOf @@ -35741,9 +34985,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 f64.const 1 i32.const -11 call $~lib/typedarray/Float64Array#lastIndexOf @@ -35758,19 +35002,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 4 i32.const 9 call $~lib/typedarray/Float64Array#subarray local.tee $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f64.const 3 i32.const 0 @@ -35787,7 +35030,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f64.const 4 i32.const 0 @@ -35802,7 +35045,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f64.const 5 i32.const 0 @@ -35819,7 +35062,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f64.const 9 i32.const 0 @@ -35836,7 +35079,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f64.const 10 i32.const 0 @@ -35853,7 +35096,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f64.const 11 i32.const 0 @@ -35870,7 +35113,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f64.const 5 i32.const 1 @@ -35887,7 +35130,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 f64.const 5 i32.const 2 @@ -35927,12 +35170,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 i32.const 0 local.get $1 @@ -35943,7 +35185,7 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $1 @@ -36002,13 +35244,13 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 local.get $3 i32.add local.get $2 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -36026,46 +35268,45 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $4 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9584 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$1408 local.get $0 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -36074,122 +35315,120 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 7776 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end - block $folding-inner0 + local.get $6 + i32.eqz + if local.get $5 - i32.eqz - if - local.get $3 - i32.load8_s $0 - call $~lib/util/number/itoa32 - local.set $0 - br $folding-inner0 - end + i32.load8_s + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 9584 - i32.store $0 - local.get $0 - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 11 - i32.add - local.get $5 - i32.mul - i32.const 11 + i32.const 8 i32.add - local.tee $0 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $2 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 + end + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9580 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 11 + i32.add + local.get $6 + i32.mul + i32.const 11 + i32.add + local.tee $2 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 local.get $5 - i32.lt_s + i32.add + i32.load8_s + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $4 if - local.get $4 + local.get $0 local.get $1 i32.const 1 i32.shl i32.add - local.get $2 - local.get $3 - i32.add - i32.load8_s $0 - call $~lib/util/number/itoa_buffered + i32.const 9584 + local.get $4 + i32.const 1 + i32.shl + memory.copy local.get $1 + local.get $4 i32.add local.set $1 - local.get $6 - if - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $6 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end + end + local.get $2 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $6 + i32.add + i32.load8_s + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $1 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $5 - i32.add - i32.load8_s $0 - call $~lib/util/number/itoa_buffered local.get $1 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$1408 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -36226,7 +35465,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -36246,55 +35485,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -36315,7 +35556,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$714 loop $while-continue|1 local.get $0 local.tee $3 @@ -36325,17 +35566,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$714 local.get $2 i32.const 2 i32.add @@ -36375,46 +35616,45 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $4 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int8Array#get:length local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9584 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$1409 local.get $0 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -36423,122 +35663,120 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 7776 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end - block $folding-inner0 + local.get $6 + i32.eqz + if local.get $5 - i32.eqz - if - local.get $3 - i32.load8_u $0 - call $~lib/util/number/utoa32 - local.set $0 - br $folding-inner0 - end + i32.load8_u + call $~lib/util/number/utoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 9584 - i32.store $0 - local.get $0 - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 10 - i32.add - local.get $5 - i32.mul - i32.const 10 + i32.const 8 i32.add - local.tee $0 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $2 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 + end + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9580 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 + i32.add + local.get $6 + i32.mul + i32.const 10 + i32.add + local.tee $2 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 local.get $5 - i32.lt_s + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $4 if - local.get $4 + local.get $0 local.get $1 i32.const 1 i32.shl i32.add - local.get $2 - local.get $3 - i32.add - i32.load8_u $0 - call $~lib/util/number/itoa_buffered + i32.const 9584 + local.get $4 + i32.const 1 + i32.shl + memory.copy local.get $1 + local.get $4 i32.add local.set $1 - local.get $6 - if - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $6 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end + end + local.get $2 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $6 + i32.add + i32.load8_u + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $1 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $5 - i32.add - i32.load8_u $0 - call $~lib/util/number/itoa_buffered local.get $1 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$1409 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -36554,9 +35792,8 @@ unreachable ) (func $~lib/typedarray/Uint8Array#toString (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -36571,23 +35808,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/typedarray/Uint8Array#join - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/typedarray/Int16Array#join (param $0 i32) (result i32) (local $1 i32) @@ -36600,46 +35831,45 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $4 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int16Array#get:length local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9584 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$1410 local.get $0 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -36648,126 +35878,124 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 7776 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end - block $folding-inner0 + local.get $6 + i32.eqz + if local.get $5 - i32.eqz - if - local.get $3 - i32.load16_s $0 - call $~lib/util/number/itoa32 - local.set $0 - br $folding-inner0 - end + i32.load16_s + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 9584 - i32.store $0 - local.get $0 - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 11 - i32.add - local.get $5 - i32.mul - i32.const 11 + i32.const 8 i32.add - local.tee $0 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $2 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 + end + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9580 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 11 + i32.add + local.get $6 + i32.mul + i32.const 11 + i32.add + local.tee $2 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add local.get $5 - i32.lt_s + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_s + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $4 if - local.get $4 + local.get $0 local.get $1 i32.const 1 i32.shl i32.add - local.get $3 - local.get $2 + i32.const 9584 + local.get $4 i32.const 1 i32.shl - i32.add - i32.load16_s $0 - call $~lib/util/number/itoa_buffered + memory.copy local.get $1 + local.get $4 i32.add local.set $1 - local.get $6 - if - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $6 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end + end + local.get $2 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_s + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $1 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - call $~lib/util/number/itoa_buffered local.get $1 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$1410 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -36793,46 +36021,45 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $4 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int16Array#get:length local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9584 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$1411 local.get $0 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -36841,126 +36068,124 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 7776 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray$1411 end - block $folding-inner0 + local.get $6 + i32.eqz + if local.get $5 - i32.eqz - if - local.get $3 - i32.load16_u $0 - call $~lib/util/number/utoa32 - local.set $0 - br $folding-inner0 - end + i32.load16_u + call $~lib/util/number/utoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 9584 - i32.store $0 - local.get $0 - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 10 - i32.add - local.get $5 - i32.mul - i32.const 10 + i32.const 8 i32.add - local.tee $0 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $2 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$1411 + end + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9580 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 + i32.add + local.get $6 + i32.mul + i32.const 10 + i32.add + local.tee $2 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add local.get $5 - i32.lt_s + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $4 if - local.get $4 + local.get $0 local.get $1 i32.const 1 i32.shl i32.add - local.get $3 - local.get $2 + i32.const 9584 + local.get $4 i32.const 1 i32.shl - i32.add - i32.load16_u $0 - call $~lib/util/number/itoa_buffered + memory.copy local.get $1 + local.get $4 i32.add local.set $1 - local.get $6 - if - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $6 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end + end + local.get $2 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_u + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $1 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $5 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - call $~lib/util/number/itoa_buffered local.get $1 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$1411 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -36986,46 +36211,45 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $4 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9584 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$1412 local.get $0 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -37034,126 +36258,124 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 7776 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray$1412 end - block $folding-inner0 + local.get $6 + i32.eqz + if local.get $5 - i32.eqz - if - local.get $3 - i32.load $0 - call $~lib/util/number/itoa32 - local.set $0 - br $folding-inner0 - end + i32.load + call $~lib/util/number/itoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 9584 - i32.store $0 - local.get $0 - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 11 - i32.add - local.get $5 - i32.mul - i32.const 11 + i32.const 8 i32.add - local.tee $0 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $2 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$1412 + end + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9580 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 11 + i32.add + local.get $6 + i32.mul + i32.const 11 + i32.add + local.tee $2 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add local.get $5 - i32.lt_s + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $4 if - local.get $4 + local.get $0 local.get $1 i32.const 1 i32.shl i32.add - local.get $3 - local.get $2 - i32.const 2 + i32.const 9584 + local.get $4 + i32.const 1 i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered + memory.copy local.get $1 + local.get $4 i32.add local.set $1 - local.get $6 - if - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $6 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end + end + local.get $2 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $1 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered local.get $1 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$1412 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -37179,46 +36401,45 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $4 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9584 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$1413 local.get $0 i32.const 1 i32.sub - local.tee $5 + local.tee $6 i32.const 0 i32.lt_s if @@ -37227,126 +36448,124 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 7776 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray$1413 end - block $folding-inner0 + local.get $6 + i32.eqz + if local.get $5 - i32.eqz - if - local.get $3 - i32.load $0 - call $~lib/util/number/utoa32 - local.set $0 - br $folding-inner0 - end + i32.load + call $~lib/util/number/utoa32 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 9584 - i32.store $0 - local.get $0 - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 10 - i32.add - local.get $5 - i32.mul - i32.const 10 + i32.const 8 i32.add - local.tee $0 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $2 - i32.const 2 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray$1413 + end + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 9580 + i32.load + i32.const 1 + i32.shr_u + local.tee $4 + i32.const 10 + i32.add + local.get $6 + i32.mul + i32.const 10 + i32.add + local.tee $2 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $4 + if + local.get $0 + local.get $1 + i32.const 1 i32.shl i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered + i32.const 9584 + local.get $4 + i32.const 1 + i32.shl + memory.copy local.get $1 + local.get $4 i32.add local.set $1 - local.get $6 - if - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $6 - i32.add - local.set $1 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 end + end + local.get $2 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $1 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store local.get $0 - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered local.get $1 - i32.add - local.tee $0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $0 - call $~lib/string/String#substring - local.set $0 - br $folding-inner0 - end + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$1413 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -37363,8 +36582,8 @@ ) (func $~lib/typedarray/Int64Array#join (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) @@ -37379,24 +36598,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $5 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int64Array#get:length local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9584 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -37407,12 +36625,12 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray + i64.store + block $__inlined_func$~lib/util/string/joinIntegerArray$5 local.get $0 i32.const 1 i32.sub - local.tee $4 + local.tee $6 i32.const 0 i32.lt_s if @@ -37422,17 +36640,17 @@ global.set $~lib/memory/__stack_pointer i32.const 7776 local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$5 end block $folding-inner0 - local.get $4 + local.get $6 i32.eqz if block $__inlined_func$~lib/util/number/itoa64 (result i32) local.get $5 - i64.load $0 + i64.load i64.extend32_s - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37443,8 +36661,8 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $3 + i32.store + local.get $2 i64.eqz if global.get $~lib/memory/__stack_pointer @@ -37455,158 +36673,158 @@ br $__inlined_func$~lib/util/number/itoa64 end i64.const 0 - local.get $3 + local.get $2 i64.sub - local.get $3 - local.get $3 + local.get $2 + local.get $2 i64.const 63 i64.shr_u i32.wrap_i64 i32.const 1 i32.shl - local.tee $4 + local.tee $0 select - local.tee $3 + local.tee $2 i64.const 4294967295 i64.le_u if global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 i32.wrap_i64 - local.tee $2 + local.tee $3 i32.const 100000 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 100 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 10 i32.ge_u i32.const 1 i32.add else - local.get $2 + local.get $3 i32.const 10000 i32.ge_u i32.const 3 i32.add - local.get $2 + local.get $3 i32.const 1000 i32.ge_u i32.add end else - local.get $2 + local.get $3 i32.const 10000000 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - local.get $2 + local.get $3 i32.const 1000000000 i32.ge_u i32.const 8 i32.add - local.get $2 + local.get $3 i32.const 100000000 i32.ge_u i32.add end end - local.tee $0 + local.tee $4 i32.const 1 i32.shl - local.get $4 + local.get $0 i32.add i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - local.get $4 i32.add - local.get $2 - 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 $3 + local.get $2 i64.const 1000000000000000 i64.lt_u if (result i32) - local.get $3 + local.get $2 i64.const 1000000000000 i64.lt_u if (result i32) - local.get $3 + local.get $2 i64.const 100000000000 i64.ge_u i32.const 10 i32.add - local.get $3 + local.get $2 i64.const 10000000000 i64.ge_u i32.add else - local.get $3 + local.get $2 i64.const 100000000000000 i64.ge_u i32.const 13 i32.add - local.get $3 + local.get $2 i64.const 10000000000000 i64.ge_u i32.add end else - local.get $3 + local.get $2 i64.const 100000000000000000 i64.lt_u if (result i32) - local.get $3 + local.get $2 i64.const 10000000000000000 i64.ge_u i32.const 16 i32.add else - local.get $3 + local.get $2 i64.const -8446744073709551616 i64.ge_u i32.const 18 i32.add - local.get $3 + local.get $2 i64.const 1000000000000000000 i64.ge_u i32.add end end - local.tee $0 + local.tee $3 i32.const 1 i32.shl - local.get $4 + local.get $0 i32.add i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store + local.get $0 local.get $1 - local.get $4 i32.add + local.get $2 local.get $3 - local.get $0 call $~lib/util/number/utoa64_dec_lut end - local.get $4 + local.get $0 if local.get $1 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -37618,32 +36836,31 @@ br $folding-inner0 end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 9584 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9580 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.tee $2 + local.tee $7 i32.const 21 i32.add - local.get $4 + local.get $6 i32.mul i32.const 21 i32.add - local.tee $6 + local.tee $4 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 loop $for-loop|0 - local.get $4 - local.get $7 - i32.gt_s + local.get $3 + local.get $6 + i32.lt_s if local.get $0 local.get $1 @@ -37651,16 +36868,16 @@ i32.shl i32.add local.get $5 - local.get $7 + local.get $3 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load call $~lib/util/number/itoa_buffered local.get $1 i32.add local.set $1 - local.get $2 + local.get $7 if local.get $0 local.get $1 @@ -37668,19 +36885,19 @@ i32.shl i32.add i32.const 9584 - local.get $2 + local.get $7 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $1 - local.get $2 + local.get $7 i32.add local.set $1 end - local.get $7 + local.get $3 i32.const 1 i32.add - local.set $7 + local.set $3 br $for-loop|0 end end @@ -37690,21 +36907,21 @@ i32.shl i32.add local.get $5 - local.get $4 + local.get $6 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load call $~lib/util/number/itoa_buffered local.get $1 i32.add local.tee $1 - local.get $6 + local.get $4 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $1 call $~lib/string/String#substring @@ -37715,7 +36932,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinIntegerArray$5 end global.get $~lib/memory/__stack_pointer i32.const 8 @@ -37755,11 +36972,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $1 i32.const 1 i32.sub - local.tee $6 + local.tee $7 i32.const 0 i32.lt_s if @@ -37770,11 +36987,11 @@ i32.const 7776 return end - local.get $6 + local.get $7 i32.eqz if local.get $0 - i64.load $0 + i64.load local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -37786,8 +37003,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/utoa64 + i32.store + block $__inlined_func$~lib/util/number/utoa64$749 local.get $3 i64.eqz if @@ -37797,7 +37014,7 @@ global.set $~lib/memory/__stack_pointer i32.const 8000 local.set $1 - br $__inlined_func$~lib/util/number/utoa64 + br $__inlined_func$~lib/util/number/utoa64$749 end local.get $3 i64.const 4294967295 @@ -37858,7 +37075,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store local.get $1 local.get $0 local.get $2 @@ -37921,7 +37138,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store local.get $1 local.get $3 local.get $0 @@ -37935,34 +37152,33 @@ br $folding-inner1 end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 9584 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9580 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.tee $7 + local.tee $1 i32.const 20 i32.add - local.get $6 + local.get $7 i32.mul i32.const 20 i32.add - local.tee $1 + local.tee $5 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=4 + local.tee $6 + i32.store offset=4 loop $for-loop|0 local.get $4 - local.get $6 + local.get $7 i32.lt_s if - local.get $5 + local.get $6 local.get $2 i32.const 1 i32.shl @@ -37972,25 +37188,25 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load call $~lib/util/number/itoa_buffered local.get $2 i32.add local.set $2 - local.get $7 + local.get $1 if - local.get $5 + local.get $6 local.get $2 i32.const 1 i32.shl i32.add i32.const 9584 - local.get $7 + local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy + local.get $1 local.get $2 - local.get $7 i32.add local.set $2 end @@ -38001,18 +37217,18 @@ br $for-loop|0 end end - local.get $1 local.get $5 + local.get $6 local.get $2 i32.const 1 i32.shl i32.add local.get $0 - local.get $6 + local.get $7 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load call $~lib/util/number/itoa_buffered local.get $2 i32.add @@ -38020,9 +37236,9 @@ i32.gt_s if global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + local.get $6 + i32.store + local.get $6 local.get $0 call $~lib/string/String#substring local.set $1 @@ -38032,7 +37248,7 @@ i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $6 return end i32.const 49120 @@ -38050,7 +37266,6 @@ ) (func $~lib/typedarray/Uint64Array#join (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -38067,85 +37282,52 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $1 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 9584 - i32.store $0 - local.get $2 - local.get $0 + i32.store call $~lib/util/string/joinIntegerArray - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/typedarray/Float32Array#join (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) + (local $3 f64) (local $4 i32) - (local $5 i32) + (local $5 f32) (local $6 i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.load $0 offset=4 - local.set $6 - local.get $2 - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/typedarray/Int32Array#get:length - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $__inlined_func$~lib/util/string/joinFloatArray - local.get $0 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 i32.const 1 i32.sub - local.tee $2 + local.tee $8 i32.const 0 i32.lt_s if @@ -38154,83 +37336,137 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinFloatArray + return end - local.get $2 + local.get $8 i32.eqz if - local.get $6 - f32.load $0 - f64.promote_f32 - call $~lib/util/number/dtoa + local.get $0 + f32.load + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 9664 local.set $0 + block $~lib/util/number/dtoa_impl|inlined.0 + local.get $5 + f64.promote_f32 + local.tee $3 + f64.const 0 + f64.eq + br_if $~lib/util/number/dtoa_impl|inlined.0 + local.get $3 + local.get $3 + f64.sub + f64.const 0 + f64.ne + if + i32.const 9696 + local.set $0 + local.get $3 + local.get $3 + f64.ne + br_if $~lib/util/number/dtoa_impl|inlined.0 + i32.const 9728 + i32.const 9776 + local.get $3 + f64.const 0 + f64.lt + select + local.set $0 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 9808 + local.get $3 + i32.const 1 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 9808 + local.get $1 + memory.copy + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray + br $folding-inner1 end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 9584 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9580 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.tee $5 + local.tee $1 i32.const 28 i32.add - local.get $2 + local.get $8 i32.mul i32.const 28 i32.add - local.tee $3 + local.tee $6 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 offset=4 + local.tee $7 + i32.store offset=4 loop $for-loop|0 - local.get $2 local.get $4 - i32.gt_s + local.get $8 + i32.lt_s if - local.get $0 - local.get $1 + local.get $7 + local.get $2 i32.const 1 i32.shl i32.add - local.get $6 + local.get $0 local.get $4 i32.const 2 i32.shl i32.add - f32.load $0 - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - local.get $1 + f32.load + call $~lib/util/number/dtoa_buffered + local.get $2 i32.add - local.set $1 - local.get $5 + local.set $2 + local.get $1 if - local.get $0 - local.get $1 + local.get $7 + local.get $2 i32.const 1 i32.shl i32.add i32.const 9584 - local.get $5 + local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $1 - local.get $5 + local.get $2 i32.add - local.set $1 + local.set $2 end local.get $4 i32.const 1 @@ -38239,108 +37475,116 @@ br $for-loop|0 end end - local.get $3 - local.get $0 - local.get $1 + local.get $6 + local.get $7 + local.get $2 i32.const 1 i32.shl i32.add - local.get $6 - local.get $2 + local.get $0 + local.get $8 i32.const 2 i32.shl i32.add - f32.load $0 - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - local.get $1 + f32.load + call $~lib/util/number/dtoa_buffered + local.get $2 i32.add - local.tee $1 + local.tee $0 i32.gt_s if global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store + local.get $7 local.get $0 - i32.store $0 - local.get $0 - local.get $1 call $~lib/string/String#substring local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray + br $folding-inner1 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $7 + return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/typedarray/Float64Array#join (param $0 i32) (result i32) + (func $~lib/typedarray/Float32Array#join (param $0 i32) (result i32) (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store + call $~lib/util/string/joinFloatArray + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/string/joinFloatArray (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) + (local $3 f64) (local $4 i32) (local $5 i32) (local $6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.load $0 offset=4 - local.set $6 - local.get $2 - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/typedarray/Int64Array#get:length - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $__inlined_func$~lib/util/string/joinFloatArray - local.get $0 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $1 i32.const 1 i32.sub - local.tee $2 + local.tee $7 i32.const 0 i32.lt_s if @@ -38349,81 +37593,135 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinFloatArray + return end - local.get $2 + local.get $7 i32.eqz if - local.get $6 - f64.load $0 - call $~lib/util/number/dtoa + local.get $0 + f64.load + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 9664 local.set $0 + block $~lib/util/number/dtoa_impl|inlined.1 + local.get $3 + f64.const 0 + f64.eq + br_if $~lib/util/number/dtoa_impl|inlined.1 + local.get $3 + local.get $3 + f64.sub + f64.const 0 + f64.ne + if + i32.const 9696 + local.set $0 + local.get $3 + local.get $3 + f64.ne + br_if $~lib/util/number/dtoa_impl|inlined.1 + i32.const 9728 + i32.const 9776 + local.get $3 + f64.const 0 + f64.lt + select + local.set $0 + br $~lib/util/number/dtoa_impl|inlined.1 + end + i32.const 9808 + local.get $3 + i32.const 0 + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store + local.get $0 + i32.const 9808 + local.get $1 + memory.copy + end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray + br $folding-inner1 end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 9584 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 9580 - i32.load $0 + i32.load i32.const 1 i32.shr_u - local.tee $5 + local.tee $1 i32.const 28 i32.add - local.get $2 + local.get $7 i32.mul i32.const 28 i32.add - local.tee $3 + local.tee $5 i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 offset=4 + local.tee $6 + i32.store offset=4 loop $for-loop|0 - local.get $2 local.get $4 - i32.gt_s + local.get $7 + i32.lt_s if - local.get $0 - local.get $1 + local.get $6 + local.get $2 i32.const 1 i32.shl i32.add - local.get $6 + local.get $0 local.get $4 i32.const 3 i32.shl i32.add - f64.load $0 - call $~lib/util/number/dtoa_buffered - local.get $1 + f64.load + call $~lib/util/number/dtoa_buffered + local.get $2 i32.add - local.set $1 - local.get $5 + local.set $2 + local.get $1 if - local.get $0 - local.get $1 + local.get $6 + local.get $2 i32.const 1 i32.shl i32.add i32.const 9584 - local.get $5 + local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $1 - local.get $5 + local.get $2 i32.add - local.set $1 + local.set $2 end local.get $4 i32.const 1 @@ -38432,55 +37730,91 @@ br $for-loop|0 end end - local.get $3 - local.get $0 - local.get $1 + local.get $5 + local.get $6 + local.get $2 i32.const 1 i32.shl i32.add - local.get $6 - local.get $2 + local.get $0 + local.get $7 i32.const 3 i32.shl i32.add - f64.load $0 - call $~lib/util/number/dtoa_buffered - local.get $1 + f64.load + call $~lib/util/number/dtoa_buffered + local.get $2 i32.add - local.tee $1 + local.tee $0 i32.gt_s if global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 local.get $0 - i32.store $0 - local.get $0 - local.get $1 call $~lib/string/String#substring local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray + br $folding-inner1 end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $6 + return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float64Array#join (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store + call $~lib/util/string/joinFloatArray + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Uint8Array.wrap@varargs (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -38496,7 +37830,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $2of2 block $1of2 block $0of2 @@ -38515,10 +37849,9 @@ local.set $2 end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -38527,22 +37860,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 local.tee $3 local.get $1 i32.lt_u @@ -38594,24 +37926,21 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $0 - i32.store $0 + i32.store + local.get $3 local.get $0 - if - local.get $3 - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link local.get $3 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $0 local.get $1 i32.add - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -38648,16 +37977,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 local.set $3 local.get $1 i32.const 0 @@ -38715,28 +38043,26 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $0 local.get $1 i32.add local.get $2 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8>" (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -38747,91 +38073,85 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.const 24 - memory.fill $0 - local.get $0 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length - local.set $5 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $1 call $~lib/typedarray/Int8Array#constructor - local.tee $7 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 - local.get $5 - local.get $6 - i32.gt_s + local.get $0 + local.get $1 + i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $7 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 - local.get $7 - local.get $6 + i32.store offset=12 + local.get $2 + local.get $0 i32.const 10928 - local.get $6 + local.get $0 call $~lib/array/Array#__get i32.extend8_s call $~lib/typedarray/Int8Array#__set - local.get $6 + local.get $0 i32.const 1 i32.add - local.set $6 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $7 - i32.store $0 offset=12 - local.get $4 - local.get $7 - i32.load $0 - local.tee $3 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=12 - local.get $7 + local.get $2 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $2 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 + local.get $2 + i32.store offset=12 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $0 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $4 - local.get $3 local.get $2 + i32.store offset=12 local.get $0 - local.get $7 - i32.load $0 offset=8 + local.get $4 + local.get $5 + local.get $2 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - i32.const 0 - local.set $6 + local.get $0 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -38844,25 +38164,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const -1 - local.set $1 - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -38871,75 +38177,40 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $4 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 offset=4 - local.get $4 i32.const 20 i32.sub - i32.load $0 offset=16 - local.set $0 - local.get $1 - i32.const 0 - i32.lt_s - if - local.get $1 - i32.const -1 - i32.eq - if (result i32) - local.get $0 - else - i32.const 1056 - i32.const 1632 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $1 - else - local.get $0 - local.get $1 - i32.lt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end + i32.load offset=16 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $1 - i32.store $0 offset=8 - local.get $2 + local.tee $5 + i32.store offset=8 + local.get $5 + local.get $0 + i32.store + local.get $5 + local.get $0 + call $~lib/rt/itcms/__link + local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=8 + local.get $5 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -38948,28 +38219,29 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $2 - i32.store $0 offset=20 + local.get $5 + i32.store offset=20 + i32.const 0 + local.set $0 loop $for-loop|1 - local.get $5 - local.get $6 - i32.gt_s + local.get $0 + local.get $1 + i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - local.get $6 - call $~lib/typedarray/Int8Array#__get - local.set $0 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 - local.get $6 + local.get $0 call $~lib/typedarray/Int8Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 local.get $0 + call $~lib/typedarray/Int8Array#__get + local.get $3 i32.ne if i32.const 0 @@ -38979,10 +38251,10 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $0 i32.const 1 i32.add - local.set $6 + local.set $0 br $for-loop|1 end end @@ -38999,15 +38271,13 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8>" (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -39018,92 +38288,86 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.const 24 - memory.fill $0 - local.get $0 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length - local.set $5 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $1 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $7 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 loop $for-loop|0 - local.get $5 - local.get $6 - i32.gt_s + local.get $0 + local.get $1 + i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $7 - i32.store $0 offset=4 - local.get $0 + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 - local.get $7 - local.get $6 + i32.store offset=12 + local.get $2 + local.get $0 i32.const 10928 - local.get $6 + local.get $0 call $~lib/array/Array#__get i32.const 255 i32.and call $~lib/typedarray/Uint8ClampedArray#__set - local.get $6 + local.get $0 i32.const 1 i32.add - local.set $6 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $7 - i32.store $0 offset=12 - local.get $4 - local.get $7 - i32.load $0 - local.tee $3 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=12 - local.get $7 + local.get $2 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $2 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 + local.get $2 + i32.store offset=12 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $0 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $4 - local.get $3 local.get $2 + i32.store offset=12 local.get $0 - local.get $7 - i32.load $0 offset=8 + local.get $4 + local.get $5 + local.get $2 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - i32.const 0 - local.set $6 + local.get $0 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -39116,25 +38380,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const -1 - local.set $1 - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -39143,105 +38393,71 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $4 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 offset=4 - local.get $4 i32.const 20 i32.sub - i32.load $0 offset=16 - local.set $0 - local.get $1 + i32.load offset=16 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store offset=8 + local.get $5 + local.get $0 + i32.store + local.get $5 + local.get $0 + call $~lib/rt/itcms/__link + local.get $5 + local.get $4 + i32.store offset=8 + local.get $5 + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=20 i32.const 0 - i32.lt_s - if - local.get $1 - i32.const -1 - i32.eq - if (result i32) - local.get $0 - else - i32.const 1056 - i32.const 1632 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $1 - else + local.set $0 + loop $for-loop|1 local.get $0 local.get $1 i32.lt_s if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $2 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $1 - i32.store $0 offset=8 - local.get $2 - local.get $4 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $2 - i32.store $0 offset=20 - loop $for-loop|1 - local.get $5 - local.get $6 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - local.get $6 - call $~lib/typedarray/Uint8ClampedArray#__get - local.set $0 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 - local.get $6 + local.get $0 call $~lib/typedarray/Uint8ClampedArray#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 local.get $0 + call $~lib/typedarray/Uint8ClampedArray#__get + local.get $3 i32.ne if i32.const 0 @@ -39251,10 +38467,10 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $0 i32.const 1 i32.add - local.set $6 + local.set $0 br $for-loop|1 end end @@ -39271,14 +38487,13 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16>" (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -39289,37 +38504,35 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 24 - memory.fill $0 - local.get $2 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $1 + i32.store offset=8 loop $for-loop|0 local.get $0 local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 - local.get $3 + i32.store offset=12 + local.get $1 local.get $0 i32.const 10928 local.get $0 @@ -39334,44 +38547,42 @@ end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load local.tee $0 - local.get $3 - i32.store $0 offset=12 - local.get $0 - local.get $3 - i32.load $0 - local.tee $4 - i32.store $0 offset=4 - local.get $0 - local.get $3 - i32.store $0 offset=12 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 - local.get $3 + local.get $1 + i32.store offset=12 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 local.get $0 local.get $4 local.get $5 - local.get $6 - local.get $3 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -39384,25 +38595,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const -1 - local.set $1 - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -39411,89 +38608,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $4 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 offset=4 - local.get $4 i32.const 20 i32.sub - i32.load $0 offset=16 - local.set $6 - local.get $1 - i32.const 0 - i32.lt_s + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.and if - local.get $1 - i32.const -1 - i32.eq - if (result i32) - local.get $6 - i32.const 1 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $6 - else - i32.const 1056 - i32.const 1632 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $0 - else - local.get $1 - i32.const 1 - i32.shl - local.tee $0 - local.get $6 - i32.gt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 7 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=8 - local.get $1 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $1 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 + local.tee $5 + i32.store offset=8 + local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store + local.get $5 + local.get $0 + call $~lib/rt/itcms/__link + local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=8 + local.get $5 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -39503,8 +38661,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 - local.get $1 - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $0 loop $for-loop|1 @@ -39513,19 +38670,19 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 call $~lib/typedarray/Int16Array#__get - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $5 + i32.store offset=4 + local.get $5 local.get $0 call $~lib/typedarray/Int16Array#__get - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -39555,14 +38712,13 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16>" (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -39573,37 +38729,35 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 24 - memory.fill $0 - local.get $2 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 call $~lib/typedarray/Uint16Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $1 + i32.store offset=8 loop $for-loop|0 local.get $0 local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 - local.get $3 + i32.store offset=12 + local.get $1 local.get $0 i32.const 10928 local.get $0 @@ -39619,44 +38773,42 @@ end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load local.tee $0 - local.get $3 - i32.store $0 offset=12 - local.get $0 - local.get $3 - i32.load $0 - local.tee $4 - i32.store $0 offset=4 - local.get $0 - local.get $3 - i32.store $0 offset=12 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 - local.get $3 + local.get $1 + i32.store offset=12 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 local.get $0 local.get $4 local.get $5 - local.get $6 - local.get $3 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -39669,25 +38821,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const -1 - local.set $1 - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -39696,89 +38834,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $4 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 offset=4 - local.get $4 i32.const 20 i32.sub - i32.load $0 offset=16 - local.set $6 - local.get $1 - i32.const 0 - i32.lt_s + i32.load offset=16 + local.tee $4 + i32.const 1 + i32.and if - local.get $1 - i32.const -1 - i32.eq - if (result i32) - local.get $6 - i32.const 1 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $6 - else - i32.const 1056 - i32.const 1632 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $0 - else - local.get $1 - i32.const 1 - i32.shl - local.tee $0 - local.get $6 - i32.gt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 8 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=8 - local.get $1 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $1 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 + local.tee $5 + i32.store offset=8 + local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store + local.get $5 + local.get $0 + call $~lib/rt/itcms/__link + local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=8 + local.get $5 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -39788,8 +38887,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 - local.get $1 - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $0 loop $for-loop|1 @@ -39798,19 +38896,19 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 call $~lib/typedarray/Uint16Array#__get - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $5 + i32.store offset=4 + local.get $5 local.get $0 call $~lib/typedarray/Uint16Array#__get - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -39840,14 +38938,13 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32>" (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -39858,37 +38955,35 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 24 - memory.fill $0 - local.get $2 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 call $~lib/typedarray/Int32Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $1 + i32.store offset=8 loop $for-loop|0 local.get $0 local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 - local.get $3 + i32.store offset=12 + local.get $1 local.get $0 i32.const 10928 local.get $0 @@ -39902,44 +38997,42 @@ end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load local.tee $0 - local.get $3 - i32.store $0 offset=12 - local.get $0 - local.get $3 - i32.load $0 - local.tee $4 - i32.store $0 offset=4 - local.get $0 - local.get $3 - i32.store $0 offset=12 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 - local.get $3 + local.get $1 + i32.store offset=12 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 local.get $0 local.get $4 local.get $5 - local.get $6 - local.get $3 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -39952,25 +39045,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const -1 - local.set $1 - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -39979,89 +39058,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $4 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 offset=4 - local.get $4 i32.const 20 i32.sub - i32.load $0 offset=16 - local.set $6 - local.get $1 - i32.const 0 - i32.lt_s + i32.load offset=16 + local.tee $4 + i32.const 3 + i32.and if - local.get $1 - i32.const -1 - i32.eq - if (result i32) - local.get $6 - i32.const 3 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $6 - else - i32.const 1056 - i32.const 1632 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $0 - else - local.get $1 - i32.const 2 - i32.shl - local.tee $0 - local.get $6 - i32.gt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 9 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=8 - local.get $1 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $1 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 + local.tee $5 + i32.store offset=8 + local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store + local.get $5 + local.get $0 + call $~lib/rt/itcms/__link + local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=8 + local.get $5 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -40071,8 +39111,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 - local.get $1 - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $0 loop $for-loop|1 @@ -40081,19 +39120,19 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 call $~lib/typedarray/Int32Array#__get - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $5 + i32.store offset=4 + local.get $5 local.get $0 call $~lib/typedarray/Int32Array#__get - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -40123,14 +39162,13 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32>" (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -40141,37 +39179,35 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 24 - memory.fill $0 - local.get $2 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 call $~lib/typedarray/Uint32Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $1 + i32.store offset=8 loop $for-loop|0 local.get $0 local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 - local.get $3 + i32.store offset=12 + local.get $1 local.get $0 i32.const 10928 local.get $0 @@ -40185,44 +39221,42 @@ end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load local.tee $0 - local.get $3 - i32.store $0 offset=12 - local.get $0 - local.get $3 - i32.load $0 - local.tee $4 - i32.store $0 offset=4 - local.get $0 - local.get $3 - i32.store $0 offset=12 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 - local.get $3 + local.get $1 + i32.store offset=12 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 local.get $0 local.get $4 local.get $5 - local.get $6 - local.get $3 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -40235,25 +39269,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const -1 - local.set $1 - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -40262,89 +39282,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $4 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $4 - i32.store $0 offset=4 - local.get $4 i32.const 20 i32.sub - i32.load $0 offset=16 - local.set $6 - local.get $1 - i32.const 0 - i32.lt_s + i32.load offset=16 + local.tee $4 + i32.const 3 + i32.and if - local.get $1 - i32.const -1 - i32.eq - if (result i32) - local.get $6 - i32.const 3 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $6 - else - i32.const 1056 - i32.const 1632 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $0 - else - local.get $1 - i32.const 2 - i32.shl - local.tee $0 - local.get $6 - i32.gt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=8 - local.get $1 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $1 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 + local.tee $5 + i32.store offset=8 + local.get $5 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store + local.get $5 + local.get $0 + call $~lib/rt/itcms/__link + local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=8 + local.get $5 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -40354,8 +39335,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $5 - local.get $1 - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $0 loop $for-loop|1 @@ -40364,19 +39344,19 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 call $~lib/typedarray/Uint32Array#__get - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $5 + i32.store offset=4 + local.get $5 local.get $0 call $~lib/typedarray/Uint32Array#__get - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -40406,7 +39386,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -40414,7 +39394,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -40425,37 +39404,35 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 24 - memory.fill $0 - local.get $2 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 call $~lib/typedarray/Int64Array#constructor - local.tee $4 - i32.store $0 offset=8 + local.tee $1 + i32.store offset=8 loop $for-loop|0 local.get $0 local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $4 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 - local.get $4 + i32.store offset=12 + local.get $1 local.get $0 i32.const 10928 local.get $0 @@ -40470,44 +39447,42 @@ end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load local.tee $0 - local.get $4 - i32.store $0 offset=12 - local.get $0 - local.get $4 - i32.load $0 - local.tee $5 - i32.store $0 offset=4 - local.get $0 - local.get $4 - i32.store $0 offset=12 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 + local.get $1 + i32.store offset=12 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 local.get $0 local.get $5 local.get $6 - local.get $7 - local.get $4 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -40520,25 +39495,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const -1 - local.set $1 - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -40547,89 +39508,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $5 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $5 - i32.store $0 offset=4 - local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 - local.set $7 - local.get $1 - i32.const 0 - i32.lt_s + i32.load offset=16 + local.tee $5 + i32.const 7 + i32.and if - local.get $1 - i32.const -1 - i32.eq - if (result i32) - local.get $7 - i32.const 7 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - else - i32.const 1056 - i32.const 1632 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $0 - else - local.get $1 - i32.const 3 - i32.shl - local.tee $0 - local.get $7 - i32.gt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 11 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=8 - local.get $1 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $1 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 + local.tee $6 + i32.store offset=8 + local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store + local.get $6 + local.get $0 + call $~lib/rt/itcms/__link + local.get $6 local.get $5 - i32.store $0 offset=4 + i32.store offset=8 + local.get $6 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -40639,8 +39561,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 - local.get $1 - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $0 loop $for-loop|1 @@ -40649,16 +39570,16 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 call $~lib/typedarray/Int64Array#__get local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 call $~lib/typedarray/Int64Array#__get local.get $3 @@ -40691,7 +39612,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -40699,7 +39620,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -40710,37 +39630,35 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 24 - memory.fill $0 - local.get $2 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 - i32.store $0 offset=8 + local.tee $1 + i32.store offset=8 loop $for-loop|0 local.get $0 local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $4 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 - local.get $4 + i32.store offset=12 + local.get $1 local.get $0 i32.const 10928 local.get $0 @@ -40755,44 +39673,42 @@ end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load local.tee $0 - local.get $4 - i32.store $0 offset=12 - local.get $0 - local.get $4 - i32.load $0 - local.tee $5 - i32.store $0 offset=4 - local.get $0 - local.get $4 - i32.store $0 offset=12 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 + local.get $1 + i32.store offset=12 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 local.get $0 local.get $5 local.get $6 - local.get $7 - local.get $4 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -40805,25 +39721,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const -1 - local.set $1 - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -40832,89 +39734,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $5 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $5 - i32.store $0 offset=4 - local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 - local.set $7 - local.get $1 - i32.const 0 - i32.lt_s + i32.load offset=16 + local.tee $5 + i32.const 7 + i32.and if - local.get $1 - i32.const -1 - i32.eq - if (result i32) - local.get $7 - i32.const 7 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - else - i32.const 1056 - i32.const 1632 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $0 - else - local.get $1 - i32.const 3 - i32.shl - local.tee $0 - local.get $7 - i32.gt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 12 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=8 - local.get $1 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $1 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 + local.tee $6 + i32.store offset=8 + local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store + local.get $6 + local.get $0 + call $~lib/rt/itcms/__link + local.get $6 local.get $5 - i32.store $0 offset=4 + i32.store offset=8 + local.get $6 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -40924,8 +39787,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 - local.get $1 - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $0 loop $for-loop|1 @@ -40934,16 +39796,16 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 call $~lib/typedarray/Uint64Array#__get local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 call $~lib/typedarray/Uint64Array#__get local.get $3 @@ -40976,7 +39838,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -40984,7 +39846,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -40995,37 +39856,35 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 24 - memory.fill $0 - local.get $2 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 call $~lib/typedarray/Float32Array#constructor - local.tee $4 - i32.store $0 offset=8 + local.tee $1 + i32.store offset=8 loop $for-loop|0 local.get $0 local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $4 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 - local.get $4 + i32.store offset=12 + local.get $1 local.get $0 i32.const 10928 local.get $0 @@ -41040,44 +39899,42 @@ end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load local.tee $0 - local.get $4 - i32.store $0 offset=12 - local.get $0 - local.get $4 - i32.load $0 - local.tee $5 - i32.store $0 offset=4 - local.get $0 - local.get $4 - i32.store $0 offset=12 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 + local.get $1 + i32.store offset=12 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 local.get $0 local.get $5 local.get $6 - local.get $7 - local.get $4 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -41090,25 +39947,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const -1 - local.set $1 - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -41117,89 +39960,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $5 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $5 - i32.store $0 offset=4 - local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 - local.set $7 - local.get $1 - i32.const 0 - i32.lt_s + i32.load offset=16 + local.tee $5 + i32.const 3 + i32.and if - local.get $1 - i32.const -1 - i32.eq - if (result i32) - local.get $7 - i32.const 3 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - else - i32.const 1056 - i32.const 1632 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $0 - else - local.get $1 - i32.const 2 - i32.shl - local.tee $0 - local.get $7 - i32.gt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 13 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=8 - local.get $1 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $1 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 + local.tee $6 + i32.store offset=8 + local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store + local.get $6 + local.get $0 + call $~lib/rt/itcms/__link + local.get $6 local.get $5 - i32.store $0 offset=4 + i32.store offset=8 + local.get $6 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -41209,8 +40013,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 - local.get $1 - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $0 loop $for-loop|1 @@ -41219,16 +40022,16 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 call $~lib/typedarray/Float32Array#__get local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 call $~lib/typedarray/Float32Array#__get local.get $3 @@ -41261,7 +40064,7 @@ call $~lib/builtins/abort unreachable ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> + (func $"std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64>" (local $0 i32) (local $1 i32) (local $2 i32) @@ -41269,7 +40072,6 @@ (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -41280,37 +40082,35 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 i32.const 24 - memory.fill $0 - local.get $2 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 call $~lib/typedarray/Float64Array#constructor - local.tee $4 - i32.store $0 offset=8 + local.tee $1 + i32.store offset=8 loop $for-loop|0 local.get $0 local.get $2 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $5 - local.get $4 - i32.store $0 offset=4 - local.get $5 + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 - local.get $4 + i32.store offset=12 + local.get $1 local.get $0 i32.const 10928 local.get $0 @@ -41325,44 +40125,42 @@ end end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load local.tee $0 - local.get $4 - i32.store $0 offset=12 - local.get $0 - local.get $4 - i32.load $0 - local.tee $5 - i32.store $0 offset=4 - local.get $0 - local.get $4 - i32.store $0 offset=12 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 + local.get $1 + i32.store offset=12 + local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.set $7 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 + local.get $1 + i32.store offset=12 local.get $0 local.get $5 local.get $6 - local.get $7 - local.get $4 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $5 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -41375,25 +40173,11 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const -1 - local.set $1 - end + i32.store global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $5 - i32.store $0 local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer @@ -41402,89 +40186,50 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $5 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 local.get $0 - local.get $5 - i32.store $0 offset=4 - local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 - local.set $7 - local.get $1 - i32.const 0 - i32.lt_s + i32.load offset=16 + local.tee $5 + i32.const 7 + i32.and if - local.get $1 - i32.const -1 - i32.eq - if (result i32) - local.get $7 - i32.const 7 - i32.and - if - i32.const 1056 - i32.const 1632 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $7 - else - i32.const 1056 - i32.const 1632 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $0 - else - local.get $1 - i32.const 3 - i32.shl - local.tee $0 - local.get $7 - i32.gt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 14 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=8 - local.get $1 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $1 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 + local.tee $6 + i32.store offset=8 + local.get $6 local.get $0 - i32.store $0 offset=8 - local.get $1 + i32.store + local.get $6 + local.get $0 + call $~lib/rt/itcms/__link + local.get $6 local.get $5 - i32.store $0 offset=4 + i32.store offset=8 + local.get $6 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -41494,8 +40239,7 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $6 - local.get $1 - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $0 loop $for-loop|1 @@ -41504,16 +40248,16 @@ i32.lt_s if global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 + local.get $1 + i32.store offset=4 + local.get $1 local.get $0 call $~lib/typedarray/Float64Array#__get local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $6 + i32.store offset=4 + local.get $6 local.get $0 call $~lib/typedarray/Float64Array#__get local.get $3 @@ -41566,27 +40310,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11008 call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $1 @@ -41600,18 +40343,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $2 + i32.load offset=4 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11012 - i32.load $0 - local.set $2 + i32.load + local.set $3 i32.const 0 local.set $0 loop $for-loop|0 @@ -41620,15 +40362,15 @@ i32.lt_s if local.get $0 - local.get $3 - i32.add local.get $2 + i32.add + local.get $3 local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - i32.store8 $0 + i32.load + i32.store8 local.get $0 i32.const 1 i32.add @@ -41646,7 +40388,6 @@ (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -41657,21 +40398,20 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int8Array#get:length - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $5 + local.get $3 i32.ne if i32.const 0 @@ -41683,14 +40423,13 @@ end loop $for-loop|0 local.get $2 - local.get $5 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -41699,25 +40438,24 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_s $0 - local.set $3 - local.get $4 + i32.load8_s + local.set $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 $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -41727,37 +40465,33 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 i32.const 0 - i32.store $0 - local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $2 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_s $0 - local.set $4 - local.get $6 + i32.load8_s + local.set $5 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $4 + local.get $5 i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 11344 - i32.store $0 i32.const 11344 i32.const 3 local.get $2 f64.convert_i32_s - local.get $3 - f64.convert_i32_s local.get $4 f64.convert_i32_s + local.get $5 + f64.convert_i32_s f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -41791,7 +40525,6 @@ (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -41808,30 +40541,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int64Array#get:length - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length - local.get $3 + local.get $2 i32.const 6 i32.add i32.lt_s @@ -41844,37 +40576,36 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 6 i32.add - local.set $2 - local.get $4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $2 + local.get $3 i32.add local.get $1 local.get $0 i32.const 3 i32.shl i32.add - i64.load $0 - i64.store8 $0 + i64.load + i64.store8 local.get $0 i32.const 1 i32.add @@ -41889,7 +40620,6 @@ ) (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -41906,27 +40636,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int8Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $2 @@ -41940,21 +40669,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 - local.set $0 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 - memory.copy $0 $0 - local.get $3 + memory.copy + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -41962,7 +40688,6 @@ (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -41979,30 +40704,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int16Array#get:length - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length - local.get $3 + local.get $2 i32.const 4 i32.add i32.lt_s @@ -42015,37 +40739,36 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 4 i32.add - local.set $2 - local.get $4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if local.get $0 - local.get $2 + local.get $3 i32.add local.get $1 local.get $0 i32.const 1 i32.shl i32.add - i32.load16_s $0 - i32.store8 $0 + i32.load16_s + i32.store8 local.get $0 i32.const 1 i32.add @@ -42060,7 +40783,6 @@ ) (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (param $0 i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -42077,27 +40799,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11264 call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $1 @@ -42113,33 +40834,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 7 i32.add - local.set $0 - local.get $2 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 i32.const 11268 - i32.load $0 + i32.load local.get $1 - memory.copy $0 $0 - local.get $2 + memory.copy + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (local $0 i32) - (local $1 f32) - (local $2 f64) - (local $3 i32) - (local $4 i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -42156,129 +40874,128 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.const 24 - memory.fill $0 - local.get $3 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $6 - i32.store $0 + local.tee $7 + i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $5 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + 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 $7 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int8Array#constructor - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int8Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 16 i32.const 11312 call $~lib/rt/__newArray - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=20 - local.get $4 - local.get $5 + local.get $6 + i32.store offset=20 + local.get $0 + local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -42288,28 +41005,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 - local.get $4 - i32.store $0 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11088 call $~lib/array/Array#get:length local.set $8 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $8 i32.const 3 @@ -42317,48 +41033,47 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 3 i32.add - local.set $5 - local.get $9 + local.set $6 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11092 - i32.load $0 + i32.load local.set $9 loop $for-loop|0 - local.get $0 + local.get $1 local.get $8 i32.lt_s if - local.get $0 - local.get $5 + local.get $1 + local.get $6 i32.add local.get $9 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.tee $1 + f32.load + local.tee $3 i32.trunc_sat_f32_s i32.const 0 - local.get $1 - local.get $1 + local.get $3 + local.get $3 f32.sub f32.const 0 f32.eq select - i32.store8 $0 - local.get $0 + i32.store8 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -42367,50 +41082,50 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 16 i32.const 11392 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=20 - local.get $4 - local.get $6 + local.get $7 + i32.store offset=20 + local.get $0 + local.get $7 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 16 i32.const 11424 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -42420,80 +41135,78 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11184 call $~lib/array/Array#get:length - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length - local.get $5 + local.get $6 i32.const 2 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 2 i32.add - local.set $6 - local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11188 - i32.load $0 + i32.load local.set $8 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 - local.get $5 + local.set $1 + loop $for-loop|00 + local.get $1 + local.get $6 i32.lt_s if - local.get $0 - local.get $6 + local.get $1 + local.get $7 i32.add local.get $8 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.tee $2 + f64.load + local.tee $4 i32.trunc_sat_f64_s i32.const 0 - local.get $2 - local.get $2 + local.get $4 + local.get $4 f64.sub f64.const 0 f64.eq select - i32.store8 $0 - local.get $0 + i32.store8 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -42501,60 +41214,60 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 16 i32.const 11456 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=20 - local.get $4 - local.get $3 + local.get $5 + i32.store offset=20 + local.get $0 + local.get $5 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 - local.get $4 - local.get $7 + local.get $2 + i32.store offset=20 + local.get $0 + local.get $2 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int8Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 16 i32.const 11488 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -42577,7 +41290,6 @@ unreachable ) (func $~lib/typedarray/Uint8Array#__uget (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -42594,23 +41306,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add - i32.load8_u $0 - local.set $0 - local.get $2 + i32.load8_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (local $2 i32) @@ -42633,21 +41342,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int8Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -42659,36 +41367,33 @@ end loop $for-loop|0 local.get $2 - local.get $4 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Uint8Array#__uget - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/typedarray/Uint8Array#__uget - local.tee $3 - local.get $5 + local.tee $5 + local.get $4 i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 11552 - i32.store $0 i32.const 11552 i32.const 3 local.get $2 f64.convert_i32_s - local.get $5 + local.get $4 f64.convert_i32_u - local.get $3 + local.get $5 f64.convert_i32_u f64.const 0 f64.const 0 @@ -42714,10 +41419,10 @@ ) (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (local $0 i32) - (local $1 f32) - (local $2 f64) - (local $3 i32) - (local $4 i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -42734,129 +41439,128 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.const 24 - memory.fill $0 - local.get $3 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $6 - i32.store $0 + local.tee $7 + i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $5 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + 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 $7 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint8Array#constructor - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int8Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 64 i32.const 11520 call $~lib/rt/__newArray - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=20 - local.get $4 - local.get $5 + local.get $6 + i32.store offset=20 + local.get $0 + local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -42866,28 +41570,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 - local.get $4 - i32.store $0 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11088 call $~lib/array/Array#get:length local.set $8 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $8 i32.const 3 @@ -42895,48 +41598,47 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 3 i32.add - local.set $5 - local.get $9 + local.set $6 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11092 - i32.load $0 + i32.load local.set $9 loop $for-loop|0 - local.get $0 + local.get $1 local.get $8 i32.lt_s if - local.get $0 - local.get $5 + local.get $1 + local.get $6 i32.add local.get $9 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.tee $1 + f32.load + local.tee $3 i32.trunc_sat_f32_u i32.const 0 - local.get $1 - local.get $1 + local.get $3 + local.get $3 f32.sub f32.const 0 f32.eq select - i32.store8 $0 - local.get $0 + i32.store8 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -42945,50 +41647,50 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 64 i32.const 11600 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=20 - local.get $4 - local.get $6 + local.get $7 + i32.store offset=20 + local.get $0 + local.get $7 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 64 i32.const 11632 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -42998,80 +41700,78 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11184 call $~lib/array/Array#get:length - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length - local.get $5 + local.get $6 i32.const 2 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 2 i32.add - local.set $6 - local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11188 - i32.load $0 + i32.load local.set $8 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 - local.get $5 + local.set $1 + loop $for-loop|00 + local.get $1 + local.get $6 i32.lt_s if - local.get $0 - local.get $6 + local.get $1 + local.get $7 i32.add local.get $8 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.tee $2 + f64.load + local.tee $4 i32.trunc_sat_f64_u i32.const 0 - local.get $2 - local.get $2 + local.get $4 + local.get $4 f64.sub f64.const 0 f64.eq select - i32.store8 $0 - local.get $0 + i32.store8 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -43079,60 +41779,60 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 64 i32.const 11664 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=20 - local.get $4 - local.get $3 + local.get $5 + i32.store offset=20 + local.get $0 + local.get $5 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 - local.get $4 - local.get $7 + local.get $2 + i32.store offset=20 + local.get $0 + local.get $2 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int8Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 64 i32.const 11696 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -43175,21 +41875,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int8Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -43201,36 +41900,33 @@ end loop $for-loop|0 local.get $2 - local.get $4 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Uint8Array#__uget - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/typedarray/Uint8Array#__uget - local.tee $3 - local.get $5 + local.tee $5 + local.get $4 i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 11760 - i32.store $0 i32.const 11760 i32.const 3 local.get $2 f64.convert_i32_s - local.get $5 + local.get $4 f64.convert_i32_u - local.get $3 + local.get $5 f64.convert_i32_u f64.const 0 f64.const 0 @@ -43255,8 +41951,8 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i64) - (local $4 i32) + (local $3 i32) + (local $4 i64) (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -43274,24 +41970,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $4 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int64Array#get:length - local.set $4 + local.set $3 local.get $2 i32.const 0 i32.lt_s @@ -43300,11 +41995,11 @@ else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $2 - local.get $4 + local.get $3 i32.add i32.lt_s end @@ -43317,25 +42012,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add local.set $2 - local.get $5 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $4 + local.get $3 i32.lt_s if local.get $0 @@ -43346,8 +42040,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 - local.tee $3 + i64.load + local.tee $4 i32.wrap_i64 local.tee $5 i32.const 31 @@ -43361,10 +42055,10 @@ i32.const 31 i32.shr_s i64.extend_i32_s - local.get $3 + local.get $4 i64.or i64.and - i64.store8 $0 + i64.store8 local.get $0 i32.const 1 i32.add @@ -43396,21 +42090,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int16Array#get:length local.set $3 @@ -43422,7 +42115,7 @@ else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $2 @@ -43439,20 +42132,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.add local.set $2 - local.get $4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.load offset=4 + local.set $4 i32.const 0 local.set $0 loop $for-loop|0 @@ -43464,25 +42156,25 @@ local.get $2 i32.add i32.const 255 - local.get $1 + local.get $4 local.get $0 i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.tee $4 + i32.load16_s + local.tee $1 i32.sub i32.const 31 i32.shr_s - local.get $4 + local.get $1 i32.or - local.get $4 + local.get $1 i32.const 31 i32.shr_s i32.const -1 i32.xor i32.and - i32.store8 $0 + i32.store8 local.get $0 i32.const 1 i32.add @@ -43497,9 +42189,9 @@ ) (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (local $0 i32) - (local $1 f32) - (local $2 f64) - (local $3 i32) + (local $1 i32) + (local $2 f32) + (local $3 f64) (local $4 i32) (local $5 i32) (local $6 i32) @@ -43518,32 +42210,31 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.const 24 - memory.fill $0 - local.get $3 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $5 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 i32.const 2 i64.const 9 @@ -43552,31 +42243,31 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $6 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 3 i32.const 103 @@ -43585,24 +42276,24 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $7 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 2 i32.const 1002 @@ -43610,14 +42301,14 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -43627,60 +42318,58 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $4 - local.get $3 - i32.store $0 - local.get $4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=4 - local.get $4 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11008 call $~lib/array/Array#get:length local.set $8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $8 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 offset=8 - local.get $3 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 local.set $9 - local.get $4 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11012 - i32.load $0 + i32.load local.set $10 loop $for-loop|0 - local.get $0 + local.get $1 local.get $8 i32.lt_s if - local.get $0 + local.get $1 local.get $9 i32.add i32.const 255 local.get $10 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $4 i32.sub i32.const 31 @@ -43693,11 +42382,11 @@ i32.const -1 i32.xor i32.and - i32.store8 $0 - local.get $0 + i32.store8 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -43706,26 +42395,26 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 64 i32.const 11728 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $3 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -43735,28 +42424,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11088 call $~lib/array/Array#get:length local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $4 i32.const 3 @@ -43764,55 +42452,56 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 3 i32.add local.set $8 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11092 - i32.load $0 + i32.load local.set $9 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 + local.set $1 + loop $for-loop|00 + local.get $1 local.get $4 i32.lt_s if - local.get $0 + local.get $1 local.get $8 i32.add local.get $9 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.tee $1 - f32.const 255 - f32.min - f32.const 0 - f32.max - i32.trunc_sat_f32_u - i32.const 0 - local.get $1 - local.get $1 + f32.load + local.tee $2 + local.get $2 f32.sub f32.const 0 f32.eq - select - i32.store8 $0 - local.get $0 + if (result i32) + local.get $2 + f32.const 255 + f32.min + f32.const 0 + f32.max + i32.trunc_sat_f32_u + else + i32.const 0 + end + i32.store8 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -43820,51 +42509,51 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 64 i32.const 11824 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $3 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + local.get $0 local.get $5 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 64 i32.const 11856 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $3 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -43874,28 +42563,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11184 call $~lib/array/Array#get:length local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $4 i32.const 2 @@ -43903,55 +42591,56 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 2 i32.add local.set $5 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11188 - i32.load $0 + i32.load local.set $8 i32.const 0 - local.set $0 - loop $for-loop|08 - local.get $0 + local.set $1 + loop $for-loop|01 + local.get $1 local.get $4 i32.lt_s if - local.get $0 + local.get $1 local.get $5 i32.add local.get $8 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.tee $2 - f64.const 255 - f64.min - f64.const 0 - f64.max - i32.trunc_sat_f64_u - i32.const 0 - local.get $2 - local.get $2 + f64.load + local.tee $3 + local.get $3 f64.sub f64.const 0 f64.eq - select - i32.store8 $0 - local.get $0 + if (result i32) + local.get $3 + f64.const 255 + f64.min + f64.const 0 + f64.max + i32.trunc_sat_f64_u + else + i32.const 0 + end + i32.store8 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|08 + local.set $1 + br $for-loop|01 end end global.get $~lib/memory/__stack_pointer @@ -43959,45 +42648,45 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 64 i32.const 11888 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $3 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + local.get $0 local.get $6 call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 - local.get $3 + i32.store offset=20 + local.get $0 local.get $7 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -44007,28 +42696,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11264 call $~lib/array/Array#get:length local.set $4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=8 - local.get $3 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int8Array#get:length local.get $4 i32.const 7 @@ -44036,35 +42724,34 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 7 i32.add local.set $5 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11268 - i32.load $0 + i32.load local.set $6 i32.const 0 - local.set $0 - loop $for-loop|012 - local.get $0 + local.set $1 + loop $for-loop|02 + local.get $1 local.get $4 i32.lt_s if - local.get $0 + local.get $1 local.get $5 i32.add i32.const 255 - local.get $0 + local.get $1 local.get $6 i32.add - i32.load8_s $0 + i32.load8_s local.tee $7 i32.sub i32.const 31 @@ -44077,12 +42764,12 @@ i32.const -1 i32.xor i32.and - i32.store8 $0 - local.get $0 + i32.store8 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|012 + local.set $1 + br $for-loop|02 end end global.get $~lib/memory/__stack_pointer @@ -44090,19 +42777,19 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 0 i32.const 64 i32.const 11920 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $3 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -44144,27 +42831,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11008 call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.get $1 @@ -44178,18 +42864,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $2 + i32.load offset=4 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11012 - i32.load $0 - local.set $2 + i32.load + local.set $3 i32.const 0 local.set $0 loop $for-loop|0 @@ -44197,18 +42882,18 @@ local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 1 i32.shl i32.add - local.get $2 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - i32.store16 $0 + i32.load + i32.store16 local.get $0 i32.const 1 i32.add @@ -44222,7 +42907,6 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Int16Array#__uget (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -44239,25 +42923,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $0 - local.get $2 + i32.load16_s + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (local $2 i32) @@ -44280,21 +42961,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -44306,36 +42986,33 @@ end loop $for-loop|0 local.get $2 - local.get $4 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Int16Array#__uget - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/typedarray/Int16Array#__uget - local.tee $3 - local.get $5 + local.tee $5 + local.get $4 i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 12000 - i32.store $0 i32.const 12000 i32.const 3 local.get $2 f64.convert_i32_s - local.get $5 + local.get $4 f64.convert_i32_s - local.get $3 + local.get $5 f64.convert_i32_s f64.const 0 f64.const 0 @@ -44362,7 +43039,6 @@ (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -44379,30 +43055,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int64Array#get:length - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $3 + local.get $2 i32.const 6 i32.add i32.lt_s @@ -44415,28 +43090,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 12 i32.add - local.set $2 - local.get $4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 1 i32.shl @@ -44446,8 +43120,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 - i64.store16 $0 + i64.load + i64.store16 local.get $0 i32.const 1 i32.add @@ -44463,7 +43137,6 @@ (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -44480,30 +43153,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int8Array#get:length - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $3 + local.get $2 i32.lt_s if i32.const 1360 @@ -44514,26 +43186,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $4 + i32.load offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 1 i32.shl @@ -44541,8 +43212,8 @@ local.get $0 local.get $1 i32.add - i32.load8_u $0 - i32.store16 $0 + i32.load8_u + i32.store16 local.get $0 i32.const 1 i32.add @@ -44557,7 +43228,6 @@ ) (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -44574,27 +43244,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int16Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.get $2 @@ -44610,25 +43279,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 8 i32.add - local.set $0 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 1 i32.shl - memory.copy $0 $0 - local.get $3 + memory.copy + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -44653,27 +43319,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11264 call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#get:length local.get $1 @@ -44689,20 +43354,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 14 i32.add - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11268 - i32.load $0 - local.set $2 + i32.load + local.set $3 i32.const 0 local.set $0 loop $for-loop|0 @@ -44710,16 +43374,16 @@ local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 1 i32.shl i32.add local.get $0 - local.get $2 + local.get $3 i32.add - i32.load8_s $0 - i32.store16 $0 + i32.load8_s + i32.store16 local.get $0 i32.const 1 i32.add @@ -44734,10 +43398,10 @@ ) (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> (local $0 i32) - (local $1 f32) - (local $2 f64) - (local $3 i32) - (local $4 i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -44754,129 +43418,128 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.const 24 - memory.fill $0 - local.get $3 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $6 - i32.store $0 + local.tee $7 + i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $5 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + 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 $7 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int16Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 1 i32.const 65 i32.const 11952 call $~lib/rt/__newArray - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=20 - local.get $4 - local.get $5 + local.get $6 + i32.store offset=20 + local.get $0 + local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -44886,28 +43549,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 - local.get $4 - i32.store $0 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11088 call $~lib/array/Array#get:length local.set $8 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int16Array#get:length local.get $8 i32.const 3 @@ -44915,50 +43577,49 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 6 i32.add - local.set $5 - local.get $9 + local.set $6 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11092 - i32.load $0 + i32.load local.set $9 loop $for-loop|0 - local.get $0 + local.get $1 local.get $8 i32.lt_s if - local.get $5 - local.get $0 + local.get $6 + local.get $1 i32.const 1 i32.shl i32.add local.get $9 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.tee $1 + f32.load + local.tee $3 i32.trunc_sat_f32_s i32.const 0 - local.get $1 - local.get $1 + local.get $3 + local.get $3 f32.sub f32.const 0 f32.eq select - i32.store16 $0 - local.get $0 + i32.store16 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -44967,50 +43628,50 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 1 i32.const 65 i32.const 12048 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=20 - local.get $4 - local.get $6 + local.get $7 + i32.store offset=20 + local.get $0 + local.get $7 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 1 i32.const 65 i32.const 12096 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -45020,82 +43681,80 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11184 call $~lib/array/Array#get:length - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $5 + local.get $6 i32.const 2 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 4 i32.add - local.set $6 - local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11188 - i32.load $0 + i32.load local.set $8 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 - local.get $5 + local.set $1 + loop $for-loop|00 + local.get $1 + local.get $6 i32.lt_s if - local.get $6 - local.get $0 + local.get $7 + local.get $1 i32.const 1 i32.shl i32.add local.get $8 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.tee $2 + f64.load + local.tee $4 i32.trunc_sat_f64_s i32.const 0 - local.get $2 - local.get $2 + local.get $4 + local.get $4 f64.sub f64.const 0 f64.eq select - i32.store16 $0 - local.get $0 + i32.store16 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -45103,60 +43762,60 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 1 i32.const 65 i32.const 12144 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=20 - local.get $4 - local.get $3 + local.get $5 + i32.store offset=20 + local.get $0 + local.get $5 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 - local.get $4 - local.get $7 + local.get $2 + i32.store offset=20 + local.get $0 + local.get $2 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int16Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 1 i32.const 65 i32.const 12192 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -45179,7 +43838,6 @@ unreachable ) (func $~lib/typedarray/Uint16Array#__uget (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -45196,25 +43854,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $0 - local.get $2 + i32.load16_u + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (param $0 i32) (param $1 i32) (local $2 i32) @@ -45237,21 +43892,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -45263,36 +43917,33 @@ end loop $for-loop|0 local.get $2 - local.get $4 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Uint16Array#__uget - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/typedarray/Uint16Array#__uget - local.tee $3 - local.get $5 + local.tee $5 + local.get $4 i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 12288 - i32.store $0 i32.const 12288 i32.const 3 local.get $2 f64.convert_i32_s - local.get $5 + local.get $4 f64.convert_i32_u - local.get $3 + local.get $5 f64.convert_i32_u f64.const 0 f64.const 0 @@ -45318,10 +43969,10 @@ ) (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> (local $0 i32) - (local $1 f32) - (local $2 f64) - (local $3 i32) - (local $4 i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -45338,129 +43989,128 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.const 24 - memory.fill $0 - local.get $3 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $6 - i32.store $0 + local.tee $7 + i32.store global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $7 + i32.store offset=4 + local.get $7 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $5 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + 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 $7 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint16Array#constructor - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int16Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 1 i32.const 66 i32.const 12240 call $~lib/rt/__newArray - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=20 - local.get $4 - local.get $5 + local.get $6 + i32.store offset=20 + local.get $0 + local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -45470,28 +44120,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 - local.get $4 - i32.store $0 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11088 call $~lib/array/Array#get:length local.set $8 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int16Array#get:length local.get $8 i32.const 3 @@ -45499,50 +44148,49 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 6 i32.add - local.set $5 - local.get $9 + local.set $6 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11092 - i32.load $0 + i32.load local.set $9 loop $for-loop|0 - local.get $0 + local.get $1 local.get $8 i32.lt_s if - local.get $5 - local.get $0 + local.get $6 + local.get $1 i32.const 1 i32.shl i32.add local.get $9 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.tee $1 + f32.load + local.tee $3 i32.trunc_sat_f32_u i32.const 0 - local.get $1 - local.get $1 + local.get $3 + local.get $3 f32.sub f32.const 0 f32.eq select - i32.store16 $0 - local.get $0 + i32.store16 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -45551,50 +44199,50 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 1 i32.const 66 i32.const 12336 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=20 - local.get $4 - local.get $6 + local.get $7 + i32.store offset=20 + local.get $0 + local.get $7 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 1 i32.const 66 i32.const 12384 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -45604,82 +44252,80 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11184 call $~lib/array/Array#get:length - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int16Array#get:length - local.get $5 + local.get $6 i32.const 2 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 4 i32.add - local.set $6 - local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11188 - i32.load $0 + i32.load local.set $8 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 - local.get $5 + local.set $1 + loop $for-loop|00 + local.get $1 + local.get $6 i32.lt_s if - local.get $6 - local.get $0 + local.get $7 + local.get $1 i32.const 1 i32.shl i32.add local.get $8 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.tee $2 + f64.load + local.tee $4 i32.trunc_sat_f64_u i32.const 0 - local.get $2 - local.get $2 + local.get $4 + local.get $4 f64.sub f64.const 0 f64.eq select - i32.store16 $0 - local.get $0 + i32.store16 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -45687,60 +44333,60 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 1 i32.const 66 i32.const 12432 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=20 - local.get $4 - local.get $3 + local.get $5 + i32.store offset=20 + local.get $0 + local.get $5 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 - local.get $4 - local.get $7 + local.get $2 + i32.store offset=20 + local.get $0 + local.get $2 call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int16Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 1 i32.const 66 i32.const 12480 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -45764,7 +44410,6 @@ ) (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -45781,24 +44426,23 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/array/Array#get:length - local.set $4 + local.set $3 local.get $2 i32.const 0 i32.lt_s @@ -45807,11 +44451,11 @@ else global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length local.get $2 - local.get $4 + local.get $3 i32.add i32.lt_s end @@ -45824,33 +44468,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 2 i32.shl i32.add - local.set $0 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 - local.get $4 + i32.load offset=4 + local.get $3 i32.const 2 i32.shl - memory.copy $0 $0 - local.get $3 + memory.copy + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Int32Array#__uget (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -45867,25 +44507,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (param $0 i32) (param $1 i32) (local $2 i32) @@ -45908,21 +44545,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int32Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -45934,36 +44570,33 @@ end loop $for-loop|0 local.get $2 - local.get $4 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Int32Array#__uget - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/typedarray/Int32Array#__uget - local.tee $3 - local.get $5 + local.tee $5 + local.get $4 i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 12592 - i32.store $0 i32.const 12592 i32.const 3 local.get $2 f64.convert_i32_s - local.get $5 + local.get $4 f64.convert_i32_s - local.get $3 + local.get $5 f64.convert_i32_s f64.const 0 f64.const 0 @@ -45990,7 +44623,6 @@ (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46007,30 +44639,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int64Array#get:length - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $3 + local.get $2 i32.const 6 i32.add i32.lt_s @@ -46043,28 +44674,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 24 i32.add - local.set $2 - local.get $4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 2 i32.shl @@ -46074,8 +44704,8 @@ i32.const 3 i32.shl i32.add - i64.load $0 - i64.store32 $0 + i64.load + i64.store32 local.get $0 i32.const 1 i32.add @@ -46091,7 +44721,6 @@ (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46108,30 +44737,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int8Array#get:length - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $3 + local.get $2 i32.lt_s if i32.const 1360 @@ -46142,26 +44770,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $4 + i32.load offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 2 i32.shl @@ -46169,8 +44796,8 @@ local.get $0 local.get $1 i32.add - i32.load8_u $0 - i32.store $0 + i32.load8_u + i32.store local.get $0 i32.const 1 i32.add @@ -46186,7 +44813,6 @@ (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46203,30 +44829,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int16Array#get:length - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $3 + local.get $2 i32.const 4 i32.add i32.lt_s @@ -46239,28 +44864,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 16 i32.add - local.set $2 - local.get $4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 2 i32.shl @@ -46270,8 +44894,8 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 - i32.store $0 + i32.load16_s + i32.store local.get $0 i32.const 1 i32.add @@ -46304,27 +44928,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11264 call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length local.get $1 @@ -46340,20 +44963,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 28 i32.add - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11268 - i32.load $0 - local.set $2 + i32.load + local.set $3 i32.const 0 local.set $0 loop $for-loop|0 @@ -46361,16 +44983,16 @@ local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 2 i32.shl i32.add local.get $0 - local.get $2 + local.get $3 i32.add - i32.load8_s $0 - i32.store $0 + i32.load8_s + i32.store local.get $0 i32.const 1 i32.add @@ -46385,10 +45007,10 @@ ) (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> (local $0 i32) - (local $1 f32) - (local $2 f64) - (local $3 i32) - (local $4 i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -46406,131 +45028,130 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.const 24 - memory.fill $0 - local.get $3 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $5 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + 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 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 i32.const 11008 i32.const 0 call $~lib/typedarray/Int32Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 17 i32.const 12528 call $~lib/rt/__newArray - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=20 - local.get $4 - local.get $5 + local.get $6 + i32.store offset=20 + local.get $0 + local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46540,79 +45161,77 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 - local.get $4 - i32.store $0 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11088 call $~lib/array/Array#get:length - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $5 + local.get $6 i32.const 3 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 12 i32.add local.set $9 - local.get $6 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11092 - i32.load $0 + i32.load local.set $10 loop $for-loop|0 - local.get $0 - local.get $5 + local.get $1 + local.get $6 i32.lt_s if local.get $10 - local.get $0 + local.get $1 i32.const 2 i32.shl - local.tee $6 + local.tee $7 i32.add - f32.load $0 - local.set $1 - local.get $6 + f32.load + local.set $3 + local.get $7 local.get $9 i32.add - local.get $1 + local.get $3 i32.trunc_sat_f32_s i32.const 0 - local.get $1 - local.get $1 + local.get $3 + local.get $3 f32.sub f32.const 0 f32.eq select - i32.store $0 - local.get $0 + i32.store + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -46621,50 +45240,50 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 17 i32.const 12640 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 - local.get $4 - local.get $7 + local.get $8 + i32.store offset=20 + local.get $0 + local.get $8 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 17 i32.const 12704 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -46674,82 +45293,80 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11184 call $~lib/array/Array#get:length - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $5 + local.get $6 i32.const 2 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 8 i32.add - local.set $6 - local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11188 - i32.load $0 - local.set $7 + i32.load + local.set $8 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 - local.get $5 + local.set $1 + loop $for-loop|00 + local.get $1 + local.get $6 i32.lt_s if - local.get $6 - local.get $0 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add - local.get $7 - local.get $0 + local.get $8 + local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.tee $2 + f64.load + local.tee $4 i32.trunc_sat_f64_s i32.const 0 - local.get $2 - local.get $2 + local.get $4 + local.get $4 f64.sub f64.const 0 f64.eq select - i32.store $0 - local.get $0 + i32.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -46757,60 +45374,60 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 17 i32.const 12768 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=20 - local.get $4 - local.get $3 + local.get $5 + i32.store offset=20 + local.get $0 + local.get $5 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=20 - local.get $4 - local.get $8 + local.get $2 + i32.store offset=20 + local.get $0 + local.get $2 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int32Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 17 i32.const 12832 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -46833,7 +45450,6 @@ unreachable ) (func $~lib/typedarray/Uint32Array#__uget (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -46850,25 +45466,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $0 - local.get $2 + i32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (param $0 i32) (param $1 i32) (local $2 i32) @@ -46891,21 +45504,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 - i32.store $0 - local.get $3 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int32Array#get:length - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $4 + local.get $3 i32.ne if i32.const 0 @@ -46917,36 +45529,33 @@ end loop $for-loop|0 local.get $2 - local.get $4 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Uint32Array#__uget - local.set $5 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/typedarray/Uint32Array#__uget - local.tee $3 - local.get $5 + local.tee $5 + local.get $4 i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 12960 - i32.store $0 i32.const 12960 i32.const 3 local.get $2 f64.convert_i32_s - local.get $5 + local.get $4 f64.convert_i32_u - local.get $3 + local.get $5 f64.convert_i32_u f64.const 0 f64.const 0 @@ -46972,10 +45581,10 @@ ) (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> (local $0 i32) - (local $1 f32) - (local $2 f64) - (local $3 i32) - (local $4 i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (local $4 f64) (local $5 i32) (local $6 i32) (local $7 i32) @@ -46993,131 +45602,130 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.const 24 - memory.fill $0 - local.get $3 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $7 - i32.store $0 + local.tee $8 + i32.store global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $8 + i32.store offset=4 + local.get $8 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $5 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + 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 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=4 - local.get $8 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint32Array#constructor - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 i32.const 11008 i32.const 0 call $~lib/typedarray/Int32Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 67 i32.const 12896 call $~lib/rt/__newArray - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=20 - local.get $4 - local.get $5 + local.get $6 + i32.store offset=20 + local.get $0 + local.get $6 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47127,79 +45735,77 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 - local.get $4 - i32.store $0 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11088 call $~lib/array/Array#get:length - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $5 + local.get $6 i32.const 3 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 12 i32.add local.set $9 - local.get $6 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11092 - i32.load $0 + i32.load local.set $10 loop $for-loop|0 - local.get $0 - local.get $5 + local.get $1 + local.get $6 i32.lt_s if local.get $10 - local.get $0 + local.get $1 i32.const 2 i32.shl - local.tee $6 + local.tee $7 i32.add - f32.load $0 - local.set $1 - local.get $6 + f32.load + local.set $3 + local.get $7 local.get $9 i32.add - local.get $1 + local.get $3 i32.trunc_sat_f32_u i32.const 0 - local.get $1 - local.get $1 + local.get $3 + local.get $3 f32.sub f32.const 0 f32.eq select - i32.store $0 - local.get $0 + i32.store + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -47208,50 +45814,50 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 67 i32.const 13008 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=20 - local.get $4 - local.get $7 + local.get $8 + i32.store offset=20 + local.get $0 + local.get $8 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 67 i32.const 13072 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47261,82 +45867,80 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11184 call $~lib/array/Array#get:length - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $5 + local.get $6 i32.const 2 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 8 i32.add - local.set $6 - local.get $0 + local.set $7 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11188 - i32.load $0 - local.set $7 + i32.load + local.set $8 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 - local.get $5 + local.set $1 + loop $for-loop|00 + local.get $1 + local.get $6 i32.lt_s if - local.get $6 - local.get $0 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add - local.get $7 - local.get $0 + local.get $8 + local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.tee $2 + f64.load + local.tee $4 i32.trunc_sat_f64_u i32.const 0 - local.get $2 - local.get $2 + local.get $4 + local.get $4 f64.sub f64.const 0 f64.eq select - i32.store $0 - local.get $0 + i32.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -47344,60 +45948,60 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 67 i32.const 13136 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=20 - local.get $4 - local.get $3 + local.get $5 + i32.store offset=20 + local.get $0 + local.get $5 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=20 - local.get $4 - local.get $8 + local.get $2 + i32.store offset=20 + local.get $0 + local.get $2 call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int32Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 67 i32.const 13200 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -47439,27 +46043,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11008 call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length local.get $1 @@ -47473,18 +46076,17 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $2 + i32.load offset=4 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11012 - i32.load $0 - local.set $2 + i32.load + local.set $3 i32.const 0 local.set $0 loop $for-loop|0 @@ -47492,18 +46094,18 @@ local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl i32.add - local.get $2 + local.get $3 local.get $0 i32.const 2 i32.shl i32.add - i64.load32_s $0 - i64.store $0 + i64.load32_s + i64.store local.get $0 i32.const 1 i32.add @@ -47517,8 +46119,7 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/typedarray/Int64Array#__uget (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local $3 i64) + (local $2 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -47535,31 +46136,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $3 - local.get $2 + i64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i64) + (local $3 i32) (local $4 i64) - (local $5 i32) + (local $5 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -47576,21 +46174,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $5 + local.get $3 i32.ne if i32.const 0 @@ -47602,37 +46199,34 @@ end loop $for-loop|0 local.get $2 - local.get $5 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Int64Array#__uget - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/typedarray/Int64Array#__uget - local.tee $4 - local.get $3 + local.tee $5 + local.get $4 i64.ne if - global.get $~lib/memory/__stack_pointer - i32.const 13376 - i32.store $0 i32.const 13376 i32.const 3 local.get $2 f64.convert_i32_s - local.get $3 - f64.convert_i64_s local.get $4 f64.convert_i64_s + local.get $5 + f64.convert_i64_s f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -47657,7 +46251,6 @@ ) (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47674,27 +46267,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int64Array#get:length local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length local.get $2 @@ -47710,25 +46302,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 48 i32.add - local.set $0 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.get $2 i32.const 3 i32.shl - memory.copy $0 $0 - local.get $3 + memory.copy + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -47736,7 +46325,6 @@ (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47753,30 +46341,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int8Array#get:length - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.get $3 + local.get $2 i32.lt_s if i32.const 1360 @@ -47787,26 +46374,25 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $4 + i32.load offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 3 i32.shl @@ -47814,8 +46400,8 @@ local.get $0 local.get $1 i32.add - i64.load8_u $0 - i64.store $0 + i64.load8_u + i64.store local.get $0 i32.const 1 i32.add @@ -47831,7 +46417,6 @@ (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -47848,30 +46433,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int16Array#get:length - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.get $3 + local.get $2 i32.const 4 i32.add i32.lt_s @@ -47884,28 +46468,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 32 i32.add - local.set $2 - local.get $4 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 i32.const 0 local.set $0 loop $for-loop|0 local.get $0 - local.get $3 + local.get $2 i32.lt_s if - local.get $2 + local.get $3 local.get $0 i32.const 3 i32.shl @@ -47915,8 +46498,8 @@ i32.const 1 i32.shl i32.add - i64.load16_s $0 - i64.store $0 + i64.load16_s + i64.store local.get $0 i32.const 1 i32.add @@ -47949,27 +46532,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11264 call $~lib/array/Array#get:length local.set $1 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#get:length local.get $1 @@ -47985,20 +46567,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 56 i32.add - local.set $3 - local.get $2 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11268 - i32.load $0 - local.set $2 + i32.load + local.set $3 i32.const 0 local.set $0 loop $for-loop|0 @@ -48006,16 +46587,16 @@ local.get $1 i32.lt_s if - local.get $3 + local.get $2 local.get $0 i32.const 3 i32.shl i32.add local.get $0 - local.get $2 + local.get $3 i32.add - i64.load8_s $0 - i64.store $0 + i64.load8_s + i64.store local.get $0 i32.const 1 i32.add @@ -48030,10 +46611,10 @@ ) (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> (local $0 i32) - (local $1 f64) - (local $2 f32) - (local $3 i32) - (local $4 i32) + (local $1 i32) + (local $2 i32) + (local $3 f64) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -48050,111 +46631,110 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.const 24 - memory.fill $0 - local.get $3 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $5 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $5 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + 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 $6 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Int64Array#constructor - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int64Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 68 @@ -48163,16 +46743,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 local.get $7 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48182,28 +46762,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 i64.const 0 - i64.store $0 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $7 - local.get $4 - i32.store $0 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11088 call $~lib/array/Array#get:length local.set $7 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length local.get $7 i32.const 3 @@ -48211,50 +46790,49 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 24 i32.add - local.set $9 - local.get $8 + local.set $8 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11092 - i32.load $0 - local.set $8 + i32.load + local.set $9 loop $for-loop|0 - local.get $0 + local.get $1 local.get $7 i32.lt_s if - local.get $9 - local.get $0 + local.get $8 + local.get $1 i32.const 3 i32.shl i32.add - local.get $8 - local.get $0 + local.get $9 + local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.tee $2 + f32.load + local.tee $4 i64.trunc_sat_f32_s i64.const 0 - local.get $2 - local.get $2 + local.get $4 + local.get $4 f32.sub f32.const 0 f32.eq select - i64.store $0 - local.get $0 + i64.store + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -48263,50 +46841,50 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 68 i32.const 13424 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=20 - local.get $4 - local.get $5 + local.get $6 + i32.store offset=20 + local.get $0 + local.get $6 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 68 i32.const 13536 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48316,82 +46894,80 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11184 call $~lib/array/Array#get:length - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length - local.get $5 + local.get $6 i32.const 2 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 16 i32.add local.set $7 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11188 - i32.load $0 + i32.load local.set $8 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 - local.get $5 + local.set $1 + loop $for-loop|00 + local.get $1 + local.get $6 i32.lt_s if local.get $8 - local.get $0 + local.get $1 i32.const 3 i32.shl local.tee $9 i32.add - f64.load $0 - local.set $1 + f64.load + local.set $3 local.get $7 local.get $9 i32.add - local.get $1 + local.get $3 i64.trunc_sat_f64_s i64.const 0 - local.get $1 - local.get $1 + local.get $3 + local.get $3 f64.sub f64.const 0 f64.eq select - i64.store $0 - local.get $0 + i64.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -48399,60 +46975,60 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 68 i32.const 13648 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=20 - local.get $4 - local.get $3 + local.get $5 + i32.store offset=20 + local.get $0 + local.get $5 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=20 - local.get $4 - local.get $6 + local.get $2 + i32.store offset=20 + local.get $0 + local.get $2 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int64Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 68 i32.const 13760 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -48475,8 +47051,7 @@ unreachable ) (func $~lib/typedarray/Uint64Array#__uget (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) - (local $3 i64) + (local $2 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -48493,31 +47068,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $3 - local.get $2 + i64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 i64) + (local $3 i32) (local $4 i64) - (local $5 i32) + (local $5 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -48534,21 +47106,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $5 + local.get $3 i32.ne if i32.const 0 @@ -48560,37 +47131,34 @@ end loop $for-loop|0 local.get $2 - local.get $5 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Uint64Array#__uget - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/typedarray/Uint64Array#__uget - local.tee $4 - local.get $3 + local.tee $5 + local.get $4 i64.ne if - global.get $~lib/memory/__stack_pointer - i32.const 13984 - i32.store $0 i32.const 13984 i32.const 3 local.get $2 f64.convert_i32_s - local.get $3 - f64.convert_i64_u local.get $4 f64.convert_i64_u + local.get $5 + f64.convert_i64_u f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -48615,10 +47183,10 @@ ) (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (local $0 i32) - (local $1 f64) - (local $2 f32) - (local $3 i32) - (local $4 i32) + (local $1 i32) + (local $2 i32) + (local $3 f64) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) @@ -48635,111 +47203,110 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i32.const 0 i32.const 24 - memory.fill $0 - local.get $3 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $5 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store $0 offset=8 + local.tee $5 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + local.get $5 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $5 + i32.store offset=4 + 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 $6 - i32.store $0 offset=12 + local.tee $2 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - local.get $6 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint64Array#constructor - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int64Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 69 @@ -48748,16 +47315,16 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 local.get $7 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48767,28 +47334,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $7 i64.const 0 - i64.store $0 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $7 - local.get $4 - i32.store $0 - local.get $7 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11088 call $~lib/array/Array#get:length local.set $7 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length local.get $7 i32.const 3 @@ -48796,50 +47362,49 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $8 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 24 i32.add - local.set $9 - local.get $8 + local.set $8 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11092 - i32.load $0 - local.set $8 + i32.load + local.set $9 loop $for-loop|0 - local.get $0 + local.get $1 local.get $7 i32.lt_s if - local.get $9 - local.get $0 + local.get $8 + local.get $1 i32.const 3 i32.shl i32.add - local.get $8 - local.get $0 + local.get $9 + local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.tee $2 + f32.load + local.tee $4 i64.trunc_sat_f32_u i64.const 0 - local.get $2 - local.get $2 + local.get $4 + local.get $4 f32.sub f32.const 0 f32.eq select - i64.store $0 - local.get $0 + i64.store + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -48848,50 +47413,50 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 69 i32.const 14032 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=20 - local.get $4 - local.get $5 + local.get $6 + i32.store offset=20 + local.get $0 + local.get $6 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 69 i32.const 14144 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48901,82 +47466,80 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11184 call $~lib/array/Array#get:length - local.set $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length - local.get $5 + local.get $6 i32.const 2 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 16 i32.add local.set $7 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 11184 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11188 - i32.load $0 + i32.load local.set $8 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 - local.get $5 + local.set $1 + loop $for-loop|00 + local.get $1 + local.get $6 i32.lt_s if local.get $8 - local.get $0 + local.get $1 i32.const 3 i32.shl local.tee $9 i32.add - f64.load $0 - local.set $1 + f64.load + local.set $3 local.get $7 local.get $9 i32.add - local.get $1 + local.get $3 i64.trunc_sat_f64_u i64.const 0 - local.get $1 - local.get $1 + local.get $3 + local.get $3 f64.sub f64.const 0 f64.eq select - i64.store $0 - local.get $0 + i64.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -48984,60 +47547,60 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 69 i32.const 14256 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=20 - local.get $4 - local.get $3 + local.get $5 + i32.store offset=20 + local.get $0 + local.get $5 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=20 - local.get $4 - local.get $6 + local.get $2 + i32.store offset=20 + local.get $0 + local.get $2 call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 - local.get $4 + i32.store offset=20 + local.get $0 call $~lib/typedarray/Int64Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 69 i32.const 14368 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -49060,8 +47623,7 @@ unreachable ) (func $~lib/typedarray/Float32Array#__uget (param $0 i32) (param $1 i32) (result f32) - (local $2 i32) - (local $3 f32) + (local $2 f32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -49078,31 +47640,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - local.set $3 - local.get $2 + f32.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 f32) + (local $3 i32) (local $4 f32) - (local $5 i32) + (local $5 f32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -49119,21 +47678,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int32Array#get:length - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $5 + local.get $3 i32.ne if i32.const 0 @@ -49145,37 +47703,34 @@ end loop $for-loop|0 local.get $2 - local.get $5 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Float32Array#__uget - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/typedarray/Float32Array#__uget - local.tee $4 - local.get $3 + local.tee $5 + local.get $4 f32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 14544 - i32.store $0 i32.const 14544 i32.const 3 local.get $2 f64.convert_i32_s - local.get $3 - f64.promote_f32 local.get $4 f64.promote_f32 + local.get $5 + f64.promote_f32 f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -49219,106 +47774,105 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $5 - i32.store $0 + local.tee $6 + i32.store global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $5 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store $0 offset=8 + local.tee $2 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store $0 offset=12 + local.tee $3 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Float32Array#constructor - local.tee $6 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -49328,66 +47882,64 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $3 - local.get $6 - i32.store $0 - local.get $3 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11008 call $~lib/array/Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $3 + local.get $4 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 local.set $7 - local.get $4 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11012 - i32.load $0 + i32.load local.set $8 loop $for-loop|0 - local.get $0 - local.get $3 + local.get $1 + local.get $4 i32.lt_s if local.get $7 - local.get $0 + local.get $1 i32.const 2 i32.shl - local.tee $4 + local.tee $5 i32.add - local.get $4 + local.get $5 local.get $8 i32.add - i32.load $0 + i32.load f32.convert_i32_s - f32.store $0 - local.get $0 + f32.store + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -49396,51 +47948,51 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 62 i32.const 14480 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $6 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 - local.get $6 + i32.store offset=20 + local.get $0 i32.const 11088 i32.const 3 call $~lib/typedarray/Int32Array#set<~lib/array/Array> global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 62 i32.const 14592 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $6 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=20 + local.get $6 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -49450,74 +48002,72 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $0 - local.get $5 - i32.store $0 offset=4 - local.get $0 - local.get $5 - i32.store $0 offset=8 - local.get $5 - call $~lib/typedarray/Int64Array#get:length - local.set $3 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 + call $~lib/typedarray/Int64Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $3 + local.get $4 i32.const 6 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 24 i32.add - local.set $4 - local.get $0 - local.get $5 - i32.store $0 offset=8 - local.get $5 - i32.load $0 offset=4 local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store offset=8 + local.get $6 + i32.load offset=4 + local.set $6 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 - local.get $3 + local.set $1 + loop $for-loop|00 + local.get $1 + local.get $4 i32.lt_s if - local.get $4 - local.get $0 + local.get $5 + local.get $1 i32.const 2 i32.shl i32.add - local.get $5 - local.get $0 + local.get $6 + local.get $1 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load f32.convert_i64_s - f32.store $0 - local.get $0 + f32.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -49525,26 +48075,26 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 62 i32.const 14656 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $6 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=20 + local.get $2 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -49554,68 +48104,66 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $6 - i32.store $0 - local.get $0 - local.get $1 - i32.store $0 offset=4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 call $~lib/typedarray/Int8Array#get:length - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $3 + local.get $4 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 - local.set $4 local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.set $2 i32.const 0 - local.set $0 - loop $for-loop|08 - local.get $0 - local.get $3 + local.set $1 + loop $for-loop|01 + local.get $1 + local.get $4 i32.lt_s if - local.get $4 - local.get $0 + local.get $5 + local.get $1 i32.const 2 i32.shl i32.add - local.get $0 local.get $1 + local.get $2 i32.add - i32.load8_u $0 + i32.load8_u f32.convert_i32_u - f32.store $0 - local.get $0 + f32.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|08 + local.set $1 + br $for-loop|01 end end global.get $~lib/memory/__stack_pointer @@ -49623,11 +48171,11 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=20 + local.get $3 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -49637,74 +48185,72 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $6 - i32.store $0 - local.get $0 - local.get $2 - i32.store $0 offset=4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 call $~lib/typedarray/Int16Array#get:length - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $1 + local.get $2 i32.const 4 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 16 i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + i32.load offset=4 local.set $3 - local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.set $2 i32.const 0 - local.set $0 - loop $for-loop|012 - local.get $0 + local.set $1 + loop $for-loop|02 local.get $1 + local.get $2 i32.lt_s if - local.get $3 - local.get $0 + local.get $4 + local.get $1 i32.const 2 i32.shl i32.add - local.get $2 - local.get $0 + local.get $3 + local.get $1 i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s f32.convert_i32_s - f32.store $0 - local.get $0 + f32.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|012 + local.set $1 + br $for-loop|02 end end global.get $~lib/memory/__stack_pointer @@ -49712,11 +48258,11 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -49726,72 +48272,70 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $6 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11264 call $~lib/array/Array#get:length - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int32Array#get:length - local.get $1 + local.get $2 i32.const 7 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 28 i32.add - local.set $2 - local.get $0 + local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11268 - i32.load $0 - local.set $3 + i32.load + local.set $4 i32.const 0 - local.set $0 - loop $for-loop|016 - local.get $0 + local.set $1 + loop $for-loop|03 local.get $1 + local.get $2 i32.lt_s if - local.get $2 - local.get $0 + local.get $3 + local.get $1 i32.const 2 i32.shl i32.add - local.get $0 - local.get $3 + local.get $1 + local.get $4 i32.add - i32.load8_s $0 + i32.load8_s f32.convert_i32_s - f32.store $0 - local.get $0 + f32.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|016 + local.set $1 + br $for-loop|03 end end global.get $~lib/memory/__stack_pointer @@ -49799,19 +48343,19 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 2 i32.const 62 i32.const 14720 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $6 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -49834,8 +48378,7 @@ unreachable ) (func $~lib/typedarray/Float64Array#__uget (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) - (local $3 f64) + (local $2 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -49852,31 +48395,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i32.const 0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $3 - local.get $2 + f64.load + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (param $0 i32) (param $1 i32) (local $2 i32) - (local $3 f64) + (local $3 i32) (local $4 f64) - (local $5 i32) + (local $5 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -49893,21 +48433,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 i32.const 0 - i32.store $0 - local.get $5 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $5 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/array/Array#get:length - local.get $5 + local.get $3 i32.ne if i32.const 0 @@ -49919,35 +48458,32 @@ end loop $for-loop|0 local.get $2 - local.get $5 + local.get $3 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $2 call $~lib/typedarray/Float64Array#__uget - local.set $3 + local.set $4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 local.get $2 call $~lib/typedarray/Float64Array#__uget - local.tee $4 - local.get $3 + local.tee $5 + local.get $4 f64.ne if - global.get $~lib/memory/__stack_pointer - i32.const 14896 - i32.store $0 i32.const 14896 i32.const 3 local.get $2 f64.convert_i32_s - local.get $3 local.get $4 + local.get $5 f64.const 0 f64.const 0 call $~lib/builtins/trace @@ -49990,106 +48526,105 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 24 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store $0 + local.tee $2 + i32.store global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store offset=4 + local.get $2 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store $0 offset=8 + local.tee $3 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store $0 offset=12 + local.tee $4 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 + local.get $4 + i32.store offset=4 + local.get $4 i32.const 2 i32.const 1002 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Float64Array#constructor - local.tee $4 - i32.store $0 offset=16 + local.tee $0 + i32.store offset=16 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50099,67 +48634,65 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 i64.const 0 - i64.store $0 - local.get $5 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $5 - local.get $4 - i32.store $0 - local.get $5 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=4 - local.get $5 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11008 call $~lib/array/Array#get:length local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length local.get $5 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $7 - local.get $6 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer i32.const 11008 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11012 - i32.load $0 - local.set $6 + i32.load + local.set $7 loop $for-loop|0 - local.get $0 + local.get $1 local.get $5 i32.lt_s if - local.get $7 - local.get $0 + local.get $6 + local.get $1 i32.const 3 i32.shl i32.add - local.get $6 - local.get $0 + local.get $7 + local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load f64.convert_i32_s - f64.store $0 - local.get $0 + f64.store + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end @@ -50168,26 +48701,26 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 63 i32.const 14784 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50197,28 +48730,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11088 call $~lib/array/Array#get:length local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length local.get $5 i32.const 3 @@ -50226,45 +48758,44 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 24 i32.add local.set $6 - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 11088 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11092 - i32.load $0 + i32.load local.set $7 i32.const 0 - local.set $0 - loop $for-loop|04 - local.get $0 + local.set $1 + loop $for-loop|00 + local.get $1 local.get $5 i32.lt_s if local.get $6 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add local.get $7 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load f64.promote_f32 - f64.store $0 - local.get $0 + f64.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|04 + local.set $1 + br $for-loop|00 end end global.get $~lib/memory/__stack_pointer @@ -50272,26 +48803,26 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 63 i32.const 14944 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=20 + local.get $2 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50301,28 +48832,27 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 - local.get $0 - local.get $1 - i32.store $0 offset=4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 call $~lib/typedarray/Int64Array#get:length local.set $5 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length local.get $5 i32.const 6 @@ -50330,44 +48860,43 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 48 i32.add local.set $6 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - i32.load $0 offset=4 - local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + i32.load offset=4 + local.set $2 i32.const 0 - local.set $0 - loop $for-loop|08 - local.get $0 + local.set $1 + loop $for-loop|01 + local.get $1 local.get $5 i32.lt_s if local.get $6 - local.get $0 + local.get $1 i32.const 3 i32.shl local.tee $7 i32.add - local.get $1 + local.get $2 local.get $7 i32.add - i64.load $0 + i64.load f64.convert_i64_s - f64.store $0 - local.get $0 + f64.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|08 + local.set $1 + br $for-loop|01 end end global.get $~lib/memory/__stack_pointer @@ -50375,26 +48904,26 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 63 i32.const 15056 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=20 + local.get $3 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50404,68 +48933,66 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 - local.get $0 - local.get $2 - i32.store $0 offset=4 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 call $~lib/typedarray/Int8Array#get:length - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length - local.get $1 + local.get $2 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $5 local.get $0 - local.get $2 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.set $2 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=8 + local.get $3 + i32.load offset=4 + local.set $3 i32.const 0 - local.set $0 - loop $for-loop|012 - local.get $0 + local.set $1 + loop $for-loop|02 local.get $1 + local.get $2 i32.lt_s if local.get $5 - local.get $0 + local.get $1 i32.const 3 i32.shl i32.add - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.add - i32.load8_u $0 + i32.load8_u f64.convert_i32_u - f64.store $0 - local.get $0 + f64.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|012 + local.set $1 + br $for-loop|02 end end global.get $~lib/memory/__stack_pointer @@ -50473,11 +49000,11 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=20 + local.get $4 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50487,74 +49014,72 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 offset=4 - local.get $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - call $~lib/typedarray/Int16Array#get:length - local.set $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length - local.get $1 + local.get $2 i32.const 4 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 32 i32.add - local.set $2 - local.get $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - i32.load $0 offset=4 local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store offset=8 + local.get $4 + i32.load offset=4 + local.set $4 i32.const 0 - local.set $0 - loop $for-loop|016 - local.get $0 + local.set $1 + loop $for-loop|03 local.get $1 + local.get $2 i32.lt_s if - local.get $2 - local.get $0 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add - local.get $3 - local.get $0 + local.get $4 + local.get $1 i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s f64.convert_i32_s - f64.store $0 - local.get $0 + f64.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|016 + local.set $1 + br $for-loop|03 end end global.get $~lib/memory/__stack_pointer @@ -50562,11 +49087,11 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -50576,72 +49101,70 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $4 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11264 call $~lib/array/Array#get:length - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $0 + i32.store offset=8 + local.get $0 call $~lib/typedarray/Int64Array#get:length - local.get $1 + local.get $2 i32.const 7 i32.add i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 i32.const 56 i32.add - local.set $2 - local.get $0 + local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 11264 - i32.store $0 offset=8 + i32.store offset=8 i32.const 11268 - i32.load $0 - local.set $3 + i32.load + local.set $4 i32.const 0 - local.set $0 - loop $for-loop|020 - local.get $0 + local.set $1 + loop $for-loop|04 local.get $1 + local.get $2 i32.lt_s if - local.get $2 - local.get $0 + local.get $3 + local.get $1 i32.const 3 i32.shl i32.add - local.get $0 - local.get $3 + local.get $1 + local.get $4 i32.add - i32.load8_s $0 + i32.load8_s f64.convert_i32_s - f64.store $0 - local.get $0 + f64.store + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|020 + local.set $1 + br $for-loop|04 end end global.get $~lib/memory/__stack_pointer @@ -50649,19 +49172,19 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 + local.get $0 + i32.store offset=4 i32.const 10 i32.const 3 i32.const 63 i32.const 15168 call $~lib/rt/__newArray - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=20 local.get $0 - i32.store $0 offset=20 - local.get $4 - local.get $0 + local.get $1 call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer i32.const 24 @@ -50696,8 +49219,9 @@ (local $12 i32) (local $13 i64) (local $14 i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -50712,12 +49236,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -50740,10 +49260,10 @@ br $break|0 end local.get $0 - i32.load8_s $0 + i32.load8_s local.set $1 local.get $0 - i32.load8_s $0 offset=1 + i32.load8_s offset=1 local.set $3 i32.const 2 global.set $~argumentsLength @@ -50753,15 +49273,15 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $4 select - i32.store8 $0 + i32.store8 local.get $0 - i32.load8_s $0 offset=2 + i32.load8_s offset=2 local.set $5 i32.const 2 global.set $~argumentsLength @@ -50775,25 +49295,25 @@ local.get $1 local.get $5 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $3 select - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $0 local.get $1 local.get $5 local.get $3 select - i32.store8 $0 offset=2 + i32.store8 offset=2 end local.get $0 - i32.load8_s $0 + i32.load8_s local.set $1 local.get $0 - i32.load8_s $0 offset=1 + i32.load8_s offset=1 local.set $3 i32.const 2 global.set $~argumentsLength @@ -50803,24 +49323,24 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $2 select - i32.store8 $0 + i32.store8 local.get $0 local.get $1 local.get $3 local.get $2 select - i32.store8 $0 offset=1 + i32.store8 offset=1 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 @@ -50867,7 +49387,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -50888,7 +49408,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 @@ -50906,7 +49426,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 @@ -50931,7 +49451,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 @@ -50951,7 +49471,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 local.get $9 @@ -50999,29 +49519,28 @@ local.get $7 i32.gt_u if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $14 + local.get $10 i32.add - i32.load $0 + local.tee $15 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $14 local.get $11 + local.get $14 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 @@ -51029,11 +49548,9 @@ local.get $12 local.get $2 call $~lib/util/sort/mergeRuns - local.get $10 - local.get $14 - i32.add + local.get $15 i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -51051,12 +49568,12 @@ local.get $10 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 local.get $11 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -51069,31 +49586,30 @@ loop $for-loop|4 local.get $1 if - local.get $10 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 + local.get $10 + i32.add + i32.load + local.tee $4 i32.const -1 i32.ne if + local.get $3 local.get $11 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $9 local.get $12 local.get $2 @@ -51111,13 +49627,13 @@ local.get $10 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -51140,26 +49656,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int8Array#get:length - local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $3 + i32.store local.get $1 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer @@ -51168,227 +49679,6 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 15344 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15344 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - call $~lib/typedarray/Int8Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - i32.const 15376 - i32.store $0 offset=12 - local.get $0 - i32.const 15376 - call $~lib/typedarray/Int8Array#sort - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) @@ -51402,8 +49692,9 @@ (local $12 i32) (local $13 i64) (local $14 i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -51418,12 +49709,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -51446,10 +49733,10 @@ br $break|0 end local.get $0 - i32.load8_u $0 + i32.load8_u local.set $1 local.get $0 - i32.load8_u $0 offset=1 + i32.load8_u offset=1 local.set $3 i32.const 2 global.set $~argumentsLength @@ -51459,15 +49746,15 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $4 select - i32.store8 $0 + i32.store8 local.get $0 - i32.load8_u $0 offset=2 + i32.load8_u offset=2 local.set $5 i32.const 2 global.set $~argumentsLength @@ -51481,25 +49768,25 @@ local.get $1 local.get $5 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $3 select - i32.store8 $0 offset=1 + i32.store8 offset=1 local.get $0 local.get $1 local.get $5 local.get $3 select - i32.store8 $0 offset=2 + i32.store8 offset=2 end local.get $0 - i32.load8_u $0 + i32.load8_u local.set $1 local.get $0 - i32.load8_u $0 offset=1 + i32.load8_u offset=1 local.set $3 i32.const 2 global.set $~argumentsLength @@ -51509,24 +49796,24 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $2 select - i32.store8 $0 + i32.store8 local.get $0 local.get $1 local.get $3 local.get $2 select - i32.store8 $0 offset=1 + i32.store8 offset=1 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 @@ -51573,7 +49860,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -51594,7 +49881,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 @@ -51612,7 +49899,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 @@ -51637,7 +49924,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 @@ -51657,7 +49944,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 local.get $9 @@ -51705,29 +49992,28 @@ local.get $7 i32.gt_u if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $14 + local.get $10 i32.add - i32.load $0 + local.tee $15 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $14 local.get $11 + local.get $14 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 @@ -51735,11 +50021,9 @@ local.get $12 local.get $2 call $~lib/util/sort/mergeRuns - local.get $10 - local.get $14 - i32.add + local.get $15 i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -51757,12 +50041,12 @@ local.get $10 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 local.get $11 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -51775,31 +50059,30 @@ loop $for-loop|4 local.get $1 if - local.get $10 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 + local.get $10 + i32.add + i32.load + local.tee $4 i32.const -1 i32.ne if + local.get $3 local.get $11 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $9 local.get $12 local.get $2 @@ -51817,13 +50100,13 @@ local.get $10 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -51846,26 +50129,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int8Array#get:length - local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $3 + i32.store local.get $1 call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer @@ -51874,449 +50152,482 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i64) + (local $14 i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.set $2 - global.get $~lib/memory/__stack_pointer + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $folding-inner0 local.get $1 - i32.store $0 offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i32.load16_s + local.set $1 + local.get $0 + i32.load16_s offset=2 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load + call_indirect (type $0) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store16 + local.get $0 + i32.load16_s offset=4 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $5 + local.get $1 + local.get $3 + local.get $4 + select + local.tee $1 + local.get $1 + local.get $5 + local.get $2 + i32.load + call_indirect (type $0) + i32.const 0 + i32.gt_s + local.tee $3 + select + i32.store16 offset=2 + local.get $0 + local.get $1 + local.get $5 + local.get $3 + select + i32.store16 offset=4 end - unreachable + local.get $0 + i32.load16_s + local.set $1 + local.get $0 + i32.load16_s offset=2 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load + call_indirect (type $0) + i32.const 0 + i32.gt_s + local.tee $2 + select + i32.store16 + local.get $0 + local.get $1 + local.get $3 + local.get $2 + select + i32.store16 offset=2 + br $folding-inner0 end - i32.const 15408 - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 15408 - i32.store $0 + local.get $2 + i32.store + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.store $0 offset=8 + i32.const 33 local.get $1 - local.get $0 - call $~lib/typedarray/Uint8Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 i32.const 1 - i32.ne + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initialize end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $10 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 - i32.ne + global.get $~lib/rt/tlsf/ROOT + i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initialize end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 + global.get $~lib/rt/tlsf/ROOT local.get $1 - i32.const 15440 - i32.store $0 offset=12 - local.get $0 - i32.const 15440 - call $~lib/typedarray/Uint8Array#sort - drop + i32.const 1 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $2 + i32.store local.get $0 i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 i32.const 1 - i32.ne + i32.add + local.tee $1 + i32.const 32 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $0 i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $0 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $9 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $1 + i32.const 2 + i32.shl + local.tee $14 + local.get $10 + i32.add + local.tee $15 + i32.load + local.tee $8 + i32.const -1 + i32.ne + if + local.get $11 + local.get $14 + i32.add + i32.load + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $15 + i32.const -1 + i32.store + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $10 + i32.add + local.get $3 + i32.store + local.get $1 + local.get $11 + i32.add + local.get $4 + i32.store + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end + end + loop $for-loop|4 + local.get $1 + if + local.get $1 + i32.const 2 + i32.shl + local.tee $3 + local.get $10 + i32.add + i32.load + local.tee $4 + i32.const -1 + i32.ne + if + local.get $3 + local.get $11 + i32.add + i32.load + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $0 + local.get $4 + local.get $3 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> - (local $0 i32) - (local $1 i32) + (func $~lib/typedarray/Int16Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 15472 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15472 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint8Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - i32.const 15504 - i32.store $0 offset=12 - local.get $0 - i32.const 15504 - call $~lib/typedarray/Uint8Array#sort - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return + call $~lib/builtins/abort + unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -52329,8 +50640,9 @@ (local $12 i32) (local $13 i64) (local $14 i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -52345,12 +50657,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -52373,10 +50681,10 @@ br $break|0 end local.get $0 - i32.load16_s $0 + i32.load16_u local.set $1 local.get $0 - i32.load16_s $0 offset=2 + i32.load16_u offset=2 local.set $3 i32.const 2 global.set $~argumentsLength @@ -52386,15 +50694,15 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $4 select - i32.store16 $0 + i32.store16 local.get $0 - i32.load16_s $0 offset=4 + i32.load16_u offset=4 local.set $5 i32.const 2 global.set $~argumentsLength @@ -52408,25 +50716,25 @@ local.get $1 local.get $5 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $3 select - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 local.get $1 local.get $5 local.get $3 select - i32.store16 $0 offset=4 + i32.store16 offset=4 end local.get $0 - i32.load16_s $0 + i32.load16_u local.set $1 local.get $0 - i32.load16_s $0 offset=2 + i32.load16_u offset=2 local.set $3 i32.const 2 global.set $~argumentsLength @@ -52436,24 +50744,24 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $2 select - i32.store16 $0 + i32.store16 local.get $0 local.get $1 local.get $3 local.get $2 select - i32.store16 $0 offset=2 + i32.store16 offset=2 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 @@ -52461,7 +50769,7 @@ i32.sub i32.const 0 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort br $folding-inner0 end i32.const 33 @@ -52500,7 +50808,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -52523,7 +50831,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 @@ -52531,7 +50839,7 @@ i32.sub local.tee $9 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $4 i32.const 1 i32.add @@ -52541,7 +50849,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 @@ -52553,7 +50861,7 @@ local.tee $4 local.get $1 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end i32.const 0 local.set $1 @@ -52566,7 +50874,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 @@ -52574,7 +50882,7 @@ local.tee $6 local.get $9 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $5 local.get $6 i32.sub @@ -52586,7 +50894,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 local.get $9 @@ -52601,7 +50909,7 @@ local.tee $5 local.get $7 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end local.get $3 local.get $6 @@ -52634,41 +50942,38 @@ local.get $7 i32.gt_u if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $14 + local.get $10 i32.add - i32.load $0 + local.tee $15 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $14 local.get $11 + local.get $14 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 local.get $4 local.get $12 local.get $2 - call $~lib/util/sort/mergeRuns - local.get $10 - local.get $14 - i32.add + call $~lib/util/sort/mergeRuns + local.get $15 i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -52686,12 +50991,12 @@ local.get $10 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 local.get $11 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -52704,35 +51009,34 @@ loop $for-loop|4 local.get $1 if - local.get $10 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 + local.get $10 + i32.add + i32.load + local.tee $4 i32.const -1 i32.ne if + local.get $3 local.get $11 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $9 local.get $12 local.get $2 - call $~lib/util/sort/mergeRuns + call $~lib/util/sort/mergeRuns end local.get $1 i32.const 1 @@ -52746,17 +51050,17 @@ local.get $10 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint16Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -52775,270 +51079,45 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int16Array#get:length - local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $3 + i32.store local.get $1 - call $~lib/util/sort/SORT + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i64) + (local $14 i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 15536 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15536 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - call $~lib/typedarray/Int16Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - i32.const 15568 - i32.store $0 offset=12 - local.get $0 - i32.const 15568 - call $~lib/typedarray/Int16Array#sort - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i64) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -53053,12 +51132,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -53081,10 +51156,10 @@ br $break|0 end local.get $0 - i32.load16_u $0 + i32.load local.set $1 local.get $0 - i32.load16_u $0 offset=2 + i32.load offset=4 local.set $3 i32.const 2 global.set $~argumentsLength @@ -53094,15 +51169,15 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $4 select - i32.store16 $0 + i32.store local.get $0 - i32.load16_u $0 offset=4 + i32.load offset=8 local.set $5 i32.const 2 global.set $~argumentsLength @@ -53116,25 +51191,25 @@ local.get $1 local.get $5 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $3 select - i32.store16 $0 offset=2 + i32.store offset=4 local.get $0 local.get $1 local.get $5 local.get $3 select - i32.store16 $0 offset=4 + i32.store offset=8 end local.get $0 - i32.load16_u $0 + i32.load local.set $1 local.get $0 - i32.load16_u $0 offset=2 + i32.load offset=4 local.set $3 i32.const 2 global.set $~argumentsLength @@ -53144,24 +51219,24 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $2 select - i32.store16 $0 + i32.store local.get $0 local.get $1 local.get $3 local.get $2 select - i32.store16 $0 offset=2 + i32.store offset=4 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 @@ -53169,7 +51244,7 @@ i32.sub i32.const 0 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort br $folding-inner0 end i32.const 33 @@ -53208,7 +51283,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -53223,7 +51298,7 @@ end global.get $~lib/rt/tlsf/ROOT local.get $1 - i32.const 1 + i32.const 2 i32.shl call $~lib/rt/tlsf/allocateBlock i32.const 4 @@ -53231,7 +51306,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 @@ -53239,7 +51314,7 @@ i32.sub local.tee $9 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $4 i32.const 1 i32.add @@ -53249,7 +51324,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 @@ -53261,7 +51336,7 @@ local.tee $4 local.get $1 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end i32.const 0 local.set $1 @@ -53274,7 +51349,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 @@ -53282,7 +51357,7 @@ local.tee $6 local.get $9 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $5 local.get $6 i32.sub @@ -53294,7 +51369,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 local.get $9 @@ -53309,7 +51384,7 @@ local.tee $5 local.get $7 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end local.get $3 local.get $6 @@ -53342,41 +51417,38 @@ local.get $7 i32.gt_u if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $14 + local.get $10 i32.add - i32.load $0 + local.tee $15 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $14 local.get $11 + local.get $14 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 local.get $4 local.get $12 local.get $2 - call $~lib/util/sort/mergeRuns - local.get $10 - local.get $14 - i32.add + call $~lib/util/sort/mergeRuns + local.get $15 i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -53394,12 +51466,12 @@ local.get $10 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 local.get $11 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -53412,35 +51484,34 @@ loop $for-loop|4 local.get $1 if - local.get $10 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 + local.get $10 + i32.add + i32.load + local.tee $4 i32.const -1 i32.ne if + local.get $3 local.get $11 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $9 local.get $12 local.get $2 - call $~lib/util/sort/mergeRuns + call $~lib/util/sort/mergeRuns end local.get $1 i32.const 1 @@ -53454,17 +51525,17 @@ local.get $10 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint16Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int32Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -53483,256 +51554,30 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - call $~lib/typedarray/Int16Array#get:length - local.set $3 + call $~lib/typedarray/Int32Array#get:length global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $3 + i32.store local.get $1 - call $~lib/util/sort/SORT + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 15600 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15600 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint16Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - i32.const 15632 - i32.store $0 offset=12 - local.get $0 - i32.const 15632 - call $~lib/typedarray/Uint16Array#sort - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -53745,8 +51590,9 @@ (local $12 i32) (local $13 i64) (local $14 i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -53761,12 +51607,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -53789,10 +51631,10 @@ br $break|0 end local.get $0 - i32.load $0 + i32.load local.set $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 i32.const 2 global.set $~argumentsLength @@ -53802,15 +51644,15 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $4 select - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 i32.const 2 global.set $~argumentsLength @@ -53824,25 +51666,25 @@ local.get $1 local.get $5 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $3 select - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 local.get $5 local.get $3 select - i32.store $0 offset=8 + i32.store offset=8 end local.get $0 - i32.load $0 + i32.load local.set $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $3 i32.const 2 global.set $~argumentsLength @@ -53852,24 +51694,24 @@ local.get $1 local.get $3 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $0) i32.const 0 i32.gt_s local.tee $2 select - i32.store $0 + i32.store local.get $0 local.get $1 local.get $3 local.get $2 select - i32.store $0 offset=4 + i32.store offset=4 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 @@ -53877,7 +51719,7 @@ i32.sub i32.const 0 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort br $folding-inner0 end i32.const 33 @@ -53916,7 +51758,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -53939,7 +51781,7 @@ local.set $12 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 @@ -53947,7 +51789,7 @@ i32.sub local.tee $9 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $4 i32.const 1 i32.add @@ -53957,7 +51799,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 @@ -53969,7 +51811,7 @@ local.tee $4 local.get $1 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end i32.const 0 local.set $1 @@ -53982,7 +51824,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 @@ -53990,7 +51832,7 @@ local.tee $6 local.get $9 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $5 local.get $6 i32.sub @@ -54002,7 +51844,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 local.get $9 @@ -54017,7 +51859,7 @@ local.tee $5 local.get $7 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end local.get $3 local.get $6 @@ -54050,41 +51892,38 @@ local.get $7 i32.gt_u if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $14 + local.get $10 i32.add - i32.load $0 + local.tee $15 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $14 local.get $11 + local.get $14 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 local.get $4 local.get $12 local.get $2 - call $~lib/util/sort/mergeRuns - local.get $10 - local.get $14 - i32.add + call $~lib/util/sort/mergeRuns + local.get $15 i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -54102,12 +51941,12 @@ local.get $10 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 local.get $11 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -54120,35 +51959,34 @@ loop $for-loop|4 local.get $1 if - local.get $10 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 + local.get $10 + i32.add + i32.load + local.tee $4 i32.const -1 i32.ne if + local.get $3 local.get $11 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $9 local.get $12 local.get $2 - call $~lib/util/sort/mergeRuns + call $~lib/util/sort/mergeRuns end local.get $1 i32.const 1 @@ -54162,17 +52000,17 @@ local.get $10 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -54191,270 +52029,47 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int32Array#get:length - local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $3 + i32.store local.get $1 - call $~lib/util/sort/SORT + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i64) + (local $17 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 15664 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15664 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - call $~lib/typedarray/Int32Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - i32.const 15696 - i32.store $0 offset=12 - local.get $0 - i32.const 15696 - call $~lib/typedarray/Int32Array#sort - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i64) - (local $14 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -54469,12 +52084,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -54497,87 +52108,87 @@ br $break|0 end local.get $0 - i32.load $0 - local.set $1 + i64.load + local.set $9 local.get $0 - i32.load $0 offset=4 - local.set $3 + i64.load offset=8 + local.set $16 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 + local.get $16 + local.get $9 + local.get $9 + local.get $16 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s - local.tee $4 + local.tee $1 select - i32.store $0 + i64.store local.get $0 - i32.load $0 offset=8 - local.set $5 + i64.load offset=16 + local.set $17 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $5 + local.get $17 + local.get $9 + local.get $16 local.get $1 - local.get $3 - local.get $4 select - local.tee $1 - local.get $1 - local.get $5 + local.tee $9 + local.get $9 + local.get $17 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s - local.tee $3 + local.tee $1 select - i32.store $0 offset=4 + i64.store offset=8 local.get $0 + local.get $9 + local.get $17 local.get $1 - local.get $5 - local.get $3 select - i32.store $0 offset=8 + i64.store offset=16 end local.get $0 - i32.load $0 - local.set $1 + i64.load + local.set $9 local.get $0 - i32.load $0 offset=4 - local.set $3 + i64.load offset=8 + local.set $16 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 + local.get $16 + local.get $9 + local.get $9 + local.get $16 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.load + call_indirect (type $7) i32.const 0 i32.gt_s - local.tee $2 + local.tee $1 select - i32.store $0 + i64.store local.get $0 + local.get $9 + local.get $16 local.get $1 - local.get $3 - local.get $2 select - i32.store $0 offset=4 + i64.store offset=8 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 @@ -54585,7 +52196,7 @@ i32.sub i32.const 0 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort br $folding-inner0 end i32.const 33 @@ -54610,21 +52221,21 @@ call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.tee $10 + local.tee $11 i32.add - local.set $11 + local.set $12 loop $for-loop|1 local.get $3 local.get $4 i32.lt_u if - local.get $10 + local.get $11 local.get $3 i32.const 2 i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -54639,23 +52250,23 @@ end global.get $~lib/rt/tlsf/ROOT local.get $1 - i32.const 2 + i32.const 3 i32.shl call $~lib/rt/tlsf/allocateBlock i32.const 4 i32.add - local.set $12 + local.set $13 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 i32.const 1 i32.sub - local.tee $9 + local.tee $10 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $4 i32.const 1 i32.add @@ -54665,19 +52276,19 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 - local.get $9 - local.get $9 + local.get $10 + local.get $10 i32.const 31 i32.ge_s select local.tee $4 local.get $1 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end i32.const 0 local.set $1 @@ -54685,20 +52296,20 @@ local.set $3 loop $while-continue|2 local.get $4 - local.get $9 + local.get $10 i32.lt_s if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 i32.add local.tee $6 - local.get $9 + local.get $10 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $5 local.get $6 i32.sub @@ -54710,22 +52321,22 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 - local.get $9 + local.get $10 local.get $6 i32.const 31 i32.add local.tee $5 local.get $5 - local.get $9 + local.get $10 i32.gt_s select local.tee $5 local.get $7 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end local.get $3 local.get $6 @@ -54733,11 +52344,11 @@ i64.extend_i32_u i64.const 30 i64.shl - local.get $9 + local.get $10 i32.const 1 i32.add i64.extend_i32_u - local.tee $13 + local.tee $9 i64.div_u local.get $5 local.get $6 @@ -54747,7 +52358,7 @@ i64.extend_i32_u i64.const 30 i64.shl - local.get $13 + local.get $9 i64.div_u i64.xor i32.wrap_i64 @@ -54758,41 +52369,38 @@ local.get $7 i32.gt_u if - local.get $10 local.get $1 i32.const 2 i32.shl + local.tee $14 + local.get $11 i32.add - i32.load $0 + local.tee $15 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $14 - local.get $11 + local.get $12 + local.get $14 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 local.get $4 - local.get $12 + local.get $13 local.get $2 - call $~lib/util/sort/mergeRuns - local.get $10 - local.get $14 - i32.add + call $~lib/util/sort/mergeRuns + local.get $15 i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -54807,15 +52415,15 @@ i32.const 2 i32.shl local.tee $1 - local.get $10 + local.get $11 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 - local.get $11 + local.get $12 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -54828,35 +52436,34 @@ loop $for-loop|4 local.get $1 if - local.get $10 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 + local.get $11 + i32.add + i32.load + local.tee $4 i32.const -1 i32.ne if - local.get $11 - local.get $1 - i32.const 2 - i32.shl + local.get $3 + local.get $12 i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 - local.get $9 - local.get $12 + local.get $3 + local.get $10 + local.get $13 local.get $2 - call $~lib/util/sort/mergeRuns + call $~lib/util/sort/mergeRuns end local.get $1 i32.const 1 @@ -54865,22 +52472,22 @@ br $for-loop|4 end end - local.get $12 + local.get $13 call $~lib/rt/tlsf/__free - local.get $10 + local.get $11 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int64Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -54899,406 +52506,177 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - call $~lib/typedarray/Int32Array#get:length - local.set $3 + call $~lib/typedarray/Int64Array#get:length global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $3 + i32.store local.get $1 - call $~lib/util/sort/SORT + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i64) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i64) + (local $17 i64) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $2 - global.get $~lib/memory/__stack_pointer + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $folding-inner0 local.get $1 - i32.store $0 offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i64.load + local.set $9 + local.get $0 + i64.load offset=8 + local.set $16 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $16 + local.get $9 + local.get $9 + local.get $16 + local.get $2 + i32.load + call_indirect (type $7) + i32.const 0 + i32.gt_s + local.tee $1 + select + i64.store + local.get $0 + i64.load offset=16 + local.set $17 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $17 + local.get $9 + local.get $16 + local.get $1 + select + local.tee $9 + local.get $9 + local.get $17 + local.get $2 + i32.load + call_indirect (type $7) + i32.const 0 + i32.gt_s + local.tee $1 + select + i64.store offset=8 + local.get $0 + local.get $9 + local.get $17 + local.get $1 + select + i64.store offset=16 end - unreachable + local.get $0 + i64.load + local.set $9 + local.get $0 + i64.load offset=8 + local.set $16 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $16 + local.get $9 + local.get $9 + local.get $16 + local.get $2 + i32.load + call_indirect (type $7) + i32.const 0 + i32.gt_s + local.tee $1 + select + i64.store + local.get $0 + local.get $9 + local.get $16 + local.get $1 + select + i64.store offset=8 + br $folding-inner0 end - i32.const 15728 - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 15728 - i32.store $0 + local.get $2 + i32.store + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint32Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - i32.const 15760 - i32.store $0 offset=12 - local.get $0 - i32.const 15760 - call $~lib/typedarray/Uint32Array#sort - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i64) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i64) - (local $15 i64) - (local $16 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 - i32.const 0 - i32.store $0 offset=8 - block $folding-inner0 - local.get $1 - i32.const 48 - i32.le_s - if - local.get $1 - i32.const 1 - i32.le_s - br_if $folding-inner0 - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i64.load $0 - local.set $9 - local.get $0 - i64.load $0 offset=8 - local.set $14 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $14 - local.get $9 - local.get $9 - local.get $14 - local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i64.store $0 - local.get $0 - i64.load $0 offset=16 - local.set $15 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $15 - local.get $9 - local.get $14 - local.get $1 - select - local.tee $9 - local.get $9 - local.get $15 - local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i64.store $0 offset=8 - local.get $0 - local.get $9 - local.get $15 - local.get $1 - select - i64.store $0 offset=16 - end - local.get $0 - i64.load $0 - local.set $9 - local.get $0 - i64.load $0 offset=8 - local.set $14 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $14 - local.get $9 - local.get $9 - local.get $14 - local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i64.store $0 - local.get $0 - local.get $9 - local.get $14 - local.get $1 - select - i64.store $0 offset=8 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - br $folding-inner0 - end - i32.const 33 + i32.const 33 local.get $1 i32.clz i32.sub @@ -55334,7 +52712,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -55357,7 +52735,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 @@ -55365,7 +52743,7 @@ i32.sub local.tee $10 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $4 i32.const 1 i32.add @@ -55375,7 +52753,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 @@ -55387,7 +52765,7 @@ local.tee $4 local.get $1 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end i32.const 0 local.set $1 @@ -55400,7 +52778,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 @@ -55408,7 +52786,7 @@ local.tee $6 local.get $10 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $5 local.get $6 i32.sub @@ -55420,7 +52798,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 local.get $10 @@ -55435,7 +52813,7 @@ local.tee $5 local.get $7 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end local.get $3 local.get $6 @@ -55468,41 +52846,38 @@ local.get $7 i32.gt_u if - local.get $11 local.get $1 i32.const 2 i32.shl + local.tee $14 + local.get $11 i32.add - i32.load $0 + local.tee $15 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $16 local.get $12 + local.get $14 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 local.get $4 local.get $13 local.get $2 - call $~lib/util/sort/mergeRuns - local.get $11 - local.get $16 - i32.add + call $~lib/util/sort/mergeRuns + local.get $15 i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -55520,12 +52895,12 @@ local.get $11 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 local.get $12 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -55538,35 +52913,34 @@ loop $for-loop|4 local.get $1 if - local.get $11 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 + local.get $11 + i32.add + i32.load + local.tee $4 i32.const -1 i32.ne if + local.get $3 local.get $12 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $10 local.get $13 local.get $2 - call $~lib/util/sort/mergeRuns + call $~lib/util/sort/mergeRuns end local.get $1 i32.const 1 @@ -55580,17 +52954,17 @@ local.get $11 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -55609,272 +52983,48 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int64Array#get:length - local.set $3 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $3 + i32.store local.get $1 - call $~lib/util/sort/SORT + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 15792 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15792 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - call $~lib/typedarray/Int64Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 2 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - i32.const 15824 - i32.store $0 offset=12 - local.get $0 - i32.const 15824 - call $~lib/typedarray/Int64Array#sort - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 2 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/util/sort/SORT (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 $9 f32) (local $10 i32) (local $11 i32) (local $12 i32) (local $13 i32) (local $14 i64) - (local $15 i64) + (local $15 i32) (local $16 i32) + (local $17 f32) + (local $18 f32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -55889,12 +53039,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 i32.const 0 - i32.store $0 offset=8 + i32.store block $folding-inner0 local.get $1 i32.const 48 @@ -55917,87 +53063,87 @@ br $break|0 end local.get $0 - i64.load $0 + f32.load local.set $9 local.get $0 - i64.load $0 offset=8 - local.set $14 + f32.load offset=4 + local.set $17 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $14 + local.get $17 local.get $9 local.get $9 - local.get $14 + local.get $17 local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $11) i32.const 0 i32.gt_s local.tee $1 select - i64.store $0 + f32.store local.get $0 - i64.load $0 offset=16 - local.set $15 + f32.load offset=8 + local.set $18 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $15 + local.get $18 local.get $9 - local.get $14 + local.get $17 local.get $1 select local.tee $9 local.get $9 - local.get $15 + local.get $18 local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $11) i32.const 0 i32.gt_s local.tee $1 select - i64.store $0 offset=8 + f32.store offset=4 local.get $0 local.get $9 - local.get $15 + local.get $18 local.get $1 select - i64.store $0 offset=16 + f32.store offset=8 end local.get $0 - i64.load $0 + f32.load local.set $9 local.get $0 - i64.load $0 offset=8 - local.set $14 + f32.load offset=4 + local.set $17 i32.const 2 global.set $~argumentsLength local.get $0 - local.get $14 + local.get $17 local.get $9 local.get $9 - local.get $14 + local.get $17 local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.load + call_indirect (type $11) i32.const 0 i32.gt_s local.tee $1 select - i64.store $0 + f32.store local.get $0 local.get $9 - local.get $14 + local.get $17 local.get $1 select - i64.store $0 offset=8 + f32.store offset=4 br $folding-inner0 end global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 local.get $1 @@ -56005,7 +53151,7 @@ i32.sub i32.const 0 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort br $folding-inner0 end i32.const 33 @@ -56044,7 +53190,7 @@ i32.shl i32.add i32.const -1 - i32.store $0 + i32.store local.get $3 i32.const 1 i32.add @@ -56059,7 +53205,7 @@ end global.get $~lib/rt/tlsf/ROOT local.get $1 - i32.const 3 + i32.const 2 i32.shl call $~lib/rt/tlsf/allocateBlock i32.const 4 @@ -56067,7 +53213,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 0 local.get $1 @@ -56075,7 +53221,7 @@ i32.sub local.tee $10 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $4 i32.const 1 i32.add @@ -56085,7 +53231,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 i32.const 0 i32.const 31 @@ -56097,7 +53243,7 @@ local.tee $4 local.get $1 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end i32.const 0 local.set $1 @@ -56110,7 +53256,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store local.get $0 local.get $4 i32.const 1 @@ -56118,7 +53264,7 @@ local.tee $6 local.get $10 local.get $2 - call $~lib/util/sort/extendRunRight + call $~lib/util/sort/extendRunRight local.tee $5 local.get $6 i32.sub @@ -56130,7 +53276,7 @@ if global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $0 local.get $6 local.get $10 @@ -56145,7 +53291,7 @@ local.tee $5 local.get $7 local.get $2 - call $~lib/util/sort/insertionSort + call $~lib/util/sort/insertionSort end local.get $3 local.get $6 @@ -56157,7 +53303,7 @@ i32.const 1 i32.add i64.extend_i32_u - local.tee $9 + local.tee $14 i64.div_u local.get $5 local.get $6 @@ -56167,7 +53313,7 @@ i64.extend_i32_u i64.const 30 i64.shl - local.get $9 + local.get $14 i64.div_u i64.xor i32.wrap_i64 @@ -56178,41 +53324,38 @@ local.get $7 i32.gt_u if - local.get $11 local.get $1 i32.const 2 i32.shl + local.tee $15 + local.get $11 i32.add - i32.load $0 + local.tee $16 + i32.load local.tee $8 i32.const -1 i32.ne if - local.get $1 - i32.const 2 - i32.shl - local.tee $16 local.get $12 + local.get $15 i32.add - i32.load $0 + i32.load i32.const 1 i32.add local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 local.get $8 local.get $3 local.get $4 local.get $13 local.get $2 - call $~lib/util/sort/mergeRuns - local.get $11 + call $~lib/util/sort/mergeRuns local.get $16 - i32.add i32.const -1 - i32.store $0 + i32.store local.get $8 local.set $3 end @@ -56230,12 +53373,12 @@ local.get $11 i32.add local.get $3 - i32.store $0 + i32.store local.get $1 local.get $12 i32.add local.get $4 - i32.store $0 + i32.store local.get $6 local.set $3 local.get $5 @@ -56248,35 +53391,34 @@ loop $for-loop|4 local.get $1 if - local.get $11 local.get $1 i32.const 2 i32.shl - i32.add - i32.load $0 local.tee $3 - i32.const -1 + local.get $11 + i32.add + i32.load + local.tee $4 + i32.const -1 i32.ne if + local.get $3 local.get $12 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + i32.load i32.const 1 i32.add - local.set $4 + local.set $3 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store local.get $0 - local.get $3 local.get $4 + local.get $3 local.get $10 local.get $13 local.get $2 - call $~lib/util/sort/mergeRuns + call $~lib/util/sort/mergeRuns end local.get $1 i32.const 1 @@ -56290,17 +53432,17 @@ local.get $11 call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#sort (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float32Array#sort (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -56319,993 +53461,56 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 + i32.load offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 - call $~lib/typedarray/Int64Array#get:length - local.set $3 + call $~lib/typedarray/Int32Array#get:length global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $2 - local.get $3 + i32.store local.get $1 - call $~lib/util/sort/SORT + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> + (func $start:std/typedarray (local $0 i32) (local $1 i32) (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 15856 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15856 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - call $~lib/typedarray/Uint64Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 2 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - i32.const 15888 - i32.store $0 offset=12 - local.get $0 - i32.const 15888 - call $~lib/typedarray/Uint64Array#sort - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 2 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/util/sort/SORT (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + (local $3 i64) + (local $4 f32) + (local $5 f64) (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 f32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i64) - (local $15 f32) - (local $16 f32) - (local $17 i32) + (local $9 i32) + (local $10 i64) + (local $11 f32) + (local $12 f64) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 124 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 - i32.const 0 - i32.store $0 offset=8 - block $folding-inner0 - local.get $1 - i32.const 48 - i32.le_s - if - local.get $1 - i32.const 1 - i32.le_s - br_if $folding-inner0 - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - f32.load $0 - local.set $9 - local.get $0 - f32.load $0 offset=4 - local.set $15 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $15 - local.get $9 - local.get $9 - local.get $15 - local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f32.store $0 - local.get $0 - f32.load $0 offset=8 - local.set $16 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $16 - local.get $9 - local.get $15 - local.get $1 - select - local.tee $9 - local.get $9 - local.get $16 - local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f32.store $0 offset=4 - local.get $0 - local.get $9 - local.get $16 - local.get $1 - select - f32.store $0 offset=8 - end - local.get $0 - f32.load $0 - local.set $9 - local.get $0 - f32.load $0 offset=4 - local.set $15 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $15 - local.get $9 - local.get $9 - local.get $15 - local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f32.store $0 - local.get $0 - local.get $9 - local.get $15 - local.get $1 - select - f32.store $0 offset=4 - br $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - br $folding-inner0 - end - i32.const 33 - local.get $1 - i32.clz - i32.sub - local.tee $4 - i32.const 2 - i32.shl - local.tee $5 - i32.const 1 - i32.shl - local.set $6 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - local.get $5 - global.get $~lib/rt/tlsf/ROOT - local.get $6 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $11 - i32.add - local.set $12 - loop $for-loop|1 - local.get $3 - local.get $4 - i32.lt_u - if - local.get $11 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $1 - i32.const 2 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $13 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - local.tee $10 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $4 - i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $0 - i32.const 0 - i32.const 31 - local.get $10 - local.get $10 - i32.const 31 - i32.ge_s - select - local.tee $4 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.set $1 - i32.const 0 - local.set $3 - loop $while-continue|2 - local.get $4 - local.get $10 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $0 - local.get $4 - i32.const 1 - i32.add - local.tee $6 - local.get $10 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $5 - local.get $6 - i32.sub - i32.const 1 - i32.add - local.tee $7 - i32.const 32 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $0 - local.get $6 - local.get $10 - local.get $6 - i32.const 31 - i32.add - local.tee $5 - local.get $5 - local.get $10 - i32.gt_s - select - local.tee $5 - local.get $7 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $6 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $10 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $14 - i64.div_u - local.get $5 - local.get $6 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $14 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $7 - loop $for-loop|3 - local.get $1 - local.get $7 - i32.gt_u - if - local.get $11 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $8 - i32.const -1 - i32.ne - if - local.get $1 - i32.const 2 - i32.shl - local.tee $17 - local.get $12 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $0 - local.get $8 - local.get $3 - local.get $4 - local.get $13 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $11 - local.get $17 - i32.add - i32.const -1 - i32.store $0 - local.get $8 - local.set $3 - end - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|3 - end - end - local.get $7 - i32.const 2 - i32.shl - local.tee $1 - local.get $11 - i32.add - local.get $3 - i32.store $0 - local.get $1 - local.get $12 - i32.add - local.get $4 - i32.store $0 - local.get $6 - local.set $3 - local.get $5 - local.set $4 - local.get $7 - local.set $1 - br $while-continue|2 - end - end - loop $for-loop|4 - local.get $1 - if - local.get $11 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $3 - i32.const -1 - i32.ne - if - local.get $12 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $0 - local.get $3 - local.get $4 - local.get $10 - local.get $13 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|4 - end - end - local.get $13 - call $~lib/rt/tlsf/__free - local.get $11 - call $~lib/rt/tlsf/__free - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Float32Array#sort (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $3 - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/typedarray/Int32Array#get:length - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $2 - local.get $3 - local.get $1 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 15920 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15920 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - call $~lib/typedarray/Float32Array#sort - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 2 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=4 - local.get $1 - i32.const 15952 - i32.store $0 offset=12 - local.get $0 - i32.const 15952 - call $~lib/typedarray/Float32Array#sort - drop - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 2 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $start:std/typedarray - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i64) - (local $4 f32) - (local $5 f64) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i64) - (local $11 f32) - (local $12 f64) - global.get $~lib/memory/__stack_pointer - i32.const 124 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner25 - block $folding-inner24 - block $folding-inner23 - block $folding-inner22 - block $folding-inner21 - block $folding-inner20 - block $folding-inner19 - block $folding-inner18 - block $folding-inner17 + block $folding-inner23 + block $folding-inner22 + block $folding-inner21 + block $folding-inner20 + block $folding-inner19 + block $folding-inner18 + block $folding-inner17 + block $folding-inner16 + block $folding-inner15 block $folding-inner13 block $folding-inner12 block $folding-inner11 @@ -57320,12 +53525,12 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 124 - memory.fill $0 - memory.size $0 + memory.fill + memory.size i32.const 16 i32.shl i32.const 49088 @@ -57335,26 +53540,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1284 i32.const 1280 - i32.store $0 + i32.store i32.const 1288 i32.const 1280 - i32.store $0 + i32.store i32.const 1280 global.set $~lib/rt/itcms/pinSpace i32.const 1316 i32.const 1312 - i32.store $0 + i32.store i32.const 1320 i32.const 1312 - i32.store $0 + i32.store i32.const 1312 global.set $~lib/rt/itcms/toSpace i32.const 1460 i32.const 1456 - i32.store $0 + i32.store i32.const 1464 i32.const 1456 - i32.store $0 + i32.store i32.const 1456 global.set $~lib/rt/itcms/fromSpace i32.const 0 @@ -57365,31 +53570,31 @@ i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/typedarray/Int32Array#get:length i32.const 3 @@ -57404,7 +53609,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -57417,9 +53622,9 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - i32.load $0 offset=8 + i32.load offset=8 i32.const 12 i32.ne if @@ -57432,7 +53637,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/typedarray/Int32Array#__get @@ -57448,7 +53653,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 call $~lib/typedarray/Int32Array#__get @@ -57464,7 +53669,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 call $~lib/typedarray/Int32Array#__get @@ -57479,19 +53684,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#subarray local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/typedarray/Int32Array#get:length i32.const 1 @@ -57506,7 +53710,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 4 @@ -57521,9 +53725,9 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - i32.load $0 offset=8 + i32.load offset=8 i32.const 4 i32.ne if @@ -57536,7 +53740,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/typedarray/Int32Array#__get @@ -57554,76 +53758,76 @@ i32.const 8 call $~lib/typedarray/Float64Array#constructor local.tee $6 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 f64.const 7 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 3 f64.const 6 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 4 f64.const 5 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 5 f64.const 4 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 6 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 7 f64.const 8 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $6 i32.const 2 i32.const 6 call $~lib/typedarray/Float64Array#subarray local.tee $6 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/typedarray/Int64Array#get:length i32.const 4 @@ -57638,7 +53842,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 16 @@ -57653,9 +53857,9 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - i32.load $0 offset=8 + i32.load offset=8 i32.const 32 i32.ne if @@ -57668,7 +53872,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~argumentsLength local.get $6 @@ -57676,7 +53880,7 @@ drop global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/typedarray/Float64Array#__get @@ -57685,7 +53889,7 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 call $~lib/typedarray/Float64Array#__get @@ -57697,7 +53901,7 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 call $~lib/typedarray/Float64Array#__get @@ -57709,7 +53913,7 @@ if (result i32) global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 3 call $~lib/typedarray/Float64Array#__get @@ -57731,31 +53935,31 @@ i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $6 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const -32 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 256 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#__get @@ -57769,7 +53973,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__get @@ -57785,7 +53989,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__get @@ -57803,45 +54007,45 @@ i32.const 5 call $~lib/typedarray/Int8Array#constructor local.tee $6 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 4 i32.const 5 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 1 @@ -57849,7 +54053,7 @@ call $~lib/typedarray/Int8Array#fill global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 0 i32.const 16 @@ -57858,7 +54062,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt8ArrayEqual @@ -57873,7 +54077,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $6 @@ -57882,7 +54086,7 @@ call $~lib/typedarray/Int8Array#fill@varargs global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 0 i32.const 16 @@ -57891,7 +54095,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt8ArrayEqual @@ -57906,7 +54110,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 0 @@ -57914,7 +54118,7 @@ call $~lib/typedarray/Int8Array#fill global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 0 i32.const 16 @@ -57923,7 +54127,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt8ArrayEqual @@ -57938,7 +54142,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 2 global.set $~argumentsLength local.get $6 @@ -57947,7 +54151,7 @@ call $~lib/typedarray/Int8Array#fill@varargs global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 0 i32.const 16 @@ -57956,7 +54160,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt8ArrayEqual @@ -57971,7 +54175,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 @@ -57979,7 +54183,7 @@ call $~lib/typedarray/Int8Array#fill global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 0 i32.const 16 @@ -57988,7 +54192,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt8ArrayEqual @@ -58002,19 +54206,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#subarray local.tee $7 - i32.store $0 offset=24 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $7 @@ -58023,7 +54226,7 @@ call $~lib/typedarray/Int8Array#fill@varargs global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int8Array#get:length i32.const 3 @@ -58038,7 +54241,7 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 1 @@ -58053,9 +54256,9 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.ne if @@ -58068,7 +54271,7 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 3 i32.const 0 i32.const 16 @@ -58077,7 +54280,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $7 local.get $8 call $std/typedarray/isInt8ArrayEqual @@ -58092,7 +54295,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 0 i32.const 16 @@ -58101,7 +54304,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt8ArrayEqual @@ -58118,45 +54321,45 @@ i32.const 5 call $~lib/typedarray/Int32Array#constructor local.tee $6 - i32.store $0 offset=28 + i32.store offset=28 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 1 @@ -58164,7 +54367,7 @@ call $~lib/typedarray/Int32Array#fill global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58173,7 +54376,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt32ArrayEqual @@ -58188,7 +54391,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $6 @@ -58197,7 +54400,7 @@ call $~lib/typedarray/Int32Array#fill@varargs global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58206,7 +54409,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt32ArrayEqual @@ -58221,7 +54424,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 0 @@ -58229,7 +54432,7 @@ call $~lib/typedarray/Int32Array#fill global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58238,7 +54441,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt32ArrayEqual @@ -58253,7 +54456,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 2 global.set $~argumentsLength local.get $6 @@ -58262,7 +54465,7 @@ call $~lib/typedarray/Int32Array#fill@varargs global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58271,7 +54474,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt32ArrayEqual @@ -58286,7 +54489,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 @@ -58294,7 +54497,7 @@ call $~lib/typedarray/Int32Array#fill global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58303,7 +54506,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt32ArrayEqual @@ -58317,19 +54520,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#subarray local.tee $7 - i32.store $0 offset=32 + i32.store offset=32 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength local.get $7 @@ -58338,7 +54540,7 @@ call $~lib/typedarray/Int32Array#fill@varargs global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int32Array#get:length i32.const 3 @@ -58353,7 +54555,7 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 4 @@ -58368,9 +54570,9 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 12 i32.ne if @@ -58383,7 +54585,7 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 3 i32.const 2 i32.const 17 @@ -58392,7 +54594,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $7 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -58407,7 +54609,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58416,7 +54618,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt32ArrayEqual @@ -58433,62 +54635,62 @@ i32.const 6 call $~lib/typedarray/Int8Array#constructor local.tee $6 - i32.store $0 offset=36 + i32.store offset=36 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 4 i32.const 5 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 5 i32.const 6 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $6 i32.const 1 i32.const 6 call $~lib/typedarray/Int8Array#subarray local.tee $6 - i32.store $0 offset=40 + i32.store offset=40 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/typedarray/Int8Array#__get @@ -58504,7 +54706,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/typedarray/Int8Array#get:length i32.const 5 @@ -58519,7 +54721,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 1 @@ -58534,9 +54736,9 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - i32.load $0 offset=8 + i32.load offset=8 i32.const 5 i32.ne if @@ -58548,19 +54750,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 i32.const 1 i32.const 5 call $~lib/typedarray/Int8Array#subarray local.tee $6 - i32.store $0 offset=44 + i32.store offset=44 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/typedarray/Int8Array#__get @@ -58576,7 +54777,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/typedarray/Int8Array#get:length i32.const 4 @@ -58591,7 +54792,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 2 @@ -58606,9 +54807,9 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - i32.load $0 offset=8 + i32.load offset=8 i32.const 4 i32.ne if @@ -58620,19 +54821,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#subarray local.tee $6 - i32.store $0 offset=48 + i32.store offset=48 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 call $~lib/typedarray/Int8Array#__get @@ -58648,7 +54848,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/typedarray/Int8Array#get:length i32.const 3 @@ -58663,7 +54863,7 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 3 @@ -58678,9 +54878,9 @@ end global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 - i32.load $0 offset=8 + i32.load offset=8 i32.const 3 i32.ne if @@ -58695,55 +54895,55 @@ i32.const 5 call $~lib/typedarray/Int32Array#constructor local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $6 call $~lib/typedarray/Int32Array#slice@varargs local.tee $7 - i32.store $0 offset=56 + i32.store offset=56 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 i32.const 2 global.set $~argumentsLength local.get $6 @@ -58753,7 +54953,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58762,7 +54962,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -58776,19 +54976,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 i32.const 2 global.set $~argumentsLength local.get $6 @@ -58798,7 +54997,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58807,7 +55006,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -58821,19 +55020,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 i32.const 2 global.set $~argumentsLength local.get $6 @@ -58843,7 +55041,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58852,7 +55050,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -58866,19 +55064,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 i32.const 2 global.set $~argumentsLength local.get $6 @@ -58888,7 +55085,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58897,7 +55094,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -58911,19 +55108,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 local.get $6 i32.const 0 i32.const 3 @@ -58932,7 +55128,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58941,7 +55137,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -58955,19 +55151,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 local.get $6 i32.const 1 i32.const 3 @@ -58976,7 +55171,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -58985,7 +55180,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -58999,19 +55194,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 local.get $6 i32.const 1 i32.const 2 @@ -59020,7 +55214,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -59029,7 +55223,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -59043,19 +55237,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 i32.const 2 global.set $~argumentsLength local.get $6 @@ -59065,7 +55258,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -59074,7 +55267,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -59088,19 +55281,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 local.get $6 i32.const 0 i32.const -2 @@ -59109,7 +55301,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -59118,7 +55310,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -59132,19 +55324,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 local.get $6 i32.const -4 i32.const -3 @@ -59153,7 +55344,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -59162,7 +55353,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -59176,19 +55367,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 local.get $6 i32.const -4 i32.const -3 @@ -59197,7 +55387,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -59206,7 +55396,7 @@ local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $8 call $std/typedarray/isInt32ArrayEqual @@ -59220,19 +55410,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength - local.get $6 + global.get $~lib/memory/__stack_pointer local.get $7 call $~lib/typedarray/Int32Array#slice@varargs local.tee $6 - i32.store $0 offset=52 + i32.store offset=52 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=60 + i32.store offset=60 i32.const 2 global.set $~argumentsLength local.get $6 @@ -59242,7 +55431,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5 i32.const 2 i32.const 17 @@ -59251,7 +55440,7 @@ local.set $7 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 local.get $6 local.get $7 call $std/typedarray/isInt32ArrayEqual @@ -59268,55 +55457,55 @@ i32.const 5 call $~lib/typedarray/Int32Array#constructor local.tee $6 - i32.store $0 offset=64 + i32.store offset=64 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $6 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#subarray local.tee $7 - i32.store $0 offset=68 + i32.store offset=68 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int32Array#get:length i32.const 3 @@ -59331,7 +55520,7 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 4 @@ -59346,9 +55535,9 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 12 i32.ne if @@ -59360,19 +55549,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $6 - i32.store $0 offset=4 - local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 i32.const 1 i32.const 3 call $~lib/typedarray/Int32Array#slice local.tee $8 - i32.store $0 offset=72 + i32.store offset=72 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 i32.const 0 call $~lib/typedarray/Int32Array#__get @@ -59388,7 +55576,7 @@ end global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 i32.const 1 call $~lib/typedarray/Int32Array#__get @@ -59404,7 +55592,7 @@ end global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/typedarray/Int32Array#get:length i32.const 2 @@ -59419,7 +55607,7 @@ end global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -59432,9 +55620,9 @@ end global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=4 + i32.store offset=4 local.get $8 - i32.load $0 offset=8 + i32.load offset=8 i32.const 8 i32.ne if @@ -59446,19 +55634,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $7 - i32.store $0 offset=4 - local.get $8 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $7 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#slice local.tee $7 - i32.store $0 offset=76 + i32.store offset=76 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 call $~lib/typedarray/Int32Array#__get @@ -59474,7 +55661,7 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int32Array#get:length i32.const 1 @@ -59489,7 +55676,7 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if @@ -59502,9 +55689,9 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 - i32.load $0 offset=8 + i32.load offset=8 i32.const 4 i32.ne if @@ -59516,16 +55703,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $7 local.get $6 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~argumentsLength - local.get $7 + global.get $~lib/memory/__stack_pointer local.get $6 call $~lib/typedarray/Int32Array#slice@varargs local.tee $7 - i32.store $0 offset=80 + i32.store offset=80 local.get $6 local.get $7 i32.eq @@ -59539,13 +55725,13 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/typedarray/Int32Array#get:length local.set $8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/typedarray/Int32Array#get:length local.get $8 @@ -59560,13 +55746,13 @@ end global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.set $8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $8 @@ -59580,18 +55766,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $8 local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 - i32.load $0 offset=8 - local.set $7 - local.get $8 + i32.load offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 local.get $6 - i32.load $0 offset=8 + i32.load offset=8 i32.ne if i32.const 0 @@ -59608,119 +55791,117 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $6 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 2896 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $7 - i64.const 0 - i64.store $0 - local.get $7 i64.const 0 - i64.store $0 offset=8 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2896 - i32.store $0 offset=4 - local.get $7 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 - i32.load $0 offset=4 - local.set $8 - local.get $7 + i32.load offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int8Array#get:length - local.set $7 + local.set $8 loop $for-loop|0 - local.get $1 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if - local.get $1 - local.get $8 + local.get $0 + local.get $7 i32.add - i32.load8_s $0 + i32.load8_s local.set $9 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $9 local.get $1 + local.get $9 + local.get $0 local.get $6 i32.const 2896 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + i32.load + call_indirect (type $6) + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 255 i32.and i32.const 6 i32.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -59732,46 +55913,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 2928 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2928 call $~lib/typedarray/Uint8Array#reduce @@ -59779,7 +55959,7 @@ i32.and i32.const 6 i32.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -59791,46 +55971,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 2960 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2960 call $~lib/typedarray/Uint8Array#reduce @@ -59838,13 +56017,13 @@ i32.and i32.const 6 i32.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -59852,129 +56031,127 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 2992 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $7 i64.const 0 - i64.store $0 - local.get $7 - i64.const 0 - i64.store $0 offset=8 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 2992 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 - local.set $0 - local.get $7 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 - i32.load $0 offset=4 - local.set $8 - local.get $7 + i32.load offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int16Array#get:length - local.set $7 + local.set $8 loop $for-loop|02 - local.get $1 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if - local.get $8 - local.get $1 + local.get $7 + local.get $0 i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $9 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $9 local.get $1 + local.get $9 + local.get $0 local.get $6 i32.const 2992 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + i32.load + call_indirect (type $6) + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|02 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 65535 i32.and i32.const 6 i32.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -59982,129 +56159,127 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3024 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $7 - i64.const 0 - i64.store $0 - local.get $7 i64.const 0 - i64.store $0 offset=8 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3024 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 - local.set $0 - local.get $7 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 - i32.load $0 offset=4 - local.set $8 - local.get $7 + i32.load offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int16Array#get:length - local.set $7 + local.set $8 loop $for-loop|04 - local.get $1 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if - local.get $8 - local.get $1 + local.get $7 + local.get $0 i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $9 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $9 local.get $1 + local.get $9 + local.get $0 local.get $6 i32.const 3024 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + i32.load + call_indirect (type $6) + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|04 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 65535 i32.and i32.const 6 i32.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -60112,127 +56287,125 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3056 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $7 i64.const 0 - i64.store $0 - local.get $7 - i64.const 0 - i64.store $0 offset=8 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3056 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 - local.set $0 - local.get $7 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 - i32.load $0 offset=4 - local.set $8 - local.get $7 + i32.load offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int32Array#get:length - local.set $7 + local.set $8 loop $for-loop|06 - local.get $1 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if - local.get $8 - local.get $1 + local.get $7 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $9 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $9 local.get $1 + local.get $9 + local.get $0 local.get $6 i32.const 3056 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + i32.load + call_indirect (type $6) + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|06 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 6 i32.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -60240,127 +56413,125 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3088 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $7 - i64.const 0 - i64.store $0 - local.get $7 i64.const 0 - i64.store $0 offset=8 - local.get $7 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $7 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3088 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 - local.set $0 - local.get $7 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 - i32.load $0 offset=4 - local.set $8 - local.get $7 + i32.load offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int32Array#get:length - local.set $7 + local.set $8 loop $for-loop|08 - local.get $1 - local.get $7 + local.get $0 + local.get $8 i32.lt_s if - local.get $8 - local.get $1 + local.get $7 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $9 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength - local.get $0 - local.get $9 local.get $1 + local.get $9 + local.get $0 local.get $6 i32.const 3088 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 + i32.load + call_indirect (type $6) + local.set $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|08 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.const 6 i32.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -60368,125 +56539,123 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3120 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 - i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3120 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int64Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $7 loop $for-loop|010 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $10 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $3 local.get $10 - local.get $1 local.get $0 + local.get $1 i32.const 3120 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + i32.load + call_indirect (type $17) local.set $3 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|010 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 i64.const 6 i64.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 i64.const 0 local.set $3 global.get $~lib/memory/__stack_pointer @@ -60496,125 +56665,123 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3152 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 - i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3152 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int64Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $7 loop $for-loop|012 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $10 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $3 local.get $10 - local.get $1 local.get $0 + local.get $1 i32.const 3152 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + i32.load + call_indirect (type $17) local.set $3 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|012 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 i64.const 6 i64.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -60622,125 +56789,123 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3184 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 - i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3184 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int32Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + local.set $7 loop $for-loop|014 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $11 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $4 local.get $11 - local.get $1 local.get $0 + local.get $1 i32.const 3184 - i32.load $0 - call_indirect $0 (type $f32_f32_i32_i32_=>_f32) + i32.load + call_indirect (type $22) local.set $4 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|014 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $4 f32.const 6 f32.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -60748,119 +56913,117 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store $0 + local.tee $1 + i32.store global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3216 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - local.get $6 - i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3216 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int64Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $7 loop $for-loop|016 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $5 local.get $12 - local.get $1 local.get $0 + local.get $1 i32.const 3216 - i32.load $0 - call_indirect $0 (type $f64_f64_i32_i32_=>_f64) + i32.load + call_indirect (type $23) local.set $5 - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|016 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $5 f64.const 6 f64.ne - br_if $folding-inner18 + br_if $folding-inner20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -60872,40 +57035,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Int8Array#at @@ -60914,7 +57076,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Int8Array#at @@ -60923,7 +57085,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Int8Array#at @@ -60941,40 +57103,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Uint8Array#at @@ -60983,7 +57144,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Uint8Array#at @@ -60992,7 +57153,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Uint8Array#at @@ -61010,40 +57171,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Uint8ClampedArray#at @@ -61052,7 +57212,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Uint8ClampedArray#at @@ -61061,7 +57221,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Uint8ClampedArray#at @@ -61079,40 +57239,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Int16Array#at @@ -61121,7 +57280,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Int16Array#at @@ -61130,7 +57289,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Int16Array#at @@ -61148,40 +57307,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Uint16Array#at @@ -61190,7 +57348,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Uint16Array#at @@ -61199,7 +57357,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Uint16Array#at @@ -61217,40 +57375,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Int32Array#at @@ -61259,7 +57416,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Int32Array#at @@ -61268,7 +57425,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Int32Array#at @@ -61286,40 +57443,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Uint32Array#at @@ -61328,7 +57484,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Uint32Array#at @@ -61337,7 +57493,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Uint32Array#at @@ -61355,40 +57511,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Int64Array#at @@ -61397,7 +57552,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Int64Array#at @@ -61406,7 +57561,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Int64Array#at @@ -61424,40 +57579,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Uint64Array#at @@ -61466,7 +57620,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Uint64Array#at @@ -61475,7 +57629,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Uint64Array#at @@ -61493,40 +57647,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Float32Array#at @@ -61535,7 +57688,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Float32Array#at @@ -61544,7 +57697,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Float32Array#at @@ -61562,40 +57715,39 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Float64Array#at @@ -61604,7 +57756,7 @@ br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -1 call $~lib/typedarray/Float64Array#at @@ -61613,7 +57765,7 @@ br_if $folding-inner3 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const -3 call $~lib/typedarray/Float64Array#at @@ -61631,78 +57783,76 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3248 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3248 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 - i32.load $0 offset=4 + i32.load offset=4 local.set $7 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int8Array#get:length i32.const 1 @@ -61716,11 +57866,11 @@ local.get $0 local.get $7 i32.add - i32.load8_s $0 + i32.load8_s local.set $8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $1 @@ -61728,8 +57878,8 @@ local.get $0 local.get $6 i32.const 3248 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $1 local.get $0 i32.const 1 @@ -61739,7 +57889,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -61747,7 +57897,7 @@ i32.and i32.const 6 i32.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61759,46 +57909,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3280 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 3280 call $~lib/typedarray/Uint8Array#reduceRight @@ -61806,7 +57955,7 @@ i32.and i32.const 6 i32.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61818,46 +57967,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3312 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 3312 call $~lib/typedarray/Uint8Array#reduceRight @@ -61865,7 +58013,7 @@ i32.and i32.const 6 i32.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -61877,78 +58025,76 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3344 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3344 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 - i32.load $0 offset=4 + i32.load offset=4 local.set $7 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int16Array#get:length i32.const 1 @@ -61964,11 +58110,11 @@ i32.const 1 i32.shl i32.add - i32.load16_s $0 + i32.load16_s local.set $8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $1 @@ -61976,8 +58122,8 @@ local.get $0 local.get $6 i32.const 3344 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $1 local.get $0 i32.const 1 @@ -61987,7 +58133,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -61995,7 +58141,7 @@ i32.and i32.const 6 i32.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62007,78 +58153,76 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3376 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3376 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 - i32.load $0 offset=4 + i32.load offset=4 local.set $7 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int16Array#get:length i32.const 1 @@ -62094,11 +58238,11 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $1 @@ -62106,8 +58250,8 @@ local.get $0 local.get $6 i32.const 3376 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $1 local.get $0 i32.const 1 @@ -62117,7 +58261,7 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -62125,7 +58269,7 @@ i32.and i32.const 6 i32.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62137,78 +58281,76 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3408 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3408 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 - i32.load $0 offset=4 + i32.load offset=4 local.set $7 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int32Array#get:length i32.const 1 @@ -62224,11 +58366,11 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $1 @@ -62236,8 +58378,8 @@ local.get $0 local.get $6 i32.const 3408 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $1 local.get $0 i32.const 1 @@ -62247,13 +58389,13 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 i32.const 6 i32.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62265,78 +58407,76 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $6 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3440 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3440 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 - i32.load $0 offset=4 + i32.load offset=4 local.set $7 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $6 call $~lib/typedarray/Int32Array#get:length i32.const 1 @@ -62352,11 +58492,11 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.set $8 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $1 @@ -62364,8 +58504,8 @@ local.get $0 local.get $6 i32.const 3440 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + i32.load + call_indirect (type $6) local.set $1 local.get $0 i32.const 1 @@ -62375,13 +58515,13 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $1 i32.const 6 i32.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62395,76 +58535,74 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3472 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3472 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $6 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int64Array#get:length i32.const 1 @@ -62480,11 +58618,11 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $10 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $3 @@ -62492,8 +58630,8 @@ local.get $0 local.get $1 i32.const 3472 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + i32.load + call_indirect (type $17) local.set $3 local.get $0 i32.const 1 @@ -62503,13 +58641,13 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 i64.const 6 i64.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62523,76 +58661,74 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3504 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3504 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $6 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int64Array#get:length i32.const 1 @@ -62608,11 +58744,11 @@ i32.const 3 i32.shl i32.add - i64.load $0 + i64.load local.set $10 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $3 @@ -62620,8 +58756,8 @@ local.get $0 local.get $1 i32.const 3504 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + i32.load + call_indirect (type $17) local.set $3 local.get $0 i32.const 1 @@ -62631,13 +58767,13 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 i64.const 6 i64.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62651,76 +58787,74 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3536 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3536 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $6 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int32Array#get:length i32.const 1 @@ -62736,11 +58870,11 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.set $11 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $4 @@ -62748,8 +58882,8 @@ local.get $0 local.get $1 i32.const 3536 - i32.load $0 - call_indirect $0 (type $f32_f32_i32_i32_=>_f32) + i32.load + call_indirect (type $22) local.set $4 local.get $0 i32.const 1 @@ -62759,13 +58893,13 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $4 f32.const 6 f32.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -62779,76 +58913,74 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 3568 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 3568 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $6 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 call $~lib/typedarray/Int64Array#get:length i32.const 1 @@ -62864,11 +58996,11 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.set $12 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 i32.const 4 global.set $~argumentsLength local.get $5 @@ -62876,8 +59008,8 @@ local.get $0 local.get $1 i32.const 3568 - i32.load $0 - call_indirect $0 (type $f64_f64_i32_i32_=>_f64) + i32.load + call_indirect (type $23) local.set $5 local.get $0 i32.const 1 @@ -62887,39 +59019,39 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $5 f64.const 6 f64.ne - br_if $folding-inner20 + br_if $folding-inner22 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - call $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> + call $"std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>" global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -62927,58 +59059,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4304 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4304 call $~lib/typedarray/Int8Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4336 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4336 call $~lib/typedarray/Int8Array#some @@ -62994,58 +59124,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4368 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4368 call $~lib/typedarray/Uint8Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4400 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4400 call $~lib/typedarray/Uint8Array#some @@ -63061,58 +59189,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4432 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4432 call $~lib/typedarray/Uint8Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4464 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4464 call $~lib/typedarray/Uint8Array#some @@ -63128,58 +59254,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4496 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4496 call $~lib/typedarray/Int16Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4528 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4528 call $~lib/typedarray/Int16Array#some @@ -63195,58 +59319,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4560 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4560 call $~lib/typedarray/Uint16Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4592 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4592 call $~lib/typedarray/Uint16Array#some @@ -63262,58 +59384,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4624 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4624 call $~lib/typedarray/Int32Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4656 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4656 call $~lib/typedarray/Int32Array#some @@ -63329,58 +59449,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4688 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4688 call $~lib/typedarray/Uint32Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4720 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4720 call $~lib/typedarray/Uint32Array#some @@ -63396,58 +59514,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4752 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4752 call $~lib/typedarray/Int64Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4784 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4784 call $~lib/typedarray/Int64Array#some @@ -63463,58 +59579,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 2 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 4 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 6 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4816 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4816 call $~lib/typedarray/Uint64Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4848 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4848 call $~lib/typedarray/Uint64Array#some @@ -63530,58 +59644,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4880 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4880 call $~lib/typedarray/Float32Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4912 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4912 call $~lib/typedarray/Float32Array#some @@ -63597,58 +59709,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 4944 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4944 call $~lib/typedarray/Float64Array#some i32.eqz br_if $folding-inner6 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4976 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 4976 call $~lib/typedarray/Float64Array#some @@ -63664,46 +59774,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5008 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5008 call $~lib/typedarray/Int8Array#findIndex @@ -63711,12 +59820,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5040 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5040 call $~lib/typedarray/Int8Array#findIndex @@ -63734,46 +59842,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5072 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5072 call $~lib/typedarray/Uint8Array#findIndex @@ -63781,12 +59888,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5104 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5104 call $~lib/typedarray/Uint8Array#findIndex @@ -63804,46 +59910,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5136 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5136 call $~lib/typedarray/Uint8Array#findIndex @@ -63851,12 +59956,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5168 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5168 call $~lib/typedarray/Uint8Array#findIndex @@ -63874,46 +59978,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5200 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5200 call $~lib/typedarray/Int16Array#findIndex @@ -63921,12 +60024,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5232 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5232 call $~lib/typedarray/Int16Array#findIndex @@ -63944,46 +60046,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5264 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5264 call $~lib/typedarray/Uint16Array#findIndex @@ -63991,12 +60092,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5296 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5296 call $~lib/typedarray/Uint16Array#findIndex @@ -64014,46 +60114,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5328 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5328 call $~lib/typedarray/Int32Array#findIndex @@ -64061,12 +60160,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5360 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5360 call $~lib/typedarray/Int32Array#findIndex @@ -64084,46 +60182,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5392 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5392 call $~lib/typedarray/Uint32Array#findIndex @@ -64131,12 +60228,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5424 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5424 call $~lib/typedarray/Uint32Array#findIndex @@ -64154,46 +60250,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5456 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5456 call $~lib/typedarray/Int64Array#findIndex @@ -64201,12 +60296,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5488 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5488 call $~lib/typedarray/Int64Array#findIndex @@ -64224,46 +60318,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5520 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5520 call $~lib/typedarray/Uint64Array#findIndex @@ -64271,12 +60364,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5552 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5552 call $~lib/typedarray/Uint64Array#findIndex @@ -64294,46 +60386,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5584 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5584 call $~lib/typedarray/Float32Array#findIndex @@ -64341,12 +60432,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5616 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5616 call $~lib/typedarray/Float32Array#findIndex @@ -64364,46 +60454,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5648 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5648 call $~lib/typedarray/Float64Array#findIndex @@ -64411,12 +60500,11 @@ i32.ne br_if $folding-inner8 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5680 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5680 call $~lib/typedarray/Float64Array#findIndex @@ -64434,46 +60522,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5712 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5712 call $~lib/typedarray/Int8Array#findLastIndex @@ -64481,12 +60568,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5744 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5744 call $~lib/typedarray/Int8Array#findLastIndex @@ -64504,46 +60590,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5776 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5776 call $~lib/typedarray/Uint8Array#findLastIndex @@ -64551,12 +60636,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5808 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5808 call $~lib/typedarray/Uint8Array#findLastIndex @@ -64574,46 +60658,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5840 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5840 call $~lib/typedarray/Uint8Array#findLastIndex @@ -64621,12 +60704,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5872 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5872 call $~lib/typedarray/Uint8Array#findLastIndex @@ -64644,46 +60726,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5904 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5904 call $~lib/typedarray/Int16Array#findLastIndex @@ -64691,12 +60772,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 5936 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5936 call $~lib/typedarray/Int16Array#findLastIndex @@ -64714,46 +60794,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 5968 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 5968 call $~lib/typedarray/Uint16Array#findLastIndex @@ -64761,12 +60840,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6000 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6000 call $~lib/typedarray/Uint16Array#findLastIndex @@ -64784,46 +60862,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6032 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6032 call $~lib/typedarray/Int32Array#findLastIndex @@ -64831,12 +60908,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6064 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6064 call $~lib/typedarray/Int32Array#findLastIndex @@ -64854,46 +60930,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6096 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6096 call $~lib/typedarray/Uint32Array#findLastIndex @@ -64901,12 +60976,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6128 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6128 call $~lib/typedarray/Uint32Array#findLastIndex @@ -64924,46 +60998,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6160 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6160 call $~lib/typedarray/Int64Array#findLastIndex @@ -64971,12 +61044,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6192 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6192 call $~lib/typedarray/Int64Array#findLastIndex @@ -64994,46 +61066,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6224 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6224 call $~lib/typedarray/Uint64Array#findLastIndex @@ -65041,12 +61112,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6256 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6256 call $~lib/typedarray/Uint64Array#findLastIndex @@ -65064,46 +61134,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6288 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6288 call $~lib/typedarray/Float32Array#findLastIndex @@ -65111,12 +61180,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6320 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6320 call $~lib/typedarray/Float32Array#findLastIndex @@ -65134,46 +61202,45 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6352 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6352 call $~lib/typedarray/Float64Array#findLastIndex @@ -65181,12 +61248,11 @@ i32.ne br_if $folding-inner10 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6384 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6384 call $~lib/typedarray/Float64Array#findLastIndex @@ -65204,58 +61270,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6416 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6416 call $~lib/typedarray/Int8Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6448 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6448 call $~lib/typedarray/Int8Array#every @@ -65271,58 +61335,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6480 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6480 call $~lib/typedarray/Uint8Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6512 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6512 call $~lib/typedarray/Uint8Array#every @@ -65338,58 +61400,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6544 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6544 call $~lib/typedarray/Uint8Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6576 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6576 call $~lib/typedarray/Uint8Array#every @@ -65405,58 +61465,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6608 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6608 call $~lib/typedarray/Int16Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6640 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6640 call $~lib/typedarray/Int16Array#every @@ -65472,58 +61530,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6672 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6672 call $~lib/typedarray/Uint16Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6704 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6704 call $~lib/typedarray/Uint16Array#every @@ -65539,58 +61595,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6736 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6736 call $~lib/typedarray/Int32Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6768 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6768 call $~lib/typedarray/Int32Array#every @@ -65606,58 +61660,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 2 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 4 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 6 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6800 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6800 call $~lib/typedarray/Uint32Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6832 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6832 call $~lib/typedarray/Uint32Array#every @@ -65673,58 +61725,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 2 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 4 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 6 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6864 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6864 call $~lib/typedarray/Int64Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6896 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6896 call $~lib/typedarray/Int64Array#every @@ -65740,58 +61790,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 2 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 4 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 6 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6928 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6928 call $~lib/typedarray/Uint64Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 6960 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6960 call $~lib/typedarray/Uint64Array#every @@ -65807,58 +61855,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f32.const 2 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f32.const 4 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f32.const 6 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 6992 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 6992 call $~lib/typedarray/Float32Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7024 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7024 call $~lib/typedarray/Float32Array#every @@ -65874,58 +61920,56 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f64.const 4 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f64.const 6 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7056 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7056 call $~lib/typedarray/Float64Array#every i32.eqz br_if $folding-inner12 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 7088 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7088 call $~lib/typedarray/Float64Array#every @@ -65935,7 +61979,7 @@ i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -65943,30 +61987,29 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store $0 - local.get $0 + local.tee $1 + i32.store + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -65974,12 +62017,12 @@ i32.extend8_s call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -65987,12 +62030,12 @@ i32.extend8_s call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -66000,80 +62043,77 @@ i32.extend8_s call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7200 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 - i64.const 0 - i64.store $0 - local.get $6 i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7200 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int8Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int8Array#get:length + local.set $7 loop $for-loop|036 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $1 - local.get $7 + local.get $0 + local.get $6 i32.add - i32.load8_s $0 - local.set $8 + i32.load8_s global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $8 - local.get $1 local.get $0 - i32.const 7200 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) local.get $1 + i32.const 7200 + i32.load + call_indirect (type $4) + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|036 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -66085,29 +62125,28 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.store $0 + i32.store local.get $0 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 0 i32.const 7152 @@ -66118,10 +62157,10 @@ call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1 i32.const 7152 @@ -66132,10 +62171,10 @@ call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2 i32.const 7152 @@ -66146,17 +62185,17 @@ call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7232 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7232 call $~lib/typedarray/Uint8Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -66168,29 +62207,28 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.store $0 + i32.store local.get $0 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 0 i32.const 7152 @@ -66201,10 +62239,10 @@ call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 1 i32.const 7152 @@ -66215,10 +62253,10 @@ call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 2 i32.const 7152 @@ -66229,23 +62267,23 @@ call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7264 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 i32.const 7264 call $~lib/typedarray/Uint8Array#forEach global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -66253,30 +62291,29 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store $0 - local.get $0 + local.tee $1 + i32.store + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -66284,12 +62321,12 @@ i32.extend16_s call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -66297,12 +62334,12 @@ i32.extend16_s call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -66310,88 +62347,85 @@ i32.extend16_s call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7296 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 - i64.const 0 - i64.store $0 - local.get $6 i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7296 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int16Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.set $7 loop $for-loop|038 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.set $8 + i32.load16_s global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $8 - local.get $1 local.get $0 - i32.const 7296 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) local.get $1 + i32.const 7296 + i32.load + call_indirect (type $4) + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|038 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -66399,30 +62433,29 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store $0 - local.get $0 + local.tee $1 + i32.store + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -66431,12 +62464,12 @@ i32.and call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -66445,12 +62478,12 @@ i32.and call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -66459,88 +62492,85 @@ i32.and call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7328 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 - i64.const 0 - i64.store $0 - local.get $6 i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7328 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int16Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.set $7 loop $for-loop|040 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $8 + i32.load16_u global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $8 - local.get $1 local.get $0 - i32.const 7328 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) local.get $1 + i32.const 7328 + i32.load + call_indirect (type $4) + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|040 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -66548,142 +62578,138 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store $0 - local.get $0 + local.tee $1 + i32.store + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 call $~lib/array/Array#__get call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7360 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 - i64.const 0 - i64.store $0 - local.get $6 i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7360 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int32Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + local.set $7 loop $for-loop|042 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $8 + i32.load global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $8 - local.get $1 local.get $0 - i32.const 7360 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) local.get $1 + i32.const 7360 + i32.load + call_indirect (type $4) + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|042 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -66691,142 +62717,138 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store $0 - local.get $0 + local.tee $1 + i32.store + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 call $~lib/array/Array#__get call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7392 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 - i64.const 0 - i64.store $0 - local.get $6 i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7392 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int32Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + local.set $7 loop $for-loop|044 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $8 + i32.load global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $8 - local.get $1 local.get $0 - i32.const 7392 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) local.get $1 + i32.const 7392 + i32.load + call_indirect (type $4) + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|044 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -66834,30 +62856,29 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store $0 - local.get $0 + local.tee $1 + i32.store + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -66865,12 +62886,12 @@ i64.extend_i32_s call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -66878,12 +62899,12 @@ i64.extend_i32_s call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -66891,88 +62912,85 @@ i64.extend_i32_s call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7424 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 - i64.const 0 - i64.store $0 - local.get $6 i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7424 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int64Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $7 loop $for-loop|046 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $3 + i64.load global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $3 - local.get $1 local.get $0 - i32.const 7424 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_none) local.get $1 + i32.const 7424 + i32.load + call_indirect (type $28) + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|046 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -66980,30 +62998,29 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store $0 - local.get $0 + local.tee $1 + i32.store + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -67011,12 +63028,12 @@ i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -67024,12 +63041,12 @@ i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -67037,88 +63054,85 @@ i64.extend_i32_s call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7456 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 - i64.const 0 - i64.store $0 - local.get $6 i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7456 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int64Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $7 loop $for-loop|048 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 3 i32.shl i32.add - i64.load $0 - local.set $3 + i64.load global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $3 - local.get $1 local.get $0 - i32.const 7456 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_none) local.get $1 + i32.const 7456 + i32.load + call_indirect (type $28) + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|048 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -67126,30 +63140,29 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store $0 - local.get $0 + local.tee $1 + i32.store + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -67157,12 +63170,12 @@ f32.convert_i32_s call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -67170,12 +63183,12 @@ f32.convert_i32_s call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -67183,88 +63196,85 @@ f32.convert_i32_s call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7488 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 - i64.const 0 - i64.store $0 - local.get $6 i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7488 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int32Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + local.set $7 loop $for-loop|050 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 2 i32.shl i32.add - f32.load $0 - local.set $4 + f32.load global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $4 - local.get $1 local.get $0 - i32.const 7488 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_none) local.get $1 + i32.const 7488 + i32.load + call_indirect (type $33) + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|050 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -67272,30 +63282,29 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 i32.const 0 global.set $std/typedarray/forEachCallCount - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store $0 - local.get $0 + local.tee $1 + i32.store + local.get $1 global.set $std/typedarray/forEachSelf global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 0 i32.const 7152 i32.const 0 @@ -67303,12 +63312,12 @@ f64.convert_i32_s call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 1 i32.const 7152 i32.const 1 @@ -67316,12 +63325,12 @@ f64.convert_i32_s call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7152 - i32.store $0 offset=8 - local.get $0 + i32.store offset=8 + local.get $1 i32.const 2 i32.const 7152 i32.const 2 @@ -67329,123 +63338,120 @@ f64.convert_i32_s call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 7520 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 - i64.const 0 - i64.store $0 - local.get $6 i64.const 0 - i64.store $0 offset=8 - local.get $6 - local.get $0 - i32.store $0 - local.get $6 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 7520 - i32.store $0 offset=4 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - local.get $6 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int64Array#get:length + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $7 loop $for-loop|052 - local.get $1 - local.get $6 + local.get $0 + local.get $7 i32.lt_s if - local.get $7 - local.get $1 + local.get $6 + local.get $0 i32.const 3 i32.shl i32.add - f64.load $0 - local.set $5 + f64.load global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store offset=8 i32.const 3 global.set $~argumentsLength - local.get $5 - local.get $1 local.get $0 - i32.const 7520 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_none) local.get $1 + i32.const 7520 + i32.load + call_indirect (type $34) + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|052 end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $std/typedarray/forEachCallCount i32.const 3 i32.ne - br_if $folding-inner21 + br_if $folding-inner23 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - call $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> + call $"std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64>" global.get $~lib/memory/__stack_pointer i32.const 1 call $~lib/typedarray/Float64Array#constructor local.tee $1 - i32.store $0 offset=84 + i32.store offset=84 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 f64.const nan:0x8000000000000 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f64.const nan:0x8000000000000 i32.const 0 @@ -67461,30 +63467,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $0 - local.get $6 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $6 + i64.store + block $"~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.get $1 call $~lib/typedarray/Int64Array#get:length @@ -67494,13 +63498,13 @@ i32.const 0 i32.le_s i32.or - br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + br_if $"~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0" drop global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 loop $while-continue|0 local.get $0 @@ -67513,11 +63517,11 @@ i32.const 3 i32.shl i32.add - f64.load $0 + f64.load local.tee $5 local.get $5 f64.ne - br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + br_if $"~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0" drop local.get $0 i32.const 1 @@ -67528,12 +63532,10 @@ end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 i32.eqz if i32.const 0 @@ -67547,17 +63549,17 @@ i32.const 1 call $~lib/typedarray/Float32Array#constructor local.tee $1 - i32.store $0 offset=88 + i32.store offset=88 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 f32.const nan:0x400000 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 f32.const nan:0x400000 i32.const 0 @@ -67573,30 +63575,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $0 - local.get $6 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $6 i64.const 0 - i64.store $0 - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $6 + i64.store + block $"~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0" (result i32) + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $6 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.get $1 call $~lib/typedarray/Int32Array#get:length @@ -67606,15 +63606,15 @@ i32.const 0 i32.le_s i32.or - br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + br_if $"~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0" drop global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.set $1 - loop $while-continue|071 + loop $while-continue|05 local.get $0 local.get $6 i32.lt_s @@ -67625,27 +63625,25 @@ i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.tee $4 local.get $4 f32.ne - br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + br_if $"~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0" drop local.get $0 i32.const 1 i32.add local.set $0 - br $while-continue|071 + br $while-continue|05 end end i32.const 0 end - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 i32.eqz if i32.const 0 @@ -67656,1254 +63654,1121 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int8Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner22 + br_if $folding-inner15 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/typedarray/Int8Array#join local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner23 + br_if $folding-inner16 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Uint8Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Uint8Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner22 + br_if $folding-inner15 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 call $~lib/typedarray/Uint8Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner23 + br_if $folding-inner16 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Uint8ClampedArray#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Uint8Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner22 + br_if $folding-inner15 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 call $~lib/typedarray/Uint8Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner23 + br_if $folding-inner16 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int16Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner22 + br_if $folding-inner15 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/typedarray/Int16Array#join local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner23 + br_if $folding-inner16 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Uint16Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Uint16Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner22 + br_if $folding-inner15 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/typedarray/Uint16Array#join local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner23 + br_if $folding-inner16 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner22 + br_if $folding-inner15 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/typedarray/Int32Array#join local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner23 + br_if $folding-inner16 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Uint32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i32.const 1 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i32.const 2 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i32.const 3 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i32.const 4 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i32.const 5 call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Uint32Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner22 + br_if $folding-inner15 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/typedarray/Uint32Array#join local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner23 + br_if $folding-inner16 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Int64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i64.const 4 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i64.const 5 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner22 + br_if $folding-inner15 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/typedarray/Int64Array#join local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner23 + br_if $folding-inner16 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Uint64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 i64.const 1 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 i64.const 2 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 i64.const 3 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 i64.const 4 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 i64.const 5 call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Uint64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner22 + br_if $folding-inner15 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/typedarray/Uint64Array#join local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 9616 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner23 + br_if $folding-inner16 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f32.const 1 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f32.const 2 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f32.const 3 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 f32.const 4 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 f32.const 5 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Float32Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 10800 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner24 + br_if $folding-inner17 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/typedarray/Float32Array#join local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 10800 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner25 + br_if $folding-inner18 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f64.const 1 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 3 f64.const 4 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 4 f64.const 5 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=16 + i32.store offset=8 local.get $0 call $~lib/typedarray/Float64Array#join local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 i32.const 10800 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner24 + br_if $folding-inner17 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 local.get $0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 offset=4 + i32.store local.get $0 call $~lib/typedarray/Float64Array#join local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 i32.const 10800 call $~lib/string/String.__eq i32.eqz - br_if $folding-inner25 + br_if $folding-inner18 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $0 - i32.store $0 offset=92 + i32.store offset=92 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 2 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -68911,10 +64776,10 @@ i32.const 0 call $~lib/typedarray/Uint8Array.wrap@varargs local.tee $0 - i32.store $0 offset=96 + i32.store offset=96 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int8Array#get:length if @@ -68929,10 +64794,10 @@ i32.const 2 call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $0 - i32.store $0 offset=92 + i32.store offset=92 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 2 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -68940,10 +64805,10 @@ i32.const 2 call $~lib/typedarray/Uint8Array.wrap@varargs local.tee $0 - i32.store $0 offset=96 + i32.store offset=96 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 call $~lib/typedarray/Int8Array#get:length if @@ -68954,7 +64819,7 @@ call $~lib/builtins/abort unreachable end - call $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + call $"std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8>" global.get $~lib/memory/__stack_pointer i32.const 24 i32.sub @@ -68962,18 +64827,17 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.const 24 - memory.fill $0 - local.get $0 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=4 + i32.store offset=4 i32.const 10928 call $~lib/array/Array#get:length local.set $0 @@ -68981,19 +64845,18 @@ local.get $0 call $~lib/typedarray/Uint8Array#constructor local.tee $1 - i32.store $0 offset=8 - loop $for-loop|062 + i32.store offset=8 + loop $for-loop|053 local.get $0 local.get $2 i32.gt_s if global.get $~lib/memory/__stack_pointer - local.tee $6 local.get $1 - i32.store $0 offset=4 - local.get $6 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 10928 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 local.get $2 i32.const 10928 @@ -69006,46 +64869,45 @@ i32.const 1 i32.add local.set $2 - br $for-loop|062 + br $for-loop|053 end end global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=12 - local.get $2 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 - local.tee $6 - i32.store $0 offset=4 - local.get $2 + i32.load + local.tee $2 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.set $7 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.set $8 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 - local.get $6 local.get $7 local.get $8 local.get $1 - i32.load $0 offset=8 + i32.load offset=8 i32.add call $~lib/arraybuffer/ArrayBuffer#slice local.tee $2 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -69053,7 +64915,7 @@ i32.const 0 call $~lib/typedarray/Uint8Array.wrap@varargs local.tee $6 - i32.store $0 offset=20 + i32.store offset=20 i32.const 0 local.set $2 loop $for-loop|1 @@ -69063,14 +64925,14 @@ if global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 call $~lib/typedarray/Uint8Array#__get local.set $7 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 local.get $2 call $~lib/typedarray/Uint8Array#__get @@ -69095,15 +64957,15 @@ i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> + call $"std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32>" + call $"std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64>" call $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> call $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> @@ -69118,30 +64980,30 @@ global.get $~lib/memory/__stack_pointer i32.const 10 call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $6 - i32.store $0 offset=100 + local.tee $1 + i32.store offset=100 global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float32Array#constructor local.tee $0 - i32.store $0 offset=104 + i32.store offset=104 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f32.const 400 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f32.const nan:0x400000 call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f32.const inf @@ -69149,33 +65011,33 @@ global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store $0 offset=108 + local.tee $6 + i32.store offset=108 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 0 i64.const -10 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 1 i64.const 100 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 2 i64.const 10 call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $6 + i32.store offset=4 + local.get $6 i32.const 3 i64.const 300 call $~lib/typedarray/Int64Array#__set @@ -69183,27 +65045,27 @@ i32.const 2 call $~lib/typedarray/Int32Array#constructor local.tee $7 - i32.store $0 offset=112 + i32.store offset=112 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 0 i32.const 300 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 + i32.store offset=4 local.get $7 i32.const 1 i32.const -1 call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -69211,86 +65073,86 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 - local.get $6 - i32.store $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 call $~lib/typedarray/Int32Array#get:length local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 + local.get $1 + i32.store offset=8 + local.get $1 call $~lib/typedarray/Int8Array#get:length local.get $8 i32.const 1 i32.add i32.lt_s - br_if $folding-inner17 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 i32.const 1 i32.add local.set $9 - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.set $0 i32.const 0 - local.set $1 - loop $for-loop|078 - local.get $1 + local.set $2 + loop $for-loop|0654 + local.get $2 local.get $8 i32.lt_s if - local.get $1 + local.get $2 local.get $9 i32.add local.get $0 - local.get $1 + local.get $2 i32.const 2 i32.shl i32.add - f32.load $0 + f32.load local.tee $4 - f32.const 255 - f32.min - f32.const 0 - f32.max - i32.trunc_sat_f32_u - i32.const 0 - local.get $4 local.get $4 f32.sub f32.const 0 f32.eq - select - i32.store8 $0 - local.get $1 + if (result i32) + local.get $4 + f32.const 255 + f32.min + f32.const 0 + f32.max + i32.trunc_sat_f32_u + else + i32.const 0 + end + i32.store8 + local.get $2 i32.const 1 i32.add - local.set $1 - br $for-loop|078 + local.set $2 + br $for-loop|0654 end end global.get $~lib/memory/__stack_pointer @@ -69298,21 +65160,21 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=20 local.get $6 - local.get $2 + i32.store offset=20 + local.get $1 + local.get $6 i32.const 4 call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 + local.get $1 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=20 + i32.store offset=20 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -69320,350 +65182,2335 @@ global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $6 - i32.store $0 - local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 call $~lib/typedarray/Int32Array#get:length local.set $0 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 + local.get $1 + i32.store offset=8 + local.get $1 call $~lib/typedarray/Int8Array#get:length local.get $0 i32.const 8 i32.add i32.lt_s - br_if $folding-inner17 + br_if $folding-inner19 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 i32.const 8 i32.add - local.set $8 - local.get $1 + local.set $6 + global.get $~lib/memory/__stack_pointer local.get $7 - i32.store $0 offset=8 + i32.store offset=8 local.get $7 - i32.load $0 offset=4 - local.set $1 + i32.load offset=4 + local.set $7 i32.const 0 local.set $2 - loop $for-loop|082 + loop $for-loop|07 local.get $0 local.get $2 i32.gt_s if local.get $2 + local.get $6 + i32.add + i32.const 255 + local.get $7 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load + local.tee $8 + i32.sub + i32.const 31 + i32.shr_s + local.get $8 + i32.or + local.get $8 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.and + i32.store8 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|07 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 15280 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=20 + local.get $1 + 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=116 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1 + i32.const 300 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 2 + i32.const 100 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 3 + i32.const -1 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store offset=120 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.const -10 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 2 + i32.const 10 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 3 + i32.const 300 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + call $~lib/typedarray/Int8Array#get:length + local.get $6 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.load offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.load offset=4 + local.set $8 + i32.const 0 + local.set $0 + loop $for-loop|0855 + local.get $0 + local.get $6 + i32.lt_s + if + local.get $0 + local.get $7 + i32.add + i32.const 255 local.get $8 + local.get $0 + i32.const 2 + i32.shl i32.add + i32.load + local.tee $9 + local.get $9 i32.const 255 + i32.gt_u + select + i32.store8 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0855 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=20 + local.get $1 + local.get $2 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 15312 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=20 + local.get $1 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>" + block $folding-inner02 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner02 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner02 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15344 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15344 + i32.store offset=8 + local.get $1 + i32.const 15344 + call $~lib/typedarray/Int8Array#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15376 + i32.store offset=12 + local.get $1 + i32.const 15376 + call $~lib/typedarray/Int8Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>" + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>$1" + block $folding-inner04 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner04 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner04 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15408 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15408 + i32.store offset=8 + local.get $1 + i32.const 15408 + call $~lib/typedarray/Uint8Array#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15440 + i32.store offset=12 + local.get $1 + i32.const 15440 + call $~lib/typedarray/Uint8Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>$1" + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>$2" + block $folding-inner06 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner06 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner06 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15472 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15472 + i32.store offset=8 + local.get $1 + i32.const 15472 + call $~lib/typedarray/Uint8Array#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15504 + i32.store offset=12 + local.get $1 + i32.const 15504 + call $~lib/typedarray/Uint8Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>$2" + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>$3" + block $folding-inner08 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner08 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner08 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15536 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15536 + i32.store offset=8 + local.get $1 + i32.const 15536 + call $~lib/typedarray/Int16Array#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~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 + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15568 + i32.store offset=12 + local.get $1 + i32.const 15568 + call $~lib/typedarray/Int16Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>$3" + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>$4" + block $folding-inner010 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner010 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner010 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15600 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15600 + i32.store offset=8 + local.get $1 + i32.const 15600 + call $~lib/typedarray/Uint16Array#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~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 + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15632 + i32.store offset=12 + local.get $1 + i32.const 15632 + call $~lib/typedarray/Uint16Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>$4" + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>$5" + block $folding-inner012 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner012 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner012 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15664 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15664 + i32.store offset=8 + local.get $1 + i32.const 15664 + call $~lib/typedarray/Int32Array#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15696 + i32.store offset=12 + local.get $1 + i32.const 15696 + call $~lib/typedarray/Int32Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>$5" + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>$6" + block $folding-inner014 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner014 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner014 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15728 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15728 + i32.store offset=8 + local.get $1 + i32.const 15728 + call $~lib/typedarray/Uint32Array#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~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 + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15760 + i32.store offset=12 + local.get $1 + i32.const 15760 + call $~lib/typedarray/Uint32Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>$6" + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>$7" + block $folding-inner016 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner016 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner016 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15792 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15792 + i32.store offset=8 + local.get $1 + i32.const 15792 + call $~lib/typedarray/Int64Array#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~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 + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15824 + i32.store offset=12 + local.get $1 + i32.const 15824 + call $~lib/typedarray/Int64Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>$7" + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>$8" + block $folding-inner018 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner018 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner018 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15856 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15856 + i32.store offset=8 + local.get $1 + i32.const 15856 + call $~lib/typedarray/Uint64Array#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~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 + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 local.get $1 - local.get $2 i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $7 - i32.sub - i32.const 31 - i32.shr_s - local.get $7 - i32.or - local.get $7 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.and - i32.store8 $0 - local.get $2 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15888 + i32.store offset=12 + local.get $1 + i32.const 15888 + call $~lib/typedarray/Uint64Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $2 - br $for-loop|082 + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>$8" end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 15280 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=20 - local.get $6 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store $0 offset=116 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - i32.const 300 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - i32.const 100 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - i32.const 3 - i32.const -1 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store $0 offset=120 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i32.const -10 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - i32.const 10 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 3 - i32.const 300 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner19 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - local.get $6 - i32.store $0 - local.get $2 - local.get $0 - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/typedarray/Int32Array#get:length - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 - call $~lib/typedarray/Int8Array#get:length - local.get $2 - i32.lt_s - br_if $folding-inner17 - global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.load $0 offset=4 - local.set $8 - local.get $7 - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.set $7 - i32.const 0 - local.set $0 - loop $for-loop|086 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $8 - i32.add - i32.const 255 - local.get $7 - local.get $0 + block $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>$9" + block $folding-inner020 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner020 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 2 - i32.shl + f32.const 1 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner020 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15920 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15920 + i32.store offset=8 + local.get $1 + i32.const 15920 + call $~lib/typedarray/Float32Array#sort + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - i32.load $0 - local.tee $9 - local.get $9 - i32.const 255 - i32.gt_u - select - i32.store8 $0 - local.get $0 + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + global.get $~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 + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 15952 + i32.store offset=12 + local.get $1 + i32.const 15952 + call $~lib/typedarray/Float32Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $0 - br $for-loop|086 + global.set $~lib/memory/__stack_pointer + br $"__inlined_func$std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>$9" end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=20 - local.get $6 - local.get $1 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=4 - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 15312 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=20 - local.get $6 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - call $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> - global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s - br_if $folding-inner19 + br_if $folding-inner21 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 - local.get $0 + i64.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 3 call $~lib/typedarray/Float64Array#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 f64.const 1 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 f64.const 2 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 f64.const 3 call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $0 call $~lib/typedarray/Float64Array#sort@varargs local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Float64Array#__get @@ -69679,7 +67526,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get @@ -69695,7 +67542,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get @@ -69710,19 +67557,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 15984 - i32.store $0 offset=12 + i32.store offset=12 local.get $0 i32.const 15984 call $~lib/typedarray/Float64Array#sort drop global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 call $~lib/typedarray/Float64Array#__get @@ -69738,7 +67584,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 1 call $~lib/typedarray/Float64Array#__get @@ -69754,7 +67600,7 @@ end global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 2 call $~lib/typedarray/Float64Array#__get @@ -69778,12 +67624,12 @@ i32.const 0 i32.gt_s if - loop $while-continue|088 + loop $while-continue|010 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step drop - br $while-continue|088 + br $while-continue|010 end end end @@ -69890,66 +67736,66 @@ call $~lib/builtins/abort unreachable end - i32.const 1360 - i32.const 1632 - i32.const 1902 + i32.const 0 + i32.const 1568 + i32.const 675 i32.const 5 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 323 - i32.const 3 + i32.const 676 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 672 + i32.const 5 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 367 - i32.const 3 + i32.const 673 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1568 - i32.const 541 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 675 - i32.const 5 + i32.const 323 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1568 - i32.const 676 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 672 - i32.const 5 + i32.const 367 + i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 i32.const 1568 - i32.const 673 - i32.const 5 + i32.const 541 + i32.const 3 call $~lib/builtins/abort unreachable ) @@ -69972,9 +67818,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i32.const 0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.shl @@ -69987,32 +67833,28 @@ local.get $1 local.get $3 local.get $5 - memory.copy $0 $0 + memory.copy end - local.get $4 local.get $1 - i32.store $0 + i32.store i32.const 16 local.get $2 call $~lib/rt/itcms/__new local.tee $2 local.get $1 - i32.store $0 + i32.store + local.get $2 local.get $1 - if - local.get $2 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + call $~lib/rt/itcms/__link local.get $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -70040,7 +67882,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -70117,7 +67959,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store local.get $0 local.get $3 i32.add @@ -70128,7 +67970,7 @@ if local.get $3 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -70156,7 +67998,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -70220,7 +68062,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store local.get $1 local.get $0 local.get $2 @@ -70231,89 +68073,6 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/util/number/dtoa (param $0 f64) (result i32) - (local $1 i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - f64.const 0 - f64.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9664 - return - end - local.get $0 - local.get $0 - f64.sub - f64.const 0 - f64.ne - if - local.get $0 - local.get $0 - f64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9696 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 9728 - i32.const 9776 - local.get $0 - f64.const 0 - f64.lt - select - return - end - i32.const 9808 - local.get $0 - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 9808 - local.get $1 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) (func $~lib/arraybuffer/ArrayBuffer#constructor (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -70332,7 +68091,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.const 1073741820 i32.gt_u @@ -70349,79 +68108,11 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store 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) - global.get $~lib/rt/itcms/white - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 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 1232 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) ) diff --git a/tests/compiler/std/uri.debug.wat b/tests/compiler/std/uri.debug.wat index 8e053c1551..3351c851af 100644 --- a/tests/compiler/std/uri.debug.wat +++ b/tests/compiler/std/uri.debug.wat @@ -1,14 +1,15 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 (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))) - (type $i32_i32_i32_i32_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32) (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) + (type $10 (func (param i32 i32 i32 i32 i32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -33,80 +34,80 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 36100)) (global $~lib/memory/__heap_base i32 (i32.const 36100)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\00\01\01\01\01\01\00\00\00\00\01\01\00\00\01\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00") - (data (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 332) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 396) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 540) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00U\00R\00I\00 \00m\00a\00l\00f\00o\00r\00m\00e\00d\00\00\00") - (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00u\00r\00i\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "0123456789ABCDEF") - (data (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00u\00r\00i\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\001\00\00\00\00\00\00\00\00\00") - (data (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00_\00\00\00\00\00\00\00") - (data (i32.const 812) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00A\00B\00C\00D\00X\00Y\00Z\00a\00f\00g\00k\00l\00m\00n\00w\00y\00z\000\001\002\003\004\005\006\007\008\009\00-\00_\00.\00!\00~\00*\00\'\00(\00)\00\00\00\00\00") - (data (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\000\000\00\00\00\00\00\00\00") - (data (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\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\02\00\00\00\06\00\00\00%\002\00B\00\00\00\00\00\00\00") - (data (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00#\000\00=\00\00\00\00\00\00\00") - (data (i32.const 1068) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00%\002\003\000\00%\003\00D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \001\002\003\00 \00\00\00") - (data (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00%\002\000\001\002\003\00%\002\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00?\00+\00\00\00\00\00\00\00\00\00") - (data (i32.const 1228) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00%\003\00F\00%\002\00B\00") - (data (i32.const 1260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\00?\001\00.\00-\00\00\00") - (data (i32.const 1292) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\00%\003\00F\001\00.\00-\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1340) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00<\d8\ed\dd<\d8\fa\dd<\d8N\df") - (data (i32.const 1372) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00%\00F\000\00%\009\00F\00%\008\007\00%\00A\00D\00%\00F\000\00%\009\00F\00%\008\007\00%\00B\00A\00%\00F\000\00%\009\00F\00%\008\00D\00%\008\00E\00\00\00\00\00") - (data (i32.const 1468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00H\c5U\b1X\d58\c1\94\c6\00\00") - (data (i32.const 1500) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00Z\00\00\00%\00E\00C\00%\009\005\00%\008\008\00%\00E\00B\00%\008\005\00%\009\005\00%\00E\00D\00%\009\005\00%\009\008\00%\00E\00C\00%\008\004\00%\00B\008\00%\00E\00C\00%\009\00A\00%\009\004\00\00\00") - (data (i32.const 1612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00~\00\7f\00\80\00\00\00\00\00\00\00") - (data (i32.const 1644) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00%\007\00F\00%\00C\002\00%\008\000\00\00\00\00\00\00\00\00\00") - (data (i32.const 1692) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\00\d8\ff\df\00\00\00\00\00\00\00\00") - (data (i32.const 1724) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00%\00F\000\00%\009\000\00%\008\00F\00%\00B\00F\00\00\00\00\00") - (data (i32.const 1772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00{\da\01\dc-\00P\da\02\dc\00\00") - (data (i32.const 1804) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00%\00F\002\00%\00A\00E\00%\00B\000\00%\008\001\00-\00%\00F\002\00%\00A\004\00%\008\000\00%\008\002\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\n\00\t\00\0b\00\0c\00\r\00\00\00") - (data (i32.const 1916) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00%\000\00A\00%\000\009\00%\000\00B\00%\000\00C\00%\000\00D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1980) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00;\00/\00?\00:\00@\00&\00=\00+\00$\00,\00\00\00\00\00\00\00\00\00") - (data (i32.const 2028) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\002\006\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00") - (data (i32.const 2108) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\\\00\00\00h\00t\00t\00p\00:\00/\00/\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00#\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00") - (data (i32.const 2220) "\8c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00t\00\00\00h\00t\00t\00p\00%\003\00A\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00%\002\00F\00w\00i\00k\00i\00%\002\00F\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00") - (data (i32.const 2364) "\00\01\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00") - (data (i32.const 2460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00;\00,\00/\00?\00:\00@\00&\00=\00+\00$\00#\00\00\00\00\00\00\00") - (data (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\002\000\00\00\00\00\00\00\00") - (data (i32.const 2572) "\01\01\00\01\00\00\00\00\01\01\00\00\01\00\00\00\00\00\00\00\00\00\00\01\01\00\01\00\01\01") - (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\002\006\00\00\00\00\00\00\00") - (data (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\005\00E\00\00\00\00\00\00\00") - (data (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00^\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\d8\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2764) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00%\003\00b\00%\002\00f\00%\003\00f\00%\003\00a\00%\004\000\00%\003\00d\00%\002\00b\00%\002\004\00%\002\00c\00%\002\003\00") - (data (i32.const 2844) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00;\00/\00?\00:\00@\00=\00+\00$\00,\00#\00\00\00\00\00\00\00\00\00") - (data (i32.const 2892) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00%\002\003\00") - (data (i32.const 2972) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00h\00\00\00h\00t\00t\00p\00:\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00\00\00\00\00") - (data (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00%\00D\00F\00%\008\000\00") - (data (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\c0\07\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00%\00C\002\00%\00B\00F\00") - (data (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\bf\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3228) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00\f7\00\b8\00W\00\ef\00\0f\00\f4\00V\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 3276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\f4\00\b8\00\ef\00\00\00\00\00\00\00") - (data (i32.const 3312) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "\00\01\01\01\01\01\00\00\00\00\01\01\00\00\01\00\00\00\00\00\00\00\00\00\00\01\01\01\01\01\01\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00") + (data $2 (i32.const 140) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $4 (i32.const 272) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 332) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 396) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00U\00R\00I\00 \00m\00a\00l\00f\00o\00r\00m\00e\00d\00\00\00") + (data $11 (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00u\00r\00i\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 652) "0123456789ABCDEF") + (data $13 (i32.const 668) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00s\00t\00d\00/\00u\00r\00i\00.\00t\00s\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\001\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00a\00b\00_\00\00\00\00\00\00\00") + (data $17 (i32.const 812) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00A\00B\00C\00D\00X\00Y\00Z\00a\00f\00g\00k\00l\00m\00n\00w\00y\00z\000\001\002\003\004\005\006\007\008\009\00-\00_\00.\00!\00~\00*\00\'\00(\00)\00\00\00\00\00") + (data $18 (i32.const 908) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 940) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\000\000\00\00\00\00\00\00\00") + (data $20 (i32.const 972) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00+\00\00\00\00\00\00\00\00\00\00\00") + (data $21 (i32.const 1004) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\002\00B\00\00\00\00\00\00\00") + (data $22 (i32.const 1036) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00#\000\00=\00\00\00\00\00\00\00") + (data $23 (i32.const 1068) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00%\002\003\000\00%\003\00D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $24 (i32.const 1116) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00 \001\002\003\00 \00\00\00") + (data $25 (i32.const 1148) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00%\002\000\001\002\003\00%\002\000\00\00\00\00\00\00\00\00\00\00\00") + (data $26 (i32.const 1196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00?\00+\00\00\00\00\00\00\00\00\00") + (data $27 (i32.const 1228) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00%\003\00F\00%\002\00B\00") + (data $28 (i32.const 1260) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00-\00?\001\00.\00-\00\00\00") + (data $29 (i32.const 1292) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00-\00%\003\00F\001\00.\00-\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $30 (i32.const 1340) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00<\d8\ed\dd<\d8\fa\dd<\d8N\df") + (data $31 (i32.const 1372) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\00%\00F\000\00%\009\00F\00%\008\007\00%\00A\00D\00%\00F\000\00%\009\00F\00%\008\007\00%\00B\00A\00%\00F\000\00%\009\00F\00%\008\00D\00%\008\00E\00\00\00\00\00") + (data $32 (i32.const 1468) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00H\c5U\b1X\d58\c1\94\c6\00\00") + (data $33 (i32.const 1500) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00Z\00\00\00%\00E\00C\00%\009\005\00%\008\008\00%\00E\00B\00%\008\005\00%\009\005\00%\00E\00D\00%\009\005\00%\009\008\00%\00E\00C\00%\008\004\00%\00B\008\00%\00E\00C\00%\009\00A\00%\009\004\00\00\00") + (data $34 (i32.const 1612) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00~\00\7f\00\80\00\00\00\00\00\00\00") + (data $35 (i32.const 1644) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00~\00%\007\00F\00%\00C\002\00%\008\000\00\00\00\00\00\00\00\00\00") + (data $36 (i32.const 1692) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00\00\d8\ff\df\00\00\00\00\00\00\00\00") + (data $37 (i32.const 1724) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00%\00F\000\00%\009\000\00%\008\00F\00%\00B\00F\00\00\00\00\00") + (data $38 (i32.const 1772) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00{\da\01\dc-\00P\da\02\dc\00\00") + (data $39 (i32.const 1804) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\002\00\00\00%\00F\002\00%\00A\00E\00%\00B\000\00%\008\001\00-\00%\00F\002\00%\00A\004\00%\008\000\00%\008\002\00\00\00\00\00\00\00\00\00\00\00") + (data $40 (i32.const 1884) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00\n\00\t\00\0b\00\0c\00\r\00\00\00") + (data $41 (i32.const 1916) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1e\00\00\00%\000\00A\00%\000\009\00%\000\00B\00%\000\00C\00%\000\00D\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $42 (i32.const 1980) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00;\00/\00?\00:\00@\00&\00=\00+\00$\00,\00\00\00\00\00\00\00\00\00") + (data $43 (i32.const 2028) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\002\006\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00") + (data $44 (i32.const 2108) "l\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\\\00\00\00h\00t\00t\00p\00:\00/\00/\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00#\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00") + (data $45 (i32.const 2220) "\8c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00t\00\00\00h\00t\00t\00p\00%\003\00A\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00%\002\00F\00w\00i\00k\00i\00%\002\00F\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00") + (data $46 (i32.const 2364) "\00\01\00\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\01\00\01\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\01\01\01\00") + (data $47 (i32.const 2460) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\16\00\00\00;\00,\00/\00?\00:\00@\00&\00=\00+\00$\00#\00\00\00\00\00\00\00") + (data $48 (i32.const 2508) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data $49 (i32.const 2540) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\002\000\00\00\00\00\00\00\00") + (data $50 (i32.const 2572) "\01\01\00\01\00\00\00\00\01\01\00\00\01\00\00\00\00\00\00\00\00\00\00\01\01\00\01\00\01\01") + (data $51 (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\002\006\00\00\00\00\00\00\00") + (data $52 (i32.const 2636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00&\00\00\00\00\00\00\00\00\00\00\00") + (data $53 (i32.const 2668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00%\005\00E\00\00\00\00\00\00\00") + (data $54 (i32.const 2700) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00^\00\00\00\00\00\00\00\00\00\00\00") + (data $55 (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\00\d8\00\00\00\00\00\00\00\00\00\00") + (data $56 (i32.const 2764) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00%\003\00b\00%\002\00f\00%\003\00f\00%\003\00a\00%\004\000\00%\003\00d\00%\002\00b\00%\002\004\00%\002\00c\00%\002\003\00") + (data $57 (i32.const 2844) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00;\00/\00?\00:\00@\00=\00+\00$\00,\00#\00\00\00\00\00\00\00\00\00") + (data $58 (i32.const 2892) "L\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00%\002\003\00") + (data $59 (i32.const 2972) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00h\00\00\00h\00t\00t\00p\00:\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n\00\00\00\00\00") + (data $60 (i32.const 3100) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00%\00D\00F\00%\008\000\00") + (data $61 (i32.const 3132) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\c0\07\00\00\00\00\00\00\00\00\00\00") + (data $62 (i32.const 3164) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00%\00C\002\00%\00B\00F\00") + (data $63 (i32.const 3196) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00\bf\00\00\00\00\00\00\00\00\00\00\00") + (data $64 (i32.const 3228) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00\f7\00\b8\00W\00\ef\00\0f\00\f4\00V\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $65 (i32.const 3276) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00\f4\00\b8\00\ef\00\00\00\00\00\00\00") + (data $66 (i32.const 3312) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -120,12 +121,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -139,7 +140,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -213,7 +214,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -283,11 +284,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -295,7 +296,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 352 @@ -427,7 +428,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -440,7 +441,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -456,34 +457,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -643,7 +644,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -666,7 +667,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -680,7 +681,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -703,7 +704,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -846,7 +847,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -932,7 +933,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1012,7 +1013,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1046,7 +1047,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1069,7 +1070,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1083,27 +1084,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 496 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1128,9 +1134,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1149,7 +1155,7 @@ if i32.const 0 i32.const 496 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1168,7 +1174,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1182,7 +1187,7 @@ if i32.const 0 i32.const 496 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1238,12 +1243,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1277,7 +1282,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1298,7 +1303,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1318,7 +1323,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1338,7 +1343,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1364,7 +1369,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1387,9 +1392,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1425,7 +1431,7 @@ if i32.const 0 i32.const 496 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1691,14 +1697,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1754,7 +1763,7 @@ if i32.const 160 i32.const 496 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1763,6 +1772,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1792,24 +1821,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1847,7 +1865,7 @@ if i32.const 0 i32.const 496 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1862,7 +1880,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1907,7 +1925,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1918,7 +1936,7 @@ if i32.const 0 i32.const 496 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1940,7 +1958,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1963,7 +1981,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1982,22 +2000,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2010,7 +2020,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2037,27 +2047,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2082,7 +2093,7 @@ if i32.const 0 i32.const 496 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2197,7 +2208,7 @@ if i32.const 0 i32.const 496 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2217,7 +2228,7 @@ if i32.const 0 i32.const 496 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2250,12 +2261,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2306,13 +2317,13 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) (func $~lib/rt/itcms/Object#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/rt/itcms/__renew (param $oldPtr i32) (param $size i32) (result i32) (local $oldObj i32) @@ -2356,7 +2367,7 @@ local.get $5 i32.lt_u select - memory.copy $0 $0 + memory.copy local.get $newPtr return ) @@ -2365,7 +2376,7 @@ local.get $offset i32.add i32.const 37 - i32.store16 $0 + i32.store16 local.get $dst local.get $offset i32.add @@ -2376,17 +2387,17 @@ i32.const 15 i32.and i32.add - i32.load8_u $0 + i32.load8_u i32.const 652 local.get $ch i32.const 15 i32.and i32.add - i32.load8_u $0 + i32.load8_u i32.const 16 i32.shl i32.or - i32.store $0 offset=2 + i32.store offset=2 ) (func $~lib/util/uri/encode (param $src i32) (param $len i32) (param $table i32) (result i32) (local $i i32) @@ -2431,7 +2442,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $c local.get $c i32.const 33 @@ -2444,7 +2455,7 @@ i32.const 33 i32.sub i32.add - i32.load8_u $0 + i32.load8_u if br $do-break|1 end @@ -2494,7 +2505,7 @@ i32.shl i32.add local.get $size - memory.copy $0 $0 + memory.copy local.get $offset local.get $size i32.add @@ -2551,7 +2562,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.set $c1 local.get $c1 i32.const 56320 @@ -2783,9 +2794,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -2818,10 +2829,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -2856,12 +2867,12 @@ local.get $src local.get $offset i32.add - i32.load16_u $0 + i32.load16_u local.set $c0 local.get $src local.get $offset i32.add - i32.load16_u $0 offset=2 + i32.load16_u offset=2 local.set $c1 block $~lib/util/uri/isHex|inlined.0 (result i32) local.get $c0 @@ -2992,7 +3003,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.tee $ch i32.const 37 i32.ne @@ -3026,7 +3037,7 @@ i32.shl i32.add local.get $size - memory.copy $0 $0 + memory.copy local.get $offset local.get $size i32.add @@ -3097,7 +3108,7 @@ i32.const 35 i32.sub i32.add - i32.load8_u $0 + i32.load8_u else i32.const 0 end @@ -3181,7 +3192,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u i32.const 37 i32.ne end @@ -3300,7 +3311,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $offset i32.const 4 i32.add @@ -3312,7 +3323,7 @@ local.get $offset i32.add local.get $ch - i32.store16 $0 + i32.store16 local.get $offset i32.const 2 i32.add @@ -3413,16 +3424,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -3433,7 +3439,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return @@ -3474,13 +3480,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.get $str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/string/String#get:length global.get $~lib/util/uri/URL_UNSAFE @@ -3503,7 +3509,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -3541,7 +3547,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -3550,7 +3556,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -3568,14 +3574,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -3598,13 +3604,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.get $str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/string/String#get:length global.get $~lib/util/uri/URI_UNSAFE @@ -3626,13 +3632,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.get $str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/string/String#get:length i32.const 1 @@ -3654,13 +3660,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $str local.get $str local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 call $~lib/string/String#get:length i32.const 0 @@ -3676,17 +3682,14 @@ (func $start:std/uri (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3704,23 +3707,13 @@ call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3732,23 +3725,13 @@ unreachable end i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3760,23 +3743,13 @@ unreachable end i32.const 768 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 768 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3788,23 +3761,13 @@ unreachable end i32.const 800 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 800 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3816,23 +3779,13 @@ unreachable end i32.const 832 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 832 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3844,23 +3797,13 @@ unreachable end i32.const 928 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 960 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3872,23 +3815,13 @@ unreachable end i32.const 992 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1024 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3900,23 +3833,13 @@ unreachable end i32.const 1056 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1088 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3928,23 +3851,13 @@ unreachable end i32.const 1136 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1168 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3956,23 +3869,13 @@ unreachable end i32.const 1216 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1248 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3984,23 +3887,13 @@ unreachable end i32.const 1280 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1312 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4012,23 +3905,13 @@ unreachable end i32.const 1360 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1392 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4040,23 +3923,13 @@ unreachable end i32.const 1488 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1520 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4068,23 +3941,13 @@ unreachable end i32.const 1632 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1664 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4096,23 +3959,13 @@ unreachable end i32.const 1712 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1744 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4124,23 +3977,13 @@ unreachable end i32.const 1792 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1824 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4152,23 +3995,13 @@ unreachable end i32.const 1904 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1936 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4180,23 +4013,13 @@ unreachable end i32.const 2000 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2048 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4208,23 +4031,13 @@ unreachable end i32.const 2128 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2240 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4236,23 +4049,13 @@ unreachable end i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4264,23 +4067,13 @@ unreachable end i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4292,23 +4085,13 @@ unreachable end i32.const 2480 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2480 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4320,23 +4103,13 @@ unreachable end i32.const 832 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 832 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4348,23 +4121,13 @@ unreachable end i32.const 2528 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2560 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4376,23 +4139,13 @@ unreachable end i32.const 1632 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1664 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4404,23 +4157,13 @@ unreachable end i32.const 1712 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1744 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4432,23 +4175,13 @@ unreachable end i32.const 1904 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1936 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4460,23 +4193,13 @@ unreachable end i32.const 2128 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2128 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4488,23 +4211,13 @@ unreachable end i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4516,23 +4229,13 @@ unreachable end i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4544,23 +4247,13 @@ unreachable end i32.const 2624 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2656 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4572,23 +4265,13 @@ unreachable end i32.const 2688 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2720 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4600,23 +4283,13 @@ unreachable end i32.const 2752 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2752 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4628,23 +4301,13 @@ unreachable end i32.const 1712 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1712 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4656,23 +4319,13 @@ unreachable end i32.const 2784 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2864 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4684,23 +4337,13 @@ unreachable end i32.const 2912 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2864 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4712,23 +4355,13 @@ unreachable end i32.const 2992 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2128 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4740,23 +4373,13 @@ unreachable end i32.const 1392 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1360 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4768,23 +4391,13 @@ unreachable end i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4796,23 +4409,13 @@ unreachable end i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4824,23 +4427,13 @@ unreachable end i32.const 2624 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2624 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4852,23 +4445,13 @@ unreachable end i32.const 3120 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3152 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4880,23 +4463,13 @@ unreachable end i32.const 3184 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3216 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4908,23 +4481,13 @@ unreachable end i32.const 2752 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2752 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4936,23 +4499,13 @@ unreachable end i32.const 1712 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1712 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4964,23 +4517,13 @@ unreachable end i32.const 2784 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2784 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -4992,23 +4535,13 @@ unreachable end i32.const 1392 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 1360 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5020,23 +4553,13 @@ unreachable end i32.const 3248 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3248 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5048,23 +4571,13 @@ unreachable end i32.const 3296 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 3296 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5076,23 +4589,13 @@ unreachable end i32.const 2992 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 2992 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -5107,7 +4610,7 @@ global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/std/uri.release.wat b/tests/compiler/std/uri.release.wat index d2bd63fbce..d6410645a6 100644 --- a/tests/compiler/std/uri.release.wat +++ b/tests/compiler/std/uri.release.wat @@ -1,13 +1,13 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param 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 $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32 i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64))) + (type $8 (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)) @@ -21,150 +21,150 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37124)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02") - (data (i32.const 1069) "\01\01\01\01\01\00\00\00\00\01\01\00\00\01") - (data (i32.const 1093) "\01\01\01\01\01\01\01") - (data (i32.const 1126) "\01\01\01\01\00\01") - (data (i32.const 1158) "\01\01\01") - (data (i32.const 1164) "<") - (data (i32.const 1176) "\02\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 1228) "<") - (data (i32.const 1240) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1356) "<") - (data (i32.const 1368) "\02\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 1420) ",") - (data (i32.const 1432) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1500) "<") - (data (i32.const 1512) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1564) ",") - (data (i32.const 1576) "\02\00\00\00\1a\00\00\00U\00R\00I\00 \00m\00a\00l\00f\00o\00r\00m\00e\00d") - (data (i32.const 1612) "<") - (data (i32.const 1624) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00u\00r\00i\00.\00t\00s") - (data (i32.const 1676) "0123456789ABCDEF") - (data (i32.const 1692) ",") - (data (i32.const 1704) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00u\00r\00i\00.\00t\00s") - (data (i32.const 1740) "\1c") - (data (i32.const 1752) "\02\00\00\00\02\00\00\00a") - (data (i32.const 1772) "\1c") - (data (i32.const 1784) "\02\00\00\00\04\00\00\00a\001") - (data (i32.const 1804) "\1c") - (data (i32.const 1816) "\02\00\00\00\06\00\00\00a\00b\00_") - (data (i32.const 1836) "\\") - (data (i32.const 1848) "\02\00\00\00H\00\00\00A\00B\00C\00D\00X\00Y\00Z\00a\00f\00g\00k\00l\00m\00n\00w\00y\00z\000\001\002\003\004\005\006\007\008\009\00-\00_\00.\00!\00~\00*\00\'\00(\00)") - (data (i32.const 1932) "\1c") - (data (i32.const 1944) "\02\00\00\00\02") - (data (i32.const 1964) "\1c") - (data (i32.const 1976) "\02\00\00\00\06\00\00\00%\000\000") - (data (i32.const 1996) "\1c") - (data (i32.const 2008) "\02\00\00\00\02\00\00\00+") - (data (i32.const 2028) "\1c") - (data (i32.const 2040) "\02\00\00\00\06\00\00\00%\002\00B") - (data (i32.const 2060) "\1c") - (data (i32.const 2072) "\02\00\00\00\06\00\00\00#\000\00=") - (data (i32.const 2092) ",") - (data (i32.const 2104) "\02\00\00\00\0e\00\00\00%\002\003\000\00%\003\00D") - (data (i32.const 2140) "\1c") - (data (i32.const 2152) "\02\00\00\00\n\00\00\00 \001\002\003\00 ") - (data (i32.const 2172) ",") - (data (i32.const 2184) "\02\00\00\00\12\00\00\00%\002\000\001\002\003\00%\002\000") - (data (i32.const 2220) "\1c") - (data (i32.const 2232) "\02\00\00\00\04\00\00\00?\00+") - (data (i32.const 2252) "\1c") - (data (i32.const 2264) "\02\00\00\00\0c\00\00\00%\003\00F\00%\002\00B") - (data (i32.const 2284) "\1c") - (data (i32.const 2296) "\02\00\00\00\n\00\00\00-\00?\001\00.\00-") - (data (i32.const 2316) ",") - (data (i32.const 2328) "\02\00\00\00\0e\00\00\00-\00%\003\00F\001\00.\00-") - (data (i32.const 2364) "\1c") - (data (i32.const 2376) "\02\00\00\00\0c\00\00\00<\d8\ed\dd<\d8\fa\dd<\d8N\df") - (data (i32.const 2396) "\\") - (data (i32.const 2408) "\02\00\00\00H\00\00\00%\00F\000\00%\009\00F\00%\008\007\00%\00A\00D\00%\00F\000\00%\009\00F\00%\008\007\00%\00B\00A\00%\00F\000\00%\009\00F\00%\008\00D\00%\008\00E") - (data (i32.const 2492) "\1c") - (data (i32.const 2504) "\02\00\00\00\n\00\00\00H\c5U\b1X\d58\c1\94\c6") - (data (i32.const 2524) "l") - (data (i32.const 2536) "\02\00\00\00Z\00\00\00%\00E\00C\00%\009\005\00%\008\008\00%\00E\00B\00%\008\005\00%\009\005\00%\00E\00D\00%\009\005\00%\009\008\00%\00E\00C\00%\008\004\00%\00B\008\00%\00E\00C\00%\009\00A\00%\009\004") - (data (i32.const 2636) "\1c") - (data (i32.const 2648) "\02\00\00\00\06\00\00\00~\00\7f\00\80") - (data (i32.const 2668) ",") - (data (i32.const 2680) "\02\00\00\00\14\00\00\00~\00%\007\00F\00%\00C\002\00%\008\000") - (data (i32.const 2716) "\1c") - (data (i32.const 2728) "\02\00\00\00\04\00\00\00\00\d8\ff\df") - (data (i32.const 2748) ",") - (data (i32.const 2760) "\02\00\00\00\18\00\00\00%\00F\000\00%\009\000\00%\008\00F\00%\00B\00F") - (data (i32.const 2796) "\1c") - (data (i32.const 2808) "\02\00\00\00\n\00\00\00{\da\01\dc-\00P\da\02\dc") - (data (i32.const 2828) "L") - (data (i32.const 2840) "\02\00\00\002\00\00\00%\00F\002\00%\00A\00E\00%\00B\000\00%\008\001\00-\00%\00F\002\00%\00A\004\00%\008\000\00%\008\002") - (data (i32.const 2908) "\1c") - (data (i32.const 2920) "\02\00\00\00\n\00\00\00\n\00\t\00\0b\00\0c\00\r") - (data (i32.const 2940) "<") - (data (i32.const 2952) "\02\00\00\00\1e\00\00\00%\000\00A\00%\000\009\00%\000\00B\00%\000\00C\00%\000\00D") - (data (i32.const 3004) ",") - (data (i32.const 3016) "\02\00\00\00\14\00\00\00;\00/\00?\00:\00@\00&\00=\00+\00$\00,") - (data (i32.const 3052) "L") - (data (i32.const 3064) "\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\002\006\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C") - (data (i32.const 3132) "l") - (data (i32.const 3144) "\02\00\00\00\\\00\00\00h\00t\00t\00p\00:\00/\00/\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00#\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") - (data (i32.const 3244) "\8c") - (data (i32.const 3256) "\02\00\00\00t\00\00\00h\00t\00t\00p\00%\003\00A\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00%\002\00F\00w\00i\00k\00i\00%\002\00F\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") - (data (i32.const 3389) "\01\00\00\01") - (data (i32.const 3415) "\01\00\01") - (data (i32.const 3446) "\01\01\01\01\00\01") - (data (i32.const 3478) "\01\01\01") - (data (i32.const 3484) ",") - (data (i32.const 3496) "\02\00\00\00\16\00\00\00;\00,\00/\00?\00:\00@\00&\00=\00+\00$\00#") - (data (i32.const 3532) "\1c") - (data (i32.const 3544) "\02\00\00\00\02\00\00\00 ") - (data (i32.const 3564) "\1c") - (data (i32.const 3576) "\02\00\00\00\06\00\00\00%\002\000") - (data (i32.const 3596) "\01\01\00\01\00\00\00\00\01\01\00\00\01") - (data (i32.const 3619) "\01\01\00\01\00\01\01") - (data (i32.const 3628) "\1c") - (data (i32.const 3640) "\02\00\00\00\06\00\00\00%\002\006") - (data (i32.const 3660) "\1c") - (data (i32.const 3672) "\02\00\00\00\02\00\00\00&") - (data (i32.const 3692) "\1c") - (data (i32.const 3704) "\02\00\00\00\06\00\00\00%\005\00E") - (data (i32.const 3724) "\1c") - (data (i32.const 3736) "\02\00\00\00\02\00\00\00^") - (data (i32.const 3756) "\1c") - (data (i32.const 3768) "\02\00\00\00\02\00\00\00\00\d8") - (data (i32.const 3788) "L") - (data (i32.const 3800) "\02\00\00\00<\00\00\00%\003\00b\00%\002\00f\00%\003\00f\00%\003\00a\00%\004\000\00%\003\00d\00%\002\00b\00%\002\004\00%\002\00c\00%\002\003") - (data (i32.const 3868) ",") - (data (i32.const 3880) "\02\00\00\00\14\00\00\00;\00/\00?\00:\00@\00=\00+\00$\00,\00#") - (data (i32.const 3916) "L") - (data (i32.const 3928) "\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00%\002\003") - (data (i32.const 3996) "|") - (data (i32.const 4008) "\02\00\00\00h\00\00\00h\00t\00t\00p\00:\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") - (data (i32.const 4124) "\1c") - (data (i32.const 4136) "\02\00\00\00\0c\00\00\00%\00D\00F\00%\008\000") - (data (i32.const 4156) "\1c") - (data (i32.const 4168) "\02\00\00\00\02\00\00\00\c0\07") - (data (i32.const 4188) "\1c") - (data (i32.const 4200) "\02\00\00\00\0c\00\00\00%\00C\002\00%\00B\00F") - (data (i32.const 4220) "\1c") - (data (i32.const 4232) "\02\00\00\00\02\00\00\00\bf") - (data (i32.const 4252) ",") - (data (i32.const 4264) "\02\00\00\00\0e\00\00\00\f7\00\b8\00W\00\ef\00\0f\00\f4\00V") - (data (i32.const 4300) "\1c") - (data (i32.const 4312) "\02\00\00\00\06\00\00\00\f4\00\b8\00\ef") - (data (i32.const 4336) "\04\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02") + (data $1 (i32.const 1069) "\01\01\01\01\01\00\00\00\00\01\01\00\00\01") + (data $1.1 (i32.const 1093) "\01\01\01\01\01\01\01") + (data $1.2 (i32.const 1126) "\01\01\01\01\00\01") + (data $1.3 (i32.const 1158) "\01\01\01") + (data $2 (i32.const 1164) "<") + (data $2.1 (i32.const 1176) "\02\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 $3 (i32.const 1228) "<") + (data $3.1 (i32.const 1240) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $6 (i32.const 1356) "<") + (data $6.1 (i32.const 1368) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $7 (i32.const 1420) ",") + (data $7.1 (i32.const 1432) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $9 (i32.const 1500) "<") + (data $9.1 (i32.const 1512) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $10 (i32.const 1564) ",") + (data $10.1 (i32.const 1576) "\02\00\00\00\1a\00\00\00U\00R\00I\00 \00m\00a\00l\00f\00o\00r\00m\00e\00d") + (data $11 (i32.const 1612) "<") + (data $11.1 (i32.const 1624) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00u\00r\00i\00.\00t\00s") + (data $12 (i32.const 1676) "0123456789ABCDEF") + (data $13 (i32.const 1692) ",") + (data $13.1 (i32.const 1704) "\02\00\00\00\14\00\00\00s\00t\00d\00/\00u\00r\00i\00.\00t\00s") + (data $14 (i32.const 1740) "\1c") + (data $14.1 (i32.const 1752) "\02\00\00\00\02\00\00\00a") + (data $15 (i32.const 1772) "\1c") + (data $15.1 (i32.const 1784) "\02\00\00\00\04\00\00\00a\001") + (data $16 (i32.const 1804) "\1c") + (data $16.1 (i32.const 1816) "\02\00\00\00\06\00\00\00a\00b\00_") + (data $17 (i32.const 1836) "\\") + (data $17.1 (i32.const 1848) "\02\00\00\00H\00\00\00A\00B\00C\00D\00X\00Y\00Z\00a\00f\00g\00k\00l\00m\00n\00w\00y\00z\000\001\002\003\004\005\006\007\008\009\00-\00_\00.\00!\00~\00*\00\'\00(\00)") + (data $18 (i32.const 1932) "\1c") + (data $18.1 (i32.const 1944) "\02\00\00\00\02") + (data $19 (i32.const 1964) "\1c") + (data $19.1 (i32.const 1976) "\02\00\00\00\06\00\00\00%\000\000") + (data $20 (i32.const 1996) "\1c") + (data $20.1 (i32.const 2008) "\02\00\00\00\02\00\00\00+") + (data $21 (i32.const 2028) "\1c") + (data $21.1 (i32.const 2040) "\02\00\00\00\06\00\00\00%\002\00B") + (data $22 (i32.const 2060) "\1c") + (data $22.1 (i32.const 2072) "\02\00\00\00\06\00\00\00#\000\00=") + (data $23 (i32.const 2092) ",") + (data $23.1 (i32.const 2104) "\02\00\00\00\0e\00\00\00%\002\003\000\00%\003\00D") + (data $24 (i32.const 2140) "\1c") + (data $24.1 (i32.const 2152) "\02\00\00\00\n\00\00\00 \001\002\003\00 ") + (data $25 (i32.const 2172) ",") + (data $25.1 (i32.const 2184) "\02\00\00\00\12\00\00\00%\002\000\001\002\003\00%\002\000") + (data $26 (i32.const 2220) "\1c") + (data $26.1 (i32.const 2232) "\02\00\00\00\04\00\00\00?\00+") + (data $27 (i32.const 2252) "\1c") + (data $27.1 (i32.const 2264) "\02\00\00\00\0c\00\00\00%\003\00F\00%\002\00B") + (data $28 (i32.const 2284) "\1c") + (data $28.1 (i32.const 2296) "\02\00\00\00\n\00\00\00-\00?\001\00.\00-") + (data $29 (i32.const 2316) ",") + (data $29.1 (i32.const 2328) "\02\00\00\00\0e\00\00\00-\00%\003\00F\001\00.\00-") + (data $30 (i32.const 2364) "\1c") + (data $30.1 (i32.const 2376) "\02\00\00\00\0c\00\00\00<\d8\ed\dd<\d8\fa\dd<\d8N\df") + (data $31 (i32.const 2396) "\\") + (data $31.1 (i32.const 2408) "\02\00\00\00H\00\00\00%\00F\000\00%\009\00F\00%\008\007\00%\00A\00D\00%\00F\000\00%\009\00F\00%\008\007\00%\00B\00A\00%\00F\000\00%\009\00F\00%\008\00D\00%\008\00E") + (data $32 (i32.const 2492) "\1c") + (data $32.1 (i32.const 2504) "\02\00\00\00\n\00\00\00H\c5U\b1X\d58\c1\94\c6") + (data $33 (i32.const 2524) "l") + (data $33.1 (i32.const 2536) "\02\00\00\00Z\00\00\00%\00E\00C\00%\009\005\00%\008\008\00%\00E\00B\00%\008\005\00%\009\005\00%\00E\00D\00%\009\005\00%\009\008\00%\00E\00C\00%\008\004\00%\00B\008\00%\00E\00C\00%\009\00A\00%\009\004") + (data $34 (i32.const 2636) "\1c") + (data $34.1 (i32.const 2648) "\02\00\00\00\06\00\00\00~\00\7f\00\80") + (data $35 (i32.const 2668) ",") + (data $35.1 (i32.const 2680) "\02\00\00\00\14\00\00\00~\00%\007\00F\00%\00C\002\00%\008\000") + (data $36 (i32.const 2716) "\1c") + (data $36.1 (i32.const 2728) "\02\00\00\00\04\00\00\00\00\d8\ff\df") + (data $37 (i32.const 2748) ",") + (data $37.1 (i32.const 2760) "\02\00\00\00\18\00\00\00%\00F\000\00%\009\000\00%\008\00F\00%\00B\00F") + (data $38 (i32.const 2796) "\1c") + (data $38.1 (i32.const 2808) "\02\00\00\00\n\00\00\00{\da\01\dc-\00P\da\02\dc") + (data $39 (i32.const 2828) "L") + (data $39.1 (i32.const 2840) "\02\00\00\002\00\00\00%\00F\002\00%\00A\00E\00%\00B\000\00%\008\001\00-\00%\00F\002\00%\00A\004\00%\008\000\00%\008\002") + (data $40 (i32.const 2908) "\1c") + (data $40.1 (i32.const 2920) "\02\00\00\00\n\00\00\00\n\00\t\00\0b\00\0c\00\r") + (data $41 (i32.const 2940) "<") + (data $41.1 (i32.const 2952) "\02\00\00\00\1e\00\00\00%\000\00A\00%\000\009\00%\000\00B\00%\000\00C\00%\000\00D") + (data $42 (i32.const 3004) ",") + (data $42.1 (i32.const 3016) "\02\00\00\00\14\00\00\00;\00/\00?\00:\00@\00&\00=\00+\00$\00,") + (data $43 (i32.const 3052) "L") + (data $43.1 (i32.const 3064) "\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\002\006\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C") + (data $44 (i32.const 3132) "l") + (data $44.1 (i32.const 3144) "\02\00\00\00\\\00\00\00h\00t\00t\00p\00:\00/\00/\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00#\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") + (data $45 (i32.const 3244) "\8c") + (data $45.1 (i32.const 3256) "\02\00\00\00t\00\00\00h\00t\00t\00p\00%\003\00A\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00%\002\00F\00w\00i\00k\00i\00%\002\00F\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") + (data $46 (i32.const 3389) "\01\00\00\01") + (data $46.1 (i32.const 3415) "\01\00\01") + (data $46.2 (i32.const 3446) "\01\01\01\01\00\01") + (data $46.3 (i32.const 3478) "\01\01\01") + (data $47 (i32.const 3484) ",") + (data $47.1 (i32.const 3496) "\02\00\00\00\16\00\00\00;\00,\00/\00?\00:\00@\00&\00=\00+\00$\00#") + (data $48 (i32.const 3532) "\1c") + (data $48.1 (i32.const 3544) "\02\00\00\00\02\00\00\00 ") + (data $49 (i32.const 3564) "\1c") + (data $49.1 (i32.const 3576) "\02\00\00\00\06\00\00\00%\002\000") + (data $50 (i32.const 3596) "\01\01\00\01\00\00\00\00\01\01\00\00\01") + (data $50.1 (i32.const 3619) "\01\01\00\01\00\01\01") + (data $51 (i32.const 3628) "\1c") + (data $51.1 (i32.const 3640) "\02\00\00\00\06\00\00\00%\002\006") + (data $52 (i32.const 3660) "\1c") + (data $52.1 (i32.const 3672) "\02\00\00\00\02\00\00\00&") + (data $53 (i32.const 3692) "\1c") + (data $53.1 (i32.const 3704) "\02\00\00\00\06\00\00\00%\005\00E") + (data $54 (i32.const 3724) "\1c") + (data $54.1 (i32.const 3736) "\02\00\00\00\02\00\00\00^") + (data $55 (i32.const 3756) "\1c") + (data $55.1 (i32.const 3768) "\02\00\00\00\02\00\00\00\00\d8") + (data $56 (i32.const 3788) "L") + (data $56.1 (i32.const 3800) "\02\00\00\00<\00\00\00%\003\00b\00%\002\00f\00%\003\00f\00%\003\00a\00%\004\000\00%\003\00d\00%\002\00b\00%\002\004\00%\002\00c\00%\002\003") + (data $57 (i32.const 3868) ",") + (data $57.1 (i32.const 3880) "\02\00\00\00\14\00\00\00;\00/\00?\00:\00@\00=\00+\00$\00,\00#") + (data $58 (i32.const 3916) "L") + (data $58.1 (i32.const 3928) "\02\00\00\00<\00\00\00%\003\00B\00%\002\00F\00%\003\00F\00%\003\00A\00%\004\000\00%\003\00D\00%\002\00B\00%\002\004\00%\002\00C\00%\002\003") + (data $59 (i32.const 3996) "|") + (data $59.1 (i32.const 4008) "\02\00\00\00h\00\00\00h\00t\00t\00p\00:\00%\002\00F\00%\002\00F\00e\00n\00.\00w\00i\00k\00i\00p\00e\00d\00i\00a\00.\00o\00r\00g\00/\00w\00i\00k\00i\00/\00U\00T\00F\00-\008\00%\002\003\00D\00e\00s\00c\00r\00i\00p\00t\00i\00o\00n") + (data $60 (i32.const 4124) "\1c") + (data $60.1 (i32.const 4136) "\02\00\00\00\0c\00\00\00%\00D\00F\00%\008\000") + (data $61 (i32.const 4156) "\1c") + (data $61.1 (i32.const 4168) "\02\00\00\00\02\00\00\00\c0\07") + (data $62 (i32.const 4188) "\1c") + (data $62.1 (i32.const 4200) "\02\00\00\00\0c\00\00\00%\00C\002\00%\00B\00F") + (data $63 (i32.const 4220) "\1c") + (data $63.1 (i32.const 4232) "\02\00\00\00\02\00\00\00\bf") + (data $64 (i32.const 4252) ",") + (data $64.1 (i32.const 4264) "\02\00\00\00\0e\00\00\00\f7\00\b8\00W\00\ef\00\0f\00\f4\00V") + (data $65 (i32.const 4300) "\1c") + (data $65.1 (i32.const 4312) "\02\00\00\00\06\00\00\00\f4\00\b8\00\ef") + (data $66 (i32.const 4336) "\04\00\00\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 1376 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1184 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1584 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -174,7 +174,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -192,7 +192,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -200,137 +200,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1248 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1248 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 37124 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$132 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 37124 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1248 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$132 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1248 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1248 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 4336 + i32.load + i32.gt_u + if + i32.const 1376 + i32.const 1440 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 4340 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 4336 - i32.load $0 - i32.gt_u - if - i32.const 1376 - i32.const 1440 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 4340 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -338,8 +358,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -351,10 +371,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -365,29 +385,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -395,10 +415,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -412,75 +432,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -502,7 +515,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -519,12 +532,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -541,17 +554,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -561,9 +574,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -588,13 +601,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -628,7 +641,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -684,19 +697,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -708,15 +721,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -724,23 +737,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1520 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -754,10 +769,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -765,23 +780,22 @@ if i32.const 0 i32.const 1520 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -793,52 +807,53 @@ if i32.const 0 i32.const 1520 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -846,7 +861,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -854,7 +869,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -865,10 +880,10 @@ end i32.const 37136 i32.const 0 - i32.store $0 + i32.store i32.const 38704 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -880,7 +895,7 @@ i32.const 37136 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -898,7 +913,7 @@ i32.const 37136 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -915,9 +930,10 @@ end i32.const 37136 i32.const 38708 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 37136 global.set $~lib/rt/tlsf/ROOT @@ -947,7 +963,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -960,19 +976,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -983,7 +999,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -995,7 +1011,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -1008,12 +1024,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -1022,7 +1034,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1033,26 +1045,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -1068,7 +1080,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -1084,7 +1096,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1109,14 +1121,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1136,7 +1148,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1151,25 +1162,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1520 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1178,12 +1188,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1191,47 +1200,49 @@ ) (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) + 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 + if + 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.set $1 + end + local.get $1 + i32.const 31 + local.get $1 i32.clz i32.sub - local.tee $3 - i32.const 7 - i32.sub - local.set $2 - local.get $1 - local.get $3 + local.tee $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.tee $1 + local.get $1 i32.const 16 i32.lt_u local.get $2 @@ -1242,7 +1253,7 @@ if i32.const 0 i32.const 1520 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1252,7 +1263,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 i32.const -1 local.get $1 i32.shl @@ -1269,10 +1280,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -1 local.get $2 i32.const 1 @@ -1288,13 +1299,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $2 i32.eqz if i32.const 0 i32.const 1520 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1309,7 +1320,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1336,7 +1347,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$70 i32.const 2048 local.set $2 loop $do-loop|0 @@ -1348,16 +1359,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$70 end local.get $2 i32.const 0 @@ -1365,8 +1372,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $2 - local.get $2 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1393,34 +1399,60 @@ if i32.const 1184 i32.const 1520 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable end local.get $4 - 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 + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end local.tee $5 call $~lib/rt/tlsf/searchBlock local.tee $2 i32.eqz if - memory.size $0 + memory.size local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end i32.const 4 local.get $4 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $2 i32.const 16 i32.shl @@ -1428,21 +1460,6 @@ i32.sub i32.ne i32.shl - local.get $5 - i32.const 1 - i32.const 27 - local.get $5 - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add - local.get $5 - local.get $5 - i32.const 536870910 - i32.lt_u - select i32.add i32.const 65535 i32.add @@ -1455,12 +1472,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1471,9 +1488,10 @@ local.get $2 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $4 local.get $5 @@ -1483,7 +1501,7 @@ if i32.const 0 i32.const 1520 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -1491,14 +1509,14 @@ end local.get $5 local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.gt_u if i32.const 0 i32.const 1520 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1507,8 +1525,8 @@ local.get $2 call $~lib/rt/tlsf/removeBlock local.get $2 - i32.load $0 - local.set $3 + i32.load + local.set $6 local.get $5 i32.const 4 i32.add @@ -1517,95 +1535,95 @@ if i32.const 0 i32.const 1520 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable end - local.get $3 + local.get $6 i32.const -4 i32.and local.get $5 i32.sub - local.tee $6 + local.tee $3 i32.const 16 i32.ge_u if local.get $2 local.get $5 - local.get $3 + local.get $6 i32.const 2 i32.and i32.or - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $5 i32.add - local.tee $3 - local.get $6 + local.tee $5 + local.get $3 i32.const 4 i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $4 - local.get $3 + local.get $5 call $~lib/rt/tlsf/insertBlock else local.get $2 - local.get $3 + local.get $6 i32.const -2 i32.and - i32.store $0 + i32.store local.get $2 i32.const 4 i32.add local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $3 local.get $3 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $2 local.get $1 - i32.store $0 offset=12 + i32.store offset=12 local.get $2 local.get $0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $3 local.get $2 local.get $1 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 local.get $2 local.get $3 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $2 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1618,7 +1636,7 @@ local.tee $1 i32.const 0 local.get $0 - memory.fill $0 + memory.fill local.get $1 ) (func $~lib/rt/itcms/__renew (param $0 i32) (param $1 i32) (result i32) @@ -1629,7 +1647,7 @@ i32.const 20 i32.sub local.tee $3 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 16 @@ -1638,25 +1656,25 @@ if local.get $3 local.get $1 - i32.store $0 offset=16 + i32.store offset=16 local.get $0 return end local.get $1 local.get $3 - i32.load $0 offset=12 + i32.load offset=12 call $~lib/rt/itcms/__new local.tee $2 local.get $0 local.get $1 local.get $3 - i32.load $0 offset=16 + i32.load offset=16 local.tee $0 local.get $0 local.get $1 i32.gt_u select - memory.copy $0 $0 + memory.copy local.get $2 ) (func $~lib/util/uri/encode (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -1667,6 +1685,7 @@ (local $7 i32) (local $8 i32) (local $9 i32) + (local $10 i32) local.get $1 i32.eqz if @@ -1676,7 +1695,7 @@ local.get $1 i32.const 1 i32.shl - local.tee $8 + local.tee $5 i32.const 2 call $~lib/rt/itcms/__new local.set $3 @@ -1687,7 +1706,7 @@ if block $while-break|0 local.get $4 - local.set $5 + local.set $6 loop $do-loop|1 block $do-break|1 local.get $0 @@ -1695,19 +1714,18 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.tee $6 + i32.load16_u + local.tee $7 i32.const 33 i32.sub + local.tee $8 i32.const 94 i32.ge_u br_if $do-break|1 local.get $2 - local.get $6 - i32.const 33 - i32.sub + local.get $8 i32.add - i32.load8_u $0 + i32.load8_u br_if $do-break|1 local.get $4 i32.const 1 @@ -1719,55 +1737,54 @@ end end local.get $4 - local.get $5 + local.get $6 i32.gt_u if local.get $4 - local.get $5 + local.get $6 i32.sub i32.const 1 i32.shl - local.tee $9 - local.get $7 + local.tee $10 + local.get $9 i32.add - local.get $8 + local.tee $8 + local.get $5 i32.gt_u if local.get $3 - local.get $7 - local.get $9 - i32.add - local.tee $8 + local.get $8 + local.tee $5 call $~lib/rt/itcms/__renew local.set $3 end local.get $3 - local.get $7 + local.get $9 i32.add local.get $0 - local.get $5 + local.get $6 i32.const 1 i32.shl i32.add + local.get $10 + memory.copy local.get $9 - memory.copy $0 $0 - local.get $7 - local.get $9 + local.get $10 i32.add - local.set $7 + local.set $9 local.get $1 local.get $4 i32.le_u br_if $while-break|0 end - local.get $6 + local.get $7 i32.const 55296 i32.ge_u if - local.get $6 + local.get $7 i32.const 57343 i32.le_u - local.get $6 + local.get $7 i32.const 56320 i32.ge_u i32.and @@ -1779,7 +1796,7 @@ call $~lib/builtins/abort unreachable end - local.get $6 + local.get $7 i32.const 56319 i32.le_u if @@ -1802,11 +1819,11 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.tee $5 + i32.load16_u + local.tee $6 i32.const 56320 i32.lt_u - local.get $5 + local.get $6 i32.const 57343 i32.gt_u i32.or @@ -1818,10 +1835,10 @@ call $~lib/builtins/abort unreachable end - local.get $5 + local.get $6 i32.const 1023 i32.and - local.get $6 + local.get $7 i32.const 1023 i32.and i32.const 10 @@ -1829,266 +1846,266 @@ i32.or i32.const 65536 i32.add - local.set $6 + local.set $7 end end - local.get $7 + local.get $9 i32.const 6 i32.const 24 - local.get $6 + local.get $7 i32.const 128 i32.lt_u select i32.add - local.tee $5 - local.get $8 + local.tee $6 + local.get $5 i32.gt_u if local.get $3 - local.get $5 + local.get $6 i32.const 1 i32.shl - local.get $5 + local.get $6 local.get $1 i32.const 1 i32.gt_u select - local.tee $8 + local.tee $5 call $~lib/rt/itcms/__renew local.set $3 end - local.get $6 + local.get $7 i32.const 128 i32.lt_u if local.get $3 - local.get $7 + local.get $9 i32.add - local.tee $5 + local.tee $6 i32.const 37 - i32.store16 $0 - local.get $5 + i32.store16 local.get $6 + local.get $7 i32.const 4 i32.shr_u i32.const 15 i32.and i32.const 1676 i32.add - i32.load8_u $0 - local.get $6 + i32.load8_u + local.get $7 i32.const 15 i32.and i32.const 1676 i32.add - i32.load8_u $0 + i32.load8_u i32.const 16 i32.shl i32.or - i32.store $0 offset=2 + i32.store offset=2 else - local.get $6 + local.get $7 i32.const 2048 i32.lt_u if local.get $3 - local.get $7 + local.get $9 i32.add - local.tee $5 + local.tee $6 i32.const 37 - i32.store16 $0 - local.get $5 + i32.store16 local.get $6 + local.get $7 i32.const 6 i32.shr_u i32.const 192 i32.or - local.tee $5 + local.tee $6 i32.const 4 i32.shr_u i32.const 15 i32.and i32.const 1676 i32.add - i32.load8_u $0 - local.get $5 + i32.load8_u + local.get $6 i32.const 15 i32.and i32.const 1676 i32.add - i32.load8_u $0 + i32.load8_u i32.const 16 i32.shl i32.or - i32.store $0 offset=2 + i32.store offset=2 else - local.get $6 + local.get $7 i32.const 65536 i32.lt_u if local.get $3 - local.get $7 + local.get $9 i32.add - local.tee $5 + local.tee $6 i32.const 37 - i32.store16 $0 - local.get $5 + i32.store16 local.get $6 + local.get $7 i32.const 12 i32.shr_u i32.const 224 i32.or - local.tee $5 + local.tee $6 i32.const 4 i32.shr_u i32.const 15 i32.and i32.const 1676 i32.add - i32.load8_u $0 - local.get $5 + i32.load8_u + local.get $6 i32.const 15 i32.and i32.const 1676 i32.add - i32.load8_u $0 + i32.load8_u i32.const 16 i32.shl i32.or - i32.store $0 offset=2 + i32.store offset=2 else local.get $3 - local.get $7 + local.get $9 i32.add - local.tee $5 + local.tee $6 i32.const 37 - i32.store16 $0 - local.get $5 + i32.store16 local.get $6 + local.get $7 i32.const 18 i32.shr_u i32.const 240 i32.or - local.tee $5 + local.tee $6 i32.const 4 i32.shr_u i32.const 1676 i32.add - i32.load8_u $0 - local.get $5 + i32.load8_u + local.get $6 i32.const 15 i32.and i32.const 1676 i32.add - i32.load8_u $0 + i32.load8_u i32.const 16 i32.shl i32.or - i32.store $0 offset=2 + i32.store offset=2 local.get $3 - local.get $7 + local.get $9 i32.const 6 i32.add - local.tee $7 + local.tee $9 i32.add - local.tee $5 + local.tee $6 i32.const 37 - i32.store16 $0 - local.get $5 + i32.store16 local.get $6 + local.get $7 i32.const 12 i32.shr_u i32.const 63 i32.and i32.const 128 i32.or - local.tee $5 + local.tee $6 i32.const 4 i32.shr_u i32.const 1676 i32.add - i32.load8_u $0 - local.get $5 + i32.load8_u + local.get $6 i32.const 15 i32.and i32.const 1676 i32.add - i32.load8_u $0 + i32.load8_u i32.const 16 i32.shl i32.or - i32.store $0 offset=2 + i32.store offset=2 end local.get $3 - local.get $7 + local.get $9 i32.const 6 i32.add - local.tee $7 + local.tee $9 i32.add - local.tee $5 + local.tee $6 i32.const 37 - i32.store16 $0 - local.get $5 + i32.store16 local.get $6 + local.get $7 i32.const 6 i32.shr_u i32.const 63 i32.and i32.const 128 i32.or - local.tee $5 + local.tee $6 i32.const 4 i32.shr_u i32.const 1676 i32.add - i32.load8_u $0 - local.get $5 + i32.load8_u + local.get $6 i32.const 15 i32.and i32.const 1676 i32.add - i32.load8_u $0 + i32.load8_u i32.const 16 i32.shl i32.or - i32.store $0 offset=2 + i32.store offset=2 end local.get $3 - local.get $7 + local.get $9 i32.const 6 i32.add - local.tee $7 + local.tee $9 i32.add - local.tee $5 + local.tee $6 i32.const 37 - i32.store16 $0 - local.get $5 + i32.store16 local.get $6 + local.get $7 i32.const 63 i32.and i32.const 128 i32.or - local.tee $5 + local.tee $6 i32.const 4 i32.shr_u i32.const 1676 i32.add - i32.load8_u $0 - local.get $5 + i32.load8_u + local.get $6 i32.const 15 i32.and i32.const 1676 i32.add - i32.load8_u $0 + i32.load8_u i32.const 16 i32.shl i32.or - i32.store $0 offset=2 + i32.store offset=2 end - local.get $7 + local.get $9 i32.const 6 i32.add - local.set $7 + local.set $9 local.get $4 i32.const 1 i32.add @@ -2097,12 +2114,12 @@ end end end - local.get $7 - local.get $8 - i32.lt_u + local.get $5 + local.get $9 + i32.gt_u if (result i32) local.get $3 - local.get $7 + local.get $9 call $~lib/rt/itcms/__renew else local.get $3 @@ -2128,7 +2145,7 @@ i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.set $8 + local.set $9 loop $while-continue|0 local.get $1 local.get $3 @@ -2147,7 +2164,7 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u local.tee $5 i32.const 37 i32.ne @@ -2167,7 +2184,7 @@ i32.gt_u if local.get $6 - local.get $8 + local.get $9 i32.add local.get $0 local.get $4 @@ -2180,7 +2197,7 @@ i32.const 1 i32.shl local.tee $4 - memory.copy $0 $0 + memory.copy local.get $4 local.get $6 i32.add @@ -2202,33 +2219,26 @@ if (result i32) i32.const 1 else + local.get $0 local.get $3 i32.const 1 i32.add i32.const 1 i32.shl - local.get $0 i32.add local.tee $4 - i32.load16_u $0 + i32.load16_u offset=2 local.set $5 local.get $4 - i32.load16_u $0 offset=2 - local.set $4 - local.get $5 - i32.const 32 - i32.or - i32.const 97 - i32.sub - i32.const 6 - i32.lt_u - local.get $5 + i32.load16_u + local.tee $4 i32.const 48 i32.sub i32.const 10 i32.lt_u - i32.or if (result i32) + i32.const 1 + else local.get $4 i32.const 32 i32.or @@ -2236,24 +2246,36 @@ i32.sub i32.const 6 i32.lt_u - local.get $4 + end + if (result i32) + local.get $5 i32.const 48 i32.sub i32.const 10 i32.lt_u - i32.or + if (result i32) + i32.const 1 + else + local.get $5 + i32.const 32 + i32.or + i32.const 97 + i32.sub + i32.const 6 + i32.lt_u + end else i32.const 0 end if (result i32) - local.get $4 + local.get $5 i32.const 32 i32.or i32.const 39 i32.rem_u i32.const 9 i32.sub - local.get $5 + local.get $4 i32.const 32 i32.or i32.const 39 @@ -2299,7 +2321,7 @@ local.get $5 i32.const 3561 i32.add - i32.load8_u $0 + i32.load8_u else i32.const 0 end @@ -2315,18 +2337,20 @@ else i32.const 1 local.get $5 - i32.const 24 - i32.shl - i32.const -1 - i32.xor - i32.clz - i32.const 0 - local.get $5 i32.const 192 i32.sub i32.const 56 i32.lt_u - select + if (result i32) + local.get $5 + i32.const 24 + i32.shl + i32.const -1 + i32.xor + i32.clz + else + i32.const 0 + end local.tee $4 i32.const 17 i32.mul @@ -2335,7 +2359,7 @@ i32.const 1 i32.sub i32.shl - local.set $9 + local.set $8 local.get $5 i32.const 128 local.get $4 @@ -2367,40 +2391,33 @@ i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_u i32.const 37 i32.ne end if (result i32) i32.const 1 else + local.get $0 local.get $3 i32.const 1 i32.add i32.const 1 i32.shl - local.get $0 i32.add local.tee $10 - i32.load16_u $0 + i32.load16_u offset=2 local.set $7 local.get $10 - i32.load16_u $0 offset=2 - local.set $10 - local.get $7 - i32.const 32 - i32.or - i32.const 97 - i32.sub - i32.const 6 - i32.lt_u - local.get $7 + i32.load16_u + local.tee $10 i32.const 48 i32.sub i32.const 10 i32.lt_u - i32.or if (result i32) + i32.const 1 + else local.get $10 i32.const 32 i32.or @@ -2408,24 +2425,36 @@ i32.sub i32.const 6 i32.lt_u - local.get $10 + end + if (result i32) + local.get $7 i32.const 48 i32.sub i32.const 10 i32.lt_u - i32.or + if (result i32) + i32.const 1 + else + local.get $7 + i32.const 32 + i32.or + i32.const 97 + i32.sub + i32.const 6 + i32.lt_u + end else i32.const 0 end if (result i32) - local.get $10 + local.get $7 i32.const 32 i32.or i32.const 39 i32.rem_u i32.const 9 i32.sub - local.get $7 + local.get $10 i32.const 32 i32.or i32.const 39 @@ -2476,25 +2505,28 @@ end end end - local.get $5 - i32.const 57344 - i32.lt_u - local.get $5 - i32.const 55296 - i32.ge_u - i32.and - local.get $9 + local.get $8 i32.const -1 i32.eq local.get $5 - local.get $9 + local.get $8 i32.lt_u i32.or local.get $5 i32.const 1114111 i32.gt_u i32.or - i32.or + if (result i32) + i32.const 1 + else + local.get $5 + i32.const 57344 + i32.lt_u + local.get $5 + i32.const 55296 + i32.ge_u + i32.and + end if i32.const 1584 i32.const 1632 @@ -2508,7 +2540,7 @@ i32.ge_u if local.get $6 - local.get $8 + local.get $9 i32.add local.get $5 i32.const 65536 @@ -2526,7 +2558,7 @@ i32.const 16 i32.shl i32.or - i32.store $0 + i32.store local.get $6 i32.const 4 i32.add @@ -2535,10 +2567,10 @@ end end local.get $6 - local.get $8 + local.get $9 i32.add local.get $5 - i32.store16 $0 + i32.store16 local.get $6 i32.const 2 i32.add @@ -2566,11 +2598,11 @@ local.get $6 i32.gt_u if (result i32) - local.get $8 + local.get $9 local.get $6 call $~lib/rt/itcms/__renew else - local.get $8 + local.get $9 end ) (func $~lib/rt/__visit_members (param $0 i32) @@ -2582,7 +2614,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return @@ -2592,12 +2624,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end unreachable @@ -2606,7 +2634,6 @@ call $start:std/uri ) (func $~lib/uri/encodeURIComponent (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2623,27 +2650,24 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.const 1068 call $~lib/util/uri/encode - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -2667,7 +2691,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -2687,55 +2711,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -2756,7 +2782,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$88 loop $while-continue|1 local.get $0 local.tee $3 @@ -2766,17 +2792,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$88 local.get $2 i32.const 2 i32.add @@ -2806,7 +2832,6 @@ i32.const 0 ) (func $~lib/uri/encodeURI (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2823,30 +2848,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.const 3388 call $~lib/util/uri/encode - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/uri/decodeURIComponent (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2863,30 +2884,26 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.const 1 call $~lib/util/uri/decode - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/uri/decodeURI (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2903,32 +2920,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.const 0 call $~lib/util/uri/decode - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $start:std/uri (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2943,13 +2957,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i32.const 0 - i32.store $0 offset=8 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 37124 @@ -2959,40 +2969,34 @@ global.set $~lib/rt/itcms/threshold i32.const 1300 i32.const 1296 - i32.store $0 + i32.store i32.const 1304 i32.const 1296 - i32.store $0 + i32.store i32.const 1296 global.set $~lib/rt/itcms/pinSpace i32.const 1332 i32.const 1328 - i32.store $0 + i32.store i32.const 1336 i32.const 1328 - i32.store $0 + i32.store i32.const 1328 global.set $~lib/rt/itcms/toSpace i32.const 1476 i32.const 1472 - i32.store $0 + i32.store i32.const 1480 i32.const 1472 - i32.store $0 + i32.store i32.const 1472 global.set $~lib/rt/itcms/fromSpace - local.get $0 - i32.const 1056 - i32.store $0 offset=8 i32.const 1056 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1056 call $~lib/string/String.__eq @@ -3005,18 +3009,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1760 - i32.store $0 offset=8 i32.const 1760 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1760 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1760 call $~lib/string/String.__eq @@ -3029,18 +3027,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1792 - i32.store $0 offset=8 i32.const 1792 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1792 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1792 call $~lib/string/String.__eq @@ -3053,18 +3045,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1824 - i32.store $0 offset=8 i32.const 1824 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1824 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1824 call $~lib/string/String.__eq @@ -3077,18 +3063,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1856 - i32.store $0 offset=8 i32.const 1856 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1856 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1856 call $~lib/string/String.__eq @@ -3101,18 +3081,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1952 - i32.store $0 offset=8 i32.const 1952 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1984 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1984 call $~lib/string/String.__eq @@ -3125,18 +3099,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2016 - i32.store $0 offset=8 i32.const 2016 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2048 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2048 call $~lib/string/String.__eq @@ -3149,18 +3117,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2080 - i32.store $0 offset=8 i32.const 2080 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2112 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2112 call $~lib/string/String.__eq @@ -3173,18 +3135,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2160 - i32.store $0 offset=8 i32.const 2160 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2192 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2192 call $~lib/string/String.__eq @@ -3197,18 +3153,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2240 - i32.store $0 offset=8 i32.const 2240 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2272 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2272 call $~lib/string/String.__eq @@ -3221,18 +3171,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2304 - i32.store $0 offset=8 i32.const 2304 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2336 call $~lib/string/String.__eq @@ -3245,18 +3189,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2384 - i32.store $0 offset=8 i32.const 2384 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2416 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2416 call $~lib/string/String.__eq @@ -3269,18 +3207,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2512 - i32.store $0 offset=8 i32.const 2512 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2544 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2544 call $~lib/string/String.__eq @@ -3293,18 +3225,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2656 - i32.store $0 offset=8 i32.const 2656 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2688 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2688 call $~lib/string/String.__eq @@ -3317,18 +3243,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2736 - i32.store $0 offset=8 i32.const 2736 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2768 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2768 call $~lib/string/String.__eq @@ -3341,18 +3261,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2816 - i32.store $0 offset=8 i32.const 2816 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2848 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2848 call $~lib/string/String.__eq @@ -3365,18 +3279,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2928 - i32.store $0 offset=8 i32.const 2928 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2960 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2960 call $~lib/string/String.__eq @@ -3389,18 +3297,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3024 - i32.store $0 offset=8 i32.const 3024 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3072 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3072 call $~lib/string/String.__eq @@ -3413,18 +3315,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3152 - i32.store $0 offset=8 i32.const 3152 call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3264 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3264 call $~lib/string/String.__eq @@ -3437,18 +3333,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=8 i32.const 1056 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1056 call $~lib/string/String.__eq @@ -3461,18 +3351,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1760 - i32.store $0 offset=8 i32.const 1760 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1760 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1760 call $~lib/string/String.__eq @@ -3485,18 +3369,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3504 - i32.store $0 offset=8 i32.const 3504 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3504 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3504 call $~lib/string/String.__eq @@ -3509,18 +3387,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1856 - i32.store $0 offset=8 i32.const 1856 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1856 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1856 call $~lib/string/String.__eq @@ -3533,18 +3405,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3552 - i32.store $0 offset=8 i32.const 3552 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3584 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3584 call $~lib/string/String.__eq @@ -3557,18 +3423,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2656 - i32.store $0 offset=8 i32.const 2656 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2688 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2688 call $~lib/string/String.__eq @@ -3581,18 +3441,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2736 - i32.store $0 offset=8 i32.const 2736 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2768 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2768 call $~lib/string/String.__eq @@ -3605,18 +3459,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2928 - i32.store $0 offset=8 i32.const 2928 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2960 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2960 call $~lib/string/String.__eq @@ -3629,18 +3477,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3152 - i32.store $0 offset=8 i32.const 3152 call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3152 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3152 call $~lib/string/String.__eq @@ -3653,18 +3495,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=8 i32.const 1056 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1056 call $~lib/string/String.__eq @@ -3677,18 +3513,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1760 - i32.store $0 offset=8 i32.const 1760 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1760 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1760 call $~lib/string/String.__eq @@ -3701,18 +3531,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3648 - i32.store $0 offset=8 i32.const 3648 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3680 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3680 call $~lib/string/String.__eq @@ -3725,18 +3549,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3712 - i32.store $0 offset=8 i32.const 3712 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3744 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3744 call $~lib/string/String.__eq @@ -3749,18 +3567,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3776 - i32.store $0 offset=8 i32.const 3776 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3776 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3776 call $~lib/string/String.__eq @@ -3773,18 +3585,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2736 - i32.store $0 offset=8 i32.const 2736 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2736 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2736 call $~lib/string/String.__eq @@ -3797,18 +3603,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3808 - i32.store $0 offset=8 i32.const 3808 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3888 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3888 call $~lib/string/String.__eq @@ -3821,18 +3621,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3936 - i32.store $0 offset=8 i32.const 3936 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3888 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3888 call $~lib/string/String.__eq @@ -3845,18 +3639,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4016 - i32.store $0 offset=8 i32.const 4016 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3152 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3152 call $~lib/string/String.__eq @@ -3869,18 +3657,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2416 - i32.store $0 offset=8 i32.const 2416 call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2384 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2384 call $~lib/string/String.__eq @@ -3893,18 +3675,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=8 i32.const 1056 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1056 call $~lib/string/String.__eq @@ -3917,18 +3693,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 1760 - i32.store $0 offset=8 i32.const 1760 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1760 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 1760 call $~lib/string/String.__eq @@ -3941,18 +3711,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3648 - i32.store $0 offset=8 i32.const 3648 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3648 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3648 call $~lib/string/String.__eq @@ -3965,18 +3729,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4144 - i32.store $0 offset=8 i32.const 4144 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4176 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4176 call $~lib/string/String.__eq @@ -3989,18 +3747,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4208 - i32.store $0 offset=8 i32.const 4208 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4240 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4240 call $~lib/string/String.__eq @@ -4013,18 +3765,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3776 - i32.store $0 offset=8 i32.const 3776 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3776 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3776 call $~lib/string/String.__eq @@ -4037,18 +3783,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2736 - i32.store $0 offset=8 i32.const 2736 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2736 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2736 call $~lib/string/String.__eq @@ -4061,18 +3801,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 3808 - i32.store $0 offset=8 i32.const 3808 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3808 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3808 call $~lib/string/String.__eq @@ -4085,18 +3819,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 2416 - i32.store $0 offset=8 i32.const 2416 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2384 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 2384 call $~lib/string/String.__eq @@ -4109,18 +3837,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4272 - i32.store $0 offset=8 i32.const 4272 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4272 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4272 call $~lib/string/String.__eq @@ -4133,18 +3855,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4320 - i32.store $0 offset=8 i32.const 4320 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4320 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4320 call $~lib/string/String.__eq @@ -4157,18 +3873,12 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 4016 - i32.store $0 offset=8 i32.const 4016 call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4016 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4016 call $~lib/string/String.__eq @@ -4217,27 +3927,8 @@ i32.add global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (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 $0 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 - ) ) diff --git a/tests/compiler/super-inline.debug.wat b/tests/compiler/super-inline.debug.wat index 7ea89483c7..dc1722f0ec 100644 --- a/tests/compiler/super-inline.debug.wat +++ b/tests/compiler/super-inline.debug.wat @@ -1,13 +1,13 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32))) + (type $7 (func (param i32 i32 i64) (result i32))) + (type $8 (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)) @@ -30,15 +30,15 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33212)) (global $~lib/memory/__heap_base i32 (i32.const 33212)) (memory $0 1) - (data (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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\02\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\02\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\02\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\02\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 416) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00") + (data $0 (i32.const 12) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $1 (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 144) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 176) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 204) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $5 (i32.const 268) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $8 (i32.const 416) "\06\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -46,12 +46,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -65,7 +65,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -139,7 +139,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -209,11 +209,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -221,7 +221,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 224 @@ -353,7 +353,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -366,7 +366,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -382,34 +382,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -569,7 +569,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -592,7 +592,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -606,7 +606,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -629,7 +629,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -772,7 +772,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -858,7 +858,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -938,7 +938,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -972,7 +972,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -995,7 +995,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1009,27 +1009,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 368 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1054,9 +1059,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1075,7 +1080,7 @@ if i32.const 0 i32.const 368 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1094,7 +1099,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1108,7 +1112,7 @@ if i32.const 0 i32.const 368 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1164,12 +1168,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1203,7 +1207,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1224,7 +1228,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1244,7 +1248,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1264,7 +1268,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1290,7 +1294,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1313,9 +1317,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1351,7 +1356,7 @@ if i32.const 0 i32.const 368 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1617,14 +1622,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1680,7 +1688,7 @@ if i32.const 32 i32.const 368 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1689,6 +1697,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1718,24 +1746,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1773,7 +1790,7 @@ if i32.const 0 i32.const 368 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1788,7 +1805,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1833,7 +1850,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1844,7 +1861,7 @@ if i32.const 0 i32.const 368 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1866,7 +1883,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -1889,7 +1906,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -1908,22 +1925,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -1936,7 +1945,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -1963,27 +1972,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2008,7 +2018,7 @@ if i32.const 0 i32.const 368 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2123,7 +2133,7 @@ if i32.const 0 i32.const 368 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2143,7 +2153,7 @@ if i32.const 0 i32.const 368 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2176,12 +2186,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2232,7 +2242,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2247,7 +2257,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load local.set $1 local.get $1 i32.const 5 @@ -2291,16 +2301,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -2313,7 +2318,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $super-inline/Foo $super-inline/Bar $invalid end return @@ -2358,7 +2363,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2367,18 +2372,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2396,7 +2401,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2405,18 +2410,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $super-inline/Foo#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2434,8 +2439,8 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -2459,7 +2464,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $super-inline/Foo#a@override drop @@ -2470,7 +2475,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $super-inline/Bar#a drop @@ -2488,7 +2493,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -2497,7 +2502,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 @@ -2517,12 +2522,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store block $super-inline/Foo#a|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer local.get $this local.tee $this|1 - i32.store $0 + i32.store i32.const 1 br $super-inline/Foo#a|inlined.0 end diff --git a/tests/compiler/super-inline.release.wat b/tests/compiler/super-inline.release.wat index 8de879fd22..35da8ff691 100644 --- a/tests/compiler/super-inline.release.wat +++ b/tests/compiler/super-inline.release.wat @@ -1,11 +1,11 @@ (module - (type $i32_=>_none (func (param i32))) - (type $none_=>_none (func)) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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 $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func (param i32 i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (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)) @@ -21,17 +21,17 @@ (global $super-inline/bar (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34236)) (memory $0 1) - (data (i32.const 1036) "<") - (data (i32.const 1048) "\02\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) "\02\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) "\02\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) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1440) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "<") + (data $0.1 (i32.const 1048) "\02\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 $1 (i32.const 1100) "<") + (data $1.1 (i32.const 1112) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $4 (i32.const 1228) "<") + (data $4.1 (i32.const 1240) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $5 (i32.const 1292) ",") + (data $5.1 (i32.const 1304) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $7 (i32.const 1372) "<") + (data $7.1 (i32.const 1384) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $8 (i32.const 1440) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots @@ -41,21 +41,21 @@ local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end global.get $super-inline/bar local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1248 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1056 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -65,7 +65,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -83,7 +83,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -91,137 +91,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34236 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$116 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34236 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$116 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1120 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1440 + i32.load + i32.gt_u + if + i32.const 1248 + i32.const 1312 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1444 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1440 - i32.load $0 - i32.gt_u - if - i32.const 1248 - i32.const 1312 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1444 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -229,8 +249,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -242,10 +262,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -256,29 +276,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -286,10 +306,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -303,75 +323,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -393,7 +406,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -410,12 +423,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -432,17 +445,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -452,9 +465,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -479,13 +492,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -519,7 +532,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -575,19 +588,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -599,15 +612,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -615,23 +628,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1392 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -645,10 +660,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -656,23 +671,22 @@ if i32.const 0 i32.const 1392 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -684,52 +698,53 @@ if i32.const 0 i32.const 1392 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -737,7 +752,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -745,7 +760,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -756,10 +771,10 @@ end i32.const 34240 i32.const 0 - i32.store $0 + i32.store i32.const 35808 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -771,7 +786,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -789,7 +804,7 @@ i32.const 34240 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -806,9 +821,10 @@ end i32.const 34240 i32.const 35812 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34240 global.set $~lib/rt/tlsf/ROOT @@ -838,7 +854,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -851,19 +867,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -874,7 +890,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -886,7 +902,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -899,12 +915,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -913,7 +925,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -924,26 +936,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -959,7 +971,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -975,7 +987,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1000,14 +1012,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1027,7 +1039,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1042,25 +1053,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1392 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1069,12 +1079,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1084,7 +1093,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1095,10 +1104,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1110,13 +1119,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1392 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1131,7 +1140,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1146,7 +1155,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1158,16 +1167,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1175,8 +1180,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1198,11 +1202,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1221,12 +1225,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1237,9 +1241,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1248,14 +1253,14 @@ if i32.const 0 i32.const 1392 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1263,7 +1268,7 @@ if i32.const 0 i32.const 1392 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1272,7 +1277,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1288,7 +1293,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1298,7 +1303,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1307,54 +1312,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1367,7 +1372,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) @@ -1381,7 +1386,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $super-inline/Foo $super-inline/Bar $invalid end return @@ -1391,12 +1396,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1407,7 +1408,6 @@ ) (func $~start (local $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1419,8 +1419,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - memory.size $0 + i32.store + memory.size i32.const 16 i32.shl i32.const 34236 @@ -1430,26 +1430,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1172 i32.const 1168 - i32.store $0 + i32.store i32.const 1176 i32.const 1168 - i32.store $0 + i32.store i32.const 1168 global.set $~lib/rt/itcms/pinSpace i32.const 1204 i32.const 1200 - i32.store $0 + i32.store i32.const 1208 i32.const 1200 - i32.store $0 + i32.store i32.const 1200 global.set $~lib/rt/itcms/toSpace i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/fromSpace i32.const 0 @@ -1458,11 +1458,11 @@ global.get $~lib/memory/__stack_pointer global.get $super-inline/foo local.tee $0 - i32.store $0 + i32.store local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load i32.const 5 i32.eq if @@ -1478,23 +1478,21 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer local.tee $0 - local.get $1 - i32.store $0 offset=4 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 call $super-inline/Foo#constructor local.tee $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1504,7 +1502,7 @@ global.get $~lib/memory/__stack_pointer global.get $super-inline/bar local.tee $0 - i32.store $0 + i32.store local.get $0 call $super-inline/Bar#a global.get $~lib/memory/__stack_pointer @@ -1533,7 +1531,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 i32.eqz if @@ -1541,13 +1539,13 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer - local.tee $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1557,7 +1555,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1565,15 +1563,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1589,7 +1586,6 @@ unreachable ) (func $super-inline/Bar#a (param $0 i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1606,34 +1602,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (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 $0 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 - ) ) diff --git a/tests/compiler/switch.debug.wat b/tests/compiler/switch.debug.wat index 290a4c7c1c..dea9957b59 100644 --- a/tests/compiler/switch.debug.wat +++ b/tests/compiler/switch.debug.wat @@ -1,13 +1,67 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func)) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i64) (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) + (type $11 (func (param f32) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) - (global $~lib/memory/__data_end i32 (i32.const 60)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32828)) - (global $~lib/memory/__heap_base i32 (i32.const 32828)) + (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/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (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/native/ASC_LOW_MEMORY_LIMIT i32 (i32.const 0)) + (global $switch/Foo.A i32 (i32.const 1)) + (global $switch/Foo.B i32 (i32.const 2)) + (global $switch/Foo.C i32 (i32.const 3)) + (global $switch/Foo.D i32 (i32.const 4)) + (global $switch/foo1 (mut i32) (i32.const 0)) + (global $switch/foo2 (mut i32) (i32.const 0)) + (global $~lib/rt/__rtti_base i32 (i32.const 912)) + (global $~lib/memory/__data_end i32 (i32.const 940)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33708)) + (global $~lib/memory/__heap_base i32 (i32.const 33708)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 60) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00o\00n\00e\00\00\00\00\00\00\00") + (data $2 (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00t\00w\00o\00\00\00\00\00\00\00") + (data $3 (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\n\00\00\00t\00h\00r\00e\00e\00\00\00") + (data $4 (i32.const 156) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00f\00o\00u\00r\00\00\00\00\00") + (data $5 (i32.const 188) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00o\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 220) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00n\00\00\00\00\00\00\00\00\00\00\00") + (data $7 (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 284) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 476) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $13 (i32.const 540) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $14 (i32.const 592) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 620) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $16 (i32.const 684) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00e\00\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 716) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00t\00\00\00\00\00\00\00\00\00\00\00") + (data $18 (i32.const 748) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00w\00\00\00\00\00\00\00\00\00\00\00") + (data $19 (i32.const 780) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00h\00\00\00\00\00\00\00\00\00\00\00") + (data $20 (i32.const 812) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00r\00\00\00\00\00\00\00\00\00\00\00") + (data $21 (i32.const 844) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00f\00\00\00\00\00\00\00\00\00\00\00") + (data $22 (i32.const 876) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00u\00\00\00\00\00\00\00\00\00\00\00") + (data $23 (i32.const 912) "\06\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 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -50,6 +104,38 @@ i32.const 23 return ) + (func $switch/doSwitchDefaultFirst (param $n i32) (result i32) + (local $1 i32) + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $n + local.set $1 + local.get $1 + i32.const 1 + i32.eq + br_if $case1|0 + local.get $1 + i32.const 2 + i32.eq + br_if $case2|0 + local.get $1 + i32.const 3 + i32.eq + br_if $case3|0 + br $case0|0 + end + i32.const 0 + return + end + i32.const 1 + return + end + end + i32.const 23 + return + ) (func $switch/doSwitchDefaultOmitted (param $n i32) (result i32) (local $1 i32) block $break|0 @@ -166,399 +252,4719 @@ i32.const 2 return ) - (func $start:switch + (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) + local.get $this + i32.load offset=16 + ) + (func $~lib/string/String#get:length (param $this i32) (result i32) + local.get $this + i32.const 20 + i32.sub + call $~lib/rt/common/OBJECT#get:rtSize + i32.const 1 + i32.shr_u + return + ) + (func $~lib/util/string/compareImpl (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) + (local $ptr1 i32) + (local $ptr2 i32) + (local $7 i32) + (local $a i32) + (local $b i32) + local.get $str1 + local.get $index1 + i32.const 1 + i32.shl + i32.add + local.set $ptr1 + local.get $str2 + local.get $index2 + i32.const 1 + i32.shl + i32.add + local.set $ptr2 + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $len + i32.const 4 + i32.ge_u + if (result i32) + local.get $ptr1 + i32.const 7 + i32.and + local.get $ptr2 + i32.const 7 + i32.and + i32.or + i32.eqz + else + i32.const 0 + end + if + block $do-break|0 + loop $do-loop|0 + local.get $ptr1 + i64.load + local.get $ptr2 + i64.load + i64.ne + if + br $do-break|0 + end + local.get $ptr1 + i32.const 8 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 8 + i32.add + local.set $ptr2 + local.get $len + i32.const 4 + i32.sub + local.set $len + local.get $len + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end + end + end + loop $while-continue|1 + local.get $len + local.tee $7 + i32.const 1 + i32.sub + local.set $len + local.get $7 + if + local.get $ptr1 + i32.load16_u + local.set $a + local.get $ptr2 + i32.load16_u + local.set $b + local.get $a + local.get $b + i32.ne + if + local.get $a + local.get $b + i32.sub + return + end + local.get $ptr1 + i32.const 2 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 2 + i32.add + local.set $ptr2 + br $while-continue|1 + end + end + i32.const 0 + return + ) + (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) + local.get $this + local.get $nextWithColor + i32.store offset=4 + ) + (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=8 + ) + (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $space + local.get $space + call $~lib/rt/itcms/Object#set:prev + local.get $space + return + ) + (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + return + ) + (func $~lib/rt/itcms/Object#get:color (param $this i32) (result i32) + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + return + ) + (func $~lib/rt/itcms/visitRoots (param $cookie i32) + (local $pn i32) + (local $iter i32) + local.get $cookie + call $~lib/rt/__visit_globals + global.get $~lib/rt/itcms/pinSpace + local.set $pn + local.get $pn + call $~lib/rt/itcms/Object#get:next + local.set $iter + loop $while-continue|0 + local.get $iter + local.get $pn + i32.ne + if + i32.const 1 + drop + local.get $iter + call $~lib/rt/itcms/Object#get:color + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 160 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $iter + i32.const 20 + i32.add + local.get $cookie + call $~lib/rt/__visit_members + local.get $iter + call $~lib/rt/itcms/Object#get:next + local.set $iter + br $while-continue|0 + end + end + ) + (func $~lib/rt/itcms/Object#set:color (param $this i32) (param $color i32) + local.get $this + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $color + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) + local.get $this + local.get $obj + local.get $this + call $~lib/rt/itcms/Object#get:nextWithColor + i32.const 3 + i32.and + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + ) + (func $~lib/rt/itcms/Object#unlink (param $this i32) + (local $next i32) + (local $prev i32) + local.get $this + call $~lib/rt/itcms/Object#get:next + local.set $next + local.get $next + i32.const 0 + i32.eq + if + i32.const 1 + drop + local.get $this + call $~lib/rt/itcms/Object#get:prev + i32.const 0 + i32.eq + if (result i32) + local.get $this + global.get $~lib/memory/__heap_base + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + return + end + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.set $prev + i32.const 1 + drop + local.get $prev + i32.eqz + if + i32.const 0 + i32.const 368 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $next + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $next + call $~lib/rt/itcms/Object#set:next + ) + (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) + local.get $this + i32.load offset=12 + ) + (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/__typeinfo (param $id i32) (result i32) + (local $ptr i32) + global.get $~lib/rt/__rtti_base + local.set $ptr + local.get $id + local.get $ptr + i32.load + i32.gt_u + if + i32.const 496 + i32.const 560 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $ptr + i32.const 4 + i32.add + local.get $id + i32.const 4 + i32.mul + i32.add + call $~lib/shared/typeinfo/Typeinfo#get:flags + return + ) + (func $~lib/rt/itcms/Object#get:isPointerfree (param $this i32) (result i32) + (local $rtId i32) + local.get $this + call $~lib/rt/itcms/Object#get:rtId + local.set $rtId + local.get $rtId + i32.const 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $rtId + call $~lib/rt/__typeinfo + i32.const 32 + i32.and + i32.const 0 + i32.ne + end + return + ) + (func $~lib/rt/itcms/Object#linkTo (param $this i32) (param $list i32) (param $withColor i32) + (local $prev i32) + local.get $list + call $~lib/rt/itcms/Object#get:prev + local.set $prev + local.get $this + local.get $list + local.get $withColor + i32.or + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $this + local.get $prev + call $~lib/rt/itcms/Object#set:prev + local.get $prev + local.get $this + call $~lib/rt/itcms/Object#set:next + local.get $list + local.get $this + call $~lib/rt/itcms/Object#set:prev + ) + (func $~lib/rt/itcms/Object#makeGray (param $this i32) + (local $1 i32) + local.get $this + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $this + call $~lib/rt/itcms/Object#get:prev + local.tee $1 + i32.eqz + if (result i32) + i32.const 0 + i32.const 368 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + else + local.get $1 + end + global.set $~lib/rt/itcms/iter + end + local.get $this + call $~lib/rt/itcms/Object#unlink + local.get $this + global.get $~lib/rt/itcms/toSpace + local.get $this + 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 $ptr i32) (param $cookie i32) + (local $obj i32) + local.get $ptr + i32.eqz + if + return + end + local.get $ptr + i32.const 20 + i32.sub + local.set $obj + i32.const 0 + drop + local.get $obj + call $~lib/rt/itcms/Object#get:color + global.get $~lib/rt/itcms/white + i32.eq + if + local.get $obj + 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 $cookie i32) + (local $ptr i32) + global.get $~lib/memory/__stack_pointer + local.set $ptr + loop $while-continue|0 + local.get $ptr + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $ptr + i32.load + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + br $while-continue|0 + end + end + ) + (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) + i32.const 4 + local.get $this + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + return + ) + (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) + local.get $this + local.get $flMap + i32.store + ) + (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) + local.get $this + local.get $mmInfo + i32.store + ) + (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) + local.get $this + local.get $prev + i32.store offset=4 + ) + (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) + local.get $this + local.get $next + i32.store offset=8 + ) + (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) + local.get $this + i32.load offset=4 + ) + (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) + local.get $this + i32.load offset=8 + ) + (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) + (local $blockInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $6 i32) + (local $7 i32) + (local $boundedSize i32) + (local $prev i32) + (local $next i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $root|14 i32) + (local $fl|15 i32) + (local $sl|16 i32) + (local $head i32) + (local $root|18 i32) + (local $fl|19 i32) + (local $slMap i32) + (local $root|21 i32) + (local $fl|22 i32) + (local $slMap|23 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $6 + i32.const 1073741820 + local.tee $7 + local.get $6 + local.get $7 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 284 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/tlsf/Block#get:prev + local.set $prev + local.get $block + call $~lib/rt/tlsf/Block#get:next + local.set $next + local.get $prev + if + local.get $prev + local.get $next + call $~lib/rt/tlsf/Block#set:next + end + local.get $next + if + local.get $next + local.get $prev + call $~lib/rt/tlsf/Block#set:prev + end + local.get $block + block $~lib/rt/tlsf/GETHEAD|inlined.0 (result i32) + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.0 + end + i32.eq + if + local.get $root + local.set $root|14 + local.get $fl + local.set $fl|15 + local.get $sl + local.set $sl|16 + local.get $next + local.set $head + local.get $root|14 + local.get $fl|15 + i32.const 4 + i32.shl + local.get $sl|16 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $next + i32.eqz + if + block $~lib/rt/tlsf/GETSL|inlined.0 (result i32) + local.get $root + local.set $root|18 + local.get $fl + local.set $fl|19 + local.get $root|18 + local.get $fl|19 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.0 + end + local.set $slMap + local.get $root + local.set $root|21 + local.get $fl + local.set $fl|22 + local.get $slMap + i32.const 1 + local.get $sl + i32.shl + i32.const -1 + i32.xor + i32.and + local.tee $slMap + local.set $slMap|23 + local.get $root|21 + local.get $fl|22 + i32.const 2 + i32.shl + i32.add + local.get $slMap|23 + i32.store offset=4 + local.get $slMap + i32.eqz + if + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + 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 $root i32) (param $block i32) + (local $blockInfo i32) + (local $block|3 i32) + (local $right i32) + (local $rightInfo i32) + (local $block|6 i32) + (local $block|7 i32) + (local $left i32) + (local $leftInfo i32) + (local $size i32) + (local $fl i32) + (local $sl i32) + (local $13 i32) + (local $14 i32) + (local $boundedSize i32) + (local $root|16 i32) + (local $fl|17 i32) + (local $sl|18 i32) + (local $head i32) + (local $root|20 i32) + (local $fl|21 i32) + (local $sl|22 i32) + (local $head|23 i32) + (local $root|24 i32) + (local $fl|25 i32) + (local $root|26 i32) + (local $fl|27 i32) + (local $slMap i32) + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 201 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $blockInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 203 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETRIGHT|inlined.0 (result i32) + local.get $block + local.set $block|3 + local.get $block|3 + i32.const 4 + i32.add + local.get $block|3 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.0 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + local.get $rightInfo + i32.const 1 + i32.and + if + local.get $root + local.get $right + call $~lib/rt/tlsf/removeBlock + local.get $block + local.get $blockInfo + i32.const 4 + i32.add + local.get $rightInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.1 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.1 + end + local.set $right + local.get $right + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $rightInfo + end + local.get $blockInfo + i32.const 2 + i32.and + if + block $~lib/rt/tlsf/GETFREELEFT|inlined.0 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.sub + i32.load + br $~lib/rt/tlsf/GETFREELEFT|inlined.0 + end + local.set $left + local.get $left + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $leftInfo + i32.const 1 + drop + local.get $leftInfo + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 221 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $left + call $~lib/rt/tlsf/removeBlock + local.get $left + local.set $block + local.get $block + local.get $leftInfo + i32.const 4 + i32.add + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + local.tee $blockInfo + call $~lib/rt/common/BLOCK#set:mmInfo + end + local.get $right + local.get $rightInfo + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.set $size + i32.const 1 + drop + local.get $size + i32.const 12 + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + drop + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.get $right + i32.eq + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 234 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $right + i32.const 4 + i32.sub + local.get $block + i32.store + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + local.tee $13 + i32.const 1073741820 + local.tee $14 + local.get $13 + local.get $14 + i32.lt_u + select + local.set $boundedSize + i32.const 31 + local.get $boundedSize + i32.clz + i32.sub + local.set $fl + local.get $boundedSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.1 (result i32) + local.get $root + local.set $root|16 + local.get $fl + local.set $fl|17 + local.get $sl + local.set $sl|18 + local.get $root|16 + local.get $fl|17 + i32.const 4 + i32.shl + local.get $sl|18 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.1 + end + local.set $head + local.get $block + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $block + local.get $head + call $~lib/rt/tlsf/Block#set:next + local.get $head + if + local.get $head + local.get $block + call $~lib/rt/tlsf/Block#set:prev + end + local.get $root + local.set $root|20 + local.get $fl + local.set $fl|21 + local.get $sl + local.set $sl|22 + local.get $block + local.set $head|23 + local.get $root|20 + local.get $fl|21 + i32.const 4 + i32.shl + local.get $sl|22 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head|23 + i32.store offset=96 + local.get $root + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 1 + local.get $fl + i32.shl + i32.or + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|26 + local.get $fl + local.set $fl|27 + block $~lib/rt/tlsf/GETSL|inlined.1 (result i32) + local.get $root + local.set $root|24 + local.get $fl + local.set $fl|25 + local.get $root|24 + local.get $fl|25 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.1 + end + i32.const 1 + local.get $sl + i32.shl + i32.or + local.set $slMap + local.get $root|26 + local.get $fl|27 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + ) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) + (local $tail i32) + (local $tailInfo i32) + (local $size i32) + (local $leftSize i32) + (local $left i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end + i32.const 1 + drop + local.get $start + i64.extend_i32_u + local.get $endU64 + i64.le_u + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 382 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $start + 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 $start + local.get $end + i32.const 15 + i32.const -1 + i32.xor + i32.and + local.set $end + block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) + local.get $root + local.set $root|4 + local.get $root|4 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.0 + end + local.set $tail + i32.const 0 + local.set $tailInfo + local.get $tail + if + i32.const 1 + drop + local.get $start + local.get $tail + i32.const 4 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $start + i32.const 16 + i32.sub + local.get $tail + i32.eq + if + local.get $start + i32.const 16 + i32.sub + local.set $start + local.get $tail + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $tailInfo + else + end + else + i32.const 1 + drop + local.get $start + local.get $root + i32.const 1572 + i32.add + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $end + local.get $start + i32.sub + local.set $size + local.get $size + i32.const 4 + i32.const 12 + i32.add + i32.const 4 + i32.add + i32.lt_u + if + i32.const 0 + return + end + local.get $size + i32.const 2 + i32.const 4 + i32.mul + i32.sub + local.set $leftSize + local.get $start + local.set $left + local.get $left + local.get $leftSize + i32.const 1 + i32.or + local.get $tailInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:prev + local.get $left + i32.const 0 + call $~lib/rt/tlsf/Block#set:next + local.get $start + i32.const 4 + i32.add + local.get $leftSize + i32.add + local.set $tail + local.get $tail + i32.const 0 + i32.const 2 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.set $root|10 + local.get $tail + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 + local.get $root + local.get $left + call $~lib/rt/tlsf/insertBlock + i32.const 1 + return + ) + (func $~lib/rt/tlsf/initialize + (local $rootOffset i32) + (local $pagesBefore i32) + (local $pagesNeeded i32) + (local $root i32) + (local $root|4 i32) + (local $tail i32) + (local $fl i32) + (local $root|7 i32) + (local $fl|8 i32) + (local $slMap i32) + (local $sl i32) + (local $root|11 i32) + (local $fl|12 i32) + (local $sl|13 i32) + (local $head i32) + (local $memStart 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 $rootOffset + memory.size + local.set $pagesBefore + local.get $rootOffset + 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 $pagesNeeded + local.get $pagesNeeded + local.get $pagesBefore + i32.gt_s + if (result i32) + local.get $pagesNeeded + local.get $pagesBefore + i32.sub + memory.grow + i32.const 0 + i32.lt_s + else + i32.const 0 + end + if + unreachable + end + local.get $rootOffset + local.set $root + local.get $root + i32.const 0 + call $~lib/rt/tlsf/Root#set:flMap + local.get $root + local.set $root|4 + i32.const 0 + local.set $tail + local.get $root|4 + local.get $tail + i32.store offset=1568 + i32.const 0 + local.set $fl + loop $for-loop|0 + local.get $fl + i32.const 23 + i32.lt_u + if + local.get $root + local.set $root|7 + local.get $fl + local.set $fl|8 + i32.const 0 + local.set $slMap + local.get $root|7 + local.get $fl|8 + i32.const 2 + i32.shl + i32.add + local.get $slMap + i32.store offset=4 + i32.const 0 + local.set $sl + loop $for-loop|1 + local.get $sl + i32.const 16 + i32.lt_u + if + local.get $root + local.set $root|11 + local.get $fl + local.set $fl|12 + local.get $sl + local.set $sl|13 + i32.const 0 + local.set $head + local.get $root|11 + local.get $fl|12 + i32.const 4 + i32.shl + local.get $sl|13 + i32.add + i32.const 2 + i32.shl + i32.add + local.get $head + i32.store offset=96 + local.get $sl + i32.const 1 + i32.add + local.set $sl + br $for-loop|1 + end + end + local.get $fl + i32.const 1 + i32.add + local.set $fl + br $for-loop|0 + end + end + local.get $rootOffset + i32.const 1572 + i32.add + local.set $memStart + i32.const 0 + drop + local.get $root + local.get $memStart + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + local.get $root + global.set $~lib/rt/tlsf/ROOT + ) + (func $~lib/rt/tlsf/checkUsedBlock (param $ptr i32) (result i32) + (local $block i32) + local.get $ptr + i32.const 4 + i32.sub + local.set $block + local.get $ptr + i32.const 0 + i32.ne + if (result i32) + local.get $ptr + i32.const 15 + i32.and + i32.eqz + else + i32.const 0 + end + if (result i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.and + i32.eqz + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 562 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $block + return + ) + (func $~lib/rt/tlsf/freeBlock (param $root i32) (param $block i32) + i32.const 0 + drop + local.get $block + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $block + call $~lib/rt/tlsf/insertBlock + ) + (func $~lib/rt/tlsf/__free (param $ptr i32) + local.get $ptr + 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 $ptr + call $~lib/rt/tlsf/checkUsedBlock + call $~lib/rt/tlsf/freeBlock + ) + (func $~lib/rt/itcms/free (param $obj i32) + local.get $obj + global.get $~lib/memory/__heap_base + i32.lt_u + if + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:nextWithColor + local.get $obj + i32.const 0 + call $~lib/rt/itcms/Object#set:prev + else + global.get $~lib/rt/itcms/total + local.get $obj + call $~lib/rt/itcms/Object#get:size + i32.sub + global.set $~lib/rt/itcms/total + i32.const 0 + drop + local.get $obj + i32.const 4 + i32.add + call $~lib/rt/tlsf/__free + end + ) + (func $~lib/rt/itcms/step (result i32) + (local $obj i32) + (local $1 i32) + (local $black i32) + (local $from 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 $black + global.get $~lib/rt/itcms/iter + call $~lib/rt/itcms/Object#get:next + local.set $obj + loop $while-continue|1 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + global.set $~lib/rt/itcms/iter + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + i32.const 0 + global.set $~lib/rt/itcms/visitCount + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + 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 $obj + local.get $obj + 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 $obj + loop $while-continue|2 + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:color + local.get $black + i32.ne + if + local.get $obj + local.get $black + call $~lib/rt/itcms/Object#set:color + local.get $obj + i32.const 20 + i32.add + i32.const 0 + call $~lib/rt/__visit_members + end + local.get $obj + call $~lib/rt/itcms/Object#get:next + local.set $obj + br $while-continue|2 + end + end + global.get $~lib/rt/itcms/fromSpace + local.set $from + global.get $~lib/rt/itcms/toSpace + global.set $~lib/rt/itcms/fromSpace + local.get $from + global.set $~lib/rt/itcms/toSpace + local.get $black + global.set $~lib/rt/itcms/white + local.get $from + 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 $obj + local.get $obj + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $obj + call $~lib/rt/itcms/Object#get:next + global.set $~lib/rt/itcms/iter + i32.const 1 + drop + local.get $obj + 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 368 + i32.const 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $obj + 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 + return + ) + (func $~lib/rt/itcms/interrupt + (local $budget 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 $budget + loop $do-loop|0 + local.get $budget + call $~lib/rt/itcms/step + i32.sub + local.set $budget + global.get $~lib/rt/itcms/state + i32.const 0 + i32.eq + if + i32.const 0 + drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + drop + global.get $~lib/rt/itcms/total + i32.const 200 + i32.const 100 + i32.div_u + i32.mul + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + return + end + local.get $budget + 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 $size i32) (result i32) + local.get $size + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $size + 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 + return + ) + (func $~lib/rt/tlsf/prepareSize (param $size i32) (result i32) + local.get $size + i32.const 1073741820 + i32.gt_u + if + i32.const 304 + i32.const 640 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $size + call $~lib/rt/tlsf/computeSize + return + ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) + (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) + (local $fl i32) + (local $sl i32) + (local $requestSize i32) + (local $root|5 i32) + (local $fl|6 i32) + (local $slMap i32) + (local $head i32) + (local $flMap i32) + (local $root|10 i32) + (local $fl|11 i32) + (local $root|12 i32) + (local $fl|13 i32) + (local $sl|14 i32) + (local $root|15 i32) + (local $fl|16 i32) + (local $sl|17 i32) + local.get $size + i32.const 256 + i32.lt_u + if + i32.const 0 + local.set $fl + local.get $size + i32.const 4 + i32.shr_u + local.set $sl + else + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $requestSize + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub + local.get $requestSize + i32.clz + i32.sub + local.set $fl + local.get $requestSize + local.get $fl + i32.const 4 + i32.sub + i32.shr_u + i32.const 1 + i32.const 4 + i32.shl + i32.xor + local.set $sl + local.get $fl + i32.const 8 + i32.const 1 + i32.sub + i32.sub + local.set $fl + end + i32.const 1 + drop + local.get $fl + i32.const 23 + i32.lt_u + if (result i32) + local.get $sl + i32.const 16 + i32.lt_u + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 334 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETSL|inlined.2 (result i32) + local.get $root + local.set $root|5 + local.get $fl + local.set $fl|6 + local.get $root|5 + local.get $fl|6 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.2 + end + i32.const 0 + i32.const -1 + i32.xor + local.get $sl + i32.shl + i32.and + local.set $slMap + i32.const 0 + local.set $head + local.get $slMap + i32.eqz + if + local.get $root + call $~lib/rt/tlsf/Root#get:flMap + i32.const 0 + i32.const -1 + i32.xor + local.get $fl + i32.const 1 + i32.add + i32.shl + i32.and + local.set $flMap + local.get $flMap + i32.eqz + if + i32.const 0 + local.set $head + else + local.get $flMap + i32.ctz + local.set $fl + block $~lib/rt/tlsf/GETSL|inlined.3 (result i32) + local.get $root + local.set $root|10 + local.get $fl + local.set $fl|11 + local.get $root|10 + local.get $fl|11 + i32.const 2 + i32.shl + i32.add + i32.load offset=4 + br $~lib/rt/tlsf/GETSL|inlined.3 + end + local.set $slMap + i32.const 1 + drop + local.get $slMap + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 347 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + block $~lib/rt/tlsf/GETHEAD|inlined.2 (result i32) + local.get $root + local.set $root|12 + local.get $fl + local.set $fl|13 + local.get $slMap + i32.ctz + local.set $sl|14 + local.get $root|12 + local.get $fl|13 + i32.const 4 + i32.shl + local.get $sl|14 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.2 + end + local.set $head + end + else + block $~lib/rt/tlsf/GETHEAD|inlined.3 (result i32) + local.get $root + local.set $root|15 + local.get $fl + local.set $fl|16 + local.get $slMap + i32.ctz + local.set $sl|17 + local.get $root|15 + local.get $fl|16 + i32.const 4 + i32.shl + local.get $sl|17 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load offset=96 + br $~lib/rt/tlsf/GETHEAD|inlined.3 + end + local.set $head + end + local.get $head + return + ) + (func $~lib/rt/tlsf/growMemory (param $root i32) (param $size i32) + (local $pagesBefore i32) + (local $root|3 i32) + (local $pagesNeeded i32) + (local $5 i32) + (local $6 i32) + (local $pagesWanted i32) + (local $pagesAfter i32) + i32.const 0 + drop + local.get $size + i32.const 256 + i32.ge_u + if + local.get $size + call $~lib/rt/tlsf/roundSize + local.set $size + end + memory.size + local.set $pagesBefore + local.get $size + i32.const 4 + local.get $pagesBefore + i32.const 16 + i32.shl + i32.const 4 + i32.sub + block $~lib/rt/tlsf/GETTAIL|inlined.1 (result i32) + local.get $root + local.set $root|3 + local.get $root|3 + i32.load offset=1568 + br $~lib/rt/tlsf/GETTAIL|inlined.1 + end + i32.ne + i32.shl + i32.add + local.set $size + local.get $size + i32.const 65535 + i32.add + i32.const 65535 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.shr_u + local.set $pagesNeeded + local.get $pagesBefore + local.tee $5 + local.get $pagesNeeded + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $pagesWanted + local.get $pagesWanted + memory.grow + i32.const 0 + i32.lt_s + if + local.get $pagesNeeded + memory.grow + i32.const 0 + i32.lt_s + if + unreachable + end + end + memory.size + local.set $pagesAfter + local.get $root + local.get $pagesBefore + i32.const 16 + i32.shl + local.get $pagesAfter + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + drop + ) + (func $~lib/rt/tlsf/prepareBlock (param $root i32) (param $block i32) (param $size i32) + (local $blockInfo i32) + (local $remaining i32) + (local $spare i32) + (local $block|6 i32) + (local $block|7 i32) + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + local.set $blockInfo + i32.const 1 + drop + local.get $size + i32.const 4 + i32.add + i32.const 15 + i32.and + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $blockInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $size + i32.sub + local.set $remaining + local.get $remaining + i32.const 4 + i32.const 12 + i32.add + i32.ge_u + if + local.get $block + local.get $size + local.get $blockInfo + i32.const 2 + i32.and + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $block + i32.const 4 + i32.add + local.get $size + i32.add + local.set $spare + local.get $spare + local.get $remaining + i32.const 4 + i32.sub + i32.const 1 + i32.or + call $~lib/rt/common/BLOCK#set:mmInfo + local.get $root + local.get $spare + call $~lib/rt/tlsf/insertBlock + else + local.get $block + local.get $blockInfo + i32.const 1 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + block $~lib/rt/tlsf/GETRIGHT|inlined.3 (result i32) + local.get $block + local.set $block|7 + local.get $block|7 + i32.const 4 + i32.add + local.get $block|7 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.3 + end + block $~lib/rt/tlsf/GETRIGHT|inlined.2 (result i32) + local.get $block + local.set $block|6 + local.get $block|6 + i32.const 4 + i32.add + local.get $block|6 + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.add + br $~lib/rt/tlsf/GETRIGHT|inlined.2 + end + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 2 + i32.const -1 + i32.xor + i32.and + call $~lib/rt/common/BLOCK#set:mmInfo + end + ) + (func $~lib/rt/tlsf/allocateBlock (param $root i32) (param $size i32) (result i32) + (local $payloadSize i32) + (local $block i32) + local.get $size + call $~lib/rt/tlsf/prepareSize + local.set $payloadSize + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + local.get $block + i32.eqz + if + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/growMemory + local.get $root + local.get $payloadSize + call $~lib/rt/tlsf/searchBlock + local.set $block + i32.const 1 + drop + local.get $block + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + i32.const 1 + drop + local.get $block + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + local.get $payloadSize + i32.ge_u + i32.eqz + if + i32.const 0 + i32.const 640 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $root + local.get $block + call $~lib/rt/tlsf/removeBlock + local.get $root + local.get $block + local.get $payloadSize + call $~lib/rt/tlsf/prepareBlock + i32.const 0 + drop + local.get $block + return + ) + (func $~lib/rt/tlsf/__alloc (param $size 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 $size + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + return + ) + (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) + local.get $this + local.get $rtId + i32.store offset=12 + ) + (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) + local.get $this + local.get $rtSize + i32.store offset=16 + ) + (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) + (local $obj i32) + (local $ptr i32) + local.get $size + i32.const 1073741804 + i32.ge_u + if + i32.const 304 + i32.const 368 + i32.const 261 + 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 $size + i32.add + call $~lib/rt/tlsf/__alloc + i32.const 4 + i32.sub + local.set $obj + local.get $obj + local.get $id + call $~lib/rt/itcms/Object#set:rtId + local.get $obj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $obj + 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 $obj + call $~lib/rt/itcms/Object#get:size + i32.add + global.set $~lib/rt/itcms/total + local.get $obj + i32.const 20 + i32.add + local.set $ptr + local.get $ptr + i32.const 0 + local.get $size + memory.fill + local.get $ptr + return + ) + (func $switch/doSwitchBoolean (param $b i32) (result i32) + (local $1 i32) + block $break|0 + block $case1|0 + block $case0|0 + local.get $b + local.set $1 + local.get $1 + i32.const 0 + i32.ne + i32.const 1 + i32.eq + br_if $case0|0 + local.get $1 + i32.const 0 + i32.ne + i32.const 0 + i32.eq + br_if $case1|0 + br $break|0 + end + i32.const 1 + return + end + i32.const 2 + return + end + i32.const 0 + return + ) + (func $switch/doSwitchUInt32 (param $n i32) (result i32) + (local $1 i32) + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $n + local.set $1 + local.get $1 + i32.const 1 + i32.eq + br_if $case0|0 + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + local.get $1 + i32.const 3 + i32.eq + br_if $case2|0 + br $case3|0 + end + i32.const 1 + return + end + i32.const 2 + return + end + i32.const 3 + return + end + i32.const 0 + return + ) + (func $switch/doSwitchEnum (param $n i32) (result i32) + (local $1 i32) + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $n + local.set $1 + local.get $1 + global.get $switch/Foo.A + i32.eq + br_if $case0|0 + local.get $1 + global.get $switch/Foo.B + i32.eq + br_if $case1|0 + local.get $1 + global.get $switch/Foo.C + i32.eq + br_if $case2|0 + br $case3|0 + end + i32.const 1 + return + end + i32.const 2 + return + end + i32.const 3 + return + end + i32.const 0 + return + ) + (func $switch/doSwitchUint8 (param $n i32) (result i32) + (local $1 i32) + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $n + local.set $1 + local.get $1 + i32.const 255 + i32.and + i32.const 1 + i32.eq + br_if $case0|0 + local.get $1 + i32.const 255 + i32.and + i32.const 2 + i32.eq + br_if $case1|0 + local.get $1 + i32.const 255 + i32.and + i32.const 3 + i32.eq + br_if $case2|0 + br $case3|0 + end + i32.const 1 + return + end + i32.const 2 + return + end + i32.const 3 + return + end + i32.const 0 + return + ) + (func $switch/doSwitchFloat (param $n f32) (result i32) + (local $1 f32) + block $case2|0 + block $case1|0 + block $case0|0 + local.get $n + local.set $1 + local.get $1 + f32.const 1 + f32.eq + br_if $case0|0 + local.get $1 + f32.const 2 + f32.eq + br_if $case1|0 + br $case2|0 + end + i32.const 1 + return + end + i32.const 2 + return + end + i32.const 0 + return + ) + (func $switch/doSwitchInt64 (param $n i64) (result i32) + (local $1 i64) + block $case2|0 + block $case1|0 + block $case0|0 + local.get $n + local.set $1 + local.get $1 + i64.const 1 + i64.eq + br_if $case0|0 + local.get $1 + i64.const 2 + i64.eq + br_if $case1|0 + br $case2|0 + end + i32.const 1 + return + end + i32.const 2 + return + end + i32.const 0 + return + ) + (func $switch/doSwitchUInt64 (param $n i64) (result i32) + (local $1 i64) + block $case2|0 + block $case1|0 + block $case0|0 + local.get $n + local.set $1 + local.get $1 + i64.const 1 + i64.eq + br_if $case0|0 + local.get $1 + i64.const 2 + i64.eq + br_if $case1|0 + br $case2|0 + end + i32.const 1 + return + end + i32.const 2 + return + end + i32.const 0 + return + ) + (func $switch/FooClass#set:value (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store + ) + (func $switch/FooClass#get:value (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $switch/BarClass#get:value (param $this i32) (result i32) + local.get $this + i32.load + ) + (func $switch/BarClass#set:value (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store + ) + (func $~lib/rt/__visit_globals (param $0 i32) + (local $1 i32) + global.get $switch/foo1 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $switch/foo2 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 496 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 304 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load + local.get $1 + call $~lib/rt/itcms/__visit + ) + (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) + ) + (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) + block $invalid + block $switch/BarClass + block $switch/FooClass + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $switch/FooClass $switch/BarClass $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + return + end + unreachable + ) + (func $~start + call $start:switch + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33728 + i32.const 33776 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/string/String.__eq (param $left i32) (param $right i32) (result i32) + (local $leftLength i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $left + local.get $right + i32.eq + if + i32.const 1 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + i32.const 0 + i32.eq + end + if + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + call $~lib/util/string/compareImpl + i32.eqz + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $switch/doSwitchString (param $s i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + global.get $~lib/memory/__stack_pointer + local.get $s + local.tee $1 + i32.store + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 80 + call $~lib/string/String.__eq + br_if $case0|0 + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 112 + call $~lib/string/String.__eq + br_if $case1|0 + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 144 + call $~lib/string/String.__eq + br_if $case2|0 + br $case3|0 + end + i32.const 1 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 2 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 3 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 4 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/string/String#concat (param $this i32) (param $other i32) (result i32) + (local $thisSize i32) + (local $otherSize i32) + (local $outSize i32) + (local $out i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $thisSize + local.get $other + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $otherSize + local.get $thisSize + local.get $otherSize + i32.add + local.set $outSize + local.get $outSize + i32.const 0 + i32.eq + if + i32.const 272 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + end + global.get $~lib/memory/__stack_pointer + local.get $outSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store offset=4 + local.get $out + local.get $this + local.get $thisSize + memory.copy + local.get $out + local.get $thisSize + i32.add + local.get $other + local.get $otherSize + memory.copy + local.get $out + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/string/String.__concat (param $left i32) (param $right i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + call $~lib/string/String#concat + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $switch/doSwitchNullableString (param $s i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + global.get $~lib/memory/__stack_pointer + local.get $s + local.tee $1 + i32.store + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $~lib/string/String.__eq + br_if $case0|0 + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 80 + call $~lib/string/String.__eq + br_if $case1|0 + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 112 + call $~lib/string/String.__eq + br_if $case2|0 + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 144 + call $~lib/string/String.__eq + br_if $case3|0 + br $case4|0 + end + i32.const 0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 1 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 2 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 3 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 4 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $switch/FooClass#constructor (param $this i32) (param $value i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $switch/FooClass#set:value + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $value + call $switch/FooClass#set:value + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $switch/doSwitchClassMember (param $foo i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $case2|0 + block $case1|0 + block $case0|0 + local.get $foo + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $switch/FooClass#get:value + local.set $1 + local.get $1 + i32.const 1 + i32.eq + br_if $case0|0 + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $case2|0 + end + i32.const 1 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 2 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 3 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $switch/BarClass.__eq (param $left i32) (param $right 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 $left + local.get $right + i32.eq + if + i32.const 1 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + local.get $left + i32.eqz + if (result i32) + i32.const 1 + else + local.get $right + i32.eqz + end + if + i32.const 0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $switch/BarClass#get:value + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store + local.get $2 + call $switch/BarClass#get:value + i32.eq + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $switch/BarClass#constructor (param $this i32) (param $value i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $switch/BarClass#set:value + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + local.get $value + call $switch/BarClass#set:value + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $switch/doSwitchClassInstanceWithOverload (param $foo i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + global.get $~lib/memory/__stack_pointer + local.get $foo + local.tee $1 + i32.store + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + call $switch/BarClass.__eq + br_if $case0|0 + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $switch/BarClass#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + call $switch/BarClass.__eq + br_if $case1|0 + local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=4 + local.get $2 + i32.const 0 + i32.const 2 + call $switch/BarClass#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=8 + local.get $2 + call $switch/BarClass.__eq + br_if $case2|0 + br $case3|0 + end + i32.const 0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 1 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 2 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 3 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $start:switch + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + i32.const 0 + call $switch/doSwitch + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 10 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/doSwitch + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 11 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $switch/doSwitch + i32.const 23 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + call $switch/doSwitch + i32.const 23 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 13 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + call $switch/doSwitch + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 14 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchDefaultFirst + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 24 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/doSwitchDefaultFirst + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 25 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $switch/doSwitchDefaultFirst + i32.const 23 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 26 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + call $switch/doSwitchDefaultFirst + i32.const 23 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 27 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + call $switch/doSwitchDefaultFirst + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 28 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchDefaultOmitted + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 38 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/doSwitchDefaultOmitted + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 39 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $switch/doSwitchDefaultOmitted + i32.const 23 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 40 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + call $switch/doSwitchDefaultOmitted + i32.const 23 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 41 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + call $switch/doSwitchDefaultOmitted + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 42 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchBreakCase + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 51 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/doSwitchBreakCase + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 52 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $switch/doSwitchBreakCase + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 53 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchBreakDefault + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 62 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/doSwitchBreakDefault + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 63 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $switch/doSwitchBreakDefault + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 64 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchFallThroughCase + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 73 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/doSwitchFallThroughCase + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 74 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $switch/doSwitchFallThroughCase + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 75 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchFallThroughDefault + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 84 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/doSwitchFallThroughDefault + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 85 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $switch/doSwitchFallThroughDefault + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 86 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchEmpty + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 92 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/doSwitchEmpty + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 93 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $switch/doSwitchEmpty + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 94 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 80 + call $switch/doSwitchString + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 106 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 112 + call $switch/doSwitchString + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 107 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 144 + call $switch/doSwitchString + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 108 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 176 + call $switch/doSwitchString + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 109 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + memory.size + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 416 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 448 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 592 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + i32.const 208 + i32.const 240 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 704 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchString + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 112 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 736 + i32.const 768 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 208 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchString + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 113 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 736 + i32.const 800 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + i32.const 832 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 704 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 704 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchString + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 114 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 864 + i32.const 208 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 896 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 832 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchString + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 115 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $switch/doSwitch + call $switch/doSwitchNullableString i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 10 + i32.const 128 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 80 + call $switch/doSwitchNullableString i32.const 1 - call $switch/doSwitch + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 129 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 112 + call $switch/doSwitchNullableString + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 130 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 144 + call $switch/doSwitchNullableString + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 131 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 176 + call $switch/doSwitchNullableString + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 132 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 208 + i32.const 240 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 704 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchNullableString i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 11 + i32.const 135 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 736 + i32.const 768 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 208 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchNullableString i32.const 2 - call $switch/doSwitch - i32.const 23 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 12 + i32.const 136 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 736 + i32.const 800 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + i32.const 832 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 704 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 704 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchNullableString i32.const 3 - call $switch/doSwitch - i32.const 23 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 13 + i32.const 137 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 864 + i32.const 208 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 896 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 832 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchNullableString i32.const 4 - call $switch/doSwitch + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 138 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/doSwitchBoolean + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 148 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 0 + call $switch/doSwitchBoolean + i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 14 + i32.const 149 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 - call $switch/doSwitch + call $switch/doSwitchUInt32 i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 24 + i32.const 159 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1 - call $switch/doSwitch + call $switch/doSwitchUInt32 i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 25 + i32.const 160 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 2 - call $switch/doSwitch - i32.const 23 + call $switch/doSwitchUInt32 + i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 26 + i32.const 161 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 3 - call $switch/doSwitch - i32.const 23 + call $switch/doSwitchUInt32 + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 27 + i32.const 162 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 4 - call $switch/doSwitch + call $switch/doSwitchUInt32 i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 28 + i32.const 163 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $switch/Foo.A + call $switch/doSwitchEnum + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 180 i32.const 1 call $~lib/builtins/abort unreachable end + global.get $switch/Foo.B + call $switch/doSwitchEnum + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 181 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $switch/Foo.C + call $switch/doSwitchEnum + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 182 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $switch/Foo.D + call $switch/doSwitchEnum i32.const 0 - call $switch/doSwitchDefaultOmitted + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 183 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchUint8 i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 38 + i32.const 193 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 1 - call $switch/doSwitchDefaultOmitted + call $switch/doSwitchUint8 i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 39 + i32.const 194 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 2 - call $switch/doSwitchDefaultOmitted - i32.const 23 + call $switch/doSwitchUint8 + i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 40 + i32.const 195 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 3 - call $switch/doSwitchDefaultOmitted - i32.const 23 + call $switch/doSwitchUint8 + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 41 + i32.const 196 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 4 - call $switch/doSwitchDefaultOmitted + call $switch/doSwitchUint8 i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 42 + i32.const 197 i32.const 1 call $~lib/builtins/abort unreachable end + f32.const 0 + call $switch/doSwitchFloat i32.const 0 - call $switch/doSwitchBreakCase - i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 51 + i32.const 206 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - call $switch/doSwitchBreakCase + f32.const 1 + call $switch/doSwitchFloat i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 52 + i32.const 207 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2 - call $switch/doSwitchBreakCase + f32.const 2 + call $switch/doSwitchFloat i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 53 + i32.const 208 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const 0 + call $switch/doSwitchInt64 i32.const 0 - call $switch/doSwitchBreakDefault - i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 62 + i32.const 217 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - call $switch/doSwitchBreakDefault + i64.const 1 + call $switch/doSwitchInt64 i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 63 + i32.const 218 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2 - call $switch/doSwitchBreakDefault + i64.const 2 + call $switch/doSwitchInt64 i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 64 + i32.const 219 i32.const 1 call $~lib/builtins/abort unreachable end + i64.const 0 + call $switch/doSwitchUInt64 i32.const 0 - call $switch/doSwitchFallThroughCase + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 230 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + call $switch/doSwitchUInt64 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 231 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 2 + call $switch/doSwitchUInt64 i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 73 + i32.const 232 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 0 i32.const 1 - call $switch/doSwitchFallThroughCase + call $switch/FooClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassMember i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 74 + i32.const 251 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 0 i32.const 2 - call $switch/doSwitchFallThroughCase + call $switch/FooClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassMember i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 75 + i32.const 252 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 - call $switch/doSwitchFallThroughDefault - i32.const 2 + i32.const 3 + call $switch/FooClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassMember + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 84 + i32.const 253 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 0 i32.const 1 - call $switch/doSwitchFallThroughDefault + call $switch/FooClass#constructor + global.set $switch/foo1 + i32.const 0 + i32.const 2 + call $switch/FooClass#constructor + global.set $switch/foo2 + global.get $switch/foo1 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstance i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 85 + i32.const 266 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2 - call $switch/doSwitchFallThroughDefault + global.get $switch/foo2 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstance i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 86 + i32.const 267 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 - call $switch/doSwitchEmpty - i32.const 2 + i32.const 1 + call $switch/FooClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstance + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 92 + i32.const 268 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchClassInstanceWithOverload + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 293 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 0 + i32.const 1 + call $switch/BarClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstanceWithOverload i32.const 1 - call $switch/doSwitchEmpty - i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 93 + i32.const 294 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 0 i32.const 2 - call $switch/doSwitchEmpty + call $switch/BarClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstanceWithOverload i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 32 - i32.const 94 + i32.const 295 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 3 + call $switch/BarClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstanceWithOverload + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 296 i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~start - call $start:switch + (func $switch/doSwitchClassInstance (param $foo i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + block $case2|0 + block $case1|0 + block $case0|0 + global.get $~lib/memory/__stack_pointer + local.get $foo + local.tee $1 + i32.store + local.get $1 + global.get $switch/foo1 + i32.eq + br_if $case0|0 + local.get $1 + global.get $switch/foo2 + i32.eq + br_if $case1|0 + br $case2|0 + end + i32.const 1 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 2 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 3 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return ) ) diff --git a/tests/compiler/switch.release.wat b/tests/compiler/switch.release.wat index a9b8016d80..2b5172a5ea 100644 --- a/tests/compiler/switch.release.wat +++ b/tests/compiler/switch.release.wat @@ -1,6 +1,2969 @@ (module + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32) (result i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) + (type $7 (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 $switch/foo1 (mut i32) (i32.const 0)) + (global $switch/foo2 (mut i32) (i32.const 0)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34732)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\12\00\00\00s\00w\00i\00t\00c\00h\00.\00t\00s") + (data $1 (i32.const 1084) "\1c") + (data $1.1 (i32.const 1096) "\02\00\00\00\06\00\00\00o\00n\00e") + (data $2 (i32.const 1116) "\1c") + (data $2.1 (i32.const 1128) "\02\00\00\00\06\00\00\00t\00w\00o") + (data $3 (i32.const 1148) "\1c") + (data $3.1 (i32.const 1160) "\02\00\00\00\n\00\00\00t\00h\00r\00e\00e") + (data $4 (i32.const 1180) "\1c") + (data $4.1 (i32.const 1192) "\02\00\00\00\08\00\00\00f\00o\00u\00r") + (data $5 (i32.const 1212) "\1c") + (data $5.1 (i32.const 1224) "\02\00\00\00\02\00\00\00o") + (data $6 (i32.const 1244) "\1c") + (data $6.1 (i32.const 1256) "\02\00\00\00\02\00\00\00n") + (data $7 (i32.const 1276) "\1c") + (data $7.1 (i32.const 1288) "\02") + (data $8 (i32.const 1308) "<") + (data $8.1 (i32.const 1320) "\02\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 $9 (i32.const 1372) "<") + (data $9.1 (i32.const 1384) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $12 (i32.const 1500) "<") + (data $12.1 (i32.const 1512) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $13 (i32.const 1564) ",") + (data $13.1 (i32.const 1576) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $15 (i32.const 1644) "<") + (data $15.1 (i32.const 1656) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $16 (i32.const 1708) "\1c") + (data $16.1 (i32.const 1720) "\02\00\00\00\02\00\00\00e") + (data $17 (i32.const 1740) "\1c") + (data $17.1 (i32.const 1752) "\02\00\00\00\02\00\00\00t") + (data $18 (i32.const 1772) "\1c") + (data $18.1 (i32.const 1784) "\02\00\00\00\02\00\00\00w") + (data $19 (i32.const 1804) "\1c") + (data $19.1 (i32.const 1816) "\02\00\00\00\02\00\00\00h") + (data $20 (i32.const 1836) "\1c") + (data $20.1 (i32.const 1848) "\02\00\00\00\02\00\00\00r") + (data $21 (i32.const 1868) "\1c") + (data $21.1 (i32.const 1880) "\02\00\00\00\02\00\00\00f") + (data $22 (i32.const 1900) "\1c") + (data $22.1 (i32.const 1912) "\02\00\00\00\02\00\00\00u") + (data $23 (i32.const 1936) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 ") (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/itcms/visitRoots + (local $0 i32) + (local $1 i32) + global.get $switch/foo1 + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $switch/foo2 + local.tee $0 + if + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 1520 + call $~lib/rt/itcms/__visit + i32.const 1328 + call $~lib/rt/itcms/__visit + global.get $~lib/rt/itcms/pinSpace + local.tee $1 + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.ne + if + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1392 + i32.const 160 + 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/__visit (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + i32.eqz + if + return + end + global.get $~lib/rt/itcms/white + local.get $0 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $1 + global.get $~lib/rt/itcms/iter + i32.eq + if + local.get $1 + i32.load offset=8 + local.tee $0 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 148 + 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$186 + local.get $1 + i32.load offset=4 + i32.const -4 + i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34732 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$186 + end + local.get $1 + i32.load offset=8 + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 132 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1936 + i32.load + i32.gt_u + if + i32.const 1520 + i32.const 1584 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1940 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 + local.get $2 + i32.load offset=8 + local.set $0 + local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select + local.get $2 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 + i32.const 3 + i32.and + 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 + ) + (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 $3 + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + i32.const 1664 + i32.const 268 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const -4 + i32.and + local.tee $3 + i32.const 12 + i32.lt_u + if + i32.const 0 + i32.const 1664 + i32.const 270 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 256 + i32.lt_u + if (result i32) + local.get $3 + i32.const 4 + i32.shr_u + else + i32.const 31 + i32.const 1073741820 + local.get $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.clz + i32.sub + local.tee $4 + i32.const 7 + i32.sub + local.set $2 + local.get $3 + local.get $4 + i32.const 4 + i32.sub + i32.shr_u + i32.const 16 + i32.xor + end + local.tee $3 + 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 1664 + 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 $1 + local.get $0 + local.get $2 + i32.const 4 + i32.shl + local.get $3 + i32.add + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=96 + i32.eq + if + local.get $1 + local.get $5 + i32.store offset=96 + local.get $5 + i32.eqz + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load offset=4 + i32.const -2 + local.get $3 + i32.rotl + i32.and + local.set $3 + local.get $1 + local.get $3 + i32.store offset=4 + local.get $3 + i32.eqz + if + local.get $0 + local.get $0 + i32.load + i32.const -2 + local.get $2 + 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 1664 + 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 1664 + 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 1664 + 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 1664 + i32.const 233 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $1 + i32.const 4 + i32.add + local.get $2 + i32.add + i32.ne + if + i32.const 0 + i32.const 1664 + 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 + i32.const 1073741820 + local.get $2 + local.get $2 + i32.const 1073741820 + i32.ge_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 1664 + i32.const 251 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + i32.add + i32.const 2 + i32.shl + 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 $0 + local.get $5 + i32.const 4 + i32.shl + local.get $2 + 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 $5 + i32.shl + i32.or + i32.store + local.get $0 + local.get $5 + i32.const 2 + i32.shl + 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 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + local.get $2 + local.get $1 + i64.extend_i32_u + i64.lt_u + if + i32.const 0 + i32.const 1664 + i32.const 382 + 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 $3 + if + local.get $3 + i32.const 4 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1664 + i32.const 389 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + local.get $3 + local.get $1 + i32.const 16 + i32.sub + local.tee $5 + i32.eq + if + local.get $3 + i32.load + local.set $4 + local.get $5 + local.set $1 + end + else + local.get $0 + i32.const 1572 + i32.add + local.get $1 + i32.gt_u + if + i32.const 0 + i32.const 1664 + i32.const 402 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + end + local.get $2 + i32.wrap_i64 + i32.const -16 + i32.and + local.get $1 + i32.sub + local.tee $3 + i32.const 20 + i32.lt_u + if + return + end + local.get $1 + local.get $4 + i32.const 2 + i32.and + local.get $3 + i32.const 8 + i32.sub + local.tee $3 + 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 $1 + i32.const 4 + i32.add + local.get $3 + i32.add + local.tee $3 + i32.const 2 + i32.store + local.get $0 + local.get $3 + 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 34736 + i32.const 0 + i32.store + i32.const 36304 + 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 34736 + 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 $0 + i32.const 4 + i32.shl + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.const 34736 + 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 34736 + i32.const 36308 + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + i32.const 34736 + 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 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $0 + global.set $~lib/rt/itcms/iter + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 34732 + i32.lt_u + if + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + global.get $~lib/rt/itcms/iter + i32.load offset=4 + i32.const -4 + i32.and + local.set $0 + loop $while-continue|2 + local.get $0 + global.get $~lib/rt/itcms/toSpace + i32.ne + if + local.get $1 + local.get $0 + i32.load offset=4 + local.tee $2 + i32.const 3 + i32.and + i32.ne + if + local.get $0 + local.get $2 + i32.const -4 + i32.and + local.get $1 + 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 1392 + i32.const 229 + i32.const 20 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 34732 + 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 34732 + 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 1664 + i32.const 562 + 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 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 + i32.const 0 + global.set $~lib/rt/itcms/state + end + i32.const 0 + ) + (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 + 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.add + i32.const 1 + i32.sub + local.set $1 + end + local.get $1 + i32.const 31 + local.get $1 + i32.clz + i32.sub + local.tee $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 + local.get $2 + i32.const 23 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1664 + i32.const 334 + 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 1664 + i32.const 347 + 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/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 1328 + i32.const 1392 + i32.const 261 + 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$70 + 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 + i32.const 1 + i32.shl + i32.const 1024 + i32.add + global.set $~lib/rt/itcms/threshold + br $__inlined_func$~lib/rt/itcms/interrupt$70 + end + local.get $2 + i32.const 0 + i32.gt_s + br_if $do-loop|0 + end + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/total + global.get $~lib/rt/itcms/threshold + i32.sub + i32.const 1024 + i32.lt_u + i32.const 10 + i32.shl + i32.add + global.set $~lib/rt/itcms/threshold + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.set $4 + local.get $0 + i32.const 16 + i32.add + local.tee $2 + i32.const 1073741820 + i32.gt_u + if + i32.const 1328 + i32.const 1664 + i32.const 461 + i32.const 29 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + i32.const 12 + i32.le_u + if (result i32) + i32.const 12 + else + local.get $2 + i32.const 19 + i32.add + i32.const -16 + i32.and + i32.const 4 + i32.sub + end + local.tee $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + memory.size + local.tee $2 + local.get $5 + i32.const 256 + i32.ge_u + if (result i32) + local.get $5 + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1 + i32.const 27 + local.get $5 + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $5 + end + else + local.get $5 + end + i32.const 4 + local.get $4 + i32.load offset=1568 + local.get $2 + i32.const 16 + i32.shl + i32.const 4 + i32.sub + i32.ne + i32.shl + i32.add + i32.const 65535 + i32.add + i32.const -65536 + i32.and + i32.const 16 + i32.shr_u + local.tee $3 + local.get $2 + 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 $4 + local.get $2 + i32.const 16 + i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + call $~lib/rt/tlsf/addMemory + local.get $4 + local.get $5 + call $~lib/rt/tlsf/searchBlock + local.tee $2 + i32.eqz + if + i32.const 0 + i32.const 1664 + i32.const 499 + i32.const 16 + call $~lib/builtins/abort + unreachable + end + end + local.get $5 + local.get $2 + i32.load + i32.const -4 + i32.and + i32.gt_u + if + i32.const 0 + i32.const 1664 + i32.const 501 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $4 + local.get $2 + call $~lib/rt/tlsf/removeBlock + local.get $2 + i32.load + local.set $6 + local.get $5 + i32.const 4 + i32.add + i32.const 15 + i32.and + if + i32.const 0 + i32.const 1664 + i32.const 361 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + local.get $6 + i32.const -4 + i32.and + local.get $5 + i32.sub + local.tee $3 + i32.const 16 + i32.ge_u + if + local.get $2 + local.get $5 + local.get $6 + i32.const 2 + i32.and + i32.or + i32.store + local.get $2 + i32.const 4 + i32.add + local.get $5 + i32.add + local.tee $5 + local.get $3 + i32.const 4 + i32.sub + i32.const 1 + i32.or + i32.store + local.get $4 + local.get $5 + 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 + local.get $1 + global.get $~lib/rt/itcms/white + i32.or + i32.store offset=4 + local.get $2 + local.get $3 + i32.store offset=8 + local.get $3 + local.get $2 + local.get $3 + i32.load offset=4 + i32.const 3 + i32.and + 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 $1 + i32.const 0 + local.get $0 + memory.fill + local.get $1 + ) + (func $~lib/rt/__visit_members (param $0 i32) + block $invalid + block $switch/BarClass + block $switch/FooClass + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $switch/FooClass $switch/BarClass $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load + call $~lib/rt/itcms/__visit + return + end + return + end + return + end + unreachable + ) + (func $~start + call $start:switch + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + if + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + local.get $1 + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz + 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$76 + 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$76 + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.eqz + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $switch/doSwitchString (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + if + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + block $case3|0 + block $case2|0 + block $case1|0 + local.get $0 + i32.const 1104 + call $~lib/string/String.__eq + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1136 + call $~lib/string/String.__eq + br_if $case1|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1168 + call $~lib/string/String.__eq + br_if $case2|0 + br $case3|0 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 2 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 4 + ) + (func $~lib/string/String.__concat (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + local.tee $2 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const -2 + i32.and + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + block $__inlined_func$~lib/string/String#concat$191 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const -2 + i32.and + local.tee $4 + local.get $3 + i32.add + local.tee $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1296 + local.set $0 + br $__inlined_func$~lib/string/String#concat$191 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store offset=4 + local.get $0 + local.get $2 + local.get $3 + memory.copy + local.get $0 + local.get $3 + i32.add + local.get $1 + local.get $4 + memory.copy + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $switch/doSwitchNullableString (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + if + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + local.get $0 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1104 + call $~lib/string/String.__eq + br_if $case1|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1136 + call $~lib/string/String.__eq + br_if $case2|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1168 + call $~lib/string/String.__eq + br_if $case3|0 + br $case4|0 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 2 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 4 + ) + (func $switch/FooClass#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + if + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $switch/doSwitchClassMember (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + if + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + block $case2|0 + block $case1|0 + local.get $0 + i32.load + local.tee $0 + i32.const 1 + i32.ne + if + local.get $0 + i32.const 2 + i32.eq + br_if $case1|0 + br $case2|0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 2 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3 + ) + (func $switch/BarClass.__eq (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + if + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + local.get $0 + local.get $1 + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.load + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $1 + i32.load + i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $switch/BarClass#constructor (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + if + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $1 + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $switch/doSwitchClassInstanceWithOverload (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 + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + if + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + block $case3|0 + block $case2|0 + block $case1|0 + local.get $0 + i32.const 0 + call $switch/BarClass.__eq + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + i32.const 1 + call $switch/BarClass#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + call $switch/BarClass.__eq + br_if $case1|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + i32.const 2 + call $switch/BarClass#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $0 + local.get $1 + call $switch/BarClass.__eq + br_if $case2|0 + br $case3|0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 2 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3 + ) + (func $start:switch + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + if + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 + i32.const 1104 + call $switch/doSwitchString + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 106 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1136 + call $switch/doSwitchString + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 107 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1168 + call $switch/doSwitchString + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 108 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1200 + call $switch/doSwitchString + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 109 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + memory.size + i32.const 16 + i32.shl + i32.const 34732 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1444 + i32.const 1440 + i32.store + i32.const 1448 + i32.const 1440 + i32.store + i32.const 1440 + global.set $~lib/rt/itcms/pinSpace + i32.const 1476 + i32.const 1472 + i32.store + i32.const 1480 + i32.const 1472 + i32.store + i32.const 1472 + global.set $~lib/rt/itcms/toSpace + i32.const 1620 + i32.const 1616 + i32.store + i32.const 1624 + i32.const 1616 + i32.store + i32.const 1616 + global.set $~lib/rt/itcms/fromSpace + i32.const 1232 + i32.const 1264 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1728 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchString + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 112 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1760 + i32.const 1792 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1232 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchString + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 113 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1760 + i32.const 1824 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + i32.const 1856 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 1728 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1728 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchString + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 114 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1888 + i32.const 1232 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 1920 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1856 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchString + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 115 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchNullableString + if + i32.const 0 + i32.const 1056 + i32.const 128 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1104 + call $switch/doSwitchNullableString + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 129 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1136 + call $switch/doSwitchNullableString + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 130 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1168 + call $switch/doSwitchNullableString + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 131 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1200 + call $switch/doSwitchNullableString + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 132 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1232 + i32.const 1264 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1728 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchNullableString + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 135 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1760 + i32.const 1792 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1232 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchNullableString + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 136 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1760 + i32.const 1824 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=12 + local.get $0 + i32.const 1856 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 1728 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1728 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchNullableString + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 137 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1888 + i32.const 1232 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 1920 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 1856 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchNullableString + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 138 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/FooClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassMember + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 251 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $switch/FooClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassMember + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 252 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + call $switch/FooClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassMember + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 253 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/FooClass#constructor + global.set $switch/foo1 + i32.const 2 + call $switch/FooClass#constructor + global.set $switch/foo2 + global.get $~lib/memory/__stack_pointer + global.get $switch/foo1 + local.tee $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstance + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 266 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $switch/foo2 + local.tee $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstance + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 267 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/FooClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstance + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 268 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $switch/doSwitchClassInstanceWithOverload + if + i32.const 0 + i32.const 1056 + i32.const 293 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + call $switch/BarClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstanceWithOverload + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 294 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $switch/BarClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstanceWithOverload + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 295 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + call $switch/BarClass#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + call $switch/doSwitchClassInstanceWithOverload + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 296 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $switch/doSwitchClassInstance (param $0 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1964 + i32.lt_s + if + i32.const 34752 + i32.const 34800 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + block $case2|0 + block $case1|0 + global.get $switch/foo1 + local.get $0 + i32.ne + if + local.get $0 + global.get $switch/foo2 + i32.eq + br_if $case1|0 + br $case2|0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 2 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3 + ) ) diff --git a/tests/compiler/switch.ts b/tests/compiler/switch.ts index bd73eb7051..11167dc19f 100644 --- a/tests/compiler/switch.ts +++ b/tests/compiler/switch.ts @@ -21,11 +21,11 @@ function doSwitchDefaultFirst(n: i32): i32 { case 3: return 23; } } -assert(doSwitch(0) == 0); -assert(doSwitch(1) == 1); -assert(doSwitch(2) == 23); -assert(doSwitch(3) == 23); -assert(doSwitch(4) == 0); +assert(doSwitchDefaultFirst(0) == 0); +assert(doSwitchDefaultFirst(1) == 1); +assert(doSwitchDefaultFirst(2) == 23); +assert(doSwitchDefaultFirst(3) == 23); +assert(doSwitchDefaultFirst(4) == 0); function doSwitchDefaultOmitted(n: i32): i32 { switch (n) { @@ -92,3 +92,205 @@ function doSwitchEmpty(n: i32): i32 { assert(doSwitchEmpty(0) == 2); assert(doSwitchEmpty(1) == 2); assert(doSwitchEmpty(2) == 2); + +function doSwitchString(s: string): i32 { + switch (s) { + case "one": return 1; + case "two": return 2; + case "three": return 3; + default: return 4; + } +} + +// these will pass regardless of whether the comparison is done by value or reference +assert(doSwitchString("one") == 1); +assert(doSwitchString("two") == 2); +assert(doSwitchString("three") == 3); +assert(doSwitchString("four") == 4); + +// these would fail if the comparison was done by reference +assert(doSwitchString("o" + "n" + "e") == 1); +assert(doSwitchString("t" + "w" + "o") == 2); +assert(doSwitchString("t" + "h" + "r" + "e" + "e") == 3); +assert(doSwitchString("f" + "o" + "u" + "r") == 4); + +function doSwitchNullableString(s: string | null): i32 { + switch (s) { + case null: return 0; + case "one": return 1; + case "two": return 2; + case "three": return 3; + default: return 4; + } +} + +// these will pass regardless of whether the comparison is done by value or reference +assert(doSwitchNullableString(null) == 0); +assert(doSwitchNullableString("one") == 1); +assert(doSwitchNullableString("two") == 2); +assert(doSwitchNullableString("three") == 3); +assert(doSwitchNullableString("four") == 4); + +// these would fail if the comparison was done by reference +assert(doSwitchNullableString("o" + "n" + "e") == 1); +assert(doSwitchNullableString("t" + "w" + "o") == 2); +assert(doSwitchNullableString("t" + "h" + "r" + "e" + "e") == 3); +assert(doSwitchNullableString("f" + "o" + "u" + "r") == 4); + +function doSwitchBoolean(b: bool): i32 { + switch (b) { + case true: return 1; + case false: return 2; + } + return 0; +} + +assert(doSwitchBoolean(true) == 1); +assert(doSwitchBoolean(false) == 2); + +function doSwitchUInt32(n: u32): i32 { + switch (n) { + case 1: return 1; + case 2: return 2; + case 3: return 3; + default: return 0; + } +} +assert(doSwitchUInt32(0) == 0); +assert(doSwitchUInt32(1) == 1); +assert(doSwitchUInt32(2) == 2); +assert(doSwitchUInt32(3) == 3); +assert(doSwitchUInt32(4) == 0); + +enum Foo { + A = 1, + B = 2, + C = 3, + D = 4, +} + +function doSwitchEnum(n: Foo): i32 { + switch (n) { + case Foo.A: return 1; + case Foo.B: return 2; + case Foo.C: return 3; + default: return 0; + } +} +assert(doSwitchEnum(Foo.A) == 1); +assert(doSwitchEnum(Foo.B) == 2); +assert(doSwitchEnum(Foo.C) == 3); +assert(doSwitchEnum(Foo.D) == 0); + +function doSwitchUint8(n: u8): i32 { + switch (n) { + case 1: return 1; + case 2: return 2; + case 3: return 3; + default: return 0; + } +} +assert(doSwitchUint8(0) == 0); +assert(doSwitchUint8(1) == 1); +assert(doSwitchUint8(2) == 2); +assert(doSwitchUint8(3) == 3); +assert(doSwitchUint8(4) == 0); + +function doSwitchFloat(n: f32): i32 { + switch (n) { + case 1.0: return 1; + case 2.0: return 2; + default: return 0; + } +} +assert(doSwitchFloat(0.0) == 0); +assert(doSwitchFloat(1.0) == 1); +assert(doSwitchFloat(2.0) == 2); + +function doSwitchInt64(n: i64): i32 { + switch (n) { + case (1): return 1; + case (2): return 2; + default: return 0; + } +} +assert(doSwitchInt64(0) == 0); +assert(doSwitchInt64(1) == 1); +assert(doSwitchInt64(2) == 2); + +function doSwitchUInt64(n: u64): i32 { + const one: u64 = 1; + const two: u64 = 2; + switch (n) { + case one: return 1; + case two: return 2; + default: return 0; + } +} +assert(doSwitchUInt64(0) == 0); +assert(doSwitchUInt64(1) == 1); +assert(doSwitchUInt64(2) == 2); + + +// class members should switch like any other expression +class FooClass { + value: i32; + + constructor(value: i32) { + this.value = value; + } +} + +function doSwitchClassMember(foo: FooClass): i32 { + switch (foo.value) { + case 1: return 1; + case 2: return 2; + default: return 3; + } +} +assert(doSwitchClassMember(new FooClass(1)) == 1); +assert(doSwitchClassMember(new FooClass(2)) == 2); +assert(doSwitchClassMember(new FooClass(3)) == 3); + + +// class instances switch using reference equality by default +const foo1 = new FooClass(1); +const foo2 = new FooClass(2); +function doSwitchClassInstance(foo: FooClass): i32 { + switch (foo) { + case foo1: return 1; + case foo2: return 2; + default: return 3; + } +} +assert(doSwitchClassInstance(foo1) == 1); +assert(doSwitchClassInstance(foo2) == 2); +assert(doSwitchClassInstance(new FooClass(1)) == 3); + +// class instances can switch using value equality with an operator overload +class BarClass { + value: i32; + + constructor(value: i32) { + this.value = value; + } + + @operator("==") private static __eq(left: BarClass | null, right: BarClass | null): bool { + if (changetype(left) == changetype(right)) return true; + if (!left || !right) return false; + return left.value == right.value; + } +} + +function doSwitchClassInstanceWithOverload(foo: BarClass | null): i32 { + switch (foo) { + case null: return 0; + case new BarClass(1): return 1; + case new BarClass(2): return 2; + default: return 3; + } +} +assert(doSwitchClassInstanceWithOverload(null) == 0); +assert(doSwitchClassInstanceWithOverload(new BarClass(1)) == 1); +assert(doSwitchClassInstanceWithOverload(new BarClass(2)) == 2); +assert(doSwitchClassInstanceWithOverload(new BarClass(3)) == 3); diff --git a/tests/compiler/tablebase.debug.wat b/tests/compiler/tablebase.debug.wat index d5f3c80a3f..be867f2190 100644 --- a/tests/compiler/tablebase.debug.wat +++ b/tests/compiler/tablebase.debug.wat @@ -1,7 +1,7 @@ (module - (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 $0 (func)) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $tablebase/staticFunction i32 (i32.const 32)) (global $~lib/native/ASC_TABLE_BASE i32 (i32.const 32)) @@ -9,18 +9,17 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32860)) (global $~lib/memory/__heap_base i32 (i32.const 32860)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00t\00a\00b\00l\00e\00b\00a\00s\00e\00.\00t\00s\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00 \00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00t\00a\00b\00l\00e\00b\00a\00s\00e\00.\00t\00s\00\00\00\00\00") (table $0 33 33 funcref) (elem $0 (i32.const 32) $tablebase/foo) (export "memory" (memory $0)) (start $~start) (func $tablebase/foo - nop ) (func $~lib/function/Function<%28%29=>void>#get:index (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load return ) (func $~start @@ -48,7 +47,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 32 i32.const 32 i32.eq @@ -57,7 +56,7 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 call $~lib/function/Function<%28%29=>void>#get:index i32.const 32 diff --git a/tests/compiler/tablebase.release.wat b/tests/compiler/tablebase.release.wat index 8155e7499c..6ed678709b 100644 --- a/tests/compiler/tablebase.release.wat +++ b/tests/compiler/tablebase.release.wat @@ -1,17 +1,16 @@ (module - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_none (func)) + (type $0 (func (param i32 i32 i32 i32))) + (type $1 (func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33884)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\04\00\00\00\08\00\00\00 ") - (data (i32.const 1068) ",") - (data (i32.const 1080) "\02\00\00\00\18\00\00\00t\00a\00b\00l\00e\00b\00a\00s\00e\00.\00t\00s") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\04\00\00\00\08\00\00\00 ") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\02\00\00\00\18\00\00\00t\00a\00b\00l\00e\00b\00a\00s\00e\00.\00t\00s") (export "memory" (memory $0)) (start $~start) (func $~start - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -28,14 +27,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1056 - i32.load $0 + i32.load i32.const 32 i32.ne if diff --git a/tests/compiler/templateliteral.debug.wat b/tests/compiler/templateliteral.debug.wat index 54859d9aaa..ace4b98b35 100644 --- a/tests/compiler/templateliteral.debug.wat +++ b/tests/compiler/templateliteral.debug.wat @@ -1,21 +1,22 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_none (func)) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (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_i32_=>_i32 (func (param i32 i32 i32 i32 i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i64_i32_=>_none (func (param i32 i64 i32))) - (type $i64_i32_=>_i32 (func (param i64 i32) (result i32))) - (type $i32_i64_i32_i32_=>_none (func (param i32 i64 i32 i32))) - (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) - (type $i32_f64_=>_i32 (func (param i32 f64) (result i32))) - (type $f64_i32_=>_i32 (func (param f64 i32) (result i32))) - (type $f64_=>_i32 (func (param f64) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func)) + (type $3 (func (param i32 i32) (result i32))) + (type $4 (func (param i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32) (result i32))) + (type $7 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $8 (func (param i32 i32 i32 i32))) + (type $9 (func (param i32 i32 i64) (result i32))) + (type $10 (func (result i32))) + (type $11 (func (param i32 i64 i32))) + (type $12 (func (param i64 i32) (result i32))) + (type $13 (func (param i32 i64 i32 i32))) + (type $14 (func (param i32 i64 i32 i64 i32 i64 i32) (result i32))) + (type $15 (func (param i32 f64 i32) (result i32))) + (type $16 (func (param f64 i32) (result i32))) + (type $17 (func (param f64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -38,77 +39,82 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/rt/__rtti_base i32 (i32.const 4640)) - (global $~lib/memory/__data_end i32 (i32.const 4672)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37440)) - (global $~lib/memory/__heap_base i32 (i32.const 37440)) + (global $~lib/rt/__rtti_base i32 (i32.const 4848)) + (global $~lib/memory/__data_end i32 (i32.const 4880)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 37648)) + (global $~lib/memory/__heap_base i32 (i32.const 37648)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00b\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 76) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00$\00\00\00t\00e\00m\00p\00l\00a\00t\00e\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s\00\00\00\00\00\00\00\00\00") - (data (i32.const 140) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 236) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 304) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 336) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 364) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 428) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\00a\00b\00\00\00\00\00\00\00\00\00") - (data (i32.const 604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00(\00A\00=\00\00\00\00\00\00\00") - (data (i32.const 636) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\08\00\00\00,\00 \00B\00=\00\00\00\00\00") - (data (i32.const 668) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00)\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 700) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00p\02\00\00\00\00\00\00\90\02\00\00\00\00\00\00\b0\02\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 748) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00(\00A\00=\00a\00,\00 \00B\00=\00b\00)\00\00\00\00\00\00\00\00\00") - (data (i32.const 796) "|\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006\00\00\00\00\00\00\00\00\00") - (data (i32.const 924) "<\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s\00\00\00\00\00\00\00") - (data (i32.const 988) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\000\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 1020) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\00") - (data (i32.const 1420) "\1c\04\00\00\00\00\00\00\00\00\00\00\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2476) "\\\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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\00\00\00") - (data (i32.const 2572) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2604) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\04\00\00\001\002\00\00\00\00\00\00\00\00\00") - (data (i32.const 2636) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00p\02\00\00\00\00\00\00\90\02\00\00\00\00\00\00\b0\02\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2684) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\14\00\00\00(\00A\00=\001\00,\00 \00B\00=\002\00)\00\00\00\00\00\00\00\00\00") - (data (i32.const 2732) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\000\00.\000\00\00\00\00\00\00\00") - (data (i32.const 2764) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00N\00a\00N\00\00\00\00\00\00\00") - (data (i32.const 2796) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2844) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 2896) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\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 2952) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8 return ) (func $templateliteral/Ref#set:value (param $this i32) (param $value i32) local.get $this local.get $value - i32.store $0 + i32.store ) (func $templateliteral/Ref#get:value (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $templateliteral/RecursiveObject#set:key (param $this i32) (param $key i32) local.get $this local.get $key - i32.store $0 + i32.store local.get $this local.get $key i32.const 0 @@ -4266,7 +4336,7 @@ (func $templateliteral/RecursiveObject#set:val (param $this i32) (param $val i32) local.get $this local.get $val - i32.store $0 offset=4 + i32.store offset=4 local.get $this local.get $val i32.const 0 @@ -4274,14 +4344,14 @@ ) (func $templateliteral/RecursiveObject#get:val (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $templateliteral/RecursiveObject#get:key (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $start:templateliteral - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -4303,6 +4373,7 @@ call $templateliteral/test_float call $templateliteral/test_fast_paths_string call $templateliteral/test_ref + call $templateliteral/test_null call $templateliteral/test_recursive ) (func $~lib/rt/__visit_globals (param $0 i32) @@ -4326,16 +4397,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (param $this i32) (param $cookie i32) (local $cur i32) @@ -4358,7 +4424,7 @@ i32.lt_u if local.get $cur - i32.load $0 + i32.load local.set $val local.get $val if @@ -4388,21 +4454,13 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=4 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load offset=4 + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -4416,7 +4474,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray<~lib/string/String> $templateliteral/Ref $templateliteral/RecursiveObject $invalid end return @@ -4458,8 +4516,8 @@ global.get $~lib/memory/__data_end i32.lt_s if - i32.const 37472 - i32.const 37520 + i32.const 37680 + i32.const 37728 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4476,7 +4534,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -4514,7 +4572,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -4523,7 +4581,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -4541,14 +4599,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -4575,12 +4633,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -4590,7 +4648,7 @@ local.set $6 global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 + i32.store local.get $6 call $~lib/string/String#get:length i32.const 1 @@ -4618,17 +4676,17 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 offset=4 + i32.store offset=4 local.get $out local.get $this local.get $thisSize - memory.copy $0 $0 + memory.copy local.get $out local.get $thisSize i32.add local.get $other local.get $otherSize - memory.copy $0 $0 + memory.copy local.get $out local.set $6 global.get $~lib/memory/__stack_pointer @@ -4657,10 +4715,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $length i32.const 1 i32.sub @@ -4683,9 +4741,9 @@ if global.get $~lib/memory/__stack_pointer local.get $dataStart - i32.load $0 + i32.load local.tee $4 - i32.store $0 + i32.store local.get $4 if (result i32) local.get $4 @@ -4715,9 +4773,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -4727,7 +4785,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length i32.add @@ -4746,7 +4804,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length local.set $sepLen @@ -4761,7 +4819,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $result - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $i|11 loop $for-loop|1 @@ -4775,9 +4833,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -4786,7 +4844,7 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length local.set $valueLen @@ -4799,7 +4857,7 @@ local.get $valueLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $valueLen i32.add @@ -4816,7 +4874,7 @@ local.get $sepLen i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $offset local.get $sepLen i32.add @@ -4835,9 +4893,9 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $value - i32.store $0 offset=4 + i32.store offset=4 local.get $value i32.const 0 i32.ne @@ -4852,12 +4910,12 @@ local.set $13 global.get $~lib/memory/__stack_pointer local.get $13 - i32.store $0 offset=8 + i32.store offset=8 local.get $13 call $~lib/string/String#get:length i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy end local.get $result local.set $13 @@ -4877,7 +4935,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store i32.const 0 drop i32.const 0 @@ -4895,14 +4953,14 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length local.get $separator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/util/string/joinStringArray local.set $2 @@ -4920,34 +4978,29 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 - memory.fill $0 + i32.const 28 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 32 local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 64 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 i32.const 32 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -4962,26 +5015,21 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 local.get $b local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=20 + i32.store offset=16 local.get $4 call $~lib/string/String#concat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 i32.const 592 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -4995,63 +5043,53 @@ global.get $~lib/memory/__stack_pointer local.get $a local.tee $2 - i32.store $0 offset=24 + i32.store offset=20 global.get $~lib/memory/__stack_pointer local.get $b local.tee $3 - i32.store $0 offset=28 + i32.store offset=24 i32.const 720 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 i32.const 1 local.get $2 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=32 + i32.store offset=16 local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 720 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 i32.const 3 local.get $3 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=32 + i32.store offset=16 local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 720 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 i32.const 160 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=20 - local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 i32.const 768 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5063,7 +5101,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5074,14 +5112,14 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 28 - memory.fill $0 + i32.const 20 + memory.fill i32.const 1 local.set $a i32.const 2 @@ -5092,14 +5130,9 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 2592 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5116,7 +5149,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 local.get $b i32.const 10 @@ -5124,20 +5157,15 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=8 local.get $4 call $~lib/string/String#concat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 2624 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5153,65 +5181,55 @@ i32.const 10 call $~lib/number/I32#toString local.tee $2 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $b i32.const 10 call $~lib/number/I32#toString local.tee $3 - i32.store $0 offset=20 + i32.store offset=16 i32.const 2656 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 1 local.get $2 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=24 + i32.store offset=8 local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2656 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 3 local.get $3 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=24 + i32.store offset=8 local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2656 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 160 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 2704 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5223,7 +5241,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5234,14 +5252,14 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 28 - memory.fill $0 + i32.const 20 + memory.fill f64.const 1 local.set $a f64.const 2 @@ -5252,14 +5270,9 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 3888 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5276,7 +5289,7 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 local.get $b i32.const 0 @@ -5284,20 +5297,15 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=12 + i32.store offset=8 local.get $4 call $~lib/string/String#concat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 3920 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5313,65 +5321,55 @@ i32.const 0 call $~lib/number/F64#toString local.tee $2 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $b i32.const 0 call $~lib/number/F64#toString local.tee $3 - i32.store $0 offset=20 + i32.store offset=16 i32.const 3952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 1 local.get $2 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=24 + i32.store offset=8 local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 3952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 3 local.get $3 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=24 + i32.store offset=8 local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 3952 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=4 local.get $4 i32.const 160 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 4000 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5383,7 +5381,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5392,34 +5390,31 @@ (local $b i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + i64.const 0 + i64.store + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store offset=8 i32.const 2 local.set $a global.get $~lib/memory/__stack_pointer i32.const 64 local.tee $b - i32.store $0 + i32.store local.get $a i32.const 10 call $~lib/number/I32#toString local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4048 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5434,14 +5429,9 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 64 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5453,31 +5443,21 @@ unreachable end i32.const 4080 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 - local.get $2 local.get $a i32.const 10 call $~lib/number/I32#toString local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=16 + i32.store offset=8 local.get $2 call $~lib/string/String#concat local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4112 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5489,29 +5469,19 @@ unreachable end i32.const 4080 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=12 - local.get $2 local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=16 + i32.store offset=8 local.get $2 call $~lib/string/String#concat local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4144 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5528,26 +5498,16 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=8 local.get $2 i32.const 4176 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $2 call $~lib/string/String#concat local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4208 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5562,26 +5522,16 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=8 local.get $2 i32.const 4176 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $2 call $~lib/string/String#concat local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4240 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5598,26 +5548,21 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=12 + i32.store offset=8 local.get $2 local.get $b local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=16 + i32.store offset=12 local.get $2 call $~lib/string/String#concat local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 i32.const 4272 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $2 call $~lib/string/String.__eq i32.eqz if @@ -5629,7 +5574,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5642,7 +5587,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -5651,13 +5596,13 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 local.get $value call $templateliteral/Ref#set:value @@ -5678,18 +5623,18 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 local.get $right local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store offset=4 local.get $2 call $~lib/string/String#concat local.set $2 @@ -5703,27 +5648,19 @@ (func $templateliteral/Ref#toString (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.store i32.const 4304 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=4 local.get $1 call $templateliteral/Ref#get:value i32.const 10 @@ -5731,12 +5668,12 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store local.get $1 call $~lib/string/String.__concat local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -5749,44 +5686,39 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 32 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 - memory.fill $0 + i32.const 32 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 1 call $templateliteral/Ref#constructor local.tee $a - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 2 call $templateliteral/Ref#constructor local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $a local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 call $templateliteral/Ref#toString local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 i32.const 4336 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5801,38 +5733,33 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=24 + i32.store offset=20 local.get $4 call $templateliteral/Ref#toString local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 local.get $b local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=24 + i32.store offset=20 local.get $4 call $templateliteral/Ref#toString local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=20 + i32.store offset=16 local.get $4 call $~lib/string/String#concat local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 i32.const 4368 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 call $~lib/string/String.__eq i32.eqz if @@ -5848,85 +5775,185 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 call $templateliteral/Ref#toString local.tee $2 - i32.store $0 offset=28 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $b local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 call $templateliteral/Ref#toString local.tee $3 - i32.store $0 offset=32 + i32.store offset=28 i32.const 4416 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 i32.const 1 local.get $2 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=24 + i32.store offset=16 local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4416 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 i32.const 3 local.get $3 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=24 + i32.store offset=16 local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4416 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=12 local.get $4 i32.const 160 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=20 - local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store offset=8 local.get $4 i32.const 4464 - local.set $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 53 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer + i32.const 32 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $templateliteral/test_null + (local $c i32) + (local $d i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 28 + memory.fill + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $templateliteral/Ref#constructor + local.tee $c + i32.store + i32.const 0 + local.set $d + global.get $~lib/memory/__stack_pointer + local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + call $templateliteral/Ref#toString + local.tee $2 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $d + local.tee $4 + i32.store offset=16 local.get $4 - i32.store $0 offset=12 - local.get $4 + if (result i32) + local.get $4 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + call $templateliteral/Ref#toString + else + i32.const 4640 + end + local.tee $3 + i32.store offset=20 + i32.const 4592 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + i32.const 1 + local.get $2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=24 + local.get $5 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4592 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + i32.const 3 + local.get $3 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=24 + local.get $5 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4592 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=8 + local.get $5 + i32.const 160 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store offset=4 + local.get $5 + i32.const 4672 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 53 + i32.const 60 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5939,10 +5966,10 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $this i32.eqz if @@ -5951,32 +5978,32 @@ i32.const 6 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $key local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $templateliteral/RecursiveObject#set:key local.get $this local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 local.get $val local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 call $templateliteral/RecursiveObject#set:val local.get $this @@ -5993,24 +6020,24 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 + i32.const 20 + memory.fill global.get $~lib/memory/__stack_pointer local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $templateliteral/RecursiveObject#get:val local.tee $val - i32.store $0 offset=4 + i32.store offset=4 local.get $val i32.eqz if @@ -6018,12 +6045,12 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $templateliteral/RecursiveObject#get:key local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -6034,65 +6061,60 @@ local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $templateliteral/RecursiveObject#get:key local.tee $2 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $val local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 call $templateliteral/RecursiveObject#toString local.tee $3 - i32.store $0 offset=12 - i32.const 4592 + i32.store offset=12 + i32.const 4800 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 0 local.get $2 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=16 local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4592 + i32.const 4800 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 2 local.get $3 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=16 + i32.store offset=16 local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4592 + i32.const 4800 local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store local.get $4 i32.const 160 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=20 - local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -6104,90 +6126,70 @@ (local $a i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 + i32.const 20 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4528 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 + i32.const 4736 i32.const 0 call $templateliteral/RecursiveObject#constructor local.tee $c - i32.store $0 offset=4 + i32.store global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 64 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 local.get $c local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=4 local.get $3 call $templateliteral/RecursiveObject#constructor local.tee $b - i32.store $0 offset=12 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 32 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 local.get $b local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=4 local.get $3 call $templateliteral/RecursiveObject#constructor local.tee $a - i32.store $0 offset=16 + i32.store offset=12 local.get $a local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=8 + i32.store offset=16 local.get $3 call $templateliteral/RecursiveObject#toString local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=20 - local.get $3 - i32.const 4624 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 + i32.store offset=4 local.get $3 + i32.const 4832 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 118 + i32.const 125 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) @@ -6212,7 +6214,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $radix i32.const 2 i32.lt_s @@ -6272,7 +6274,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -6312,7 +6314,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -6347,7 +6349,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store local.get $out local.get $sign i32.add @@ -6362,7 +6364,7 @@ if local.get $out i32.const 45 - i32.store16 $0 + i32.store16 end local.get $out local.set $14 @@ -6373,10 +6375,12 @@ local.get $14 return ) - (func $~lib/util/number/dtoa (param $value f64) (result i32) + (func $~lib/util/number/dtoa (param $value f64) (result i32) + (local $value|1 f64) + (local $isSingle i32) (local $size i32) (local $result i32) - (local $3 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -6384,77 +6388,67 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $value - f64.const 0 - f64.eq - if - i32.const 2752 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - end - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - local.get $value + i32.store + block $~lib/util/number/dtoa_impl|inlined.0 (result i32) local.get $value - f64.ne + local.set $value|1 + i32.const 0 + local.set $isSingle + local.get $value|1 + f64.const 0 + f64.eq if - i32.const 2784 - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 2752 + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 2816 - i32.const 2864 - local.get $value + local.get $value|1 + local.get $value|1 + f64.sub f64.const 0 - f64.lt - select - local.set $3 + f64.eq + i32.eqz + if + local.get $value|1 + local.get $value|1 + f64.ne + if + i32.const 2784 + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 2816 + i32.const 2864 + local.get $value|1 + f64.const 0 + f64.lt + select + br $~lib/util/number/dtoa_impl|inlined.0 + end + i32.const 2896 + local.get $value|1 + local.get $isSingle + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store + local.get $result + i32.const 2896 + local.get $size + memory.copy + local.get $result + br $~lib/util/number/dtoa_impl|inlined.0 end - i32.const 2896 - local.get $value - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $size - global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 - local.get $result - i32.const 2896 - local.get $size - memory.copy $0 $0 - local.get $result - local.set $3 + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 return ) ) diff --git a/tests/compiler/templateliteral.release.wat b/tests/compiler/templateliteral.release.wat index cf23409f3f..9256be15f6 100644 --- a/tests/compiler/templateliteral.release.wat +++ b/tests/compiler/templateliteral.release.wat @@ -1,15 +1,16 @@ (module - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) - (type $none_=>_none (func)) - (type $i32_=>_i32 (func (param 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))) - (type $f64_=>_i32 (func (param f64) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i64_i64_i32_i64_i32_=>_i32 (func (param i64 i64 i32 i64 i32) (result i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32 i32) (result i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func)) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param f64) (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64))) + (type $9 (func (result i32))) + (type $10 (func (param i64 i64 i32 i64 i32) (result i32))) + (type $11 (func (param i32 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)) @@ -27,123 +28,132 @@ (global $~lib/util/number/_K (mut i32) (i32.const 0)) (global $~lib/util/number/_frc_pow (mut i64) (i64.const 0)) (global $~lib/util/number/_exp_pow (mut i32) (i32.const 0)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 38464)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 38672)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\02\00\00\00a") - (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\02\00\00\00\02\00\00\00b") - (data (i32.const 1100) "<") - (data (i32.const 1112) "\02\00\00\00$\00\00\00t\00e\00m\00p\00l\00a\00t\00e\00l\00i\00t\00e\00r\00a\00l\00.\00t\00s") - (data (i32.const 1164) "\1c") - (data (i32.const 1176) "\02") - (data (i32.const 1196) "<") - (data (i32.const 1208) "\02\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 1260) "<") - (data (i32.const 1272) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1388) "<") - (data (i32.const 1400) "\02\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 1452) ",") - (data (i32.const 1464) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1532) "<") - (data (i32.const 1544) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1596) "\1c") - (data (i32.const 1608) "\02\00\00\00\04\00\00\00a\00b") - (data (i32.const 1628) "\1c") - (data (i32.const 1640) "\02\00\00\00\06\00\00\00(\00A\00=") - (data (i32.const 1660) "\1c") - (data (i32.const 1672) "\02\00\00\00\08\00\00\00,\00 \00B\00=") - (data (i32.const 1692) "\1c") - (data (i32.const 1704) "\02\00\00\00\02\00\00\00)") - (data (i32.const 1724) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00p\06\00\00\00\00\00\00\90\06\00\00\00\00\00\00\b0\06") - (data (i32.const 1772) ",") - (data (i32.const 1784) "\02\00\00\00\14\00\00\00(\00A\00=\00a\00,\00 \00B\00=\00b\00)") - (data (i32.const 1820) "|") - (data (i32.const 1832) "\02\00\00\00d\00\00\00t\00o\00S\00t\00r\00i\00n\00g\00(\00)\00 \00r\00a\00d\00i\00x\00 \00a\00r\00g\00u\00m\00e\00n\00t\00 \00m\00u\00s\00t\00 \00b\00e\00 \00b\00e\00t\00w\00e\00e\00n\00 \002\00 \00a\00n\00d\00 \003\006") - (data (i32.const 1948) "<") - (data (i32.const 1960) "\02\00\00\00&\00\00\00~\00l\00i\00b\00/\00u\00t\00i\00l\00/\00n\00u\00m\00b\00e\00r\00.\00t\00s") - (data (i32.const 2012) "\1c") - (data (i32.const 2024) "\02\00\00\00\02\00\00\000") - (data (i32.const 2044) "0\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009") - (data (i32.const 2444) "\1c\04") - (data (i32.const 2456) "\02\00\00\00\00\04\00\000\000\000\001\000\002\000\003\000\004\000\005\000\006\000\007\000\008\000\009\000\00a\000\00b\000\00c\000\00d\000\00e\000\00f\001\000\001\001\001\002\001\003\001\004\001\005\001\006\001\007\001\008\001\009\001\00a\001\00b\001\00c\001\00d\001\00e\001\00f\002\000\002\001\002\002\002\003\002\004\002\005\002\006\002\007\002\008\002\009\002\00a\002\00b\002\00c\002\00d\002\00e\002\00f\003\000\003\001\003\002\003\003\003\004\003\005\003\006\003\007\003\008\003\009\003\00a\003\00b\003\00c\003\00d\003\00e\003\00f\004\000\004\001\004\002\004\003\004\004\004\005\004\006\004\007\004\008\004\009\004\00a\004\00b\004\00c\004\00d\004\00e\004\00f\005\000\005\001\005\002\005\003\005\004\005\005\005\006\005\007\005\008\005\009\005\00a\005\00b\005\00c\005\00d\005\00e\005\00f\006\000\006\001\006\002\006\003\006\004\006\005\006\006\006\007\006\008\006\009\006\00a\006\00b\006\00c\006\00d\006\00e\006\00f\007\000\007\001\007\002\007\003\007\004\007\005\007\006\007\007\007\008\007\009\007\00a\007\00b\007\00c\007\00d\007\00e\007\00f\008\000\008\001\008\002\008\003\008\004\008\005\008\006\008\007\008\008\008\009\008\00a\008\00b\008\00c\008\00d\008\00e\008\00f\009\000\009\001\009\002\009\003\009\004\009\005\009\006\009\007\009\008\009\009\009\00a\009\00b\009\00c\009\00d\009\00e\009\00f\00a\000\00a\001\00a\002\00a\003\00a\004\00a\005\00a\006\00a\007\00a\008\00a\009\00a\00a\00a\00b\00a\00c\00a\00d\00a\00e\00a\00f\00b\000\00b\001\00b\002\00b\003\00b\004\00b\005\00b\006\00b\007\00b\008\00b\009\00b\00a\00b\00b\00b\00c\00b\00d\00b\00e\00b\00f\00c\000\00c\001\00c\002\00c\003\00c\004\00c\005\00c\006\00c\007\00c\008\00c\009\00c\00a\00c\00b\00c\00c\00c\00d\00c\00e\00c\00f\00d\000\00d\001\00d\002\00d\003\00d\004\00d\005\00d\006\00d\007\00d\008\00d\009\00d\00a\00d\00b\00d\00c\00d\00d\00d\00e\00d\00f\00e\000\00e\001\00e\002\00e\003\00e\004\00e\005\00e\006\00e\007\00e\008\00e\009\00e\00a\00e\00b\00e\00c\00e\00d\00e\00e\00e\00f\00f\000\00f\001\00f\002\00f\003\00f\004\00f\005\00f\006\00f\007\00f\008\00f\009\00f\00a\00f\00b\00f\00c\00f\00d\00f\00e\00f\00f") - (data (i32.const 3500) "\\") - (data (i32.const 3512) "\02\00\00\00H\00\00\000\001\002\003\004\005\006\007\008\009\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") - (data (i32.const 3596) "\1c") - (data (i32.const 3608) "\02\00\00\00\02\00\00\001") - (data (i32.const 3628) "\1c") - (data (i32.const 3640) "\02\00\00\00\04\00\00\001\002") - (data (i32.const 3660) ",\00\00\00\03\00\00\00\00\00\00\00\04\00\00\00\14\00\00\00p\06\00\00\00\00\00\00\90\06\00\00\00\00\00\00\b0\06") - (data (i32.const 3708) ",") - (data (i32.const 3720) "\02\00\00\00\14\00\00\00(\00A\00=\001\00,\00 \00B\00=\002\00)") - (data (i32.const 3756) "\1c") - (data (i32.const 3768) "\02\00\00\00\06\00\00\000\00.\000") - (data (i32.const 3788) "\1c") - (data (i32.const 3800) "\02\00\00\00\06\00\00\00N\00a\00N") - (data (i32.const 3820) ",") - (data (i32.const 3832) "\02\00\00\00\12\00\00\00-\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3868) ",") - (data (i32.const 3880) "\02\00\00\00\10\00\00\00I\00n\00f\00i\00n\00i\00t\00y") - (data (i32.const 3976) "\88\02\1c\08\a0\d5\8f\fav\bf>\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8\a2\7f\e1\ae\bav\acU0 \fb\16\8b\ea5\ce]J\89B\cf-;eU\aa\b0k\9a\dfE\1a=\03\cf\1a\e6\ca\c6\9a\c7\17\fep\abO\dc\bc\be\fc\b1w\ff\0c\d6kA\ef\91V\be<\fc\7f\90\ad\1f\d0\8d\83\9aU1(\\Q\d3\b5\c9\a6\ad\8f\acq\9d\cb\8b\ee#w\"\9c\eamSx@\91I\cc\aeW\ce\b6]y\12<\827V\fbM6\94\10\c2O\98H8o\ea\96\90\c7:\82%\cb\85t\d7\f4\97\bf\97\cd\cf\86\a0\e5\ac*\17\98\n4\ef\8e\b25*\fbg8\b2;?\c6\d2\df\d4\c8\84\ba\cd\d3\1a\'D\dd\c5\96\c9%\bb\ce\9fk\93\84\a5b}$l\ac\db\f6\da_\rXf\ab\a3&\f1\c3\de\93\f8\e2\f3\b8\80\ff\aa\a8\ad\b5\b5\8bJ|l\05_b\87S0\c14`\ff\bc\c9U&\ba\91\8c\85N\96\bd~)p$w\f9\df\8f\b8\e5\b8\9f\bd\df\a6\94}t\88\cf_\a9\f8\cf\9b\a8\8f\93pD\b9k\15\0f\bf\f8\f0\08\8a\b611eU%\b0\cd\ac\7f{\d0\c6\e2?\99\06;+*\c4\10\\\e4\d3\92si\99$$\aa\0e\ca\00\83\f2\b5\87\fd\eb\1a\11\92d\08\e5\bc\cc\88Po\t\cc\bc\8c,e\19\e2X\17\b7\d1\00\00\00\00\00\00@\9c\00\00\00\00\10\a5\d4\e8\00\00b\ac\c5\ebx\ad\84\t\94\f8x9?\81\b3\15\07\c9{\ce\97\c0p\\\ea{\ce2~\8fh\80\e9\ab\a48\d2\d5E\"\9a\17&\'O\9f\'\fb\c4\d41\a2c\ed\a8\ad\c8\8c8e\de\b0\dbe\ab\1a\8e\08\c7\83\9a\1dqB\f9\1d]\c4X\e7\1b\a6,iM\92\ea\8dp\1ad\ee\01\daJw\ef\9a\99\a3m\a2\85k}\b4{x\t\f2w\18\ddy\a1\e4T\b4\c2\c5\9b[\92\86[\86=]\96\c8\c5S5\c8\b3\a0\97\fa\\\b4*\95\e3_\a0\99\bd\9fF\de%\8c9\db4\c2\9b\a5\\\9f\98\a3r\9a\c6\f6\ce\be\e9TS\bf\dc\b7\e2A\"\f2\17\f3\fc\88\a5x\\\d3\9b\ce \cc\dfS!{\f3Z\16\98:0\1f\97\dc\b5\a0\e2\96\b3\e3\\S\d1\d9\a8#__uset (param $0 i32) (param $1 i32) (param $2 i32) - local.get $0 + (func $~lib/rt/itcms/__link (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store $0 - local.get $2 + i32.eqz + if + return + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1280 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/rt/itcms/white + local.get $1 + i32.const 20 + i32.sub + local.tee $1 + i32.load offset=4 + i32.const 3 + i32.and + i32.eq if local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 20 + i32.sub + local.tee $0 + i32.load offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $0 + local.get $1 + local.get $2 + select + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $1 + call $~lib/rt/itcms/Object#makeGray + end + end end ) (func $~lib/util/number/utoa32_dec_lut (param $0 i32) (param $1 i32) (param $2 i32) @@ -1646,7 +1721,7 @@ i32.shl i32.const 2044 i32.add - i64.load32_u $0 + i64.load32_u local.get $3 i32.const 100 i32.rem_u @@ -1654,11 +1729,11 @@ i32.shl i32.const 2044 i32.add - i64.load32_u $0 + i64.load32_u i64.const 32 i64.shl i64.or - i64.store $0 + i64.store br $while-continue|0 end end @@ -1681,8 +1756,8 @@ i32.shl i32.const 2044 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store local.get $1 i32.const 100 i32.div_u @@ -1704,8 +1779,8 @@ i32.shl i32.const 2044 i32.add - i32.load $0 - i32.store $0 + i32.load + i32.store else local.get $0 local.get $2 @@ -1717,7 +1792,7 @@ local.get $1 i32.const 48 i32.add - i32.store16 $0 + i32.store16 end ) (func $~lib/number/I32#toString (param $0 i32) (result i32) @@ -1729,11 +1804,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s if - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -1741,8 +1816,8 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/itoa32 + i32.store + block $__inlined_func$~lib/util/number/itoa32$75 local.get $0 i32.eqz if @@ -1752,7 +1827,7 @@ global.set $~lib/memory/__stack_pointer i32.const 2032 local.set $0 - br $__inlined_func$~lib/util/number/itoa32 + br $__inlined_func$~lib/util/number/itoa32$75 end global.get $~lib/memory/__stack_pointer i32.const 0 @@ -1820,7 +1895,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store local.get $0 local.get $1 i32.add @@ -1831,7 +1906,7 @@ if local.get $0 i32.const 45 - i32.store16 $0 + i32.store16 end global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2059,7 +2134,7 @@ i32.and i32.const 48 i32.add - i32.store16 $0 + i32.store16 end local.get $8 i32.const 1 @@ -2070,6 +2145,7 @@ i64.extend_i32_u local.get $11 i64.extend_i32_s + local.tee $1 i64.shl local.get $9 i64.add @@ -2085,9 +2161,8 @@ i32.shl i32.const 4848 i32.add - i64.load32_u $0 - local.get $11 - i64.extend_i32_s + i64.load32_u + local.get $1 i64.shl local.set $7 local.get $4 @@ -2096,7 +2171,7 @@ i32.const 3918 i32.add local.tee $2 - i32.load16_u $0 + i32.load16_u local.set $6 loop $while-continue|3 local.get $0 @@ -2140,7 +2215,7 @@ end local.get $2 local.get $6 - i32.store16 $0 + i32.store16 local.get $4 return end @@ -2182,7 +2257,7 @@ i32.and i32.const 48 i32.add - i32.store16 $0 + i32.store16 end local.get $8 i32.const 1 @@ -2208,7 +2283,7 @@ i32.shl i32.const 4848 i32.add - i64.load32_u $0 + i64.load32_u i64.mul local.set $1 local.get $4 @@ -2217,7 +2292,7 @@ i32.const 3918 i32.add local.tee $2 - i32.load16_u $0 + i32.load16_u local.set $6 loop $while-continue|6 local.get $1 @@ -2261,7 +2336,7 @@ end local.get $2 local.get $6 - i32.store16 $0 + i32.store16 local.get $4 ) (func $~lib/util/number/prettify (param $0 i32) (param $1 i32) (param $2 i32) (result i32) @@ -2276,7 +2351,7 @@ i32.shl i32.add i32.const 3145774 - i32.store $0 + i32.store local.get $1 i32.const 2 i32.add @@ -2304,7 +2379,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $1 i32.const 1 i32.add @@ -2318,7 +2393,7 @@ i32.shl i32.add i32.const 3145774 - i32.store $0 + i32.store local.get $3 i32.const 2 i32.add @@ -2345,10 +2420,10 @@ i32.sub i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $0 i32.const 46 - i32.store16 $0 + i32.store16 local.get $1 i32.const 1 i32.add @@ -2373,10 +2448,10 @@ local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $0 i32.const 3014704 - i32.store $0 + i32.store i32.const 2 local.set $2 loop $for-loop|1 @@ -2390,7 +2465,7 @@ i32.shl i32.add i32.const 48 - i32.store16 $0 + i32.store16 local.get $2 i32.const 1 i32.add @@ -2408,7 +2483,7 @@ if local.get $0 i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 i32.const 4 i32.add @@ -2482,7 +2557,7 @@ i32.const 43 local.get $3 select - i32.store16 $0 + i32.store16 else local.get $0 i32.const 4 @@ -2496,16 +2571,16 @@ local.tee $2 i32.const 2 i32.sub - memory.copy $0 $0 + memory.copy local.get $0 i32.const 46 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 local.get $2 i32.add local.tee $0 i32.const 101 - i32.store16 $0 offset=2 + i32.store16 offset=2 local.get $0 i32.const 4 i32.add @@ -2579,7 +2654,7 @@ i32.const 43 local.get $2 select - i32.store16 $0 + i32.store16 local.get $0 local.get $1 i32.add @@ -2596,10 +2671,10 @@ (local $1 i64) (local $2 i32) (local $3 i64) - (local $4 i64) + (local $4 i32) (local $5 i64) (local $6 i64) - (local $7 i32) + (local $7 i64) (local $8 i32) (local $9 i32) (local $10 i64) @@ -2614,7 +2689,7 @@ if (result f64) i32.const 3920 i32.const 45 - i32.store16 $0 + i32.store16 local.get $0 f64.neg else @@ -2627,9 +2702,9 @@ i64.const 52 i64.shr_u i32.wrap_i64 - local.tee $7 + local.tee $4 i32.const 1 - local.get $7 + local.get $4 select i32.const 1075 i32.sub @@ -2639,7 +2714,7 @@ local.get $1 i64.const 4503599627370495 i64.and - local.get $7 + local.get $4 i32.const 0 i32.ne i64.extend_i32_u @@ -2654,11 +2729,11 @@ local.tee $3 i64.clz i32.wrap_i64 - local.tee $7 + local.tee $9 i32.sub - local.set $9 + local.set $4 local.get $3 - local.get $7 + local.get $9 i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_plus @@ -2668,25 +2743,24 @@ i64.eq i32.const 1 i32.add - local.tee $7 + local.tee $9 i64.extend_i32_s i64.shl i64.const 1 i64.sub local.get $8 - local.get $7 - i32.sub local.get $9 i32.sub + local.get $4 + i32.sub i64.extend_i32_s i64.shl global.set $~lib/util/number/_frc_minus - local.get $9 + local.get $4 global.set $~lib/util/number/_exp i32.const 348 i32.const -61 global.get $~lib/util/number/_exp - local.tee $7 i32.sub f64.convert_i32_s f64.const 0.30102999566398114 @@ -2695,8 +2769,8 @@ f64.add local.tee $0 i32.trunc_sat_f64_s - local.tee $8 - local.get $8 + local.tee $4 + local.get $4 f64.convert_i32_s local.get $0 f64.ne @@ -2705,23 +2779,23 @@ i32.shr_s i32.const 1 i32.add - local.tee $8 + local.tee $4 i32.const 3 i32.shl - local.tee $9 + local.tee $8 i32.sub global.set $~lib/util/number/_K - local.get $9 + local.get $8 i32.const 3976 i32.add - i64.load $0 + i64.load global.set $~lib/util/number/_frc_pow - local.get $8 + local.get $4 i32.const 1 i32.shl i32.const 4672 i32.add - i32.load16_s $0 + i32.load16_s global.set $~lib/util/number/_exp_pow local.get $1 local.get $1 @@ -2730,7 +2804,7 @@ local.tee $1 i64.const 4294967295 i64.and - local.set $4 + local.set $5 global.get $~lib/util/number/_frc_pow local.tee $10 i64.const 4294967295 @@ -2741,13 +2815,13 @@ i64.shr_u local.tee $1 i64.mul - local.get $4 + local.get $5 local.get $11 i64.mul i64.const 32 i64.shr_u i64.add - local.set $5 + local.set $6 global.get $~lib/util/number/_frc_plus local.tee $3 i64.const 4294967295 @@ -2765,7 +2839,7 @@ i64.const 32 i64.shr_u i64.add - local.set $6 + local.set $7 global.get $~lib/util/number/_frc_minus local.tee $13 i64.const 4294967295 @@ -2795,14 +2869,14 @@ i64.shr_u local.tee $1 i64.mul - local.get $5 + local.get $6 i64.const 32 i64.shr_u i64.add local.get $1 - local.get $4 - i64.mul local.get $5 + i64.mul + local.get $6 i64.const 4294967295 i64.and i64.add @@ -2814,14 +2888,14 @@ local.get $1 local.get $3 i64.mul - local.get $6 + local.get $7 i64.const 32 i64.shr_u i64.add local.get $1 local.get $12 i64.mul - local.get $6 + local.get $7 i64.const 4294967295 i64.and i64.add @@ -2833,8 +2907,8 @@ i64.const 1 i64.sub local.tee $3 - local.get $7 global.get $~lib/util/number/_exp_pow + global.get $~lib/util/number/_exp i32.add i32.const -64 i32.sub @@ -2878,11 +2952,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s if - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -2890,42 +2964,26 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/dtoa + i32.store + i32.const 3776 + local.set $1 + block $~lib/util/number/dtoa_impl|inlined.0 local.get $0 f64.const 0 f64.eq - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 3776 - local.set $1 - br $__inlined_func$~lib/util/number/dtoa - end + br_if $~lib/util/number/dtoa_impl|inlined.0 local.get $0 local.get $0 f64.sub f64.const 0 f64.ne if + i32.const 3808 + local.set $1 local.get $0 local.get $0 f64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 3808 - local.set $1 - br $__inlined_func$~lib/util/number/dtoa - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + br_if $~lib/util/number/dtoa_impl|inlined.0 i32.const 3840 i32.const 3888 local.get $0 @@ -2933,7 +2991,7 @@ f64.lt select local.set $1 - br $__inlined_func$~lib/util/number/dtoa + br $~lib/util/number/dtoa_impl|inlined.0 end local.get $0 call $~lib/util/number/dtoa_core @@ -2945,16 +3003,16 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store local.get $1 i32.const 3920 local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + memory.copy end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 ) (func $start:templateliteral @@ -2962,64 +3020,60 @@ (local $1 i32) (local $2 i32) (local $3 i32) - memory.size $0 + memory.size i32.const 16 i32.shl - i32.const 38464 + i32.const 38672 i32.sub i32.const 1 i32.shr_u global.set $~lib/rt/itcms/threshold i32.const 1332 i32.const 1328 - i32.store $0 + i32.store i32.const 1336 i32.const 1328 - i32.store $0 + i32.store i32.const 1328 global.set $~lib/rt/itcms/pinSpace i32.const 1364 i32.const 1360 - i32.store $0 + i32.store i32.const 1368 i32.const 1360 - i32.store $0 + i32.store i32.const 1360 global.set $~lib/rt/itcms/toSpace i32.const 1508 i32.const 1504 - i32.store $0 + i32.store i32.const 1512 i32.const 1504 - i32.store $0 + i32.store i32.const 1504 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.const 36 - memory.fill $0 - local.get $0 + i32.const 28 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 offset=4 - local.get $0 - i32.const 1056 - i32.store $0 offset=8 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 offset=12 + i32.store offset=8 i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -3033,22 +3087,18 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1056 - i32.store $0 offset=16 - local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 offset=20 + i32.store offset=16 i32.const 1056 i32.const 1088 call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1616 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 i32.const 1616 call $~lib/string/String.__eq @@ -3062,47 +3112,46 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1056 - i32.store $0 offset=24 - local.get $0 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 offset=28 - local.get $0 + i32.store offset=24 + global.get $~lib/memory/__stack_pointer i32.const 1744 - i32.store $0 offset=16 - local.get $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store offset=16 + i32.const 1748 i32.const 1056 - i32.store $0 offset=32 + i32.store i32.const 1744 - i32.const 1 i32.const 1056 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 1744 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 offset=32 + i32.store offset=16 + i32.const 1756 + i32.const 1088 + i32.store i32.const 1744 - i32.const 3 i32.const 1088 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 1744 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 offset=20 + i32.store offset=12 i32.const 1744 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1792 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 i32.const 1792 call $~lib/string/String.__eq @@ -3116,30 +3165,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 28 - memory.fill $0 + i32.const 20 + memory.fill i32.const 1 call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3616 call $~lib/string/String.__eq @@ -3157,23 +3203,20 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 i32.const 2 call $~lib/number/I32#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 local.get $1 call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3648 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3648 call $~lib/string/String.__eq @@ -3190,47 +3233,47 @@ i32.const 1 call $~lib/number/I32#toString local.tee $0 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer i32.const 2 call $~lib/number/I32#toString local.tee $1 - i32.store $0 offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 3680 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=24 + i32.store offset=8 + i32.const 3684 + local.get $0 + i32.store i32.const 3680 - i32.const 1 local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 3680 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=24 + i32.store offset=8 + i32.const 3692 + local.get $1 + i32.store i32.const 3680 - i32.const 3 local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 3680 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 offset=12 + i32.store offset=4 i32.const 3680 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3728 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 3728 call $~lib/string/String.__eq @@ -3244,30 +3287,27 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 28 - memory.fill $0 + i32.const 20 + memory.fill f64.const 1 call $~lib/number/F64#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4912 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4912 call $~lib/string/String.__eq @@ -3285,23 +3325,20 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 f64.const 2 call $~lib/number/F64#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 local.get $1 call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4944 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 4944 call $~lib/string/String.__eq @@ -3318,47 +3355,47 @@ f64.const 1 call $~lib/number/F64#toString local.tee $0 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer f64.const 2 call $~lib/number/F64#toString local.tee $1 - i32.store $0 offset=20 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 4976 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=24 + i32.store offset=8 + i32.const 4980 + local.get $0 + i32.store i32.const 4976 - i32.const 1 local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 4976 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=24 + i32.store offset=8 + i32.const 4988 + local.get $1 + i32.store i32.const 4976 - i32.const 3 local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 4976 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 offset=12 + i32.store offset=4 i32.const 4976 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 5024 - i32.store $0 offset=4 + i32.store local.get $0 i32.const 5024 call $~lib/string/String.__eq @@ -3372,85 +3409,253 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - call $templateliteral/test_fast_paths_string global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 36 - memory.fill $0 - local.get $0 - i32.const 1 - call $templateliteral/Ref#constructor - local.tee $2 - i32.store $0 + i64.const 0 + i64.store global.get $~lib/memory/__stack_pointer - i32.const 2 - call $templateliteral/Ref#constructor - local.tee $0 - i32.store $0 offset=4 + i64.const 0 + i64.store offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $2 - call $templateliteral/Ref#toString - local.set $1 + i32.const 1088 + i32.store + i32.const 2 + call $~lib/number/I32#toString + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 5072 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 31 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 5360 - i32.store $0 offset=12 - local.get $1 - i32.const 5360 + i32.const 1088 + i32.store offset=4 + i32.const 1088 + i32.const 1088 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 51 + i32.const 32 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 2 + call $~lib/number/I32#toString + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=24 + local.get $0 + i32.store offset=8 + i32.const 5104 + local.get $0 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 5136 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 33 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store offset=8 + i32.const 5104 + i32.const 1088 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 5168 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 34 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $~lib/number/I32#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + local.get $0 + i32.const 5200 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 5232 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 35 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store offset=8 + i32.const 1088 + i32.const 5200 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 5264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + call $~lib/number/I32#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store offset=12 + local.get $0 + i32.const 1088 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=4 + local.get $0 + i32.const 5296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 32 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 5904 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 32 + memory.fill + global.get $~lib/memory/__stack_pointer + i32.const 1 + call $templateliteral/Ref#constructor + local.tee $2 + i32.store + global.get $~lib/memory/__stack_pointer + i32.const 2 + call $templateliteral/Ref#constructor + local.tee $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=12 + local.get $2 + call $templateliteral/Ref#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=8 + local.get $1 + i32.const 5360 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 51 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store offset=20 local.get $2 call $templateliteral/Ref#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=24 + i32.store offset=20 local.get $0 call $templateliteral/Ref#toString local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=20 + i32.store offset=16 local.get $1 local.get $3 call $~lib/string/String#concat local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 5392 - i32.store $0 offset=12 + i32.store offset=8 local.get $1 i32.const 5392 call $~lib/string/String.__eq @@ -3464,57 +3669,56 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $2 - i32.store $0 offset=16 - local.get $1 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer local.get $2 call $templateliteral/Ref#toString local.tee $1 - i32.store $0 offset=28 + i32.store offset=24 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $0 call $templateliteral/Ref#toString local.tee $0 - i32.store $0 offset=32 + i32.store offset=28 global.get $~lib/memory/__stack_pointer i32.const 5440 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=24 + i32.store offset=16 + i32.const 5444 + local.get $1 + i32.store i32.const 5440 - i32.const 1 local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 5440 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=24 + i32.store offset=16 + i32.const 5452 + local.get $0 + i32.store i32.const 5440 - i32.const 3 local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 5440 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 offset=20 + i32.store offset=12 i32.const 5440 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 5488 - i32.store $0 offset=12 + i32.store offset=8 local.get $0 i32.const 5488 call $~lib/string/String.__eq @@ -3528,87 +3732,156 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 32 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 28 + memory.fill + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $templateliteral/Ref#constructor + local.tee $0 + i32.store + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $templateliteral/Ref#toString local.tee $0 + i32.store offset=12 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 - memory.fill $0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 5664 + i32.store offset=20 + global.get $~lib/memory/__stack_pointer + i32.const 5616 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store offset=24 + i32.const 5620 + local.get $0 + i32.store + i32.const 5616 + local.get $0 + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 5616 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 5664 + i32.store offset=24 + i32.const 5628 + i32.const 5664 + i32.store + i32.const 5616 + i32.const 5664 + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 5616 + i32.store offset=8 + i32.const 5616 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 5552 - i32.store $0 + i32.store offset=4 local.get $0 - i32.const 5552 + i32.const 5696 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 5904 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer + i32.const 5760 i32.const 0 call $templateliteral/RecursiveObject#constructor local.tee $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 1088 local.get $0 call $templateliteral/RecursiveObject#constructor local.tee $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 + i32.store offset=8 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 global.get $~lib/memory/__stack_pointer i32.const 1056 local.get $0 call $templateliteral/RecursiveObject#constructor local.tee $0 - i32.store $0 offset=16 + i32.store offset=12 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=16 local.get $0 call $templateliteral/RecursiveObject#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 5648 - i32.store $0 + i32.store offset=4 local.get $0 - i32.const 5648 + i32.const 5856 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1120 - i32.const 118 + i32.const 125 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer return end - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3628,7 +3901,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray<~lib/string/String> $templateliteral/Ref $templateliteral/RecursiveObject $invalid end return @@ -3638,32 +3911,28 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end local.get $0 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.add - local.set $2 + local.set $1 loop $while-continue|0 local.get $0 - local.get $2 + local.get $1 i32.lt_u if local.get $0 - i32.load $0 - local.tee $1 + i32.load + local.tee $2 if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + local.get $2 + call $~lib/rt/itcms/__visit end local.get $0 i32.const 4 @@ -3677,19 +3946,11 @@ return end local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit return end unreachable @@ -3713,11 +3974,11 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s if - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -3725,7 +3986,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -3745,56 +4006,58 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz + if + loop $do-loop|0 + local.get $2 + i64.load + local.get $1 + i64.load + i64.eq if local.get $2 i32.const 8 @@ -3814,7 +4077,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$91 loop $while-continue|1 local.get $0 local.tee $3 @@ -3824,17 +4087,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$91 local.get $2 i32.const 2 i32.add @@ -3872,37 +4135,36 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s if - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 i64.const 0 - i64.store $0 - local.get $3 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.set $2 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and local.tee $3 @@ -3923,17 +4185,17 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $4 - i32.store $0 offset=4 + i32.store offset=4 local.get $4 local.get $0 local.get $2 - memory.copy $0 $0 + memory.copy local.get $2 local.get $4 i32.add local.get $1 local.get $3 - memory.copy $0 $0 + memory.copy global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -3951,23 +4213,22 @@ i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s if - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 i64.const 0 - i64.store $0 - local.get $4 + i64.store + global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 offset=8 + i64.store offset=8 local.get $1 i32.const 1 i32.sub @@ -3986,12 +4247,11 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.load $0 + i32.load local.tee $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 16 i32.add global.set $~lib/memory/__stack_pointer @@ -4012,19 +4272,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $5 - i32.store $0 offset=4 + i32.store offset=4 local.get $5 if global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $5 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.add @@ -4040,13 +4300,12 @@ i32.const 0 local.set $3 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 1184 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $2 i32.const 1180 - i32.load $0 + i32.load i32.const 1 i32.shr_u local.tee $1 @@ -4058,7 +4317,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $5 - i32.store $0 offset=12 + i32.store offset=12 i32.const 0 local.set $2 loop $for-loop|1 @@ -4072,14 +4331,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $6 - i32.store $0 offset=4 + i32.store offset=4 local.get $6 if global.get $~lib/memory/__stack_pointer local.get $6 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $3 i32.const 1 @@ -4089,13 +4348,13 @@ local.get $6 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.tee $6 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $3 local.get $6 i32.add @@ -4112,7 +4371,7 @@ local.get $1 i32.const 1 i32.shl - memory.copy $0 $0 + memory.copy local.get $1 local.get $3 i32.add @@ -4131,14 +4390,14 @@ i32.const 2 i32.shl i32.add - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 if global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $5 local.get $3 i32.const 1 @@ -4148,10 +4407,10 @@ local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const -2 i32.and - memory.copy $0 $0 + memory.copy end global.get $~lib/memory/__stack_pointer i32.const 16 @@ -4161,380 +4420,138 @@ ) (func $~lib/staticarray/StaticArray<~lib/string/String>#join (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s if - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 2 i32.shr_u - local.set $2 - local.get $1 + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 1184 - i32.store $0 + i32.store local.get $0 - local.get $2 + local.get $1 call $~lib/util/string/joinStringArray - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $templateliteral/test_fast_paths_string - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 5696 - i32.lt_s - if - i32.const 38496 - i32.const 38544 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 1088 - i32.store $0 - i32.const 2 - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5072 - i32.store $0 offset=8 - local.get $0 - i32.const 5072 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 31 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1088 - i32.store $0 offset=4 - local.get $0 - i32.const 1088 - i32.store $0 offset=8 - i32.const 1088 - i32.const 1088 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 32 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5104 - i32.store $0 offset=12 - i32.const 2 - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - i32.const 5104 - local.get $0 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5136 - i32.store $0 offset=8 - local.get $0 - i32.const 5136 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 33 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 5104 - i32.store $0 offset=12 - local.get $0 - i32.const 1088 - i32.store $0 offset=16 - i32.const 5104 - i32.const 1088 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5168 - i32.store $0 offset=8 - local.get $0 - i32.const 5168 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 34 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 5200 - i32.store $0 offset=16 - local.get $0 - i32.const 5200 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5232 - i32.store $0 offset=8 - local.get $0 - i32.const 5232 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1088 - i32.store $0 offset=12 - local.get $0 - i32.const 5200 - i32.store $0 offset=16 - i32.const 1088 - i32.const 5200 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5264 - i32.store $0 offset=8 - local.get $0 - i32.const 5264 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 1088 - i32.store $0 offset=16 - local.get $0 - i32.const 1088 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 5296 - i32.store $0 offset=8 - local.get $0 - i32.const 5296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer ) (func $templateliteral/Ref#constructor (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s if - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 5 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $0 - i32.store $0 - local.get $2 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) (func $templateliteral/Ref#toString (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 5328 - i32.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=4 local.get $0 - i32.load $0 + i32.load call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 5328 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 5328 local.get $0 call $~lib/string/String#concat - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort @@ -4542,69 +4559,59 @@ ) (func $templateliteral/RecursiveObject#constructor (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s if - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 i64.const 0 - i64.store $0 - local.get $2 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $2 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.const 6 call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $2 - i32.store $0 offset=4 - local.get $3 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $0 - i32.store $0 + i32.store + local.get $2 local.get $0 - if - local.get $2 - local.get $0 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - local.tee $0 local.get $2 - i32.store $0 offset=4 - local.get $0 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 + local.get $2 local.get $1 - if - local.get $2 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 0 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -4613,175 +4620,97 @@ ) (func $templateliteral/RecursiveObject#toString (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5696 + i32.const 5904 i32.lt_s if - i32.const 38496 - i32.const 38544 + i32.const 38704 + i32.const 38752 i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.const 24 - memory.fill $0 - local.get $1 + i32.const 20 + memory.fill + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.tee $2 - i32.store $0 offset=4 - local.get $2 + i32.load offset=4 + local.tee $1 + i32.store offset=4 + local.get $1 i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 - local.set $0 - local.get $1 - i32.const 24 + i32.load + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 + i32.load local.tee $0 - i32.store $0 offset=8 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 call $templateliteral/RecursiveObject#toString local.tee $1 - i32.store $0 offset=12 + i32.store offset=12 global.get $~lib/memory/__stack_pointer - i32.const 5616 - i32.store $0 + i32.const 5824 + i32.store global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 - i32.const 5616 - i32.const 0 + i32.store offset=16 + i32.const 5824 + local.get $0 + i32.store + i32.const 5824 local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - i32.const 5616 - i32.store $0 + i32.const 5824 + i32.store global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=16 - i32.const 5616 - i32.const 2 + i32.store offset=16 + i32.const 5832 local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 5616 - i32.store $0 + i32.store + i32.const 5824 + local.get $1 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 offset=20 - i32.const 5616 + i32.const 5824 + i32.store + i32.const 5824 call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (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 $0 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) (param $2 i32) - (local $3 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1280 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - local.tee $0 - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $3 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $0 - local.get $1 - local.get $2 - select - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $3 - 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/templateliteral.ts b/tests/compiler/templateliteral.ts index b6d3782712..7ced6c8454 100644 --- a/tests/compiler/templateliteral.ts +++ b/tests/compiler/templateliteral.ts @@ -54,6 +54,13 @@ function test_ref(): void { } test_ref(); +function test_null(): void { + var c: Ref | null = new Ref(3); + var d: Ref | null = null; + assert(`c: ${c}; d: ${d}` == "c: ref#3; d: null"); +} +test_null(); + function tag(parts: TemplateStringsArray, a: i32): string { var raw = parts.raw; assert(parts.length == 2); diff --git a/tests/compiler/ternary.debug.wat b/tests/compiler/ternary.debug.wat index 3f7d976762..91a380b1f5 100644 --- a/tests/compiler/ternary.debug.wat +++ b/tests/compiler/ternary.debug.wat @@ -1,9 +1,9 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32 i32 i32) (result i32))) + (type $3 (func (param i32))) + (type $4 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $ternary/a (mut i32) (i32.const 0)) (global $~argumentsLength (mut i32) (i32.const 0)) @@ -11,7 +11,7 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32812)) (global $~lib/memory/__heap_base i32 (i32.const 32812)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\00a\00\00\00\00\00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "test" (func $ternary/test)) @@ -52,13 +52,13 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 1 local.set $x global.get $~lib/memory/__stack_pointer i32.const 32 local.tee $y - i32.store $0 + i32.store local.get $cond if local.get $x @@ -78,22 +78,22 @@ i32.const 0 global.set $~argumentsLength local.get $nop - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) else i32.const 0 global.set $~argumentsLength local.get $nop - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) end local.get $cond if i32.const 0 global.set $~argumentsLength local.get $nop - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) else i32.const 1 drop @@ -106,8 +106,8 @@ i32.const 0 global.set $~argumentsLength local.get $nop - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) end ) (func $~start @@ -134,7 +134,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $0 local.get $1 call $ternary/testVoidInclTypeMismatch diff --git a/tests/compiler/ternary.release.wat b/tests/compiler/ternary.release.wat index 875e187d55..fda76df259 100644 --- a/tests/compiler/ternary.release.wat +++ b/tests/compiler/ternary.release.wat @@ -1,16 +1,15 @@ (module - (type $none_=>_none (func)) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_=>_none (func (param i32 i32))) + (type $0 (func)) + (type $1 (func (param i32 i32 i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func (param i32 i32 i32 i32))) + (type $4 (func (param i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33836)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\02\00\00\00a") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\02\00\00\00a") (table $0 1 1 funcref) - (elem $0 (i32.const 1)) (export "test" (func $ternary/test)) (export "testDropWithTypeMismatch" (func $ternary/testDropWithTypeMismatch)) (export "memory" (memory $0)) @@ -38,13 +37,12 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -67,22 +65,22 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $1 - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) local.get $0 if local.get $1 - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) end local.get $0 i32.eqz if local.get $1 - i32.load $0 - call_indirect $0 (type $none_=>_none) + i32.load + call_indirect (type $0) end global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/throw.debug.wat b/tests/compiler/throw.debug.wat index 90f3693c9e..0b8420d409 100644 --- a/tests/compiler/throw.debug.wat +++ b/tests/compiler/throw.debug.wat @@ -1,12 +1,12 @@ (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_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) - (type $none_=>_i32 (func (result i32))) + (type $0 (func (param i32 i32))) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i64) (result i32))) + (type $7 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) (global $~lib/rt/itcms/visitCount (mut i32) (i32.const 0)) @@ -27,23 +27,23 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33492)) (global $~lib/memory/__heap_base i32 (i32.const 33492)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") - (data (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\002\003\004\00\00\00\00\00\00\00") - (data (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00t\00h\00r\00o\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\003\004\005\00\00\00\00\00\00\00") - (data (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00L\00o\00o\00p\00\00\00") - (data (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\004\005\006\00\00\00\00\00\00\00") - (data (i32.const 284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\005\006\007\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\02\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 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 560) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 652) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00d\00o\00T\00h\00r\00o\00w\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 704) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\001\002\003\00\00\00\00\00\00\00") + (data $1 (i32.const 44) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\002\003\004\00\00\00\00\00\00\00") + (data $2 (i32.const 76) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00\00\00\00\00\00\00\00\00\00\00") + (data $3 (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00t\00h\00r\00o\00w\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 172) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\003\004\005\00\00\00\00\00\00\00") + (data $5 (i32.const 204) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\1a\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00L\00o\00o\00p\00\00\00") + (data $6 (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\004\005\006\00\00\00\00\00\00\00") + (data $7 (i32.const 284) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\005\006\007\00\00\00\00\00\00\00") + (data $8 (i32.const 320) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $9 (i32.const 348) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 416) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 444) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $12 (i32.const 508) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $13 (i32.const 560) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $14 (i32.const 588) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $15 (i32.const 652) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00d\00o\00T\00h\00r\00o\00w\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $16 (i32.const 704) "\04\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "doThrow" (func $throw/doThrow)) @@ -60,20 +60,20 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 32 local.tee $a - i32.store $0 + i32.store local.get $cond if global.get $~lib/memory/__stack_pointer i32.const 64 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 i32.const 96 i32.const 144 i32.const 10 @@ -84,7 +84,7 @@ global.get $~lib/memory/__stack_pointer i32.const 192 local.tee $c - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add @@ -105,11 +105,11 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 20 - memory.fill $0 + memory.fill global.get $~lib/memory/__stack_pointer i32.const 32 local.tee $a - i32.store $0 + i32.store i32.const 0 local.set $i loop $while-continue|0 @@ -123,7 +123,7 @@ global.get $~lib/memory/__stack_pointer i32.const 64 local.tee $b - i32.store $0 offset=4 + i32.store offset=4 local.get $i local.get $max i32.gt_s @@ -131,7 +131,7 @@ global.get $~lib/memory/__stack_pointer i32.const 192 local.tee $c - i32.store $0 offset=8 + i32.store offset=8 i32.const 224 i32.const 144 i32.const 23 @@ -142,14 +142,14 @@ global.get $~lib/memory/__stack_pointer i32.const 272 local.tee $d - i32.store $0 offset=12 + i32.store offset=12 br $while-continue|0 end end global.get $~lib/memory/__stack_pointer i32.const 304 local.tee $e - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/memory/__stack_pointer i32.const 20 i32.add @@ -158,12 +158,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -177,7 +177,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -251,7 +251,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -321,11 +321,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -333,7 +333,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 464 @@ -465,7 +465,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -478,7 +478,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -494,34 +494,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -681,7 +681,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -704,7 +704,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -718,7 +718,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -741,7 +741,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -884,7 +884,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -970,7 +970,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1050,7 +1050,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1084,7 +1084,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1107,7 +1107,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1121,27 +1121,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 608 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1166,9 +1171,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1187,7 +1192,7 @@ if i32.const 0 i32.const 608 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1206,7 +1211,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1220,7 +1224,7 @@ if i32.const 0 i32.const 608 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1276,12 +1280,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1315,7 +1319,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1336,7 +1340,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1356,7 +1360,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1376,7 +1380,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1402,7 +1406,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1425,9 +1429,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1463,7 +1468,7 @@ if i32.const 0 i32.const 608 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1766,7 +1771,7 @@ i32.const 560 call $~lib/rt/itcms/initLazy global.set $~lib/rt/itcms/fromSpace - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -1785,11 +1790,11 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 32 local.tee $a - i32.store $0 + i32.store i32.const 672 i32.const 144 i32.const 3 @@ -1809,16 +1814,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -1829,7 +1829,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return diff --git a/tests/compiler/throw.release.wat b/tests/compiler/throw.release.wat index 1ca9444e00..d1427154ca 100644 --- a/tests/compiler/throw.release.wat +++ b/tests/compiler/throw.release.wat @@ -1,8 +1,8 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32 i32 i32 i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/state (mut i32) (i32.const 0)) (global $~lib/rt/itcms/visitCount (mut i32) (i32.const 0)) @@ -15,56 +15,44 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34516)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\06\00\00\001\002\003") - (data (i32.const 1068) "\1c") - (data (i32.const 1080) "\02\00\00\00\06\00\00\002\003\004") - (data (i32.const 1100) ",") - (data (i32.const 1112) "\02\00\00\00\12\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f") - (data (i32.const 1148) ",") - (data (i32.const 1160) "\02\00\00\00\10\00\00\00t\00h\00r\00o\00w\00.\00t\00s") - (data (i32.const 1196) "\1c") - (data (i32.const 1208) "\02\00\00\00\06\00\00\003\004\005") - (data (i32.const 1228) ",") - (data (i32.const 1240) "\02\00\00\00\1a\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00L\00o\00o\00p") - (data (i32.const 1276) "\1c") - (data (i32.const 1288) "\02\00\00\00\06\00\00\004\005\006") - (data (i32.const 1308) "\1c") - (data (i32.const 1320) "\02\00\00\00\06\00\00\005\006\007") - (data (i32.const 1372) "<") - (data (i32.const 1384) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1468) "<") - (data (i32.const 1480) "\02\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 1532) ",") - (data (i32.const 1544) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1612) "<") - (data (i32.const 1624) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1676) ",") - (data (i32.const 1688) "\02\00\00\00\0e\00\00\00d\00o\00T\00h\00r\00o\00w") - (data (i32.const 1728) "\04\00\00\00 \00\00\00 \00\00\00 ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\06\00\00\001\002\003") + (data $1 (i32.const 1068) "\1c") + (data $1.1 (i32.const 1080) "\02\00\00\00\06\00\00\002\003\004") + (data $2 (i32.const 1100) ",") + (data $2.1 (i32.const 1112) "\02\00\00\00\12\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f") + (data $3 (i32.const 1148) ",") + (data $3.1 (i32.const 1160) "\02\00\00\00\10\00\00\00t\00h\00r\00o\00w\00.\00t\00s") + (data $4 (i32.const 1196) "\1c") + (data $4.1 (i32.const 1208) "\02\00\00\00\06\00\00\003\004\005") + (data $5 (i32.const 1228) ",") + (data $5.1 (i32.const 1240) "\02\00\00\00\1a\00\00\00d\00o\00T\00h\00r\00o\00w\00I\00f\00L\00o\00o\00p") + (data $6 (i32.const 1276) "\1c") + (data $6.1 (i32.const 1288) "\02\00\00\00\06\00\00\004\005\006") + (data $7 (i32.const 1308) "\1c") + (data $7.1 (i32.const 1320) "\02\00\00\00\06\00\00\005\006\007") + (data $9 (i32.const 1372) "<") + (data $9.1 (i32.const 1384) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $11 (i32.const 1468) "<") + (data $11.1 (i32.const 1480) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $12 (i32.const 1532) ",") + (data $12.1 (i32.const 1544) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $14 (i32.const 1612) "<") + (data $14.1 (i32.const 1624) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $15 (i32.const 1676) ",") + (data $15.1 (i32.const 1688) "\02\00\00\00\0e\00\00\00d\00o\00T\00h\00r\00o\00w") + (data $16 (i32.const 1728) "\04\00\00\00 \00\00\00 \00\00\00 ") (export "doThrow" (func $throw/doThrow)) (export "memory" (memory $0)) (start $~start) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) - global.get $~lib/rt/itcms/white - i32.const 1472 - i32.load $0 - i32.const 3 - i32.and - i32.eq - if - i32.const 1468 - call $~lib/rt/itcms/Object#makeGray - global.get $~lib/rt/itcms/visitCount - i32.const 1 - i32.add - global.set $~lib/rt/itcms/visitCount - end + i32.const 1488 + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -74,7 +62,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -92,7 +80,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -100,137 +88,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1392 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34516 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$92 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34516 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1392 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$92 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1392 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1392 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1728 + i32.load + i32.gt_u + if + i32.const 1488 + i32.const 1552 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1732 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1728 - i32.load $0 - i32.gt_u - if - i32.const 1488 - i32.const 1552 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1732 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -238,8 +246,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -251,10 +259,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -265,29 +273,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -295,10 +303,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -312,75 +320,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -402,7 +403,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -419,12 +420,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -441,17 +442,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -461,9 +462,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -488,13 +489,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -528,7 +529,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -584,19 +585,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -608,15 +609,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -624,18 +625,19 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/step (local $0 i32) (local $1 i32) - (local $2 i32) + (local $2 i64) (local $3 i32) + (local $4 i32) block $break|0 block $case2|0 block $case1|0 @@ -656,7 +658,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -669,19 +671,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $3 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $3 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -691,7 +693,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -703,7 +705,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -716,12 +718,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -730,7 +728,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -741,26 +739,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $3 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $3 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -776,7 +774,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -791,14 +789,14 @@ i32.ne if local.get $0 - i32.load $0 offset=4 - local.tee $2 + i32.load offset=4 + local.tee $3 i32.const -4 i32.and global.set $~lib/rt/itcms/iter global.get $~lib/rt/itcms/white i32.eqz - local.get $2 + local.get $3 i32.const 3 i32.and i32.ne @@ -816,14 +814,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -833,14 +831,14 @@ local.get $0 i32.const 4 i32.add - local.tee $2 + local.tee $3 i32.const 34516 i32.ge_u if global.get $~lib/rt/tlsf/ROOT i32.eqz if - memory.size $0 + memory.size local.tee $0 i32.const 0 i32.le_s @@ -848,7 +846,7 @@ i32.const 1 local.get $0 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -859,10 +857,10 @@ end i32.const 34528 i32.const 0 - i32.store $0 + i32.store i32.const 36096 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $1 i32.const 23 @@ -874,7 +872,7 @@ i32.const 34528 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $0 loop $for-loop|1 @@ -892,7 +890,7 @@ i32.const 34528 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 i32.const 1 i32.add @@ -907,16 +905,19 @@ br $for-loop|0 end end - memory.size $0 - i32.const 16 - i32.shl - local.tee $3 - i32.const 36100 - i32.lt_u + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl + local.tee $2 + i32.wrap_i64 + local.get $2 + i64.const 36100 + i64.lt_u if i32.const 0 i32.const 1632 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -924,7 +925,7 @@ i32.const 36108 local.set $1 i32.const 36096 - i32.load $0 + i32.load local.tee $0 if (result i32) local.get $0 @@ -935,7 +936,7 @@ if i32.const 0 i32.const 1632 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -947,7 +948,7 @@ i32.const 36092 local.set $1 local.get $0 - i32.load $0 + i32.load else i32.const 0 end @@ -955,12 +956,11 @@ i32.const 0 end local.set $0 - local.get $3 i32.const -16 i32.and local.get $1 i32.sub - local.tee $3 + local.tee $4 i32.const 20 i32.ge_u if @@ -968,20 +968,20 @@ local.get $0 i32.const 2 i32.and - local.get $3 + local.get $4 i32.const 8 i32.sub local.tee $0 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add @@ -989,10 +989,10 @@ i32.add local.tee $0 i32.const 2 - i32.store $0 + i32.store i32.const 36096 local.get $0 - i32.store $0 + i32.store i32.const 34528 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -1001,40 +1001,38 @@ global.set $~lib/rt/tlsf/ROOT end global.get $~lib/rt/tlsf/ROOT - local.set $0 - local.get $2 + local.get $3 i32.const 4 i32.sub local.set $1 - local.get $2 + local.get $3 i32.const 15 i32.and i32.const 1 - local.get $2 + local.get $3 select if (result i32) i32.const 1 else local.get $1 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1632 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $1 local.get $1 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $0 + i32.store local.get $1 call $~lib/rt/tlsf/insertBlock end @@ -1042,18 +1040,16 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end ) (func $throw/doThrow - (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1070,12 +1066,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 - local.get $0 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store i32.const 1696 i32.const 1168 i32.const 3 @@ -1092,7 +1087,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $invalid end return @@ -1102,20 +1097,15 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end unreachable ) (func $~start (local $0 i32) - (local $1 i32) - block $__inlined_func$start:throw + block $__inlined_func$start:throw$1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -1126,19 +1116,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i64.const 0 - i64.store $0 - local.get $1 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer i32.const 1216 - i32.store $0 offset=8 - local.get $1 + i32.store offset=8 + global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer @@ -1151,13 +1140,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.const 20 - memory.fill $0 - local.get $1 + memory.fill + global.get $~lib/memory/__stack_pointer i32.const 1056 - i32.store $0 + i32.store loop $while-continue|0 local.get $0 i32.const 1 @@ -1168,14 +1156,14 @@ if global.get $~lib/memory/__stack_pointer i32.const 1088 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 10 i32.gt_s if global.get $~lib/memory/__stack_pointer i32.const 1216 - i32.store $0 offset=8 + i32.store offset=8 i32.const 1248 i32.const 1168 i32.const 23 @@ -1185,53 +1173,52 @@ end global.get $~lib/memory/__stack_pointer i32.const 1296 - i32.store $0 offset=12 + i32.store offset=12 br $while-continue|0 end end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1328 - i32.store $0 offset=16 - local.get $0 + i32.store offset=16 + global.get $~lib/memory/__stack_pointer i32.const 20 i32.add global.set $~lib/memory/__stack_pointer i32.const 1348 i32.const 1344 - i32.store $0 + i32.store i32.const 1352 i32.const 1344 - i32.store $0 + i32.store i32.const 1344 global.set $~lib/rt/itcms/pinSpace i32.const 1444 i32.const 1440 - i32.store $0 + i32.store i32.const 1448 i32.const 1440 - i32.store $0 + i32.store i32.const 1440 global.set $~lib/rt/itcms/toSpace i32.const 1588 i32.const 1584 - i32.store $0 + i32.store i32.const 1592 i32.const 1584 - i32.store $0 + i32.store i32.const 1584 global.set $~lib/rt/itcms/fromSpace - memory.size $0 + memory.size drop global.get $~lib/rt/itcms/state i32.const 0 i32.gt_s if - loop $while-continue|08 + loop $while-continue|05 global.get $~lib/rt/itcms/state if call $~lib/rt/itcms/step - br $while-continue|08 + br $while-continue|05 end end end @@ -1243,7 +1230,7 @@ br $while-continue|1 end end - br $__inlined_func$start:throw + br $__inlined_func$start:throw$1 end i32.const 34544 i32.const 34592 @@ -1253,23 +1240,4 @@ unreachable end ) - (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 $0 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 - ) ) diff --git a/tests/compiler/tsconfig.json b/tests/compiler/tsconfig.json index 50bf8535c3..9807551662 100644 --- a/tests/compiler/tsconfig.json +++ b/tests/compiler/tsconfig.json @@ -1,7 +1,8 @@ { "extends": "../../std/assembly.json", "compilerOptions": { - "module": "ES6" + "module": "ES6", + "moduleDetection": "force" }, "include": [ "./**/*.ts" diff --git a/tests/compiler/typealias-errors.json b/tests/compiler/typealias-errors.json new file mode 100644 index 0000000000..91a3ef17ac --- /dev/null +++ b/tests/compiler/typealias-errors.json @@ -0,0 +1,7 @@ +{ + "asc_flags": [ + ], + "stderr": [ + "TS2300: Duplicate identifier 'A'." + ] +} diff --git a/tests/compiler/typealias-errors.ts b/tests/compiler/typealias-errors.ts new file mode 100644 index 0000000000..988e058572 --- /dev/null +++ b/tests/compiler/typealias-errors.ts @@ -0,0 +1,4 @@ +export function DuplicateTypeAlias(): void { + type A = i32; + type A = i32; +} diff --git a/tests/compiler/typealias.debug.wat b/tests/compiler/typealias.debug.wat index e51e2efe80..a32c177783 100644 --- a/tests/compiler/typealias.debug.wat +++ b/tests/compiler/typealias.debug.wat @@ -1,15 +1,334 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (global $~lib/memory/__data_end i32 (i32.const 8)) - (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) - (global $~lib/memory/__heap_base i32 (i32.const 32776)) - (memory $0 0) - (table $0 1 1 funcref) - (elem $0 (i32.const 1)) + (type $0 (func)) + (type $1 (func (param i32) (result i32))) + (type $2 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $3 (func (param i32 i32 i32 i32))) + (type $4 (func (param i32 i32) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) + (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) + (global $~lib/shared/runtime/Runtime.Incremental i32 (i32.const 2)) + (global $~lib/native/ASC_SHRINK_LEVEL i32 (i32.const 0)) + (global $~argumentsLength (mut i32) (i32.const 0)) + (global $~lib/memory/__data_end i32 (i32.const 156)) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32924)) + (global $~lib/memory/__heap_base i32 (i32.const 32924)) + (memory $0 1) + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00i\006\004\00\00\00\00\00\00\00") + (data $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\18\00\00\00t\00y\00p\00e\00a\00l\00i\00a\00s\00.\00t\00s\00\00\00\00\00") + (data $2 (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\06\00\00\00f\006\004\00\00\00\00\00\00\00") + (data $3 (i32.const 124) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (table $0 2 2 funcref) + (elem $0 (i32.const 1) $typealias/outer_function~inner_function) (export "alias" (func $typealias/alias)) (export "memory" (memory $0)) + (start $~start) + (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) + local.get $this + i32.load offset=16 + ) + (func $~lib/string/String#get:length (param $this i32) (result i32) + local.get $this + i32.const 20 + i32.sub + call $~lib/rt/common/OBJECT#get:rtSize + i32.const 1 + i32.shr_u + return + ) + (func $~lib/util/string/compareImpl (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) + (local $ptr1 i32) + (local $ptr2 i32) + (local $7 i32) + (local $a i32) + (local $b i32) + local.get $str1 + local.get $index1 + i32.const 1 + i32.shl + i32.add + local.set $ptr1 + local.get $str2 + local.get $index2 + i32.const 1 + i32.shl + i32.add + local.set $ptr2 + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $len + i32.const 4 + i32.ge_u + if (result i32) + local.get $ptr1 + i32.const 7 + i32.and + local.get $ptr2 + i32.const 7 + i32.and + i32.or + i32.eqz + else + i32.const 0 + end + if + block $do-break|0 + loop $do-loop|0 + local.get $ptr1 + i64.load + local.get $ptr2 + i64.load + i64.ne + if + br $do-break|0 + end + local.get $ptr1 + i32.const 8 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 8 + i32.add + local.set $ptr2 + local.get $len + i32.const 4 + i32.sub + local.set $len + local.get $len + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end + end + end + loop $while-continue|1 + local.get $len + local.tee $7 + i32.const 1 + i32.sub + local.set $len + local.get $7 + if + local.get $ptr1 + i32.load16_u + local.set $a + local.get $ptr2 + i32.load16_u + local.set $b + local.get $a + local.get $b + i32.ne + if + local.get $a + local.get $b + i32.sub + return + end + local.get $ptr1 + i32.const 2 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 2 + i32.add + local.set $ptr2 + br $while-continue|1 + end + end + i32.const 0 + return + ) + (func $typealias/outer_function~inner_function + (local $alias f64) + f64.const 1 + local.set $alias + i32.const 112 + i32.const 112 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 17 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + ) + (func $typealias/outer_function + (local $alias i64) + (local $inner_function i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i64.const 1 + local.set $alias + i32.const 32 + i32.const 32 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 64 + i32.const 13 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 144 + local.tee $inner_function + i32.store + local.get $inner_function + drop + i32.const 0 + global.set $~argumentsLength + local.get $inner_function + i32.load + call_indirect (type $0) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $typealias/generic_type_alias + i32.const 5 + i32.const 5 + i32.eq + drop + ) + (func $typealias/alias_in_type_arguments + i32.const 6 + i32.const 6 + i32.eq + drop + ) + (func $start:typealias + call $typealias/outer_function + call $typealias/generic_type_alias + call $typealias/alias_in_type_arguments + ) (func $typealias/alias (param $a i32) (result i32) local.get $a return ) + (func $~start + call $start:typealias + ) + (func $~stack_check + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 32944 + i32.const 32992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/string/String.__eq (param $left i32) (param $right i32) (result i32) + (local $leftLength i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $left + local.get $right + i32.eq + if + i32.const 1 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + i32.const 0 + i32.eq + end + if + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + call $~lib/string/String#get:length + i32.ne + if + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + call $~lib/util/string/compareImpl + i32.eqz + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) ) diff --git a/tests/compiler/typealias.release.wat b/tests/compiler/typealias.release.wat index 4265f6537e..997ab9cfcc 100644 --- a/tests/compiler/typealias.release.wat +++ b/tests/compiler/typealias.release.wat @@ -1,9 +1,243 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (memory $0 0) + (type $0 (func)) + (type $1 (func (param i32 i32 i32 i32))) + (type $2 (func (param i32) (result i32))) + (type $3 (func (param i32 i32) (result i32))) + (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) + (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33948)) + (memory $0 1) + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\06\00\00\00i\006\004") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\02\00\00\00\18\00\00\00t\00y\00p\00e\00a\00l\00i\00a\00s\00.\00t\00s") + (data $2 (i32.const 1116) "\1c") + (data $2.1 (i32.const 1128) "\02\00\00\00\06\00\00\00f\006\004") + (data $3 (i32.const 1148) "\1c") + (data $3.1 (i32.const 1160) "\04\00\00\00\08\00\00\00\01") + (table $0 2 2 funcref) + (elem $0 (i32.const 1) $typealias/outer_function~inner_function) (export "alias" (func $typealias/alias)) (export "memory" (memory $0)) + (start $~start) + (func $typealias/outer_function~inner_function + i32.const 1136 + i32.const 1136 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 17 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + ) (func $typealias/alias (param $0 i32) (result i32) local.get $0 ) + (func $~start + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1180 + i32.lt_s + if + i32.const 33968 + i32.const 34016 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store + i32.const 1056 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 13 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1168 + i32.store + i32.const 1168 + i32.load + call_indirect (type $0) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String.__eq (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1180 + i32.lt_s + if + i32.const 33968 + i32.const 34016 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store + local.get $0 + local.get $1 + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store + local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store offset=4 + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz + 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$5 + 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$5 + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.eqz + return + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) ) diff --git a/tests/compiler/typealias.ts b/tests/compiler/typealias.ts index b6b1449047..a28013ffa6 100644 --- a/tests/compiler/typealias.ts +++ b/tests/compiler/typealias.ts @@ -6,3 +6,29 @@ export type alias = i32; export function alias(a: alias): alias { return a; } + +function outer_function(): void { + type alias = i64; + let alias: alias = 1; + assert(nameof(alias) == nameof()); + function inner_function(): void { + type alias = f64; + let alias: alias = 1; + assert(nameof(alias) == nameof()); + } + inner_function(); +} +outer_function(); + +function generic_type_alias(): void { + type V = Array; + assert(idof>() == idof>()); +} +generic_type_alias(); + + +function alias_in_type_arguments(): void { + type alias = i64; + assert(idof>() == idof>()); +} +alias_in_type_arguments(); diff --git a/tests/compiler/typeof.debug.wat b/tests/compiler/typeof.debug.wat index 7de9f8c340..5d02f023cd 100644 --- a/tests/compiler/typeof.debug.wat +++ b/tests/compiler/typeof.debug.wat @@ -1,14 +1,14 @@ (module - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 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_i32_=>_i32 (func (param i32 i32 i32 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 $0 (func (param i32) (result i32))) + (type $1 (func (param i32 i32))) + (type $2 (func (param i32))) + (type $3 (func)) + (type $4 (func (param i32 i32) (result i32))) + (type $5 (func (param i32 i32 i32))) + (type $6 (func (param i32 i32 i32 i32 i32) (result i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) + (type $9 (func (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -40,31 +40,31 @@ (global $~lib/memory/__heap_base i32 (i32.const 33564)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r\00") - (data (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00t\00y\00p\00e\00o\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00o\00b\00j\00e\00c\00t\00") - (data (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 172) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00b\00o\00o\00l\00e\00a\00n\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 220) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g\00") - (data (i32.const 284) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 624) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 716) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00u\00n\00d\00e\00f\00i\00n\00e\00d\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 768) "\06\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r\00") + (data $1 (i32.const 44) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00t\00y\00p\00e\00o\00f\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00") + (data $2 (i32.const 92) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00o\00b\00j\00e\00c\00t\00") + (data $3 (i32.const 124) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 172) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0e\00\00\00b\00o\00o\00l\00e\00a\00n\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 220) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\02\00\00\001\00\00\00\00\00\00\00\00\00\00\00") + (data $6 (i32.const 252) "\1c\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g\00") + (data $7 (i32.const 284) "\1c\00\00\00\00\00\00\00\00\00\00\00\04\00\00\00\08\00\00\00\01\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 316) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 380) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $10 (i32.const 448) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $11 (i32.const 480) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $12 (i32.const 508) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $13 (i32.const 572) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $14 (i32.const 624) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $15 (i32.const 652) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $16 (i32.const 716) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\12\00\00\00u\00n\00d\00e\00f\00i\00n\00e\00d\00\00\00\00\00\00\00\00\00\00\00") + (data $17 (i32.const 768) "\06\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 2 2 funcref) (elem $0 (i32.const 1) $start:typeof~anonymous|0) (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/common/OBJECT#get:rtSize (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load offset=16 ) (func $~lib/string/String#get:length (param $this i32) (result i32) local.get $this @@ -116,9 +116,9 @@ block $do-break|0 loop $do-loop|0 local.get $ptr1 - i64.load $0 + i64.load local.get $ptr2 - i64.load $0 + i64.load i64.ne if br $do-break|0 @@ -151,10 +151,10 @@ local.get $7 if local.get $ptr1 - i32.load16_u $0 + i32.load16_u local.set $a local.get $ptr2 - i32.load16_u $0 + i32.load16_u local.set $b local.get $a local.get $b @@ -180,17 +180,16 @@ return ) (func $start:typeof~anonymous|0 - nop ) (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -204,7 +203,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -278,7 +277,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -348,11 +347,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -360,7 +359,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 528 @@ -492,7 +491,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -505,7 +504,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -521,34 +520,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -708,7 +707,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -731,7 +730,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -745,7 +744,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -768,7 +767,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -911,7 +910,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -997,7 +996,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1077,7 +1076,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1111,7 +1110,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1134,7 +1133,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1148,27 +1147,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 672 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1193,9 +1197,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1214,7 +1218,7 @@ if i32.const 0 i32.const 672 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1233,7 +1237,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1247,7 +1250,7 @@ if i32.const 0 i32.const 672 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1303,12 +1306,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1342,7 +1345,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1363,7 +1366,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1383,7 +1386,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1403,7 +1406,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1429,7 +1432,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1452,9 +1455,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1490,7 +1494,7 @@ if i32.const 0 i32.const 672 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -1756,14 +1760,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -1819,7 +1826,7 @@ if i32.const 336 i32.const 672 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -1828,6 +1835,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -1857,24 +1884,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -1912,7 +1928,7 @@ if i32.const 0 i32.const 672 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -1927,7 +1943,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -1972,7 +1988,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -1983,7 +1999,7 @@ if i32.const 0 i32.const 672 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -2005,7 +2021,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2028,7 +2044,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2047,22 +2063,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2075,7 +2083,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2102,27 +2110,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2147,7 +2156,7 @@ if i32.const 0 i32.const 672 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2262,7 +2271,7 @@ if i32.const 0 i32.const 672 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2282,7 +2291,7 @@ if i32.const 0 i32.const 672 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2315,12 +2324,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2371,7 +2380,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2404,20 +2413,15 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/function/Function<%28%29=>void>#get:_env (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/function/Function<%28%29=>void>~visit (param $0 i32) (param $1 i32) local.get $0 @@ -2438,7 +2442,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $typeof/SomeClass $invalid end return @@ -2493,7 +2497,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $left local.get $right i32.eq @@ -2531,7 +2535,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length local.set $leftLength @@ -2540,7 +2544,7 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 call $~lib/string/String#get:length i32.ne @@ -2558,14 +2562,14 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 + i32.store local.get $3 i32.const 0 local.get $right local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store offset=4 local.get $3 i32.const 0 local.get $leftLength @@ -2588,7 +2592,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -2597,18 +2601,18 @@ i32.const 5 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2620,27 +2624,17 @@ (func $start:typeof (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store i32.const 1 drop i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2652,17 +2646,7 @@ unreachable end i32.const 112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2674,17 +2658,7 @@ unreachable end i32.const 112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2696,17 +2670,7 @@ unreachable end i32.const 112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2718,17 +2682,7 @@ unreachable end i32.const 144 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 144 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2740,17 +2694,7 @@ unreachable end i32.const 144 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 144 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2764,17 +2708,7 @@ i32.const 1 drop i32.const 192 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 192 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2786,17 +2720,7 @@ unreachable end i32.const 112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2810,17 +2734,7 @@ i32.const 1 drop i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2834,17 +2748,7 @@ f64.const 1 drop i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2858,17 +2762,7 @@ i64.const 1 drop i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2882,17 +2776,7 @@ i32.const 240 drop i32.const 272 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 272 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2909,14 +2793,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 192 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2933,14 +2812,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2957,14 +2831,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -2981,14 +2850,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3005,14 +2869,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3029,14 +2888,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 272 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3053,14 +2907,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 144 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3071,7 +2920,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3097,14 +2946,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 112 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3116,17 +2960,7 @@ unreachable end i32.const 144 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 144 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3138,17 +2972,7 @@ unreachable end i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3165,14 +2989,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3189,14 +3008,9 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 736 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 call $~lib/string/String.__eq i32.eqz if @@ -3208,7 +3022,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3221,12 +3035,12 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store local.get $2 call $~lib/function/Function<%28%29=>void>#get:_env local.get $cookie @@ -3245,7 +3059,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3254,7 +3068,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/typeof.release.wat b/tests/compiler/typeof.release.wat index 834c5a7023..5a767c425a 100644 --- a/tests/compiler/typeof.release.wat +++ b/tests/compiler/typeof.release.wat @@ -1,12 +1,12 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_i32_i32_=>_none (func (param i32 i32 i32 i32))) - (type $i32_i32_i32_=>_none (func (param i32 i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_i32_=>_i32 (func (param i32 i32) (result i32))) + (type $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32) (result i32))) + (type $4 (func (param i32 i32 i32 i32))) + (type $5 (func (param i32 i32 i64))) + (type $6 (func (result i32))) + (type $7 (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)) @@ -22,56 +22,56 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34588)) (global $~started (mut i32) (i32.const 0)) (memory $0 1) - (data (i32.const 1036) "\1c") - (data (i32.const 1048) "\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r") - (data (i32.const 1068) ",") - (data (i32.const 1080) "\02\00\00\00\12\00\00\00t\00y\00p\00e\00o\00f\00.\00t\00s") - (data (i32.const 1116) "\1c") - (data (i32.const 1128) "\02\00\00\00\0c\00\00\00o\00b\00j\00e\00c\00t") - (data (i32.const 1148) ",") - (data (i32.const 1160) "\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n") - (data (i32.const 1196) ",") - (data (i32.const 1208) "\02\00\00\00\0e\00\00\00b\00o\00o\00l\00e\00a\00n") - (data (i32.const 1244) "\1c") - (data (i32.const 1256) "\02\00\00\00\02\00\00\001") - (data (i32.const 1276) "\1c") - (data (i32.const 1288) "\02\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g") - (data (i32.const 1308) "\1c") - (data (i32.const 1320) "\04\00\00\00\08\00\00\00\01") - (data (i32.const 1340) "<") - (data (i32.const 1352) "\02\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 1404) "<") - (data (i32.const 1416) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1532) "<") - (data (i32.const 1544) "\02\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 1596) ",") - (data (i32.const 1608) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1676) "<") - (data (i32.const 1688) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1740) ",") - (data (i32.const 1752) "\02\00\00\00\12\00\00\00u\00n\00d\00e\00f\00i\00n\00e\00d") - (data (i32.const 1792) "\06\00\00\00 \00\00\00 \00\00\00 ") - (data (i32.const 1816) " ") + (data $0 (i32.const 1036) "\1c") + (data $0.1 (i32.const 1048) "\02\00\00\00\0c\00\00\00n\00u\00m\00b\00e\00r") + (data $1 (i32.const 1068) ",") + (data $1.1 (i32.const 1080) "\02\00\00\00\12\00\00\00t\00y\00p\00e\00o\00f\00.\00t\00s") + (data $2 (i32.const 1116) "\1c") + (data $2.1 (i32.const 1128) "\02\00\00\00\0c\00\00\00o\00b\00j\00e\00c\00t") + (data $3 (i32.const 1148) ",") + (data $3.1 (i32.const 1160) "\02\00\00\00\10\00\00\00f\00u\00n\00c\00t\00i\00o\00n") + (data $4 (i32.const 1196) ",") + (data $4.1 (i32.const 1208) "\02\00\00\00\0e\00\00\00b\00o\00o\00l\00e\00a\00n") + (data $5 (i32.const 1244) "\1c") + (data $5.1 (i32.const 1256) "\02\00\00\00\02\00\00\001") + (data $6 (i32.const 1276) "\1c") + (data $6.1 (i32.const 1288) "\02\00\00\00\0c\00\00\00s\00t\00r\00i\00n\00g") + (data $7 (i32.const 1308) "\1c") + (data $7.1 (i32.const 1320) "\04\00\00\00\08\00\00\00\01") + (data $8 (i32.const 1340) "<") + (data $8.1 (i32.const 1352) "\02\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 $9 (i32.const 1404) "<") + (data $9.1 (i32.const 1416) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $12 (i32.const 1532) "<") + (data $12.1 (i32.const 1544) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $13 (i32.const 1596) ",") + (data $13.1 (i32.const 1608) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $15 (i32.const 1676) "<") + (data $15.1 (i32.const 1688) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $16 (i32.const 1740) ",") + (data $16.1 (i32.const 1752) "\02\00\00\00\12\00\00\00u\00n\00d\00e\00f\00i\00n\00e\00d") + (data $17 (i32.const 1792) "\06\00\00\00 \00\00\00 \00\00\00 ") + (data $17.1 (i32.const 1816) " ") (export "memory" (memory $0)) (export "_start" (func $~start)) (func $~lib/rt/itcms/visitRoots (local $0 i32) (local $1 i32) i32.const 1264 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $typeof/c local.tee $0 if local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit end i32.const 1552 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1360 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -81,7 +81,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -99,7 +99,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -107,137 +107,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1424 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1424 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34588 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$119 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34588 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1424 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$119 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1424 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1424 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1792 + i32.load + i32.gt_u + if + i32.const 1552 + i32.const 1616 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1796 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1792 - i32.load $0 - i32.gt_u - if - i32.const 1552 - i32.const 1616 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1796 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -245,8 +265,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -258,10 +278,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -272,29 +292,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -302,10 +322,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -319,75 +339,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -409,7 +422,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -426,12 +439,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -448,17 +461,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -468,9 +481,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -495,13 +508,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -535,7 +548,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -591,19 +604,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -615,15 +628,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -631,23 +644,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1696 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -661,10 +676,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -672,23 +687,22 @@ if i32.const 0 i32.const 1696 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -700,52 +714,53 @@ if i32.const 0 i32.const 1696 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -753,7 +768,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -761,7 +776,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -772,10 +787,10 @@ end i32.const 34592 i32.const 0 - i32.store $0 + i32.store i32.const 36160 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -787,7 +802,7 @@ i32.const 34592 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -805,7 +820,7 @@ i32.const 34592 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -822,9 +837,10 @@ end i32.const 34592 i32.const 36164 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34592 global.set $~lib/rt/tlsf/ROOT @@ -854,7 +870,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -867,19 +883,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -890,7 +906,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -902,7 +918,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -915,12 +931,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -929,7 +941,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -940,26 +952,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -975,7 +987,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -991,7 +1003,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -1016,14 +1028,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1043,7 +1055,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1058,25 +1069,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1696 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1085,12 +1095,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1100,7 +1109,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1111,10 +1120,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1126,13 +1135,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1696 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1147,7 +1156,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1162,7 +1171,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$70 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1174,16 +1183,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$70 end local.get $1 i32.const 0 @@ -1191,8 +1196,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1214,11 +1218,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1237,12 +1241,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1253,9 +1257,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1264,14 +1269,14 @@ if i32.const 0 i32.const 1696 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1279,7 +1284,7 @@ if i32.const 0 i32.const 1696 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1288,7 +1293,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1304,7 +1309,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1314,7 +1319,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1323,54 +1328,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1383,11 +1388,10 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $~lib/rt/__visit_members (param $0 i32) - (local $1 i32) block $invalid block $typeof/SomeClass block $~lib/function/Function<%28%29=>void> @@ -1398,7 +1402,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28%29=>void> $typeof/SomeClass $invalid end return @@ -1408,12 +1412,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end global.get $~lib/memory/__stack_pointer @@ -1432,19 +1432,14 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 - local.get $1 + i32.store + global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load offset=4 + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1486,7 +1481,7 @@ end global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $0 local.get $1 i32.eq @@ -1506,55 +1501,57 @@ i32.or br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 + i32.store local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u local.set $3 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store local.get $3 local.get $1 i32.const 20 i32.sub - i32.load $0 offset=16 + i32.load offset=16 i32.const 1 i32.shr_u i32.ne br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 + i32.store local.get $0 - local.tee $2 - i32.const 7 - i32.and + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + i32.store offset=4 local.get $3 local.tee $0 i32.const 4 i32.ge_u - i32.and + if (result i32) + local.get $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + else + i32.const 1 + end + i32.eqz if loop $do-loop|0 local.get $2 - i64.load $0 + i64.load local.get $1 - i64.load $0 + i64.load i64.eq if local.get $2 @@ -1575,7 +1572,7 @@ end end end - block $__inlined_func$~lib/util/string/compareImpl + block $__inlined_func$~lib/util/string/compareImpl$78 loop $while-continue|1 local.get $0 local.tee $3 @@ -1585,17 +1582,17 @@ local.get $3 if local.get $2 - i32.load16_u $0 + i32.load16_u local.tee $5 local.get $1 - i32.load16_u $0 + 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 + br_if $__inlined_func$~lib/util/string/compareImpl$78 local.get $2 i32.const 2 i32.add @@ -1628,7 +1625,7 @@ (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1637,15 +1634,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 1056 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 offset=4 + i32.const 0 + i32.store i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -1658,13 +1648,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1136 - i32.store $0 - local.get $0 - i32.const 1136 - i32.store $0 offset=4 i32.const 1136 i32.const 1136 call $~lib/string/String.__eq @@ -1677,13 +1660,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1136 - i32.store $0 - local.get $0 - i32.const 1136 - i32.store $0 offset=4 i32.const 1136 i32.const 1136 call $~lib/string/String.__eq @@ -1696,13 +1672,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1136 - i32.store $0 - local.get $0 - i32.const 1136 - i32.store $0 offset=4 i32.const 1136 i32.const 1136 call $~lib/string/String.__eq @@ -1715,13 +1684,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1168 - i32.store $0 - local.get $0 - i32.const 1168 - i32.store $0 offset=4 i32.const 1168 i32.const 1168 call $~lib/string/String.__eq @@ -1734,13 +1696,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1168 - i32.store $0 - local.get $0 - i32.const 1168 - i32.store $0 offset=4 i32.const 1168 i32.const 1168 call $~lib/string/String.__eq @@ -1753,13 +1708,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1216 - i32.store $0 - local.get $0 - i32.const 1216 - i32.store $0 offset=4 i32.const 1216 i32.const 1216 call $~lib/string/String.__eq @@ -1772,13 +1720,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1136 - i32.store $0 - local.get $0 - i32.const 1136 - i32.store $0 offset=4 i32.const 1136 i32.const 1136 call $~lib/string/String.__eq @@ -1791,13 +1732,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1056 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 offset=4 i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -1810,13 +1744,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1056 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 offset=4 i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -1829,13 +1756,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1056 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 offset=4 i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -1848,13 +1768,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1296 - i32.store $0 - local.get $0 - i32.const 1296 - i32.store $0 offset=4 i32.const 1296 i32.const 1296 call $~lib/string/String.__eq @@ -1868,12 +1781,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1216 - i32.store $0 - local.get $0 i32.const 1216 - i32.store $0 offset=4 + i32.store i32.const 1216 i32.const 1216 call $~lib/string/String.__eq @@ -1887,12 +1796,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1056 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 offset=4 + i32.store i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -1906,12 +1811,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1056 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 offset=4 + i32.store i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -1925,12 +1826,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1056 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 offset=4 + i32.store i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -1944,12 +1841,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1056 - i32.store $0 - local.get $0 - i32.const 1056 - i32.store $0 offset=4 + i32.store i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -1963,12 +1856,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1296 - i32.store $0 - local.get $0 - i32.const 1296 - i32.store $0 offset=4 + i32.store i32.const 1296 i32.const 1296 call $~lib/string/String.__eq @@ -1982,12 +1871,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1168 - i32.store $0 - local.get $0 - i32.const 1168 - i32.store $0 offset=4 + i32.store i32.const 1168 i32.const 1168 call $~lib/string/String.__eq @@ -2000,7 +1885,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34588 @@ -2010,26 +1895,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1476 i32.const 1472 - i32.store $0 + i32.store i32.const 1480 i32.const 1472 - i32.store $0 + i32.store i32.const 1472 global.set $~lib/rt/itcms/pinSpace i32.const 1508 i32.const 1504 - i32.store $0 + i32.store i32.const 1512 i32.const 1504 - i32.store $0 + i32.store i32.const 1504 global.set $~lib/rt/itcms/toSpace i32.const 1652 i32.const 1648 - i32.store $0 + i32.store i32.const 1656 i32.const 1648 - i32.store $0 + i32.store i32.const 1648 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -2041,19 +1926,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 5 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2063,7 +1947,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -2071,15 +1955,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -2088,10 +1971,7 @@ global.set $typeof/c global.get $~lib/memory/__stack_pointer i32.const 1136 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1136 - i32.store $0 offset=4 + i32.store i32.const 1136 i32.const 1136 call $~lib/string/String.__eq @@ -2104,13 +1984,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1168 - i32.store $0 - local.get $0 - i32.const 1168 - i32.store $0 offset=4 i32.const 1168 i32.const 1168 call $~lib/string/String.__eq @@ -2123,13 +1996,6 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1760 - i32.store $0 - local.get $0 - i32.const 1760 - i32.store $0 offset=4 i32.const 1760 i32.const 1760 call $~lib/string/String.__eq @@ -2143,12 +2009,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1760 - i32.store $0 - local.get $0 - i32.const 1760 - i32.store $0 offset=4 + i32.store i32.const 1760 i32.const 1760 call $~lib/string/String.__eq @@ -2162,12 +2024,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 1760 - i32.store $0 - local.get $0 - i32.const 1760 - i32.store $0 offset=4 + i32.store i32.const 1760 i32.const 1760 call $~lib/string/String.__eq @@ -2181,7 +2039,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer return @@ -2193,23 +2051,4 @@ 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 $0 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 - ) ) diff --git a/tests/compiler/unary.debug.wat b/tests/compiler/unary.debug.wat index 61268eaa15..d29944250f 100644 --- a/tests/compiler/unary.debug.wat +++ b/tests/compiler/unary.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $unary/i (mut i32) (i32.const 0)) (global $unary/I (mut i64) (i64.const 0)) (global $unary/f (mut f32) (f32.const 0)) diff --git a/tests/compiler/unary.release.wat b/tests/compiler/unary.release.wat index faeff2a9f0..202341c088 100644 --- a/tests/compiler/unary.release.wat +++ b/tests/compiler/unary.release.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $unary/i (mut i32) (i32.const 0)) (global $unary/I (mut i64) (i64.const 0)) (global $unary/f (mut f32) (f32.const 0)) diff --git a/tests/compiler/unicode-identifier.debug.wat b/tests/compiler/unicode-identifier.debug.wat index 22481cd95a..7e69185a00 100644 --- a/tests/compiler/unicode-identifier.debug.wat +++ b/tests/compiler/unicode-identifier.debug.wat @@ -1,12 +1,12 @@ (module - (global $unicode-identifier/ÀÈ (mut i32) (i32.const 0)) - (global $unicode-identifier/变量 (mut i32) (i32.const 0)) - (global $unicode-identifier/𠜎𠜱 (mut i32) (i32.const 0)) + (global $"unicode-identifier/\c3\80\c3\88" (mut i32) (i32.const 0)) + (global $"unicode-identifier/\e5\8f\98\e9\87\8f" (mut i32) (i32.const 0)) + (global $"unicode-identifier/\f0\a0\9c\8e\f0\a0\9c\b1" (mut i32) (i32.const 0)) (memory $0 0) (table $0 1 1 funcref) (elem $0 (i32.const 1)) - (export "ÀÈ" (global $unicode-identifier/ÀÈ)) - (export "变量" (global $unicode-identifier/变量)) - (export "𠜎𠜱" (global $unicode-identifier/𠜎𠜱)) + (export "\c3\80\c3\88" (global $"unicode-identifier/\c3\80\c3\88")) + (export "\e5\8f\98\e9\87\8f" (global $"unicode-identifier/\e5\8f\98\e9\87\8f")) + (export "\f0\a0\9c\8e\f0\a0\9c\b1" (global $"unicode-identifier/\f0\a0\9c\8e\f0\a0\9c\b1")) (export "memory" (memory $0)) ) diff --git a/tests/compiler/unicode-identifier.release.wat b/tests/compiler/unicode-identifier.release.wat index 36d442b9c4..35ea64349a 100644 --- a/tests/compiler/unicode-identifier.release.wat +++ b/tests/compiler/unicode-identifier.release.wat @@ -1,10 +1,10 @@ (module - (global $unicode-identifier/ÀÈ (mut i32) (i32.const 0)) - (global $unicode-identifier/变量 (mut i32) (i32.const 0)) - (global $unicode-identifier/𠜎𠜱 (mut i32) (i32.const 0)) + (global $"unicode-identifier/\c3\80\c3\88" (mut i32) (i32.const 0)) + (global $"unicode-identifier/\e5\8f\98\e9\87\8f" (mut i32) (i32.const 0)) + (global $"unicode-identifier/\f0\a0\9c\8e\f0\a0\9c\b1" (mut i32) (i32.const 0)) (memory $0 0) - (export "ÀÈ" (global $unicode-identifier/ÀÈ)) - (export "变量" (global $unicode-identifier/变量)) - (export "𠜎𠜱" (global $unicode-identifier/𠜎𠜱)) + (export "\c3\80\c3\88" (global $"unicode-identifier/\c3\80\c3\88")) + (export "\e5\8f\98\e9\87\8f" (global $"unicode-identifier/\e5\8f\98\e9\87\8f")) + (export "\f0\a0\9c\8e\f0\a0\9c\b1" (global $"unicode-identifier/\f0\a0\9c\8e\f0\a0\9c\b1")) (export "memory" (memory $0)) ) diff --git a/tests/compiler/unify-local-flags.debug.wat b/tests/compiler/unify-local-flags.debug.wat index 078971bf23..d7acc2209e 100644 --- a/tests/compiler/unify-local-flags.debug.wat +++ b/tests/compiler/unify-local-flags.debug.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (global $~lib/memory/__data_end i32 (i32.const 8)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 32776)) (global $~lib/memory/__heap_base i32 (i32.const 32776)) diff --git a/tests/compiler/unify-local-flags.release.wat b/tests/compiler/unify-local-flags.release.wat index 8ec6838110..25c3a2b4ca 100644 --- a/tests/compiler/unify-local-flags.release.wat +++ b/tests/compiler/unify-local-flags.release.wat @@ -1,5 +1,5 @@ (module - (type $none_=>_none (func)) + (type $0 (func)) (memory $0 0) (export "testFor" (func $unify-local-flags/testFor)) (export "testWhile" (func $unify-local-flags/testWhile)) diff --git a/tests/compiler/void.debug.wat b/tests/compiler/void.debug.wat index 4e207ea3f9..3be201b7be 100644 --- a/tests/compiler/void.debug.wat +++ b/tests/compiler/void.debug.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func)) - (type $none_=>_i32 (func (result i32))) + (type $0 (func)) + (type $1 (func (result i32))) (global $void/u8Val1 (mut i32) (i32.const 1)) (global $void/u8Val2 (mut i32) (i32.const 255)) (global $~lib/memory/__data_end i32 (i32.const 8)) diff --git a/tests/compiler/while.debug.wat b/tests/compiler/while.debug.wat index f129f4a0c0..9bb3b1cbbb 100644 --- a/tests/compiler/while.debug.wat +++ b/tests/compiler/while.debug.wat @@ -1,13 +1,13 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_i32 (func (param i32) (result i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $i32_=>_none (func (param i32))) - (type $none_=>_i32 (func (result i32))) - (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 $i32_i32_i32_=>_i32 (func (param i32 i32 i32) (result i32))) + (type $0 (func (param i32) (result i32))) + (type $1 (func)) + (type $2 (func (param i32 i32))) + (type $3 (func (param i32))) + (type $4 (func (result i32))) + (type $5 (func (param i32 i32) (result i32))) + (type $6 (func (param i32 i32 i32))) + (type $7 (func (param i32 i32 i32 i32))) + (type $8 (func (param i32 i32 i64) (result i32))) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $while/ran (mut i32) (i32.const 0)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -29,16 +29,16 @@ (global $~lib/memory/__stack_pointer (mut i32) (i32.const 33256)) (global $~lib/memory/__heap_base i32 (i32.const 33256)) (memory $0 1) - (data (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") - (data (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") + (data $0 (i32.const 12) ",\00\00\00\00\00\00\00\00\00\00\00\02\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $1 (i32.const 60) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $2 (i32.const 124) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $3 (i32.const 192) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $4 (i32.const 224) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $5 (i32.const 252) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $6 (i32.const 316) ",\00\00\00\00\00\00\00\00\00\00\00\02\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 $7 (i32.const 368) "\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00\00") + (data $8 (i32.const 396) "<\00\00\00\00\00\00\00\00\00\00\00\02\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 $9 (i32.const 464) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00") (table $0 1 1 funcref) (elem $0 (i32.const 1)) (export "memory" (memory $0)) @@ -216,7 +216,6 @@ i32.const 0 end if - nop br $while-continue|0 end end @@ -468,12 +467,12 @@ (func $~lib/rt/itcms/Object#set:nextWithColor (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/itcms/Object#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/itcms/initLazy (param $space i32) (result i32) local.get $space @@ -487,7 +486,7 @@ ) (func $~lib/rt/itcms/Object#get:nextWithColor (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/itcms/Object#get:next (param $this i32) (result i32) local.get $this @@ -561,7 +560,7 @@ ) (func $~lib/rt/itcms/Object#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/itcms/Object#set:next (param $this i32) (param $obj i32) local.get $this @@ -631,11 +630,11 @@ ) (func $~lib/rt/itcms/Object#get:rtId (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load offset=12 ) (func $~lib/shared/typeinfo/Typeinfo#get:flags (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/__typeinfo (param $id i32) (result i32) (local $ptr i32) @@ -643,7 +642,7 @@ local.set $ptr local.get $id local.get $ptr - i32.load $0 + i32.load i32.gt_u if i32.const 272 @@ -775,7 +774,7 @@ i32.lt_u if local.get $ptr - i32.load $0 + i32.load local.get $cookie call $~lib/rt/itcms/__visit local.get $ptr @@ -788,7 +787,7 @@ ) (func $~lib/rt/common/BLOCK#get:mmInfo (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/itcms/Object#get:size (param $this i32) (result i32) i32.const 4 @@ -804,34 +803,34 @@ (func $~lib/rt/tlsf/Root#set:flMap (param $this i32) (param $flMap i32) local.get $this local.get $flMap - i32.store $0 + i32.store ) (func $~lib/rt/common/BLOCK#set:mmInfo (param $this i32) (param $mmInfo i32) local.get $this local.get $mmInfo - i32.store $0 + i32.store ) (func $~lib/rt/tlsf/Block#set:prev (param $this i32) (param $prev i32) local.get $this local.get $prev - i32.store $0 offset=4 + i32.store offset=4 ) (func $~lib/rt/tlsf/Block#set:next (param $this i32) (param $next i32) local.get $this local.get $next - i32.store $0 offset=8 + i32.store offset=8 ) (func $~lib/rt/tlsf/Block#get:prev (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load offset=4 ) (func $~lib/rt/tlsf/Block#get:next (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load offset=8 ) (func $~lib/rt/tlsf/Root#get:flMap (param $this i32) (result i32) local.get $this - i32.load $0 + i32.load ) (func $~lib/rt/tlsf/removeBlock (param $root i32) (param $block i32) (local $blockInfo i32) @@ -991,7 +990,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.0 end i32.eq @@ -1014,7 +1013,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $next i32.eqz if @@ -1028,7 +1027,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.0 end local.set $slMap @@ -1051,7 +1050,7 @@ i32.shl i32.add local.get $slMap|23 - i32.store $0 offset=4 + i32.store offset=4 local.get $slMap i32.eqz if @@ -1194,7 +1193,7 @@ local.get $block|7 i32.const 4 i32.sub - i32.load $0 + i32.load br $~lib/rt/tlsf/GETFREELEFT|inlined.0 end local.set $left @@ -1280,7 +1279,7 @@ i32.const 4 i32.sub local.get $block - i32.store $0 + i32.store local.get $size i32.const 256 i32.lt_u @@ -1360,7 +1359,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.1 end local.set $head @@ -1394,7 +1393,7 @@ i32.shl i32.add local.get $head|23 - i32.store $0 offset=96 + i32.store offset=96 local.get $root local.get $root call $~lib/rt/tlsf/Root#get:flMap @@ -1417,7 +1416,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.1 end i32.const 1 @@ -1431,27 +1430,32 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $end i32) (result i32) - (local $root|3 i32) + (func $~lib/rt/tlsf/addMemory (param $root i32) (param $start i32) (param $endU64 i64) (result i32) + (local $end i32) + (local $root|4 i32) (local $tail i32) (local $tailInfo i32) (local $size i32) (local $leftSize i32) (local $left i32) - (local $root|9 i32) - (local $tail|10 i32) + (local $root|10 i32) + (local $tail|11 i32) + local.get $endU64 + i32.wrap_i64 + local.set $end i32.const 1 drop local.get $start - local.get $end - i32.le_u + i64.extend_i32_u + local.get $endU64 + i64.le_u i32.eqz if i32.const 0 i32.const 416 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -1476,9 +1480,9 @@ local.set $end block $~lib/rt/tlsf/GETTAIL|inlined.0 (result i32) local.get $root - local.set $root|3 - local.get $root|3 - i32.load $0 offset=1568 + local.set $root|4 + local.get $root|4 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.0 end local.set $tail @@ -1497,7 +1501,7 @@ if i32.const 0 i32.const 416 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable @@ -1516,7 +1520,6 @@ call $~lib/rt/common/BLOCK#get:mmInfo local.set $tailInfo else - nop end else i32.const 1 @@ -1530,7 +1533,7 @@ if i32.const 0 i32.const 416 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable @@ -1586,12 +1589,12 @@ i32.or call $~lib/rt/common/BLOCK#set:mmInfo local.get $root - local.set $root|9 + local.set $root|10 local.get $tail - local.set $tail|10 - local.get $root|9 - local.get $tail|10 - i32.store $0 offset=1568 + local.set $tail|11 + local.get $root|10 + local.get $tail|11 + i32.store offset=1568 local.get $root local.get $left call $~lib/rt/tlsf/insertBlock @@ -1625,7 +1628,7 @@ i32.xor i32.and local.set $rootOffset - memory.size $0 + memory.size local.set $pagesBefore local.get $rootOffset i32.const 1572 @@ -1646,7 +1649,7 @@ local.get $pagesNeeded local.get $pagesBefore i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -1666,7 +1669,7 @@ local.set $tail local.get $root|4 local.get $tail - i32.store $0 offset=1568 + i32.store offset=1568 i32.const 0 local.set $fl loop $for-loop|0 @@ -1686,7 +1689,7 @@ i32.shl i32.add local.get $slMap - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $sl loop $for-loop|1 @@ -1712,7 +1715,7 @@ i32.shl i32.add local.get $head - i32.store $0 offset=96 + i32.store offset=96 local.get $sl i32.const 1 i32.add @@ -1735,9 +1738,10 @@ drop local.get $root local.get $memStart - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop local.get $root @@ -1773,7 +1777,7 @@ if i32.const 0 i32.const 416 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable @@ -2039,14 +2043,17 @@ if i32.const 0 drop + i32.const 200 + i32.const 100 + i32.rem_u + i32.const 0 + i32.eq + 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 100 + i32.div_u + i32.mul i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold @@ -2102,7 +2109,7 @@ if i32.const 80 i32.const 416 - i32.const 458 + i32.const 461 i32.const 29 call $~lib/builtins/abort unreachable @@ -2111,6 +2118,26 @@ call $~lib/rt/tlsf/computeSize return ) + (func $~lib/rt/tlsf/roundSize (param $size i32) (result i32) + local.get $size + i32.const 536870910 + i32.lt_u + if (result i32) + local.get $size + i32.const 1 + i32.const 27 + local.get $size + i32.clz + i32.sub + i32.shl + i32.add + i32.const 1 + i32.sub + else + local.get $size + end + return + ) (func $~lib/rt/tlsf/searchBlock (param $root i32) (param $size i32) (result i32) (local $fl i32) (local $sl i32) @@ -2140,24 +2167,13 @@ local.set $sl else local.get $size - i32.const 536870910 - i32.lt_u - if (result i32) - local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.add - i32.const 1 - i32.sub - else - local.get $size - end + call $~lib/rt/tlsf/roundSize local.set $requestSize - i32.const 31 + i32.const 4 + i32.const 8 + i32.mul + i32.const 1 + i32.sub local.get $requestSize i32.clz i32.sub @@ -2195,7 +2211,7 @@ if i32.const 0 i32.const 416 - i32.const 330 + i32.const 334 i32.const 14 call $~lib/builtins/abort unreachable @@ -2210,7 +2226,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.2 end i32.const 0 @@ -2255,7 +2271,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 br $~lib/rt/tlsf/GETSL|inlined.3 end local.set $slMap @@ -2266,7 +2282,7 @@ if i32.const 0 i32.const 416 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -2288,7 +2304,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.2 end local.set $head @@ -2311,7 +2327,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 br $~lib/rt/tlsf/GETHEAD|inlined.3 end local.set $head @@ -2330,22 +2346,14 @@ i32.const 0 drop local.get $size - i32.const 536870910 - i32.lt_u + i32.const 256 + i32.ge_u if local.get $size - i32.const 1 - i32.const 27 - local.get $size - i32.clz - i32.sub - i32.shl - i32.const 1 - i32.sub - i32.add + call $~lib/rt/tlsf/roundSize local.set $size end - memory.size $0 + memory.size local.set $pagesBefore local.get $size i32.const 4 @@ -2358,7 +2366,7 @@ local.get $root local.set $root|3 local.get $root|3 - i32.load $0 offset=1568 + i32.load offset=1568 br $~lib/rt/tlsf/GETTAIL|inlined.1 end i32.ne @@ -2385,27 +2393,28 @@ select local.set $pagesWanted local.get $pagesWanted - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $pagesNeeded - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if unreachable end end - memory.size $0 + memory.size local.set $pagesAfter local.get $root local.get $pagesBefore i32.const 16 i32.shl local.get $pagesAfter - i32.const 16 - i32.shl + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory drop ) @@ -2430,7 +2439,7 @@ if i32.const 0 i32.const 416 - i32.const 357 + i32.const 361 i32.const 14 call $~lib/builtins/abort unreachable @@ -2545,7 +2554,7 @@ if i32.const 0 i32.const 416 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable @@ -2565,7 +2574,7 @@ if i32.const 0 i32.const 416 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -2598,12 +2607,12 @@ (func $~lib/rt/itcms/Object#set:rtId (param $this i32) (param $rtId i32) local.get $this local.get $rtId - i32.store $0 offset=12 + i32.store offset=12 ) (func $~lib/rt/itcms/Object#set:rtSize (param $this i32) (param $rtSize i32) local.get $this local.get $rtSize - i32.store $0 offset=16 + i32.store offset=16 ) (func $~lib/rt/itcms/__new (param $size i32) (param $id i32) (result i32) (local $obj i32) @@ -2654,7 +2663,7 @@ local.get $ptr i32.const 0 local.get $size - memory.fill $0 + memory.fill local.get $ptr return ) @@ -2668,14 +2677,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $i global.get $~lib/memory/__stack_pointer i32.const 0 call $while/Ref#constructor local.tee $ref - i32.store $0 + i32.store loop $while-continue|1 local.get $ref if @@ -2693,7 +2702,7 @@ i32.const 0 call $while/Ref#constructor local.tee $ref - i32.store $0 + i32.store end br $while-continue|1 end @@ -2743,14 +2752,14 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $i global.get $~lib/memory/__stack_pointer i32.const 0 call $while/Ref#constructor local.tee $ref - i32.store $0 + i32.store block $while-break|0 loop $while-continue|0 call $while/getRef @@ -2816,7 +2825,6 @@ i32.const 1 i32.lt_s if - nop else br $while-break|0 end @@ -2845,7 +2853,6 @@ if br $while-break|0 else - nop end br $while-continue|0 end @@ -3064,7 +3071,7 @@ end i32.const 0 global.set $while/ran - memory.size $0 + memory.size i32.const 16 i32.shl global.get $~lib/memory/__heap_base @@ -3161,16 +3168,11 @@ local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end + i32.load + local.get $1 + call $~lib/rt/itcms/__visit ) (func $~lib/object/Object~visit (param $0 i32) (param $1 i32) - nop ) (func $~lib/rt/__visit_members (param $0 i32) (param $1 i32) block $invalid @@ -3182,7 +3184,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $while/Ref $invalid end return @@ -3225,7 +3227,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 - i64.store $0 + i64.store local.get $this i32.eqz if @@ -3234,18 +3236,18 @@ i32.const 4 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 call $~lib/object/Object#constructor local.tee $this - i32.store $0 + i32.store local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3263,7 +3265,7 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $this i32.eqz if @@ -3272,7 +3274,7 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $this - i32.store $0 + i32.store end local.get $this local.set $1 diff --git a/tests/compiler/while.release.wat b/tests/compiler/while.release.wat index 499c73439d..c90bf786b3 100644 --- a/tests/compiler/while.release.wat +++ b/tests/compiler/while.release.wat @@ -1,11 +1,11 @@ (module - (type $none_=>_none (func)) - (type $i32_=>_none (func (param i32))) - (type $i32_i32_=>_none (func (param i32 i32))) - (type $none_=>_i32 (func (result i32))) - (type $i32_=>_i32 (func (param 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 $0 (func)) + (type $1 (func (param i32))) + (type $2 (func (param i32 i32))) + (type $3 (func (result i32))) + (type $4 (func (param i32) (result i32))) + (type $5 (func (param i32 i32 i32 i32))) + (type $6 (func (param i32 i32 i64))) (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)) @@ -19,31 +19,31 @@ (global $~lib/rt/tlsf/ROOT (mut i32) (i32.const 0)) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34280)) (memory $0 1) - (data (i32.const 1036) ",") - (data (i32.const 1048) "\02\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s") - (data (i32.const 1084) "<") - (data (i32.const 1096) "\02\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 1148) "<") - (data (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") - (data (i32.const 1276) "<") - (data (i32.const 1288) "\02\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 1340) ",") - (data (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") - (data (i32.const 1420) "<") - (data (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") - (data (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 ") + (data $0 (i32.const 1036) ",") + (data $0.1 (i32.const 1048) "\02\00\00\00\10\00\00\00w\00h\00i\00l\00e\00.\00t\00s") + (data $1 (i32.const 1084) "<") + (data $1.1 (i32.const 1096) "\02\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 $2 (i32.const 1148) "<") + (data $2.1 (i32.const 1160) "\02\00\00\00 \00\00\00~\00l\00i\00b\00/\00r\00t\00/\00i\00t\00c\00m\00s\00.\00t\00s") + (data $5 (i32.const 1276) "<") + (data $5.1 (i32.const 1288) "\02\00\00\00$\00\00\00I\00n\00d\00e\00x\00 \00o\00u\00t\00 \00o\00f\00 \00r\00a\00n\00g\00e") + (data $6 (i32.const 1340) ",") + (data $6.1 (i32.const 1352) "\02\00\00\00\14\00\00\00~\00l\00i\00b\00/\00r\00t\00.\00t\00s") + (data $8 (i32.const 1420) "<") + (data $8.1 (i32.const 1432) "\02\00\00\00\1e\00\00\00~\00l\00i\00b\00/\00r\00t\00/\00t\00l\00s\00f\00.\00t\00s") + (data $9 (i32.const 1488) "\05\00\00\00 \00\00\00 \00\00\00 \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 1296 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit i32.const 1104 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/rt/itcms/__visit global.get $~lib/rt/itcms/pinSpace local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -53,7 +53,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.const 3 @@ -71,7 +71,7 @@ i32.add call $~lib/rt/__visit_members local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -79,137 +79,157 @@ end end ) - (func $~lib/rt/itcms/Object#makeGray (param $0 i32) + (func $~lib/rt/itcms/__visit (param $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) local.get $0 - global.get $~lib/rt/itcms/iter + i32.eqz + if + return + end + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 148 - 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 $0 offset=4 - i32.const -4 - i32.and - local.tee $1 - i32.eqz + global.get $~lib/rt/itcms/iter + i32.eq if - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.load offset=8 + local.tee $0 i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 148 + i32.const 30 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.const 34280 - i32.lt_u + global.set $~lib/rt/itcms/iter + end + block $__inlined_func$~lib/rt/itcms/Object#unlink$128 + local.get $1 + i32.load offset=4 + i32.const -4 i32.and + local.tee $0 + i32.eqz + if + local.get $1 + i32.load offset=8 + i32.eqz + local.get $1 + i32.const 34280 + i32.lt_u + i32.and + i32.eqz + if + i32.const 0 + i32.const 1168 + i32.const 128 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + br $__inlined_func$~lib/rt/itcms/Object#unlink$128 + end + local.get $1 + i32.load offset=8 + local.tee $2 i32.eqz if i32.const 0 i32.const 1168 - i32.const 128 - i32.const 18 + i32.const 132 + i32.const 16 call $~lib/builtins/abort unreachable end - br $__inlined_func$~lib/rt/itcms/Object#unlink - end - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - if - i32.const 0 - i32.const 1168 - i32.const 132 - i32.const 16 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.store offset=8 + local.get $2 + local.get $0 + local.get $2 + i32.load offset=4 + i32.const 3 + i32.and + 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 2 + i32.le_u + if (result i32) + i32.const 1 + else + local.get $0 + i32.const 1488 + i32.load + i32.gt_u + if + i32.const 1296 + i32.const 1360 + i32.const 21 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 2 + i32.shl + i32.const 1492 + i32.add + i32.load + i32.const 32 + i32.and + end + local.set $3 local.get $2 - i32.store $0 offset=8 - local.get $2 + i32.load offset=8 + local.set $0 local.get $1 + global.get $~lib/rt/itcms/white + i32.eqz + i32.const 2 + local.get $3 + select local.get $2 - i32.load $0 offset=4 + i32.or + i32.store offset=4 + local.get $1 + local.get $0 + i32.store offset=8 + local.get $0 + local.get $1 + local.get $0 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 - end - global.get $~lib/rt/itcms/toSpace - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 2 - i32.le_u - if (result i32) - i32.const 1 - else - local.get $1 - i32.const 1488 - i32.load $0 - i32.gt_u - if - i32.const 1296 - i32.const 1360 - i32.const 21 - i32.const 28 - call $~lib/builtins/abort - unreachable - end + i32.store offset=4 + local.get $2 local.get $1 - i32.const 2 - i32.shl - i32.const 1492 + i32.store offset=8 + global.get $~lib/rt/itcms/visitCount + i32.const 1 i32.add - i32.load $0 - i32.const 32 - i32.and + global.set $~lib/rt/itcms/visitCount end - local.set $3 - local.get $2 - i32.load $0 offset=8 - local.set $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.const 2 - local.get $3 - select - local.get $2 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $2 - local.get $0 - i32.store $0 offset=8 ) (func $~lib/rt/tlsf/removeBlock (param $0 i32) (param $1 i32) (local $2 i32) @@ -217,8 +237,8 @@ (local $4 i32) (local $5 i32) local.get $1 - i32.load $0 - local.tee $2 + i32.load + local.tee $3 i32.const 1 i32.and i32.eqz @@ -230,10 +250,10 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const -4 i32.and - local.tee $2 + local.tee $3 i32.const 12 i32.lt_u if @@ -244,29 +264,29 @@ call $~lib/builtins/abort unreachable end - local.get $2 + local.get $3 i32.const 256 i32.lt_u if (result i32) - local.get $2 + local.get $3 i32.const 4 i32.shr_u else i32.const 31 i32.const 1073741820 - local.get $2 - local.get $2 + local.get $3 + local.get $3 i32.const 1073741820 i32.ge_u select - local.tee $2 + local.tee $3 i32.clz i32.sub local.tee $4 i32.const 7 i32.sub - local.set $3 - local.get $2 + local.set $2 + local.get $3 local.get $4 i32.const 4 i32.sub @@ -274,10 +294,10 @@ i32.const 16 i32.xor end - local.tee $2 + local.tee $3 i32.const 16 i32.lt_u - local.get $3 + local.get $2 i32.const 23 i32.lt_u i32.and @@ -291,75 +311,68 @@ unreachable end local.get $1 - i32.load $0 offset=8 + i32.load offset=8 local.set $5 local.get $1 - i32.load $0 offset=4 + i32.load offset=4 local.tee $4 if local.get $4 local.get $5 - i32.store $0 offset=8 + i32.store offset=8 end local.get $5 if local.get $5 local.get $4 - i32.store $0 offset=4 + i32.store offset=4 end local.get $1 local.get $0 - local.get $3 + local.get $2 i32.const 4 i32.shl - local.get $2 + local.get $3 i32.add i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + local.tee $1 + i32.load offset=96 i32.eq if - local.get $0 - local.get $3 - i32.const 4 - i32.shl - local.get $2 - i32.add - i32.const 2 - i32.shl - i32.add + local.get $1 local.get $5 - i32.store $0 offset=96 + i32.store offset=96 local.get $5 i32.eqz if local.get $0 - local.get $3 + local.get $2 i32.const 2 i32.shl i32.add local.tee $1 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 - local.get $2 + local.get $3 i32.rotl i32.and - local.set $2 + local.set $3 local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 + local.get $3 + i32.store offset=4 + local.get $3 i32.eqz if local.get $0 local.get $0 - i32.load $0 + i32.load i32.const -2 - local.get $3 + local.get $2 i32.rotl i32.and - i32.store $0 + i32.store end end end @@ -381,7 +394,7 @@ unreachable end local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const 1 i32.and @@ -398,12 +411,12 @@ i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.tee $2 i32.const 1 i32.and @@ -420,17 +433,17 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $4 - i32.load $0 + i32.load local.set $2 end local.get $3 @@ -440,9 +453,9 @@ local.get $1 i32.const 4 i32.sub - i32.load $0 + i32.load local.tee $1 - i32.load $0 + i32.load local.tee $6 i32.const 1 i32.and @@ -467,13 +480,13 @@ i32.and i32.add local.tee $3 - i32.store $0 + i32.store end local.get $4 local.get $2 i32.const 2 i32.or - i32.store $0 + i32.store local.get $3 i32.const -4 i32.and @@ -507,7 +520,7 @@ i32.const 4 i32.sub local.get $1 - i32.store $0 + i32.store local.get $2 i32.const 256 i32.lt_u @@ -563,19 +576,19 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 local.set $3 local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $3 - i32.store $0 offset=8 + i32.store offset=8 local.get $3 if local.get $3 local.get $1 - i32.store $0 offset=4 + i32.store offset=4 end local.get $0 local.get $5 @@ -587,15 +600,15 @@ i32.shl i32.add local.get $1 - i32.store $0 offset=96 + i32.store offset=96 local.get $0 local.get $0 - i32.load $0 + i32.load i32.const 1 local.get $5 i32.shl i32.or - i32.store $0 + i32.store local.get $0 local.get $5 i32.const 2 @@ -603,23 +616,25 @@ i32.add local.tee $0 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const 1 local.get $2 i32.shl i32.or - i32.store $0 offset=4 + i32.store offset=4 ) - (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/tlsf/addMemory (param $0 i32) (param $1 i32) (param $2 i64) (local $3 i32) (local $4 i32) - local.get $1 + (local $5 i32) local.get $2 - i32.gt_u + local.get $1 + i64.extend_i32_u + i64.lt_u if i32.const 0 i32.const 1440 - i32.const 377 + i32.const 382 i32.const 14 call $~lib/builtins/abort unreachable @@ -633,10 +648,10 @@ i32.sub local.set $1 local.get $0 - i32.load $0 offset=1568 - local.tee $4 + i32.load offset=1568 + local.tee $3 if - local.get $4 + local.get $3 i32.const 4 i32.add local.get $1 @@ -644,23 +659,22 @@ if i32.const 0 i32.const 1440 - i32.const 384 + i32.const 389 i32.const 16 call $~lib/builtins/abort unreachable end + local.get $3 local.get $1 i32.const 16 i32.sub - local.get $4 + local.tee $5 i32.eq if - local.get $4 - i32.load $0 - local.set $3 - local.get $1 - i32.const 16 - i32.sub + local.get $3 + i32.load + local.set $4 + local.get $5 local.set $1 end else @@ -672,52 +686,53 @@ if i32.const 0 i32.const 1440 - i32.const 397 + i32.const 402 i32.const 5 call $~lib/builtins/abort unreachable end end local.get $2 + i32.wrap_i64 i32.const -16 i32.and local.get $1 i32.sub - local.tee $2 + local.tee $3 i32.const 20 i32.lt_u if return end local.get $1 - local.get $3 + local.get $4 i32.const 2 i32.and - local.get $2 + local.get $3 i32.const 8 i32.sub - local.tee $2 + local.tee $3 i32.const 1 i32.or i32.or - i32.store $0 + i32.store local.get $1 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 local.get $1 i32.const 4 i32.add - local.get $2 + local.get $3 i32.add - local.tee $2 + local.tee $3 i32.const 2 - i32.store $0 + i32.store local.get $0 - local.get $2 - i32.store $0 offset=1568 + local.get $3 + i32.store offset=1568 local.get $0 local.get $1 call $~lib/rt/tlsf/insertBlock @@ -725,7 +740,7 @@ (func $~lib/rt/tlsf/initialize (local $0 i32) (local $1 i32) - memory.size $0 + memory.size local.tee $1 i32.const 0 i32.le_s @@ -733,7 +748,7 @@ i32.const 1 local.get $1 i32.sub - memory.grow $0 + memory.grow i32.const 0 i32.lt_s else @@ -744,10 +759,10 @@ end i32.const 34288 i32.const 0 - i32.store $0 + i32.store i32.const 35856 i32.const 0 - i32.store $0 + i32.store loop $for-loop|0 local.get $0 i32.const 23 @@ -759,7 +774,7 @@ i32.const 34288 i32.add i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 local.set $1 loop $for-loop|1 @@ -777,7 +792,7 @@ i32.const 34288 i32.add i32.const 0 - i32.store $0 offset=96 + i32.store offset=96 local.get $1 i32.const 1 i32.add @@ -794,9 +809,10 @@ end i32.const 34288 i32.const 35860 - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory i32.const 34288 global.set $~lib/rt/tlsf/ROOT @@ -826,7 +842,7 @@ i32.eqz local.set $1 global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -839,19 +855,19 @@ global.set $~lib/rt/itcms/iter local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 i32.const 0 global.set $~lib/rt/itcms/visitCount local.get $0 @@ -862,7 +878,7 @@ return end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -874,7 +890,7 @@ call $~lib/rt/itcms/visitRoots global.get $~lib/rt/itcms/toSpace global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and i32.eq @@ -887,12 +903,8 @@ i32.lt_u if local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit local.get $0 i32.const 4 i32.add @@ -901,7 +913,7 @@ end end global.get $~lib/rt/itcms/iter - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -912,26 +924,26 @@ if local.get $1 local.get $0 - i32.load $0 offset=4 + i32.load offset=4 + local.tee $2 i32.const 3 i32.and i32.ne if local.get $0 - local.get $0 - i32.load $0 offset=4 + local.get $2 i32.const -4 i32.and local.get $1 i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 20 i32.add call $~lib/rt/__visit_members end local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and local.set $0 @@ -947,7 +959,7 @@ local.get $1 global.set $~lib/rt/itcms/white local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -4 i32.and global.set $~lib/rt/itcms/iter @@ -963,7 +975,7 @@ i32.ne if local.get $0 - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.const -4 i32.and @@ -988,14 +1000,14 @@ if local.get $0 i32.const 0 - i32.store $0 offset=4 + i32.store offset=4 local.get $0 i32.const 0 - i32.store $0 offset=8 + i32.store offset=8 else global.get $~lib/rt/itcms/total local.get $0 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1015,7 +1027,6 @@ call $~lib/rt/tlsf/initialize end global.get $~lib/rt/tlsf/ROOT - local.set $1 local.get $0 i32.const 4 i32.sub @@ -1030,25 +1041,24 @@ i32.const 1 else local.get $2 - i32.load $0 + i32.load i32.const 1 i32.and end if i32.const 0 i32.const 1440 - i32.const 559 + i32.const 562 i32.const 3 call $~lib/builtins/abort unreachable end local.get $2 local.get $2 - i32.load $0 + i32.load i32.const 1 i32.or - i32.store $0 - local.get $1 + i32.store local.get $2 call $~lib/rt/tlsf/insertBlock end @@ -1057,12 +1067,11 @@ return end global.get $~lib/rt/itcms/toSpace - local.tee $0 - local.get $0 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.store $0 offset=8 + global.get $~lib/rt/itcms/toSpace + i32.store offset=4 + global.get $~lib/rt/itcms/toSpace + global.get $~lib/rt/itcms/toSpace + i32.store offset=8 i32.const 0 global.set $~lib/rt/itcms/state end @@ -1072,7 +1081,7 @@ (local $1 i32) (local $2 i32) local.get $0 - i32.load $0 offset=4 + i32.load offset=4 i32.const -2 i32.and local.tee $1 @@ -1083,10 +1092,10 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else local.get $0 - i32.load $0 + i32.load i32.const -2 i32.and local.tee $1 @@ -1098,13 +1107,13 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=4 + i32.load offset=4 local.tee $1 i32.eqz if i32.const 0 i32.const 1440 - i32.const 343 + i32.const 347 i32.const 18 call $~lib/builtins/abort unreachable @@ -1119,7 +1128,7 @@ i32.const 2 i32.shl i32.add - i32.load $0 offset=96 + i32.load offset=96 else i32.const 0 end @@ -1134,7 +1143,7 @@ global.get $~lib/rt/itcms/threshold i32.ge_u if - block $__inlined_func$~lib/rt/itcms/interrupt + block $__inlined_func$~lib/rt/itcms/interrupt$69 i32.const 2048 local.set $1 loop $do-loop|0 @@ -1146,16 +1155,12 @@ 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 1 + i32.shl i32.const 1024 i32.add global.set $~lib/rt/itcms/threshold - br $__inlined_func$~lib/rt/itcms/interrupt + br $__inlined_func$~lib/rt/itcms/interrupt$69 end local.get $1 i32.const 0 @@ -1163,8 +1168,7 @@ br_if $do-loop|0 end global.get $~lib/rt/itcms/total - local.tee $1 - local.get $1 + global.get $~lib/rt/itcms/total global.get $~lib/rt/itcms/threshold i32.sub i32.const 1024 @@ -1186,11 +1190,11 @@ local.tee $1 i32.eqz if - memory.size $0 + memory.size local.tee $1 i32.const 4 local.get $2 - i32.load $0 offset=1568 + i32.load offset=1568 local.get $1 i32.const 16 i32.shl @@ -1209,12 +1213,12 @@ local.get $3 i32.gt_s select - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if local.get $3 - memory.grow $0 + memory.grow i32.const 0 i32.lt_s if @@ -1225,9 +1229,10 @@ local.get $1 i32.const 16 i32.shl - memory.size $0 - i32.const 16 - i32.shl + memory.size + i64.extend_i32_s + i64.const 16 + i64.shl call $~lib/rt/tlsf/addMemory local.get $2 call $~lib/rt/tlsf/searchBlock @@ -1236,14 +1241,14 @@ if i32.const 0 i32.const 1440 - i32.const 496 + i32.const 499 i32.const 16 call $~lib/builtins/abort unreachable end end local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 28 @@ -1251,7 +1256,7 @@ if i32.const 0 i32.const 1440 - i32.const 498 + i32.const 501 i32.const 14 call $~lib/builtins/abort unreachable @@ -1260,7 +1265,7 @@ local.get $1 call $~lib/rt/tlsf/removeBlock local.get $1 - i32.load $0 + i32.load local.tee $3 i32.const -4 i32.and @@ -1276,7 +1281,7 @@ i32.and i32.const 28 i32.or - i32.store $0 + i32.store local.get $1 i32.const 32 i32.add @@ -1286,7 +1291,7 @@ i32.sub i32.const 1 i32.or - i32.store $0 + i32.store local.get $2 local.get $3 call $~lib/rt/tlsf/insertBlock @@ -1295,54 +1300,54 @@ local.get $3 i32.const -2 i32.and - i32.store $0 + i32.store local.get $1 i32.const 4 i32.add local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.add local.tee $2 local.get $2 - i32.load $0 + i32.load i32.const -3 i32.and - i32.store $0 + i32.store end local.get $1 local.get $0 - i32.store $0 offset=12 + i32.store offset=12 local.get $1 i32.const 0 - i32.store $0 offset=16 + i32.store offset=16 global.get $~lib/rt/itcms/fromSpace local.tee $0 - i32.load $0 offset=8 + i32.load offset=8 local.set $2 local.get $1 local.get $0 global.get $~lib/rt/itcms/white i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $1 local.get $2 - i32.store $0 offset=8 + i32.store offset=8 local.get $2 local.get $1 local.get $2 - i32.load $0 offset=4 + i32.load offset=4 i32.const 3 i32.and i32.or - i32.store $0 offset=4 + i32.store offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 + i32.store offset=8 global.get $~lib/rt/itcms/total local.get $1 - i32.load $0 + i32.load i32.const -4 i32.and i32.const 4 @@ -1355,7 +1360,7 @@ local.tee $0 i32.const 0 i32.const 0 - memory.fill $0 + memory.fill local.get $0 ) (func $start:while @@ -1631,7 +1636,7 @@ call $~lib/builtins/abort unreachable end - memory.size $0 + memory.size i32.const 16 i32.shl i32.const 34280 @@ -1641,26 +1646,26 @@ global.set $~lib/rt/itcms/threshold i32.const 1220 i32.const 1216 - i32.store $0 + i32.store i32.const 1224 i32.const 1216 - i32.store $0 + i32.store i32.const 1216 global.set $~lib/rt/itcms/pinSpace i32.const 1252 i32.const 1248 - i32.store $0 + i32.store i32.const 1256 i32.const 1248 - i32.store $0 + i32.store i32.const 1248 global.set $~lib/rt/itcms/toSpace i32.const 1396 i32.const 1392 - i32.store $0 + i32.store i32.const 1400 i32.const 1392 - i32.store $0 + i32.store i32.const 1392 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer @@ -1673,16 +1678,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $1 - local.get $0 + global.get $~lib/memory/__stack_pointer call $while/Ref#constructor local.tee $0 - i32.store $0 - loop $while-continue|17 + i32.store + loop $while-continue|15 local.get $0 if local.get $1 @@ -1698,9 +1702,9 @@ global.get $~lib/memory/__stack_pointer call $while/Ref#constructor local.tee $0 - i32.store $0 + i32.store end - br $while-continue|17 + br $while-continue|15 end end local.get $1 @@ -1736,19 +1740,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.store $0 + i32.store i32.const 0 local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer call $while/Ref#constructor local.tee $1 - i32.store $0 - loop $while-continue|010 + i32.store + loop $while-continue|08 call $while/Ref#constructor if - block $while-break|09 + block $while-break|07 local.get $0 i32.const 1 i32.add @@ -1758,9 +1761,9 @@ if i32.const 0 local.set $1 - br $while-break|09 + br $while-break|07 end - br $while-continue|010 + br $while-continue|08 end end end @@ -1884,7 +1887,7 @@ local.get $0 i32.const 8 i32.sub - i32.load $0 + i32.load br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $while/Ref $invalid end return @@ -1894,12 +1897,8 @@ return end local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.load + call $~lib/rt/itcms/__visit return end return @@ -1922,19 +1921,18 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 + i64.store + global.get $~lib/memory/__stack_pointer i32.const 4 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store + global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=4 - local.get $1 + i32.store offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1944,7 +1942,7 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store local.get $0 i32.eqz if @@ -1952,15 +1950,14 @@ i32.const 0 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $0 - i32.store $0 + i32.store global.get $~lib/memory/__stack_pointer i32.const 8 i32.add @@ -1975,23 +1972,4 @@ 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 $0 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 - ) ) diff --git a/tests/features.json b/tests/features.json index 1ac3d7867a..5c47772500 100644 --- a/tests/features.json +++ b/tests/features.json @@ -12,16 +12,13 @@ "--enable reference-types" ], "v8_flags": [ - "--experimental-wasm-reftypes" ] }, "gc": { "asc_flags": [ - "--enable reference-types", "--enable gc" ], "v8_flags": [ - "--experimental-wasm-reftypes", "--experimental-wasm-gc" ] }, @@ -30,7 +27,21 @@ "--enable exception-handling" ], "v8_flags": [ - "--experimental-wasm-eh" + ] + }, + "simd": { + "asc_flags": [ + "--enable simd" + ], + "v8_flags": [ + ] + }, + "relaxed-simd": { + "asc_flags": [ + "--enable relaxed-simd" + ], + "v8_flags": [ + "--experimental-wasm-relaxed-simd" ] } } diff --git a/tests/import/index.ts b/tests/import/index.ts index 7d18cd4279..46098f7ece 100644 --- a/tests/import/index.ts +++ b/tests/import/index.ts @@ -1,3 +1,3 @@ -import * as as from "../../dist/assemblyscript"; +import * as as from "../../dist/assemblyscript.js"; var program: as.Program = as.newProgram(as.newOptions()); as.parse(program, "", "empty"); diff --git a/tests/parser.js b/tests/parser.js index 7a65e697a4..ec3d89f0d9 100644 --- a/tests/parser.js +++ b/tests/parser.js @@ -2,7 +2,7 @@ import fs from "fs"; import path from "path"; import os from "os"; import { fileURLToPath } from "url"; -import glob from "glob"; +import { globSync } from "glob"; import { diff } from "../util/text.js"; import { stdoutColors } from "../util/terminal.js"; import * as optionsUtil from "../util/options.js"; @@ -42,7 +42,7 @@ if (args.help) { const basedir = path.join(dirname, "parser"); // Get a list of all tests -let tests = glob.sync("**/!(_*).ts", { cwd: basedir }); +let tests = globSync("**/!(_*).ts", { cwd: basedir, posix: true }); // Run specific tests only if arguments are provided if (argv.length) { diff --git a/tests/parser/namespace.ts b/tests/parser/namespace.ts index 63fb767f7d..93ee68a315 100644 --- a/tests/parser/namespace.ts +++ b/tests/parser/namespace.ts @@ -1,7 +1,9 @@ +let outerVar:i32 = 0; declare namespace A { namespace B { export namespace C { var aVar: i32; + outerVar = 42; // 2695: Namespace can only have declarations. const aConst: i32; const aConstInvalid: i32 = 0; // 1039: Initializers are not allowed in ambient contexts. function aFunc(): void; diff --git a/tests/parser/namespace.ts.fixture.ts b/tests/parser/namespace.ts.fixture.ts index 8ef853742f..bcce2c0167 100644 --- a/tests/parser/namespace.ts.fixture.ts +++ b/tests/parser/namespace.ts.fixture.ts @@ -1,3 +1,4 @@ +let outerVar: i32 = 0; declare namespace A { namespace B { export namespace C { @@ -14,5 +15,6 @@ declare namespace A { } } } -// ERROR 1039: "Initializers are not allowed in ambient contexts." in namespace.ts(6,32+1) -// ERROR 1183: "An implementation cannot be declared in ambient contexts." in namespace.ts(8,37+1) +// ERROR 2695: "Namespace can only have declarations." in namespace.ts(6,7+0) +// ERROR 1039: "Initializers are not allowed in ambient contexts." in namespace.ts(8,32+1) +// ERROR 1183: "An implementation cannot be declared in ambient contexts." in namespace.ts(10,37+1) diff --git a/tests/parser/union.ts b/tests/parser/union.ts new file mode 100644 index 0000000000..3d947fe09a --- /dev/null +++ b/tests/parser/union.ts @@ -0,0 +1,9 @@ +export function foo(a: aaa | bbb | ccc): i32 { + return 1; +} + +export function bar(a: i32 | u32 | f32): i32 { + return 1; +} + +export let a: i32 | u32 | f32 | null = 1; diff --git a/tests/parser/union.ts.fixture.ts b/tests/parser/union.ts.fixture.ts new file mode 100644 index 0000000000..b2fb8611bf --- /dev/null +++ b/tests/parser/union.ts.fixture.ts @@ -0,0 +1,4 @@ +export let a = 1; +// ERROR 100: "Not implemented: union types" in union.ts(1,36+3) +// ERROR 100: "Not implemented: union types" in union.ts(5,36+3) +// ERROR 100: "Not implemented: union types" in union.ts(9,27+10) diff --git a/tests/tokenizer.js b/tests/tokenizer.js index 8999ff68ce..a81df43467 100644 --- a/tests/tokenizer.js +++ b/tests/tokenizer.js @@ -7,22 +7,22 @@ const dirname = path.dirname(fileURLToPath(import.meta.url)); const file = process.argv.length > 2 ? process.argv[2] : path.join(dirname, "..", "src", "tokenizer.ts"); const text = fs.readFileSync(file).toString(); -const source = new Source(SourceKind.ENTRY, "tokenizer.ts", text); +const source = new Source(SourceKind.Entry, "tokenizer.ts", text); const tn = new Tokenizer(source); do { const token = tn.next(); const range = tn.range(); process.stdout.write(Token[token] + " @ " + source.lineAt(range.start) + ":" + source.columnAt()); - if (token == Token.IDENTIFIER) { + if (token == Token.Identifier) { process.stdout.write(" > " + tn.readIdentifier()); - } else if (token == Token.INTEGERLITERAL) { + } else if (token == Token.IntegerLiteral) { process.stdout.write(" > " + tn.readInteger()); - } else if (token == Token.FLOATLITERAL) { + } else if (token == Token.FloatLiteral) { process.stdout.write(" > " + tn.readFloat()); - } else if (token == Token.STRINGLITERAL) { + } else if (token == Token.StringLiteral) { process.stdout.write(" > " + tn.readString()); - } else if (token == Token.ENDOFFILE) { + } else if (token == Token.EndOfFile) { process.stdout.write("\n"); break; } else { diff --git a/util/options.js b/util/options.js index d0633b19e2..7b1c2de69a 100644 --- a/util/options.js +++ b/util/options.js @@ -150,6 +150,7 @@ function sanitizeValue(value, type) { case "f": return Number(value) || 0; case "s": { if (value === true) return ""; + if (value === false) return null; return String(value); } case "I": {